In the previous posts we discussed about the challenges in Enterprise Development. One of the solution we presented was leverage on Specialized Products. Specialized product is product which exist for just one single reason: solve specific problem.

Without Specialist product, this would be our architecture:

commonarch.gif

Inside the Application Box, we are likely find extremely crowded components, because there is no separation of concerns, it does everything under the sun: process logic, integration, database update, provide data to front end, etc.

In very simple application, this might work, but in Enterprise level application where you have huge requirements, and need for adaptability, this solution will be hard to manage.

The better approach will be to delegate some responsibilities to external modules or product called specialist, as shown bellow:

ourarch.gif

In above pictures, Enterprise Service Bus (ESB) will take on Integration role, so you do not have to write custom code for that. Business Process Management (BPM) will be at the core of your process, which there no custom coding whatsover.

At the end of the day, we will see productivity will improve, and quality of life gets better :) .