Search  
Friday, September 10, 2010 ..:: Articles » CSLA version 2; what's in it for me? ::..   Login
 CSLA version 2; what is in it for me?
Introduction | Business Objects | Simplify UI | Data Binding | ORM | Business rules | N-level undo | Security | Scalability | Localisation | Best practice | Community | License | Links
 
Show as single page

Deliverable: Best Practice

It is not easy to come to .Net, and immediately adopt best practice. The issue is that .Net is such a huge framework. It has to be so flexible as it is required to be all things to all people.

There are just so many options, and it doesn't just stop at the .Net framework. There is also ADO .Net, ASP.Net and OO design techniques that also need to be mastered. IF our application is to be distibuted there is also .Net Remoting or WCF (it's replacement).

There is plenty of help available, but the sheer quantity of this help is part of the problem. A quick look around my PC shows 130mb of help and quick start materials within the .Net directories, and then there is further 950mb in my MSDN directory. There is so much help, that it is almost no help. It is hard to get the broad overview needed to make architecture design choices. The help material seems to quickly descend into fine detail, which seems to open up more questions than provide answers when I am in architecture-design mode of thinking.

Of course this broad overview is hard earned, and can only really come from years of experience of .Net, and the tools which precede .Net. Rocky has this, which is why he wrote the book, and I am just the reader.

There are many, many books and sites providing “help” also. The big question is “which book”, and “which site”. In my opinion, most books get us up and going too fast with their “Foo”, or lightweight “customer” and “order” examples. It is easily apparent how I can write a .Net application, but it is extremely hard to see how I should write one. My future self would thank me if I could just slow down, and get the architecture and basic framework right before rushing into start coding the application. A great aim, but so hard to achieve!

I think that Rocky's books have a great deal to offer here.

  • Best practice: There has obviously been a lot of work put into understanding .Net's capabilities. The CSLA framework has been designed to extend upon .Net, to give a rich framework for both the BO and UI programmers. The book does an excellent job of explaining the reasons behind the various design decisions, and the trade-offs that were involved.

  • Practical: The book goes beyond just theory, and illustrates the concepts by working through a project to build the CSLA framework. It then goes on to use the framework by developing some Business Objects, and then to use those same objects in desktop, web server, and then web service situations.

  • Real-world: The CSLA framework is not just some academic, lightweight framework-example that exists in just a book. It has been deployed by numerous people in a wide variety of situations (see links).

  • Continuous improvement: We can't be sure of “continuous” in the “forever” sense, but we can see that there has been an impressive effort so far. There have been 7 new versions since the VB flavour of the framework was originally published in June of 2003. We now have a major overhaul for .Net v2 as of .March 2006. The new versions which we have already received have implemented many new features as well as bug fixes. The areas of improvement so far include:

    a fundamental level of reworking to take full advantage of .NET 2 improvements such as better type safety and reduced boxing overhead (generics), much better data binding support (.NET's new BindingSource component, PropertyChanged event and bi-directional binding in ASP.NET), reduced overhead in multi-database situations (ADO.NET 2 promotable transactions)

    field level authorisation added to the existing object level authorisation facilities

    role based authorisation rules move from the UI into the BO

    remove dependancy upon .NET Remoting, and make ready for WCF (Windows Communication Foundation; codename Indigo; the future replacment for .NET Remoting). Microsoft haven't released this replacement for .NET Remoting yet, but Rocky already has a downloadable project demonstrating CSLA use against the WCF beta.

    the demonstration application has been extended to handle first-write-wins concurrency, also a nice multi-document SDI UI built using user controls, also to use the new .NET components such as the DataGridView and ToolStrip

    changes to better facilitate the use of code generators to build our BO's

    complete overhaul, and extension of,of the rules tracking facilities

    localization facilities

    enhancement to date handling capabilities

    enhancement to exception handling capabilities

    handle .NET v1.1


Localisation | Page 11 of 14 | Community

      

Copyright 2005 by Primos Computer Services   Terms Of Use  Privacy Statement