It’s been kind of quiet here lately. Since leaving Dimension Data, I’ve been working on a new product called Community Engine. We’re producing a leading edge, semantic web application, with all the bells and whistles of Silverlight, Active Directory and a slew of other technologies which will produce probably the coolest web platform since apache….

We hit beta 1 last week and are currently deep in issue management driving to beta 2.

We’re running a significant web farm at a co-location facility, performing management with System Center Operations Manager 2007, System Center Configuration Manager and a ton of powershell and other features.

It’s a tough job; I’m managing a team of devs as lead architect, a bunch of UI designers and a full featured operations team.

I’ve got a little more time now and will post updates as I get them…

Technorati Tags: ,
Sphere: Related Content

(0) Comments    Read More   
Posted on 21-02-2008
Filed Under (Adobe, Development, Flex, Microsoft, SQL 2005) by Nick Beaugeard

In the next three parts, I am going to describe how to set up a three tier architecture based application using Adobe Flex (including Adobe Air), Microsoft .NET Web Services and SQL Server 2005 to create a three tier architecture based application.

I started learning flex 24 hours ago and this application is my first stab at learning how to use flex and more specifically Adobe Air.

To complete these instructions, you will need:

  • A Windows PC (Mine’s running Windows XP Service Pack 2)
  • Microsoft Visual Studio 2005 Service Pack 2
  • Microsoft SQL 2005 Express, including the SQL Express Management Console
  • Adobe Flex Builder 3.0 Beta
  • Adobe Air Runtime Beta

Once you’ve got the above things, you’ll need to step through creating and running the application. In this first part, we’re going to describe how to create the database layer.

This application is really simple, it has a database with a single table, and we’re going to create a rich, immersive UI to list the contents, add a new entry and delete an existing entry. To work quickly to create this application, we don’t use every best practice, but we do deliver something cool, which works.

First, Create a new database. In this case, we’re going to call the database hubone.

  • Go to SQL Management Studio Express (Start –> All Programs –> Microsoft SQL Server 2005 –> SQL Server Management Studio Express)

 

image

Right click "Databases" , choose New Database and type the name "hubone". Click OK and the database will be created for you.

Next Expand the new database, right click "tables" and choose new tables. We’re going to create four fields, "ProjectID", a GUID field configured as the Row GUID, "Name", a nvarchar(50), "Description", a nvarchar(255) and "Version", a nvarchar(10).

I would normally use different data types in production, but for this example, the strings will do. 

The following SQL Script establishes the database for you:

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N’ASPNET’)
CREATE USER [ASPNET] FOR LOGIN [.\ASPNET] WITH DEFAULT_SCHEMA=[dbo]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’[dbo].[Projects]‘) AND type in (N’U'))
BEGIN
CREATE TABLE [dbo].[Projects](
    [ProjectID] [uniqueidentifier] ROWGUIDCOL  NOT NULL CONSTRAINT [DF_Projects_ProjectID]  DEFAULT (newid()),
    [Name] [nvarchar](255) NOT NULL,
    [Description] [nvarchar](255) NULL,
    [Version] [nvarchar](50) NULL
) ON [PRIMARY]
END

In the next installment, we’ll create the ASP.NET Web service which our flex application will talk to…

Sphere: Related Content

(0) Comments    Read More   
Posted on 21-02-2008
Filed Under (Adobe, Development, Flex, Microsoft, SQL 2005) by Nick Beaugeard

In this section, we’re going to create the following UI in 60 lines of code:

image

Flex is amazingly powerful. In this case we connect to the web service and use flex to do most of the heavy lifting. This is a very quick and cute UI.

 

Open Flex Browser and create a new Flex Project (Either for Adobe AIR or not, it doesn’t matter) and paste in the following code between the <mx:Application ></mx:Application> tags. (Note in an AIR Application, the tags are <mx:WindowedApplication>

 

 

 

 

   <mx:WebService id="ProjectRequest"
     wsdl="
http://localhost/huboneservices/Service1.asmx?wsdl">
        <mx:operation name="Projects" resultFormat="object"
            result="remotingCFCHandler(event)"/>
            <mx:operation name="AddProject"
            result="insertCFCHandler()"/>
            <mx:operation name="DeleteProject"
            result="insertCFCHandler()"/>
    </mx:WebService>
     <mx:DataGrid id="dgUserRequest" x="48" y="55" width="496" click="Igotaclick()">
<mx:columns>
<mx:DataGridColumn id="Name" headerText="Name" dataField="Name"/>
<mx:DataGridColumn id="Description" headerText="Description" dataField="Description"/>
<mx:DataGridColumn id="Version" headerText="Version" dataField="Version"/>
</mx:columns>
</mx:DataGrid>
    <mx:Script>
        <![CDATA[
        import mx.rpc.events.ResultEvent;
        private function insertCFCHandler():void
        {
            ProjectRequest.Projects();
        }

              private function Igotaclick():void
              {
                  txtName.text = dgUserRequest.selectedItem.Name;
                  txtDescription.text = dgUserRequest.selectedItem.Description;
                  txtVersion.text = dgUserRequest.selectedItem.Version;
              }
              private function remotingCFCHandler(e:ResultEvent):void
                {
                    dgUserRequest.dataProvider = e.result;
                }

        ]]>
    </mx:Script>
    <mx:Accordion x="48" y="205" width="497" height="200">
        <mx:Canvas label="Project Administration" width="100%" height="100%">
            <mx:TextInput id="txtName" x="102" y="10"/>
            <mx:Label x="59" y="12" text="Name"/>
            <mx:TextInput id="txtDescription" x="102" y="39"/>
            <mx:Label x="30" y="41" text="Description"/>
            <mx:TextInput id="txtVersion" x="102" y="69"/>
            <mx:Label x="48" y="71" text="Version"/>
            <mx:Button x="409" y="10" label="Add"  click="{ProjectRequest.AddProject(txtName.text, txtDescription.text, txtVersion.text)}"/>
            <mx:Button x="409" y="39" label="Delete" click="{ProjectRequest.DeleteProject(txtName.text, txtDescription.text, txtVersion.text)}"/>
            <mx:Button x="409" y="69" label="Update"/>
        </mx:Canvas>
        <mx:Canvas label="Project Details" width="100%" height="100%">
        </mx:Canvas>
    </mx:Accordion>

That’s it… It’s as easy as that…

Have fun coding 3 tier applications in flex!

Sphere: Related Content

(0) Comments    Read More