AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research issues
Service Oriented Architectures (SOA) Emerging approach Loosely coupled Standards-based Protocol-independent Distributed computing Map the enterprise information system (EIS) to the business process flow Most popular: web services (WSDL, SOAP, UDDI) ->develop, interconnect, and maintain applications
Elements of SOA
SOA Design philosophy Need description language and interfaces Self contained (maintain own state) Platform independent Dynamic distributed computing All functions in an SOA are defined as services All services are autonomous. The interfaces are invocable
Requesters and Providers Service requests - messages formatted according to Simple Object Access Protocol (SOAP). - One ore more components hosted in a service container Service provider - design the realization of the component that offers the services; its architectural decisions
Which potential application service provider should be selected ? Service brokers - trusted parties that force service providers to adhere to information practices that comply with privacy laws and regulations, or in the absence of such laws, industry best practices. - - maintain an index of available service providers - - provide additional information about their services: reliability, trustworthiness, the quality of the service, service level agreements, and possible compensation routes
Technology and information model mismatches SOLUTIONS: 1. Build the client module to conform exactly to the characteristics of every server module that it will invoke (tighter coupling, complex). 2. Insert a layer of communication and integration logic between the client and server modules.
Enterprise service bus
Building and deploying distributed SOA 1. Service enablement – each application exposed as a service 2. Service orchestration – unified and clearly defined distributed process 3. Deployment – production environment (secure, reliable, scalable) 4. Management - Services must be audited, maintained and reconfigured.
Simplified distributed procurement process Sending and receiving applications are fully decoupled.
Enterprise service bus connecting remote services
ESB Functional Requirements Leveraging existing assets Service communication capabilities (routing, messaging) Dynamic connectivity capabilities Topic/content-based routing capabilities Endpoint discovery with multiple quality of service capabilities Integration capabilities Transformation capabilities
ESB Functional Requirements (continued) Reliable messaging capabilities Security capabilities Long running process and transaction capabilities Management and monitoring capabilities Scalability capabilities
Integration solutions – technical requirements Integration at the presentation-tier portlets, Web service for Remote Portal Application connectivity: Infrastructure level: sync & async communications, routing, transformations, data distribution, gateways,protocol converters Processing level: input, output visualization Application integration various platforms and technologies Process integration Data integration Integration design and development methodology
Integration broker integrating disparate back-end systems
Application server providing access to back-end systems
Future read: Extended SOA