Fluent.Interface


Category Archive

The following is a list of all entries from the Architecture category.

Billy McCaferty and his S#arp Architecture

I have been following Billy McCaferty’s Sharp Architecture project for some time now – a best practice Domain Driven Design approach to developing ASP.NET MVC web apps.  It has seen a number of iterations, the latest including the configuration with FluentNhibernate and independent ServiceLocator

In his recent article on InfoQ he discusses some of the motivations behind his TDD/DDD implementation.

What’s currently lacking, at least in the world of .NET web development, is a common architecture and foundation for application development which combines best of breed technologies and techniques, using recent technologies based on proven practices, while taking into account the availability of high quality tools developed by the open source community. S#arp Architecture is a response to this need. The open source S#arp Architecture attempts to leverage the proven practices described in this article with carefully selected tools to increase development productivity, while enabling a high level of quality and maintainability

He also makes dudious use of the T4 templating support built into VS2008 to codegen files from the Model objects through to Views and Controllers.  A great kick start for any new project – Well worth a read!

Advertisements

Oslo and new declarative language ‘D’ to be unvelied at Microsoft’s PDC 2008

The PDC postponed in 2007 will give people plenty to talk about in October.

I am particularly looking forward to the unveiling of Oslo, and getting my hands on the CTP.  I have been a Domain Driven Design advocate for a while now, and believe it is import to have a good vision for the model and how it is mapped back to implementation.  Oslo is all about modeling and is set to include:

  1. a ‘tool’ for so the BA types can visualise the problem domain
  2. a new domain specific language ‘D’ for mapping the model down to SQL.
  3. a (SQL) repository for storing the above

Microsoft has done a good job making most of .NET framework core libraries flexible and extensible, so let’s hope this will be a better offering then the Entity Framework V1, which was very limiting.  I still use NHibernate and see no reason to switch camps until they improve the design.


Microsoft’s cloud computing offering with SDDS

Microsoft weighs in with its cloud computing offering in the form of SQL Server Data Services.  Currently in beta, users are able to sign up for free access.

A good screen cast walks you through the new tiered ‘ACE’ architecture which is designed around a top level ‘Authority’ a unit of geo-location which maps to an explicit DNS address eg:

brightsparc.data.beta.mssds.com

Under this Authority are Containers, and within a container is a series of Entities.  The flat structure is analogous to Tables and Rows, however a Row can represent different Kinds of data that doesn’t necessarily conform to the same schema. In fact any data other then the core ID, Version and Kind attributes are ‘Flexible Properties’ and set similar to a key based dictionary.

Under the hood this functionality could well be implemented with the new Filtered Index and Sparse Column features of SQL 2008 which allow for efficient storage of such data.

SSDS is a web service accessed over the wire using a SOAP or simple REST interface currently secured with basic credentials over https.  To get started I recommend downloading the SDK to create / update and query your data using the explorer GUI.  In REST speak, use POST to create a record, PUT to update and record and DELETE speaks for itself.  Moving forward cloud computing security is a challenge for Microsoft, but will no doubt tie in with it’s claim-based Card Space initiative.

Ryan Dun has a great blog with some examples of what is possible right now with SSDS, as well as very nifty open source REST library that can wrap POCO’s for persisting them to the cloud.

Although I did experience some unexpected outage on the service, Microsoft do plan to charge for this service in the future so I’m sure they will be looking at SLA of at least two 9’s if they are planning on competing with the likes of Amazon and Google.


VSTS vNext (Rosario) to include UML tools

I have always been a fan of modeling a problem, and UML tools such Sparxsystem’s Enterprise Architect has always been in my toolbox.  Microsoft released the VS 2005 class diagram support which was very much a bottom up approach to design, but in Rosario we can look forward a more complete UML suite of tools including use case and sequence diagram support.  Code generation will also be supported, although it is not clear how these will stay in sync.

Let’s hope Enterprise Architect isn’t redundant just yet, as I am all for supporting local Australian companies.


QCON London 2008 take away

I was fortunate enough to attend the QCON London 2008 conference in March this year.  I was particularly interested in the Could Computing, and REST/SOA tracks, and finding about how the big guns at Amazon / EBay build their sites in the Architecture track.  I also attended Udi Dahan‘s nServiceBus tut which struck me as one of those great simple solutions to a common problem that is often over-engineered.

InfoQ published an great take away of the event which gives you a flavour of the energy and excitement around the emerging architectures and technologies which also had a real web 2.0 flavour to them.