B
Front-End and Back-End Integration
The requirements for front-office and back-office integration are fundamentally different and, as a result, they require fundamentally different integration approaches. This appendix contains:
Front-End Integration
In this implementation, middleware or a similar integration solution intercepts interactions between applications. The middleware acts as a middle tier application server: transparently marshaling, managing, and directing interapplication requests and responses. Typically, the requesting application waits while the middleware requests services of another application.
Figure B-1 Front-End Integration
Front-end integration solutions generally display some, or all, of these characteristics:
- Interaction between the integration layer and the applications is:
- Synchronous, or simulates synchronous processing
- Two-way communication based on a service request model
- Transactions processed are of short duration.
- The application (user) is not aware of using the services of multiple disparate applications.
- Middleware behaves like a midtier application server: marshaling, managing, and directing requests and responses and managing transactional and recovery issues.
Front-end integration has both advantages and disadvantages.
Advantages
- You can develop a number of presentation layers for different user, customer, and supply channels.
- All presentation layers share the same services, thus ensuring consistent interactions regardless of channel.
- Each presentation layer requires only one signon to access all required functionality.
Drawbacks
Applications must meet these criteria to participate in the interactions:
- All functionality must be offered through a service-based API.
- All business and data logic must be separate from the presentation layer.
- The transaction/commit model must act as a resource manager in the chosen multiphase commit processing.
- Few legacy and currently available ERP/CRM packages meet these criteria, so you probably must develop a custom application.
- The presentation layer of packaged applications is unlikely to be usable. This may lead to difficulties in providing support, lengthy implementation time, and so on.
- It is difficult to manage a development and testing environment because of the need for a complex architecture, the lack of suitable strong tools, and the dependence on program-oriented delivery.
Back-End Integration
In this implementation, users interact with only one application at a time in a manner determined by their user roles.The application notifies other applications as necessary of the significant aspects of the user interaction. Application-to-application interactions can be based on further sequential notifications.
Figure B-2 Back-end integration
Back-end integration solutions display some or all of these characteristics:
- Interaction between the integration layer and the applications is:
- Predominantly asynchronous
- One-way communication
- Service-request and event-notification models are both used.
- Business process definitions closely mirror the business, and consequently transactions take a long time.
- The user interacts with a single application or with a small number of applications.
- The integration solution acts transparently as a sophisticated distribution and synchronizing agent.
Advantages
- The presentation layer interface to the applications need not employ the same architecture as the applications.
- You can use the prebuilt presentation layer delivered with packaged applications.
- The business and data logic in an application need not be separate from the delivered presentation layer.
- It is easy to manage the development and testing environments because asynchronous breakpoints provide natural testing points.
- Graphical tools are provided to ease development.
Drawbacks
- Each application has a different look and feel and a different signon, which makes applications appear to be only loosely integrated.
- The user interface is narrowly constrained, thus restricting users who act in multiple and diverse roles.