CRM Development

Solutionist has designed the architecture for a new CRM system for use in the medical imaging industry.

Monday, 20 September 2010

Early Entity Framework thoughts

It's been a few weeks since my last post, but I've been reading and working with a couple of good books.


One of those was O'Reilly's Programming Entity Framework (ISBN 9780596807276).
It's not an easy read, but, then again, it's not really meant to be. The topic is huge with ramifications  across any multi-tier application.
I'm currently looking at an N-tier app with a combination of WPF, Silverlight and ASP.NET presentation layers, so having the underlying technology and architecture right is critical.
With that in mind, the sections on WCF RIA and Data services are very helpful and the worked examples are excellent to go through.


Now, behind all this is a niggle along the lines of "I've seen this before"... where? 
Well, Hibernate's been around Java world some time (Nhibernate more recently for MS) and, before that, you have J2EE's early awkward/abortive (choose your adjective) attempts at ORM using EJB 1 and 2. 
EJB3 and Hibernate now provide a data access layer with Spring or EJB3 session beans sitting above that providing declarative transaction management and access control. 
We had Data Transfer Objects (DTOs) for passing data across layers.


Moving across to .NET4 we have the DTO equivalent - i.e. POCOs or STEs or RIA Services' own cross-tier mechanism. You also have EF4 providing the ORM and data access, then WCF in it's various forms provides the service/session layer.


So, for N-tier apps, I get a feeling of it being a case of "Hello Microsoft, welcome to my world!".
It's early days and I'll see how this all goes in MS-land. Having done some prototyping, I have to say is that the MS tooling goes a good way to smoothing out a lot of bumps in the road. 
I'm still waiting for Netbeans/Eclipse/MyEclipse to get to the level of Visual Studio tooling - especially when developing UIs. 


See you back here soon.
 

No comments:

Post a comment