Welcome to MSDN Blogs Sign in | Join | Help

Microsoft runs occasional Azure Deep Dive events, with a small numbers of customers and partners, to help accelerate their progress building real world solutions on the Azure Platform, and providing feedback to the product team. This video looks behind the scenes at one of these 5 day Azure Deep Dives, meets the Microsoft folk mentoring the sessions, and the customers and partners building their solutions.

Check out the video to see the deep dive our team ran

image

- The features in the Azure Platform that early adopters are finding most compelling

- The emerging architectural patterns being used, such as the use of queues for durable messaging

- Discussion of recently released features for Windows Azure, and some hints for new features being announced at the PDC

- Real customer and partner solutions that are being built on the Azure Platform.

The Microsoft Developer and Platform Group are offering a limited number free half day Fasttrack Architectural / developer Reviews focused on the Windows Azure platform for partners. These will take place at the Microsoft offices in Reading, and will run from Monday 30th November to Friday 4th December, 2009.

Windows Azure Platform

What does a Windows Azure Fasttrack Architecture Review consist of?

IMG_6642A fasttrack review is an opportunity for a partner to lay out their technical, business and architectural problems in front of some Microsoft experts, and gain advice and guidance on choosing the best path for their future development. These are interactive, conversational engagements which typically last for around 3 to 4 hours, and have proved very successful and useful for participants in the past. For these specific sessions, the focus is on Cloud computing, and in particular

Windows Azure, SQL Azure and the Azure platform.

The format is that of an informal meeting - some chairs, a table, a couple of whiteboards and a lot of imagination and honest speaking. The conversations are all about problems and solutions, and if you come with an open mind then you should leave with a lot to digest and think about, and a good idea of your next steps.

If you think it would help to give us demonstrations of your products, then come along with it (but not PowerPoint, please), then that's what we can do. If you'd rather draw diagrams, or talk, or listen, or sit in silence for the entire length of the session, then that's what we can do. The experience is totally driven yourselves - though obviously we have some suggested structures developed out of experience that can help things flow best, if you'd rather fall back on those.

What makes a good Fasttrack Architecture Review?

imageThe best Fasttrack Architecture Reviews tend to happen at the stage when a partner is looking at a specific upcoming new project or software release, and is starting to think about what features or capabilities around Cloud Computing and Azure might influence their own plans (e.g. "Can we offer both on-premise and off-premise solutions?", “How do make sure we can scale up?”). An open mind and a willingness to discuss ideas are essential.

Conversely, a few things can prevent a good Fasttrack Architecture Review session. If you have already made your mind up and are simply looking for more detailed discussions, then this is possibly not the right forum - let us know and we can suggest the best routes forward. Similarly, if management are not behind the changes, or you are unable to bring a senior decision maker to the meeting, or there are no specific time scales for a new version, then these sessions can be less then optimum, and we urge you only to apply when the time is right for you.

How to apply for a Windows Azure Fasttrack Architecture Review

If you have been looking thinking about Windows Azure and cloud computing, and you think your company has a great idea, or interesting problem that would benefit from one of these sessions, then please get in touch with us, and we'll let you know if we think a fasttrack review session would be suitable. Please note that we mainly deal with architectural discussions, rather than deep technical support.

We typically get more applications than we have space for, so to make sure we get the right companies at these session, please take a little time to tell us about yourselves, and what you want from the session. You *must* provide us with a 'draft agenda' for the fasttrack review by emailing details about the following topics for discussion:

Azure Fasttrack review

1 - What are the top one or two key things you want to get out of the meeting?

2 - Are there any specific problems, issues or opportunities are you currently facing?

3 – In addition to Azure, are there any other key technologies will you want to cover in the review – e.g. SQL Server, Silverlight/WPF, SharePoint, etc?

4 - Who do you plan to bring along to the reviews (2 to 4 people is typically ideal, at least one technical person)

Technology background

5 - What technologies are you currently using?

6 - What are your timescales for considering Azure? What are your experiences with Azure to date? Are there any specific aspects of Azure you anticipate using?

Company background

7 - The size of your company and the development team

8 - Company/Product URLs

To get in touch, just email this information to ukdev@microsoft.com and state any dates that week that you would be unable to attend that specific week. If we're unable to help with a review, we'll try to point you towards some useful resources that should help to some degree.

We’re now all living in the on-line, on-demand, on-camera era, so it seemed only right and proper that our team join in all the fun, so I have done a video with one of my colleagues Keith Burns where we talk about one of the topics that comes up regularly in the Fasttrack Architecture reviews - how Microsoft partners can get the most from valuable data locked away in their databases.

You can watch it here.

We have eight new free slots for architectural reviews, open to ISVs and technology Startups at our Microsoft London office

Wednesday 15th April, 2009. London.  Morning (9:30 - 13:00) & Afternoon (13:30 - 17:00)

Thursday 16th April, 2009. London.  Morning (9:30 - 13:00) & Afternoon (13:30 - 17:00) [SQL Related topics]

Thursday 7th May, 2009. London.  Morning (9:30 - 13:00) & Afternoon (13:30 - 17:00)

Thursday 14th May, 2009. London.  Morning (9:30 - 13:00) & Afternoon (13:30 - 17:00) [SQL Related topics]

 

Cardinal Place

There’s more information on what the review actually consists of here, and there’s some points to think about before undertaking a review here which we encourage to read carefully, and finally, there’s the page to apply for a FastTrack Reviews. (places are limited so please follow the directions on the site to apply for a review as soon as possible).

IMPORTANT: These Fasttrack Architecture Reviews are only open to ISVs in the UK who are members of the Microsoft Partner Program at the Gold or Certified level, or are members of the Empower, Action Pack or Metro programs. Or, technology startups who are members of the BizSpark program.

If you are not eligible, then this would be an ideal time to join the Microsoft Partner Program or BizSpark.

In discussions with ISV’s recently it’s become apparent that a lot of people are interested in investigating the Azure Services but it’s finding the time to get started. It’s a big topic and there are lots of sources of information around already. What I thought I try to do is provide a few pointers that would get someone started as quickly as possible. In this article I’m going to focus on the SQL Data Services (SDS) portion of the platform.

Let’s begin with a quick overview. It’s a Cloud based data platform that runs across multiple servers. The great thing about the way SDS operates is I don’t need to worry about machine boundaries. All I do is place my data within SDS and then access it using REST or SOAP based protocols. In order to do this I do need to understand a little about how my data is organised but we’ll cover that later in this article.

So to begin with we need to get an account. If you just want to investigate the SQL Data Services then you can register here. However as far as I can see that requires a US credit card as a form of ID so it may be easier for UK ISV’s to register for the entire Azure Platform here. When you go to the site, click on the Register for Services link on the main body of the page. The link should take you to Microsoft Connect where you will be invited to join the Azure program. If you are not already a member of the connect program then you will need to register using your passport account and answer some basic questions. Once you’ve registered you should see the following screen

clip_image002

Once you receive the invitation code via email you can sign up. Having talked to a few people the sign up steps can be a bit confusing. Jenny Lo has an excellent post in her blog here that details all the steps you need to take to successfully complete the signup. If you want to understand more fully the differences wrt. SDS between the two signups then Jenny has also posted a bog entry here .

Now that you have a functioning account you need to understand the basic ACE concept i.e. Authority, Container and Entity within SQL Data Services. It’s easier to discuss these in reverse order

A Entity is a collection of properties. It most closely matches the concept of a record in SQL Server terminology. However unlike SQL Server these entities have no schema associate with them and therefore these is no requirement for any two entities to have the same structure. Each entity also has a few pieces of metadata associated with it. One of these is the KIND property. Using this property, different entities can be tagged with the same label, and therefore processed as a group. So the kind property can be used to define groupings that are loosely analogous to tables.

These entities are defined within the scope of a Container. So a container is loosely analogous to a database. A container defines the scope of a query and currently has a 100Mb limit for non-blob entities. A user can define multiple containers within a single Authority. A user’s containers are not necessarily placed on the same physical machine but can be located anywhere within the server farm. By both keeping redundant copies of containers and spreading them across multiple machines SDS provides both scalability and availability. There is a good explanation of this in the PDC presentations see https://sessions.microsoftpdc.com/public/timeline.aspx and search for presentations BB03 and BB14.

An Authority is defined the geographical location of the data and the unit of billing. An authority can include multiple containers. For completeness, its worth mentioning that the account that you’ve just created can have multiple Authorities.

There are a number of places that provide a fuller explanation of the ACE concept a good starting point are the whitepapers Getting Started with Microsoft SQL Data Services – A Developer’s Focus and Microsoft SQL Data Services – Under the Hood.

Once signed up my recommendation would be to download and install the SDS SDK here. Once installed run SDS Explorer the documentation is located here. Now we can create out first Authority, Contain and Entities. Begin by clicking Authority and it will add a template where you simply enter the name of your authority eg “authorityexample”. Clicking on the Post button will create the authority. Note you will be prompted for your username and password. The username is the name of the solution you created during the signup.

clip_image004

Similarly clicking on the container template with the address as in the screenshot below will create the container

clip_image006

Finally the screen below shows the syntax to add a customer record from the northwind database. You can build this up by clicking on the appropriate prop buttons. Again click on post to submit.

clip_image008

So there are two ways to access SDS, either via the REST or the SOAP endpoints. Using the REST interface it’s possible to query the data we’ve just added from a URI. So for example putting the following into IE will obtain a list of authorities (and associated information) for the user

https://data.database.windows.net/V1

The following would retrieve a list of containers for the authorityexample authority

https://authorityexample.data.database.windows.net/V1

And the following would retrieve all the entities for the containerexample container

https://authorityexample.data.database.windows.net/V1/containerexample?q=’’

We could select just the customer entities where the city was Berlin and order them in ascending order of company using the following

https://authorityexample.data.database.windows.net/v1/containerexample?q='from c in entities.OfKind("Customers") where c["City"]=="Berlin" orderby c["CompanyName"] select c'

Note that by default IE does not know how to deal with a content type of “application/x-ssds+xml”. The easiest way to fix this is to install SDS SDK. If you did this previously it will have updated the mime associations for you. If not then a quick web search will provide the information you need to manually update the association in the registry.

By now you will probably be itching to delve into code and start to put something together yourself. Start by having a look at some basic example of using the REST and SOAP interfaces from code that are located here. These will illustrate how to programmatically create delete and update the various ACE components.

So we’ve only scratched the surface of this topic but hopefully I’ve given you some

Technorati Tags: ,

pointers on how to get started. There are a lot of other resources available. For example there are a set of data connectors available for SQL Server Integration Services so you can create SSIS packages move data from SQL Server to SDS or vice versa. See the Codeplex project here. There is also work taking place to provide an ADO.NET Data Services interface for SDS and you can find a preview here . There is also a prototype of Reporting Services working on SDS located here. I’ve even found a Ruby library for SDS located at http://www.azurejournal.com/2008/10/ruby-and-sql-data-services-sdk/

So to finish for now here are some further references worth a look.

SQL Services labs: http://www.microsoft.com/azure/sqllabs.mspx This is a good place to look for futures projects related to SQL Data Services. I’m particularly fond of the cloud data mining bits.

MSDN Developer Centre: http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx

Getting started forum. http://social.msdn.microsoft.com/forums/en-US/ssdsgetstarted/threads/. There is a great set of SDS discussion threads here.

PDC 2008 content on SQL Data Services https://sessions.microsoftpdc.com/public/timeline.aspx There are some interesting session available to watch here. Once you understand the basics I’d especially recommend: BB14 SQL Services: Futures

Our team is always under pressure to try to get out and about to visit partners, so we are pleased to announce two new dates for our Fasttrack Reviews in Manchester:

12th February, 2009. Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

19th March, 2009. Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Booking is via this site as usual.

Our team have had quite a lot of questions and discussions with partners around Azure, in both Fasttrack Reviews and at other events, so we thought it would help if we ran a couple of technical briefings to help get partners up to speed on what Azure is (and isn’t) and get them thinking about what they need to think about if they are going to move to Azure.

The details of how to book are all here and this is what will be covered:

· Windows Azure – The operating system for the Cloud

· .Net and Live Services – Mesh, Service Bus, Access Control and Workflow.

· SQL Data Services and data access

· Next Steps

The briefings will consist of technical discussion, demos and interactive discussion and will focus on how Azure can be used as a platform for development. The sessions will be small, typically less than 25, to keep the flow of conversation going, and are suitable for Technical Decision Makers, Application Architects, Senior Developers and CTOs. There will be time after the event for more detailed one to one discussions on any topics related to this session.

One of the most common topics that we have discussions around in our Fasttrack reviews with ISVs is the choice of User Interface (UI) technology. If you go back 10 years or so, it was a an easy decision - there was the choice of Visual Basic or MFC/C++ from Microsoft, plus other tools vendors, such as Borland, with their own offerings. Now there is a vast array of options, spurred on by the growth of the internet, each with their own strengths and weaknesses.

Within the Microsoft stack, the most common options are (on a sort of rough decreasing scale of power and features)

- Windows Presentation Foundation (WPF)

- Silverlight

- HTML and Ajax (ASPX)

- Pure HTML (ASPX)

Many ISVs still have Visual Basic 6 apps, many of which are in turn, deep down, simply Visual Basic 3 apps, recompiled for version 6. For them, it’s usually time to reassess the needs not just of the UI, but the application as a whole, as many of the design decisions taken at the applications inception were pre-Internet, pre-web services, pre-N-tier, etc, so a rethink makes a lot of sense

For .NET developers with a big investment in WinForms, the same imperative to move to a new platform is not so strong. WinForms has been around for years, it is a well understood technology, it’s easy to find people who can program in it, most quirks and bugs have been ironed out, and it will be around for years to come, and for many types of Line of Business applications, which focus on data entry and display forms, it’s a pretty good match, though as we shall see, its not as simple as that . . . .

If you are not familiar with Windows Presentation Foundation (WPF), now’s the time to take a look. WPF has its own Wikipedia entry, which seems pretty accurate, with some useful links, including the official MSDN WPF Developer Centre, which in turn has lots of good links, not least of which is the WindowsClient.net which covers the wider topic of applications and technologies for the desktop. Bookmark these links now!

The most interesting bit of WPF is its UI, so reading technical articles about it tends not to bring it to life. A very quick and painless way to get a feel for how WPF apps differ from more traditional apps is watch some videos. Try Yahoo Messenger or (and this is one of my favourites) British Library's Turning Pages. It’s worth looking into the British Library's Turning Pages in a bit more depth, as it really shows how WPF is pushing the boundaries of what is possible, in a way that has never been possible before – this is as far away from grey buttons with grey text on a grey screen as is possible. There is list of plenty more WPF applications up on Channel 9.

But to get a real feel for WPF, you need to get the .NET Framework onto your machine, so you can run the samples – a good place to start is to download the Microsoft .NET Framework 3.5 Service Pack 1. Once you have it installed, run the British Library Turning Pages Application on your own machine. It’s good, isn’t it:

image

So, when it comes to graphics, design and UI, it’s clear that WPF has a major role to play. But for most LOB apps, many developers have wrongly dismissed WPF because they see no role for it, in apps that tend to be so focused on data entry.

Wrong! Think about navigation. Think about how a user navigates through the application to find the work they need to do. Think about how you visualise all the complexities of the data and tasks that are possible, and highlight the ones that are outstanding or relevant. When you then think about the costs of re-training users or users not doing the right work, then UI becomes even more important, and is often critical to the success of a product or application.

Here is a screen dump from TaskVision, one of the early standard Windows Forms reference applications:

image

Can you work out what you, as the user of the app, are meant to do next? Which tasks require your attention? It’s not obvious is it?

When you start clicking menu options and buttons, the UI gets no better:

image

One of my colleagues re-wrote parts of the application in WPF to demonstrate how it could look:

image

image

Its a lot more visually appealing, and its easier to see how tasks are progressing. What’s not clear from these screenshots is that you can drag and drop tasks onto members of the team to assign the tasks to them – a very easy metaphor for users to work with.

Go ahead and install the WPF FamilyShow application developed by Vertigo – it uses ClickOnce, so its very quick and easy to install from the link on the page. Its a genealogy application, and to get your started, it includes our own royal family.

image

You can then use the slider bar in the bottom left corner of the screen to go back in time, and display only a subset of the family:

image

Very intuitive very easy to use.

But don’t take my word for it – take a look at the Lawson Smart Client – a real world LOB app, which has generated a lot of positive comments.

image

A final thought. Windows 7 will come with WPF on it, and with its touch screen, will no doubt herald in a new era of visual applications, and WPF is the natural technology to fulfil those requirements. They will be easier to use than their WinForms counterpart, give users more visual clues, and provide feedback. Here are some early screen shots of some of these:

image image

image image

So start playing with WPF now, and see what the likes of Conchango did with the Tesco project.

Don’t forget to check out the WPF Toolkit on Codeplex, as the main focus for WPF 4.0 will be LOB scenarios - “The WPF Toolkit is a collection of WPF features and components that are being made available outside of the normal .NET Framework ship cycle. The WPF Toolkit not only allows users to get new functionality more quickly, but allows an efficient means for giving feedback to the product team. Many of the features will be released with full source code as well. Over time, some of these features may be moved into the .NET Framework, based on readiness and customer feedback”.

We have four new slots available for Fasttrack Architecture Reviews, and we are now open for bookings. We will have our SQL Server expert at some of the sessions, and have marked those days with a "(SQL Related topics)", so if your areas of interest includes databases, data mining, or reporting, please pick one of those dates.

 

Wednesday, 28th January 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) [SQL Related topics]

Thursday, 29th January 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

If you want want to apply, now is the time. if you have not applied for one before, be sure to read this background info on what a Fasttrack Architecture Review is.

You then need to apply for one of the reviews.

IMPORTANT: Fasttrack Architecture Reviews are only open to ISVs in the UK who are members of the Microsoft Partner Program at the Gold, Certified level, or are members of the Empower or Metro programs. If you are not eligible, then now would be an ideal time to join the Microsoft Partner Program and make yourself eligible asap.

And a quick reminder - what makes a good Fasttrack Architecture Review?

The best Fasttrack Architecture Reviews tend to happen at the stage when an ISV is either looking at an upcoming release of their software, and starting to think about what features or capabilities to add to their product and how the various technologies in the Microsoft stack might be of use, or b) wants to think through how a particular Microsoft technology might influence their own product plans (e.g. "How could SharePoint help us?"). An open mind and a willingness to discuss ideas are essential.

Conversely, a few things can prevent a good Fasttrack Architecture Review session. If you have already made your mind up and are simply looking for more detailed discussions, then this is possibly not the right forum - let us know and we can suggest the best routes forward. Similarly, if management are not behind the changes, or you are unable to bring a senior decision maker to the meeting, or there are no specific time scales for a new version, then these sessions can be less then optimum, and we urge you only to apply when the time is right for you.

At a recent Fasttrack Architectural review we spent the afternoon with MCG Consulting, who provide commercial and operational systems for the Food and Drinks industry. The session focused primarily on .Evolve, which delivers ERP functionality through a browser tailored for the specific requirements of the Food and Drink industry.

They were an early adopter of .net and their current offering is based on ASP.net 1.1 and SQL 2000/2005.  They are now looking towards the future and how they migrate to .net 3.5 and SQL Server 2008 as well as how they could exploit technologies such as Business Intelligence.

Discussion

As usual a broad range of topics were raised and discussed within the session but the main focus became business intelligence and how this could be exploited by their application suite. This is a familiar theme that often gets raised.

We began by discussing Reporting Services. This is a component of SQL Server and is included in every edition of SQL Server from Express up to Enterprise. We would recommend looking at the SQL Server 2008 release of reporting services as this has a series of interesting new capabilities. The first of these is the inclusion of new chart and gauge functionality. It’s now possible to have multiple axes on a single chart and by enabling scale breaks we can also accommodate two widely different scales on the same data (See Figure 1).

image

Figure 1: Sample report illustrating some of the Reporting Services 2008 features.

Other new chart types include pie charts, donuts, funnels, scatter and polar graphs. The gauges are useful for creating KPI’s pages. Reporting services now provides both radial and linear gauges. So for example you can use gauges that look like speedometers or thermometers. An assorted sample is illustrated below (figure 2)

image

Figure 2: An illustration of some of the gauges available within Reporting Services 2008

Another interesting new feature is the ability to have multiple groups on the same axes. An example of this can be seen in the report (Figure 1) where we have both a group showing total sales by geography and a group showing the total orders by year on the same line.

In Reporting Services 2005 it was possible to render reports in many different formats such as HTML, PDF, Excel etc. The one format that was noticeably absent was Microsoft Word. This has been added to the list of eight renders which are supplied with the 2008 version. Of course ISV’s have the opportunity to extend this list if they wish.

Because MCG are focused on thin, rather than rich, clients we didn’t discuss the Visual Studio report controls that allow developers to host reports within a rich client. It’s also possible to store the reports on a users local disk as files (optionally be encrypted for security) and still render them in a rich client application using these controls.

A good source of Reporting Services sample reports as well as examples of how to use the Reporting Services SOAP API, Reporting Services scripting and create your own reporting services extensions can be found on Codeplex i.e. http://www.codeplex.com/MSFTRSProdSamples

We moved on to discuss Analysis Services. The idea of OLAP and cubes is often new to many developers. However the basics are pretty simple. The aim of OLAP is to give users the ability to query their data quickly and intuitively. When confronted with a relational database users need to create a complex query to provide the data, which is usually beyond their capabilities. However with Analysis Services, and an appropriate client tool, the user can query the data themselves. One excellent client query tool is Excel. This allows the user to “slice and dice” the data to get the exact answer they require. And Excel 2007 has some pretty nifty graphics of its own (See Figure 3).

image

Figure 3: Excel 2007 pivot table displaying data from Analysis Services. Making use of some of the BI centric conditional formatting that is available within Excel 2007.

One of the issues that organisations have with using desktop tools like excel is the lack of centralised control. For a variety of reasons users will often end up using different versions of the same report and therefore potentially working from different view of the data. One solution to this is to use Microsoft Office Sharepoint Server (MOSS) which provides with the ability to use Excel Services. Using Excel Services we can store the spreadsheet on a server and render it within the desktop browser. Figure 3 is actually a screenshot from a rendered spreadsheet. So a sheet such as the one above can have up to date figures sourced from Analysis Services but the user is prevented from altering the actual spreadsheet itself. A level of interaction is still possible by marking certain cells as parameters. The spreadsheet can update whenever the user updates the values of these parameters. A more detailed overview of Excel Services can be found here.

This in turn led us on to discussing the advantages of using SharePoint as a BI portal. Having the ability to display various BI components on pages in logical groupings allows users to consume a great deal of information very quickly. An example of a SharePoint BI portal can be seen in Figure4 which illustrates a collection of web parts on a page including several excel views.

image

Figure 4: Sample SharePoint page from a portal illustrating a series of analytical web parts on a single page.

Finally we discussed Microsoft Performance Point Server. Performance Point provides additional analytical tools such as scorecards, strategy maps, heat maps, interactive drill troughs etc. The culmination of all this technology is that the developer can produce a very comprehensive BI portal containing with multiple pages. Each page can be targeted at a specific business view and can contain a number of web parts which provide the users with a set of view into the data (eg Figures 5 and 6)

At that point we called a halt to the discussions. We covered a vast amount of material from basic reports through to full portals with analytical components on them. MCG left to consider how they could integrate some of the above into a future version of their offerings.

image

Figure 5: Performance Point Server using a performance map, scatterchart and decomposition view.

image

Figure 6: Performance Point Server illustrating the use of a scorecard, strategy map.

One if the great things about doing Fasttrack reviews is getting feedback from ISV’s. We were recently in a review where the ISV was using both SQL Server and MySQL. Of course working for Microsoft my first question was to ask why they had chosen to use MySQL. As expected the reply was because they required a lot of databases and they believed that the freely distributable version of SQL Server was still limited in the number of concurrent users it could support.

We explained that when we used to ship SQL Server 2000 MSDE there was indeed a 5 concurrent user throttle built into the product, but that was removed when we introduced SQL Server 2005 Express (Express). The only limitations that now exist are that Express addresses a maximum of 1 Gb of memory and a maximum single database size of 4Gb. Of course you can have multiple 4Gb database on a single machine if you wish.

What did surprise me to learn from the conversation is that ISV’s, who don’t distribute their application as open source, require a commercial license for MySQL. The ISV we were talking to had negotiated some form of unlimited distribution rights but it was version specific. They were several major versions out of date, probably unable to get support and lacking key functionality such as stored procedures. So for ISV’s whose database requirements are satisfied by SQL Express it’s clearly a more practical option. If you do need a more scalable version of SQL Server then because it ‘s the same code base you should be able to move your application across to Workgroup, Standard or Enterprise editions of SQL Server with no effort at all.

We then went onto talk about how ISV’s could deploy Express databases within their application. Essentially you need to be aware of two different requirements. The first is how you install Express; the second is how you install your database onto a client’s machine.

There is an excellent article on MSDN here that outlines all the options available to you for installing SQL Server Express. The options available to you range from using a command line install , to creating a wrapper around the installation of your application and Express, to creating a ClickOnce deployment.

This article here discusses using Xcopy Deployment for the actual database itself. In other words installation can be as simple as copying the database file to an expected directory and then starting the application.

So the entire process is very flexible and you can choose a deployment method that suits you and your client’s requirements.

What we then went onto discuss is how Express comes in several different downloads. So for example if you wish to have the minimum footprint you can download and install just the relational database. However if you want additional tools you can download the SQL Server Express Edition with Advanced Services. The latter also includes SQL Server Management Studio Express, Reporting Services and Full Text indexing. As the figure below illustrates Management Studio Express provides quite a lot of the functionality that Management Studio from the Standard and Enterprise Editions contains.

clip_image002

Management Studio Express with the online database backup dialog displayed.

Just to complicate things a little there is yet another download you might want to look at which is the Microsoft SQL Server Express Toolkit which provides some of the connectivity components and Business Intelligence Development Studio for authoring reports as well as a few other assorted components. (see below).

clip_image003

While I’m on the topic of reporting services its worth mentioning the report controls that exist in Visual Studio. These allow developers to embed reports within rich client applications. The reports can be sourced from a Report Server or from files on the local disk. This is ideal for mobile apps where the user will be disconnected from the network but requires an offline database and reporting capability. One concern is that if the reports are held on the local machine then they can be altered by the user. However we provide the capability to encrypt the reports to prevent this.

Installing SQL Server 2005 Express Edition Toolkit

So SQL Express really is a fully featured version of SQL Server with very few restrictions. That means you get all the database features you should be able to take for granted such full locking and transaction support, all the T-SQL syntax including support for functions, stored procedures as well as full support for DBA functionality such as online backup.

I’ve had a few conversations with ISV’s where they have deployed database on machines that are subject to being switched off by users. With desktop databases their experience is often that they have frequent corruptions. This adds to support costs when the user needs assistance “un-corrupting” the database. Because SQL Server Express has the same transaction log and recoverability as the other members of the SQL Server family it’s far more robust in these environments. When the machine reboots it will simply rollback any uncompleted transaction and then carry on as if nothing happened.

Up to now I’ve only mentioned the 2005 edition of Express. So what can you expect in 2008? Well that a topic and a half in its own right. However I’ll briefly mention two new features that I believe will be worth considering. The first is spatial. Anyone who has look at SQL Server 2008 will be aware that we are adding spatial capabilities to this release. What this allows me to do is store coordinates in a data type that represent various geometrical features such as a point a line or a polygon and then do set based operations on them. So a very simple example might be “show me all the locations within a region that stretches 30 miles around the edge of London. The locations would be stores as records containing a field with the point coordinates and London would be a record with a field containing the coordinates of a polygon. We would then join them together and apply a function to the London coordinates that created a 30km buffer around the London shape. It sounds far more complex than the actual SQL query which is quite simple to construct. The great thing is all the spatial features are in the 2008 version of Express. This provides ISV’s with some great opportunities for new apps. The second new feature is Policy Management. This allows an ISV to create policies which define “best practice” for managing the database and enforce these on the user. I think this has the potential to reduce ISV support cost significantly. Again this feature is available in all 2008 editions including Express.

So by the end of the session the ISV left convinced that SQL Express provided more functionality over what they had with their existing solution, it would be easier to integrate into their application that their existing offering and it really was “freely distributable”.

(There is of course SQL Server Compact, but that's for another discussion . . .)

To make it easy for ISVs to plan the best time to have a a Fasttrack review, we have booked a whole host of new half day slots that are available from now until Christmas 2008. We will probably also add some dates for Edinburgh and Manchester, so do let us know if those locations would work better than London.

Below are the dates we have available, and we are now open for bookings. We will have our SQL Server expert at many of the sessions, and have marked those days with a "(SQL Related topics)", so if your areas of interest includes databases, data mining, or reporting, please pick one of those dates.

Wednesday 15th April, 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Thursday 16th April, 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) [SQL Related topics]

Thursday 7th May, 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Thursday 14th May, 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) [SQL Related topics]

Wednesday 4th March, 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) [SQL Related topics]

Thursday 5th March, 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

19th March, 2009. Manchester. Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

12th February, 2009. Manchester. Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Thursday, 29th January 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Wednesday, 28th January 2009. London.  Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) [SQL Related topics]

Monday, 1st September 2008  - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) - (SQL)

Wednesday, 24th September 2008 - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) - (SQL)

Thursday, 25th September 2008 - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Monday, 13th October 2008 - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) - (SQL)

Tuesday, 14th October 2008 - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Thursday, 20th November 2008 - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00)

Friday, 21st November 2008 - London - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) - (a SQL day)

Thursday, 4th December 2008 - *Edinburgh*- Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) - (Software + Services Day)

Friday, 5th December 2008 - *Edinburgh* - Morning (9:30 - 13:00) / Afternoon (13:30 - 17:00) (Software + Services Day)

 

If you want want to apply, now is the time. if you have not applied for one before, be sure to read this background info on what a Fasttrack Architecture Review is and then actually apply for one of the reviews

IMPORTANT: Fasttrack Architecture Reviews are only open to ISVs in the UK who are members of the Microsoft Partner Program at the Gold or Certified level, or are members of the Empower, Action Pack or Metro programs. If you are not eligible, then this would be an ideal time to join the Microsoft Partner Program and make yourself eligible asap.

We have four new slots available for Fasttrack Architecture Reviews:

Tuesday, 1st July 2008 - London:

  • Morning Session (9:30 - 13:00)
  • Afternoon Session (13:30 - 17:00)

Wednesday, 2nd July 2008 - London:

  • Morning Session (9:30 - 13:00)
  • Afternoon Session (13:30 - 17:00)

 

If you want want to apply, now is the time . .

if you have not applied for one before, be sure to read this background info on what a Fasttrack Architecture Review is.

You then need to apply for one of the reviews.

IMPORTANT: Fasttrack Architecture Reviews are only open to ISVs in the UK who are members of the Microsoft Partner Program at the Gold, Certified level, or are members of the Empower or Metro programs. If you are not eligible, then now would be an ideal time to join the Microsoft Partner Program and make yourself eligible asap.

And a quick reminder - what makes a good Fasttrack Architecture Review?

The best Fasttrack Architecture Reviews tend to happen at the stage when an ISV is either looking at an upcoming release of their software, and starting to think about what features or capabilities to add to their product and how the various technologies in the Microsoft stack might be of use, or b) wants to think through how a particular Microsoft technology might influence their own product plans (e.g. "How could SharePoint help us?"). An open mind and a willingness to discuss ideas are essential.

Conversely, a few things can prevent a good Fasttrack Architecture Review session. If you have already made your mind up and are simply looking for more detailed discussions, then this is possibly not the right forum - let us know and we can suggest the best routes forward. Similarly, if management are not behind the changes, or you are unable to bring a senior decision maker to the meeting, or there are no specific time scales for a new version, then these sessions can be less then optimum, and we urge you only to apply when the time is right for you.

Rich User Experience choices for a Line of Business application

Context

SmartPoint are innovators in the CRM space, and have developed an application which is able to detect user activity in a variety of applications and send specific sets of related data (from databases, systems such as MOSS and others) back to the user. This is all done through ‘contextual intelligence’ – which means that the data presented is tailored based on what the user is currently doing, their role, and what they already have on screen.

The current iteration of SmartPoint is a simple HTML page residing within a web-browser docked to the side of the screen, and SmartPoint were looking forwards to the cutting edge of interactive user experiences for their next iteration, to provide a fuller and richer experience to their users.

 

Requirements/Problems

· Platform

o SmartPoint is generally deployed on Windows XP plus, but there are some machines still on Windows 2000 or Windows 98. Some machines also access applications through TS and Citrix. The product is unlikely to be installed on machines with administrative privileges, due to the nature of the environments into which it is sold.

· Hardware

o SmartPoint is often deployed on lower end hardware, which may not have high graphical capabilities.

· Usability

o SmartPoint will ideally be able to render itself at any point *around* an existing application (typically a CRM system) in order to be able to only pop up the most relevant information at the exact point where the user is working. It should provide a rich, interactive user experience, whilst still maintaining the feel of a ‘line of business’ application. This new iteration should improve performance and scalability, which is a potential issue with some of the current javascript code

 

Discussion

Demos

Firstly, we wanted to give the developers at SmartPoint a flavour of how Silverlight, and WPF, can look in a ‘Line of Business’ scenario. We had a few demos to show them, including the Woodgrove Bank and NHS Common User Interface, which helped to give a flavour both of the power of WPF/Silverlight, and also how concepts within the demos could be used to structure their product.

clip_image002

The ‘care pathways’ bar rises and falls as needed within the application, always keeping the doctor aware of the essentials, but allowing him to drill down into details with ease whilst preserving screen real estate.

clip_image004

In particular, SmartPoint saw the ‘Care Pathways’ from the NHS (above) and some other great demos that we were able to show them that aren’t yet released (we’ll mention them on our blog when they are!) as useful ways of displaying some of their complex data. Such demos from Microsoft are always nice for a ‘Wow’ factor, but can also be a great way to get some ideas about building your product. I find the Litware demo particularly useful when talking about new architectures, for example.

Data Access

We later discussed the roles of these high-end graphical technologies in an ISV’s ‘real world’ scenario, how they interact with databases and webservices – and most importantly for SmartPoint, how they could interact with the client machine, and the various data stores that SmartPoint would be querying.

The databinding in WPF is comparable to the power developers have already come to love from WinForms, and can be used to build robust, easily maintainable and highly performant applications – the London Underground (scroll to 45mins in) visualiser for example. Using .NET 3.5 behind WPF too, we can start incorporating LINQ into the equation (against SQL or Entities) and building up a really slick data access strategy with very little effort.

Silverlight has a subset of this, but is still aeons ahead of the javascript solutions that were currently in place, and still promised to offer performance gains in the data access arena. Of particular relief to the SmartPoint developers was the fact that Silverlight will not use the browser’s thread for processing, and thereby delay UI loading if one of the many data sources they query were to take some time to respond.

WPF comes in many forms, and I’ll discuss deployment later on, but a point was brought up during this discussion that only a fully installed WPF application could have ‘full access’ to the client machine. Silverlight and WPF XBaps are limited greatly by the internet sandbox and a ClickOnce WPF project also has certain restrictions, which I’ll mention later on.

Design

Following this discussion of the back-end story of Silverlight and WPF, it seemed logical to move on to the front end. This is a well covered topic already elsewhere on the web, but it’s worth noting the full richness available through WPF can be used to build some simply stunning applications, taking advantage of 3D and complex transforms – but that these will be automagically scaled down on lower-spec machines, to still provide a flavour of the full UI, but without the resource demands.

clip_image006

The British Library’s ‘Turning The Pages’ application is a great example of the power of WPF animations.

As other ISVs have noticed, the lack of a full set of controls in Silverlight 2.0 could be a potential issue – but plenty of ISVs are developing robust, large scale applications in Silverlight 2.0 already, and they find that the ability to customise the default controls, along with the appearance of user-created controls and third-party commercial controls can often be enough to satisfy any needs.

I took this opportunity to offer the advice that if SmartPoint were planning to deviate from the ‘norm’ laid out in design through the constraints of technologies of Winforms, and to take advantage of these infinitely malleable XAML-based frameworks, then they should seriously consider hiring in a dedicated designer for their interfaces.

Much like when multi-font documents and the dreaded <marquee> tag arrived, the plethora of choices given by WPF and Silverlight can be potentially dangerous to a developer who’s just putting together somewhere to surface his results. I’ve seen some awful designs put together by developers demonstrating the developer side of these technologies, and I’d hate to see anything similar going into production and actually being sold. So please, get someone with digi-artistic talent (not myself certainly!) in if you’re planning on doing anything fancy with WPF or Silverlight.

clip_image008

Don’t laugh too much, we all made web design mistakes in the 90’s...

The great advantage of WPF/Silverlight from a design point of view is that a designer working in Expression can generate not just images, but actual workable XAML code which developers can then program against. Gone are the days of trying to hack together something that ‘kind of looks like’ the .psd or .jpg which was emailed across from a design agency.

Deployment

An oft understated offering of .NET applications is that of ClickOnce deployment, which allows the distribution of desktop applications onto machines without the need for administrative privileges – a windfall for the SmartPoint chaps who find it hard to get such permissions in the environments they typically deploy to.

Even Silverlight currently requires one admin install – that of the browser plugin, although this install is typically a much easier ‘sell’ to the IT departments ISVs deal with, as it comes straight from Microsoft.

ClickOnce does have its limitations though, in that it’s unable to interact with other currently running applications on the desktop – something SmartPoint would ideally be able to do from the client side, and something I see many ISV products that wish to tie in with existing offerings from other companies also hoping to do. As such, this may not always be a perfect solution.

Decision

Once the talking was over, the whiteboards were rubbed clean and the coffee cups stacked high upon the table, SmartPoint had a pretty clear idea of where their future lay. “We came here fully expecting to walk away ready to start using Silverlight 2.0” said Smartpoint’s Product Marketing Director, “but now we’re sure WPF is going to be the right route for us, which is great news”.

The power of Silverlight was certainly impressive, but with the fact that SmartPoint could almost guarantee they’d be deploying to a Windows environment, the need for Silverlight’s cross-platform abilities was not needed. Silverlight would also be constrained within a web browser, which unfortunately conflicted with SmartPoint’s desire to have their application ‘pop out anywhere’, without obscuring the main part of the user’s screen real estate.

The graphical richness of WPF, combined with its increased abilities to deal with multiple complex data sources with relative ease was what won the day, and is where SmartPoint see the next iteration of their product. I’ll be catching up with them later to see how everything turned out – but for now, good luck guys, and happy devving!

Technical Comparison

Silverlight vs WPF vs WPF ClickOnce vs WPF XBap

This article has talked a lot about the differences between the various UI technologies available from Microsoft, and I’ve aimed to keep it on a level where technical decision makers and architects can gain the most value. However, I realise that all true geeks will want to know exactly what’s what, and it will hopefully be useful to have this quick reference guide to navigate through the choices.

 

  Silverlight WPF XBap WPF Clickonce WPF desktop
Deployment Admin install of Silverlight browser plugin Admin install of .NET 3.0 Admin install of .NET 3.0 Admin install of .NET 3.0.
Admin install of application
Platform Apple Mac, Microsoft Windows, some Linux support, Firefox, Safari, IE...and on. Windows XP SP2 & above, Internet Explorer or Firefox Windows XP SP2 and above, Internet Explorer, Firefox – or anywhere you can host an installer Windows XP SP2, anywhere you can host an installer
Permissions Browser sandbox* Browser sandbox* Slightly less permissions than a full install. See this comparison table for more Full application permissions as requested
Graphics Less graphical capability than WPF (no real 3D for example) Full 3D support and next-generation graphics Full 3D support and next-generation graphics Full 3D support and next-generation graphics
Tools Expression and Visual Studio Expression and Visual Studio Expression and Visual Studio Expression and Visual Studio

 

* With a few extras, but don’t count on having any more than browser permissions.

A Fasttrack Design Review Write up

Have you have ever had to wait in your house or office for an engineer to turn up to fix something? If so, you probably appreciate a well run field service organisation that has invested in putting the necessary systems in place to ensure that a suitably qualified engineer arrives on time and with the necessary spare parts to fix the problem on the first call.

One such system is FieldPower designed by FieldPower inc and implemented in Microsoft .Net by Zylog Systems Limited. FieldPower is out there now, being used by many companies, especially in the Telecommunications sector. FieldPower is a comprehensive Field service management system, doing everything from integrating with the customer call centre systems through to sending jobs to the mobile devices of Field Service Engineers. Overall, FieldPower enables its users to ensure that high quality field service is delivered to satisfied customers at minimum cost.

Version 2.0

So when it came to thinking about version 2 of FieldPower, the design team attended a Microsoft Fasttrack design review session to help give them some ideas about how they could make the best use of some of the latest Microsoft technologies to create and even better solution and help them grow their market share.

One of the first technologies we were keen to discuss with them was Windows Workflow Foundation (WF). Anytime you are building a system with a number of core business processes, especially long running ones or ones that require human interaction, then its worth looking at WF, as its a great piece of technology that allows you to lift the business processes out of your code, and define them more explicitly in XML. This has a number of big benefits. Firstly, it makes it easier to fully understand the business processes, and to let them evolve over time, without having to change the application code. Secondly, it lets you customise the business rules and process on a per customer basis from a single code base, which many ISVs find invaluable. The net result is you get a richer and more fully functional workflow engine, and you get to reduce the amount of plumbing code you have to write and maintain yourself. Fortunately WF comes with a design surface that allows users to graphically design the process flow. Alternatively, the workflow can be generated under program control.

clip_image002

For more information on WF, check out http://netfx3.com/content/WFHome.aspx.

Another area we explored with the FieldPower design team was data mining and Business Intelligence. Like many such systems, the FieldPower application accumulates a lot of information over time. Information such as the work the Engineers do, the quality of the work done and how much time and resources were expended to deliver the actual service levels. Whilst the FieldPower system does provide several parameterised reports analysing work done, it doesn’t really enable users to perform more ‘ad-hock’ analysis or to look for trends and make predictions. Fortunately, as FieldPower is built on SQL Server, data mining is something that the developers can now tap into. A good place to learn more is http://www.sqlserverdatamining.com/ssdm/

A great way to get up and running is to focus on the Data Mining Add-In for Excel 2007, which is a particularly popular tool. It allows end users to perform powerful analysis on spreadsheet data in a familiar environment. This is the new toolbar:

clip_image003

Armed with this add-in, it is possible to explore data and discover hidden trends and relationships between products, customers, markets, employees, and other factors. This information can be used to discover trends, anticipate needs, understand behaviours and discover hidden opportunities that can improve business processes and directly impact profitability:

clip_image004

The other major topic we explored was location based services and capabilities. As you might imagine, FieldPower coordinates co-ordinates the operations of many engineers on the road, with the needs (and SLA’s) of customers. The ability to visualise the current deployment situation against a geographic and logistical backdrop is a great advantage. The great news for FieldPower is that Microsoft Virtual Earth is a great platform for hooking into and building applications on - http://dev.live.com/virtualearth/

Virtual Earth is offers the FieldPower developers an integrated set of services that enables the creation of ‘live’ displays showing field force deployment (territory by territory), customer locations and the best route (allowing for current traffic conditions and know rush hour situations) for a particular engineer to take to get to the next customer. This ‘situational awareness’ is expected to result in much better ‘dynamic dispatching’, i.e. responding effectively to emergency call-outs.

Using the Virtual Earth Interactive SDK, the following shows traffic overlaid on a map:

clip_image006

The Virtual Earth API allows web developers to supplement Virtual Earth's maps with pushpins and lines. MapCruncher http://research.microsoft.com/mapcruncher/ brings mashups to a whole new level by allowing developers to import entire maps to supplement the existing road and aerial imagery with detailed, application-specific information. The FieldPower team see MapCruncher as a means of enabling their customers to enter Field Service regions and areas into the database to help support scheduling and visualisation:

clip_image008

Finally, during the Fasttrack meeting, we also discussed how SQL Server 2008 introduces new spatial data types and new functions that open up many new possibilities for building geospatial and location based applications. Once you have mapping data (collections of latitude/longitude coordinates) in the database, it’s then possible to query these for interactions, boundaries, distances, etc. The systems can then use Virtual Earth to display this data.

For example, the following screen shot shows the census blocks in a ZIP Code region with the number of restaurants computed. The number of restaurants in each block, relative to the size of the block yields a density value, which appears in the display as a region shaded from white (low density) to red (highest density):

clip_image010

For more information on SQL Server 2008 and the new Geography data type that can be used to store geodetic spatial data and perform operations on it, visit http://www.microsoft.com/sqlserver/2008/en/us/spatial-data.aspx

Conclusion

Overall, as a result of the Fasttrack review, the FieldPower design team have been able to enhance their specification for FieldPower version 2, beyond what was originally envisaged and they are confident that the updated specification can be implemented in a timely manner and can provide their customers with a more flexible application.

More Posts Next page »
 
Page view tracker