14.3. The Web Service Façade

Traditionally, the application servers host application components, which are invoked via some form of remoting or remote procedure calls from the web servers. More and more organizations are moving over to web service-based application components to adopt a more service orientated architecture (SOA). Web services can be used to "wrap" existing application components and expose them to the outside world via HTTP (or HTTPS).

The web servers have no direct access to either the application servers or the database servers for security purposes. Communication between the web servers, application servers, and database servers can be locked down at the network level to protect the system from being breached. These restrictions need to be born in mind when designing the application foundations.

The web services will act as a conduit through to the business components. In this scenario, they will not actually be performing any formal business processing. I've chosen this approach to keep all the business processing within the actual business components themselves. This model has the benefit of supporting both web services and the traditional connection to the business-processing components. For example, the business components can be deployed to any server and other components, such as batch, or even an Admin user interface can make use of them without having to go through the web service layer. This retains the business logic and business processing consistently ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.