Chapter 4. Northwind—Services and Persistence Ignorance
By Ryan Vice
We are off to a good start, but what about performance and scalability? Our current design isn't very scalable and places a large processing load on the client that would make more sense if it was placed on a server. Enterprise applications will generally need to be crafted differently for scalability, performance, and component-based development. They need to be service-oriented, enabling different applications to reuse the same functionalities across the enterprise. The easiest way to improve our design so that it's more enterprise-ready is by adding a Service Layer by Fowler between our presentation tier and our application tier. This will allow us to move our business logic processing to a server which we can easily scale in server farms or on the cloud.
Another consideration for moving to a more enterprise-scale design is around Persistence ignorance. Persistence ignorance is achieved in a design when the persistence...