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.