Nuno Filipe Godinho

All about .NET Development and Architecture

July 2009 - Posts

Silverlight 3 with MEF support

   One of the things that I really thing would be important for Silverlight in order to make easier the Modularity of the Business applications developed in Silverlight, since the Prism approach is nice but I think that the MEF approach is simpler and so this should be a breakthrough for Silverlight Business Application Development.

   After some talks with Brad Adams from Microsoft and also posting some feedback I came to this very interesting post of Brad that talks about how can we use the MEF for Silverlight that was made available on the CodePlex site related to MEF.

   Brad make a very good example of the usage of MEF in this blog post.

   So enjoy the reading and good coding.

Update .NET RIA Services

Recently I posted about .NET RIA Services that is a framework that is associated with Silverlight and will make the development of business applications easier.

   So here a some more links in order to understand .NET RIA Services better.

Have a nice reading about .NET RIA Services

Silverlight 3 related information’s

Silverlight 3 has been release and now we have also the Unit Testing Framework binaries here that will help making Unit Tests in our solutions when using Silverlight 3. More information’s here.

Also important is the release of Prism Visual Studio Templates that will help developers get using the Composite Application Guidance for WPF and Silverlight, and make what seems to be hard, simpler, and also with the new MVVM pattern available.

Download the Prism Visual Studio Templates here.

Update to the Prism Visual Studio Templates here.

More information about the Prism Visual Studio Templates here.

Windows Azure SDK July update

Windows Azure has a new SDK release that is now available. A very interesting new feature is the possibility of having several Roles per deployment, unlike what happened in earlier releases where we would only be able to have one Web Role and also a one Worker Role. Another interesting feature is now we have the possibility to chose between a normal ASP.NET Web Forms application and a ASP.NET MVC application as the Web Role.

Download the Visual Studio Tools here.

Download the Windows Azure SDK here.

Windows 7 RTM Availability Information

  As you probably all know Windows 7 will be made available on October 22nd , but the release will be made in phases and so in order to know when you can get you RTM version here’s a summary:

  • For Partners & OEMs
    • ISV and IHV
      • English Version - August 6th on Microsoft Connect and MSDN.
      • Other languages – October 1st
    • Gold and Certified Partners
      • English Version – August 16th on Microsoft Partner Network
      • Other languages – October 1st
    • Action Pack Subscribers
      • English Version – August 23rd
      • Other languages – October 1st
    • OEMs
      • 2 days after the Official RTM Version
  • For Business Customers:
    • Volume Licensing with Software Assurance
      • English Version – August 7th via Volume License Service Center
    • Volume Licensing without Software Assurance
      • English Version – September 1st
  • For IT Professionals
    • English Version – August 6th via TechNet
    • Other languages – October 1st
  • For Developers
    • English Version – August 6th via MSDN
    • Other languages – October 1st
  • For Customers
    • October 22nd

More information here.

More on Windows Azure Commercial Availability

     Microsoft announced on 14th July the commercial availability of Windows Azure as I posted previously and now there are more information’s about the the same subject so I decided to write again on the subject. 

    Important elements to retain:

“During Community Technology Preview (CTP), services included in Windows Azure will be available without charge - subject to certain limits:

  • Total compute usage: 2000 VM hours
  • Cloud storage capacity: 50GB
  • Total storage bandwidth: 20GB/day“

How Consumption is Measured:

    • How Consumption is Measured?
      • Windows Azure
        • SLA
          • “(…)we guarantee that when you deploy two or more role instances in different fault and upgrade domains your Internet facing roles will have external connectivity at least 99.95% of the time (…)”
        • Compute time, measured in machine hours
        • Storage, measured in GB
        • Bandwidth requirements (transmissions to and from the Azure datacenter), measured in GB
        • Transactions
      • SQL Data Services
        • SLA
          • “(…) will maintain a “Monthly Availability” of 99.9% during a calendar month. “Monthly Availability Percentage” for a specific customer database is the ratio of the time the database was available to customer to the total time in a month. Time is measured in 5-minute intervals in a 30-day monthly cycle. (…)”
        • Web Edition Relational Database includes:
          • Up to 1 GB of T-SQL based relational database
          • Self-managed DB, auto high availability and backup
          • Auto Scale with pay-as-you grow
          • Best suited for Web application, Departmental custom apps.
        • Business Edition DB includes:
          • Up to 10 GB of T-SQL based relational database
          • Self-managed DB, auto high availability and backup
          • Auto Scale, Pay-as- you grow
          • Additional features in the future like auto-partition, CLR, fanouts etc.
          • Best suited for ISVs packaged LOB apps, Department custom apps
      • NET Services
        • “(…)Uptime percentage commitments and SLA credits for .NET Services are equivalent to those specified above in the Windows Azure SLA. Due to inherent differences between the technologies, underlying SLA definitions and terms differ for .NET Services. Using the Service Bus module of .NET Services, customers will have connectivity between a customer’s service endpoint and our Internet gateway(…)”
        • Messages are charged to the customer in discrete blocks of 100,000 (“100k”) for each monthly billing period, meaning that
        • A customer who consumed 95,000 messages would be billed for 1x100k messages (plus the bandwidth used to send messages in or out).
        • A customer who uses 150,000 messages in a billing period would be charged for 2x100k messages (plus the bandwidth used to send messages in or out).
        • A customer who uses 20 million messages in a billing period would be charged

More information can be be found on the Windows Azure site.

.NET RIA Services

   .NET RIA Services is a framework that is associated with Silverlight and will make the development of business applications easier.

   In order to know more I decided to compile a set of articles that I think are very interesting to understand .NET RIA Services better.

Have a nice reading about .NET RIA Services

Silverlight 3.0 RTW

As you might already know Silverlight 3 RTW is out and with it the great power of Silverlight 3 was unleashed.

The main features made available are:

  • Tools
    • Expression Blend 3 RC
      • Ability to Import Photoshop and Illustrator
      • SketchFlow
      • State Management
    • Visual Studio 2010
      • Still in Beta 1 version but with a strong design tools for Silverlight
  • Controls
    • DataForm
      • Simple control that enabled a flexible way to display data of a single entity definition. Support several methods such as Display, Edit and Update and navigating to data.
    • DataPager
      • This control gives Paging support such as Next/Previous and Numeric paging on elements that implement the IPageViewCollection interface.
    • Navigation Framework
      • A Framework that will provide an easy way to provide navigation to applications, and that introduces to Silverlight 2 new controls, called Frame and Page. With it we can partition views into separate XAML files and navigate to each view independently. Also integrates with Browser history providing Browser Back and Forward functions.
      • SEO – Search Engine Optimization
      • Deep Linking
        • Possibility to navigate directly to a specific page in the Silverlight solution
    • New toolkit controls
  • Media
    • Support for H.264 and AAC encoding
    • Raw audio/video pipeline support that will provide audio/video decoding outside the runtime and render in Silverlight
  • Graphics
    • Perspective 3D
      • Support for 3D scenarios and putting object on a plane for various user experience scenarios.
    • Pixel Effects
      • Support for Pixel Shader Effects
    • Animation Easing
      • Provides a set of possibilities that will interpolate the animations and provide smoother animation transitions and other visual effects
    • Bitmap API
    • GPU Acceleration
    • Text/Image Improvements
  • Element-to-Element Binding
  • Local Connection API
    • Enable scenarios in order to Silverlight solutions to communicate with each other through an asynchronous messaging system. A pub-sub implementation for Silverlight applications.
  • Binding Validation API
  • SaveFileDialog
  • Dynamic Styling and Based On
    • Support for DynamicResource
    • Support for Based On Styles
  • Caret Brush
  • Merged Resource Dictionaries
  • Assembly Caching
    • Possibility of having the Silverlight solutions load core runtime from a runtime cache rather than having it on the xap file.
  • Network monitoring API
    • Possibility to check network status changes.
  • Out-of-Browser and Offline
    • Possibility to have the applications run on and off the browser and Offline also, having it work like a desktop solution.
  • Binary XML
    • Ability to communicate using WCF with Binary XML data format and providing smaller communications,
  • Web Service Utility
    • Slsvcutil.exe that works like the regular WCF svcutil tool but specific for Silverlight
  • .NET RIA Services (Still in CTP version)
    • A complete framework that will provide an easy way to develop using the n-tier pattern using the power of ASP.NET to help Silverlight to achieve this.

Know more on the Get Started session of Silverlight.net site.

Windows Azure Commercial Availability and Business Model announced

Just today in the WPC 2009 Microsoft announced the Commercial Availability and Business Model that will be used in Windows Azure and Windows Azure Service Platform, and so a brief info about the amounts involved.

  • Windows Azure
    • Compute – 0.12 $ per hour
    • Storage – 0.15 $ per GB by month stored
    • Storage Transactions – 0.01 $ per 10K

 

  • SQL Data Services
    • Web Edition – up to 1 GB relational Database – 9.99 $ per month
    • Business Edition – up to 10 GB relational Database – 99.99 $ per month

 

  • .NET Services (includes Service Bus, Access Control)
    • Messages – 0.15 $ per 100K message operations

 

  • Bandwidth across all three services will be charged:
    • 0.10$ for inbound communications
    • 0.15$ for outbound communications

 

Guarantee Availability:

  • at least 99,95 % for external connectivity
  • at least 99,9% for storage

Availability at launch will be Australia, Austria, Belgium, Canada, Denmark, Finland, France, Germany, Ireland, India, Italy, Japan, Netherlands, New Zealand, Norway, Portugal, Spain, Sweden, Switzerland, UK, and the United States.

In the March 2010 timeframe we expect commercial availability to expand to Brazil, Chile, Colombia, Czech Republic, Greece, Hong Kong, Hungary, Israel, South Korea, Malaysia, Mexico, Poland, Puerto Rico, Romania, Singapore, and Taiwan.

More information's here.

Windows Azure Services Platform Changes

.NET Services July 2009 CTP Release

An one more CTP of Windows Azure was made available and this one has some interesting points like Windows 7 RC Support, easier setup, but of course the large amount of changes is in terms of connecting heterogeneous environments, in terms of:

  • Connect Applications and users
  • Interoperability by Default, very important since it supports now even more standards than before
  • Federation of Data, Messages, Identity and Access, that makes solutions more easier to interoperate between each other.

Of course this changes occur in the spectrum of the .NET Services Bus and Access Control, since the Workflow Services is now offline in order to incorporate more customer feedback.

Check more information here.

SQL Data Services

Now we can look at SQL Data Services as a real Database, and now give support for TSQL in SQL Data Services, of course in this release we only have a subset of TSQL, but this is a good way to go.

Of course there are differences between SQL Server on-Premise and SQL Data Services and some of they are:

“(…)

  • SDS is a multi-tenant system
  • The hardware resources are owned, hosted and maintained by Microsoft
  • SDS is a service

(…)”

So what’s in?

  • DDL
    • FUNCTION
    • INDEX
    • PROCEDURE
    • ROLE
    • SCHEMA
    • STATISTICS
    • SYNONIM
    • TABLE
    • TRIGGER
    • VIEW

 

  • DML
    • SELECT/INSERT/UPDATE/DELETE functionality
    • DML triggers
    • JOINs
    • Transactions
    • A large number of built-in functions (aggregates, math, date and time, ranking, etc.)

 

  • Manageability
    • Query tuning via SET SHOWPLAN and SET STATISTICS
    • Index tuning via create and drop index
    • Statistic management via UPDATE STATISTICS
    • Information schema views and system catalog views (e.g., sys.databases)
    • Local HA is automatically provided as part of the service.
    • Upcoming version of SSMS and VS tools will work against SDS

 

Ok very nice v1 of SQL Data Services, check more in this post from the SQL Data Services Team.

Notes from the Windows Azure by David Chappell in ArCast.TV

I was viewing this ArCast.TV chapter about Windows Azure by David Chappell and I found that it would be interesting for me and for other people to get some notes about this, and so this post was created due to it.

We see in Cloud Computing two types of elements:

  • SaaS – Software as a Service
    • Examples:
      • SalesForce.Com
      • Microsoft
        • CRM Online (competitor of SalesForce.com)
        • Exchange Online
        • Sharepoint Online
        • and so on.
  • PaaS - Platform as a Service or Cloud Platforms

Competition in this space

  • Amazon (1st company in this space)
    • EC2 – we get Virtual Machines
      • Provide Virtual Machines in the Cloud that can be Windows or Linux, and after that those are your VM’s that you have to manage. Very different approach from Windows Azure.
  • Microsoft
    • Windows Azure - We give the Applications and the Virtual Machines are managed for us, without we ever need to manage a specific Virtual Machine
      • Components:
        • Windows Azure – Think of it as a Windows in the Cloud, of course this is not the same thing but is a nice way to make the analogy to it
        • Windows Azure Service Platform
          • .NET Services
            • Service Bus
            • Workflow Services
            • Access Control
          • SQL Data Services
          • Live Services
  • Google
    • AppEngine – Not like EC2 but more like Windows Azure
      • We give a Java or Phyton application and the will be place on VMs like the Windows Azure, but this is completely transparent for user
      • All about Supporting Web Applications
      • Not possible to have a Batch Service like in Azure
      • Only 10 seconds available to process Responses, or else the AppEngine will shutdown the Request

What’s the best? EC2, Windows Azure or AppEngine?

  • It depends on the application your building and the way you’ll build it because the approaches are different and so it’s important to get the most correct Technology to your problem.

ISV’s Strategy

  • In case of a Windows ISV then is normal to think about Windows Azure in order to address the SaaS space.

Enterprise Strategy

  • Often enterprises look at the cloud only as a way to save money, and move the current apps unchanged into the cloud, but that is not the purpose of Windows Azure since now this is not possible, but of course there will be attractive to move existing applications into the cloud.
  • Of course all depends on the applications, because it’s possible if we have a Web Application with a SQL Server Database, because in this case we can move the Web Application to the Windows Azure and the SQL Server Database into the SQL Data Services.
    • What this makes?
      • Application more manageable
      • More Scalable
      • More Extensible
      • and so on.

Get Started using Windows Azure in www.azure.com.

Data Services – Can be ADO.NET or SQL – What’s the difference

Just a while ago I was talking about Data Services and suddenly a confusion between ADO.NET Data Services and SQL Data Services took place, because we were talking about different Data Services, and so in order to try to clarify the differences I remembered to write this post.

There are two types of Data Services that are:

  • SQL Data Services
    • Cloud – at this moment is being converted from ACE (Activity, Container and Entity)  to TDS (Tabular Data Stream) as I’ve presented in this post.
    • In this case we are talking about a Database in the Cloud and the ultimate desire will be to just change the ConnectionString used.

 

Hope it helps you get the confusions out of discussions on this topic.

Windows Azure Service Platform – Worflow Services Changes

The team announced that several importance changes in the Workflow Services way of work and also that it will be taken offline for a while in order to proceed with all the changes.

Changes like the possibility of working in the Cloud Workflow Services the same way as in the .NET Framework 4.0:

“(…) An area of consistent discussion is the Microsoft .NET Workflow Service delivered via .NET Services, and how it relates to the Windows Workflow Foundation (WF) in the .NET Framework. One of the comments that we’ve consistently heard about the .NET Workflow Service is that you want the Workflow Service to be built on .NET Framework 4‘s workflow engine. This is currently not the case, since we are prior to the release date of .NET Framework 4.

As the direct result of user feedback, we will hold off further releases of the Workflow Service until after .NET Framework 4 ships. Since there will be important changes to the Workflow Service before it goes to full production, we are planning to take down the existing Workflow Service as part of service improvements in the month of July. This means any solutions that currently rely on the Workflow Service will have to be modified on or before July 1 in order to continue functioning smoothly. (…)

More information’s here.

Experiments with the new SQL Data Services

The SQL Data Services that are part of the Windows Azure Service Platform just recently, and due to customer feedback, changed the way of working from a ACE (Authority, Container, Entity) model to a TDS (Tabular Data Stream) model.

Eugenio Pace in this post show how he changes the IssueTracker application from the old model to the new one, and also showing the things missing from one to the other and what needs to be done.

Very interesting reading indeed.

WPF Charting is already available in WPF Toolkit of June 2009

The long wait has finished as the WPF Charting was made available on the last WPF Toolkit release of June 2009 and now we can use all those great charts that were available for Silverlight, now also in WPF.

You can know more about this here.

Posted: Mon, Jul 6 2009 16:57 by NunoGodinho | with no comments
Filed under: , ,
Interesting articles regarding .NET RIA Services

.NET RIA Services are here to make our life easier and they were introduced as part of the Silverlight 3.0 but are not only for Silverlight.

Some interesting reading about it is this:

Interesting reading about Entity Framework 4.0

Entity Framework has suffered great changes and in order to know more about them I recommend the following reading:

POCO (Plain Old CLR Object or Persistence ) in the Entity Framework 4.0

“Why is POCO important in Entity Framework? Is important because now we have the ability to really separate the Storage Model from the Conceptual Model, and being the Conceptual Model our normal CLR Objects, that was not possible in previous versions of Entity Framework. This is a huge breakthrough for this 4.0 version. Is not perfect, and in this technologies it never is but it’s very interesting”

I hope you enjoy the reading.

Windows Azure Service Platform: July CTP Breaking Changes Announcement

The Windows Azure Team has just release a July CTP Breaking changes announcement since the already breaking changes in the Workflow Services, now there are changes also in the .NET Service Bus.

“(…)Queues and Routers data will NOT be persisted and restored after the maintenance. Users will need to back up their data if they wish to restore them after the July 2009 CTP release. Please see below for detail.

As previously announced, the existing Workflow Service will be removed from .NET Services in the July 2009 CTP release. Any solutions that currently rely on the Workflow Services will have to be modified on or before 7/7/2009 9am PST in order to continue functioning smoothly. Existing solution Workflow Service metadata such as Workflow Type will also be deleted and cannot be retrieved after the July 2009 CTP release. (…)”

Impacts on:

“(…)NET Services and the .NET Services Portal will be unavailable during this period.(…)

Read more here.