Wednesday, June 24, 2009

Fulfilling a Dream

Before I started my new job, I had many conversations with the Senior Software Architect discussing domain-driven design, isolating the business layer, and so on. He had faith in this approach and selected it for their new architecture. Now I get to participate in that new architecture.

It has been a good experience so far. The business layer is a host of separate projects that expose themselves as internal business services with data transfer objects matching the domain. The separate presentation layer is an MVC that consumes these services. More specifically, APS.NET MVC controllers are communicating to the business layer application services through WCF proxies, wired together using the Unity DI container. These technoligies have made it realtively easy to adopt this architecture.

It's a breath of fresh air from JEE's stateless session beans, Struts 1.1 and a host of anti-patterns. To be fair, my ex-colleagues and I recognize the error of our ways and architectural limitations (or at least impeadances) imposed by the technologies; however, that application is already into its maintenance cycle and there are not enough people there with the faith to purposefully move towards a better arhitecture.

No comments: