03 service oriented architecture series - basic soa architecture

41
SOA Architecture Pouria Ghatrenabi Based on IBM SOA Certificate Learning Objectives

Upload: pouria-ghatrenabi

Post on 08-Jan-2017

119 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 03 Service Oriented Architecture Series - Basic SOA Architecture

SOA Architecture

Pouria Ghatrenabi

Based on IBM SOA Certificate Learning Objectives

Page 2: 03 Service Oriented Architecture Series - Basic SOA Architecture

Learning Objectives• Describe the characteristics of a basic SOA architecture.• Describe the elements of the IBM SOA Reference Architecture, and

their roles and relationships.• Describe the enterprise service bus (ESB) and its role in SOA.• Describe the role of Web Services and messaging in building an SOA.• Describe orchestration of business processes using services and

human interactions.• Describe the stages of the SOA lifecycle (model, assemble, deploy,

manage.)

Page 3: 03 Service Oriented Architecture Series - Basic SOA Architecture

IBM SOA FoundationSOA Life Cycle• model• assemble• deploy• manage

Reference Architecture

Programming Model SOA Scenarios

Ref: Buecker et al. (2008), p 408

Page 4: 03 Service Oriented Architecture Series - Basic SOA Architecture

Characteristics of SOA Architecture

Page 5: 03 Service Oriented Architecture Series - Basic SOA Architecture

Characteristics of a Basic SOA Architecture

SOA Architecture Aspects

SOA Architectural

Domains

SOA Architectural

Characteristics

Page 6: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Characteristics of SOAPlatform

• The service implementation platform should not be relevant to consumers, including intermediary layers, communication protocols, and perhaps even application layers.

Location• Several instances of the same service may exist in different locations to support service delivery scalability.

Protocols• Protocol independence is an aspect of SOA.

Programming Language• SOA should be implemented independent of any programming language

Invocation Patterns• It is the overall flow of interaction between requester and a provider. There is a growing demand for one-time services

that does not need any synchronization and state management.

Security• Should be balanced with performance, system management, and complexity

Page 7: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Characteristics of SOA (continued)

Service Versioning• There are two types of changes in WSDL documents:

• Backward-compatible• Adding new service operations to an existing service description.• Adding a new XML Schema within a WSDL document

• Non-Backward-compatible• Removing an operation• Renaming an operation• Changing the parameters of an operation• Changing the structure of a complex data type

Service Model• Reusability implies a canonical service model that reflects the enterprise view of its business services.

Information Model• There is usually a semantic coupling of business data models between the two sides.

Data Format• Data formats are often transformed during to an exchange into XML formats

Page 8: 03 Service Oriented Architecture Series - Basic SOA Architecture

Elements of the IBM SOA Reference Architecture

Page 9: 03 Service Oriented Architecture Series - Basic SOA Architecture

SOA Foundation Reference Architecture: Solution view

Ref: Buecker et al. (2008), p 420

Page 10: 03 Service Oriented Architecture Series - Basic SOA Architecture

SOA Foundation Reference Architecture: Middleware Services view (Logical Architecture)

Ref: Buecker et al. (2008), p 421

Page 11: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Domains of SOA

Reference: Bieberstein, et al.(2006), p36

Page 12: 03 Service Oriented Architecture Series - Basic SOA Architecture

Infrastructure ServicesResource virtualization Services

• The closest to the hardware,• Enable a platform-independent environment for the execution of services in a network,• Tightly related to Grid Computing concepts.

Service-Level Automation and Orchestration• Includes automated services for problem management, system failure recovery, workload balancing,

system security services, and data provisioning.• Facilitates automated management of required service levels and policies,• Enables self-managing computing systems, • Leverages the role of IT staff to focus on higher level of operation management

Utility Business Services• With the help of an Enterprise Service Bus, more specialized utility services can be built in a manner

similar to application services

Page 13: 03 Service Oriented Architecture Series - Basic SOA Architecture

Enterprise Service Bus (ESB)

Page 14: 03 Service Oriented Architecture Series - Basic SOA Architecture

• ESB is a core intermediary, a means to tie services together into componentized, logical sets, ensuring minimal heterogeneity in the business semantics exposed by the service,

• The sets reflect the structure of business and are designed for distributed use across the enterprise,

• ESB is an architectural construct that parallels the business process environment

Ref: Bieberstein, et al.(2006), p43

Page 15: 03 Service Oriented Architecture Series - Basic SOA Architecture

Enterprise Service Bus (ESB) Concept

Reference: Bieberstein, et al.(2006), p44

Page 16: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Role of WSDL in ESB• ESB enables invoking and using business functions in components,

regardless of API or protocol, by using them as services defined by a standard interface description based on WSDL.

• WSDL separates the abstract description of service interfaces, the reusable protocol bindings for the service, and the actual deployed endpoints offering the service.

Ref: Bieberstein, et al.(2006), Ch 3

Page 17: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Role of WSDL in ESB (continued)

• WSDL inherent extensibility allows any unit software to be described directly regardless of the protocol that is used to expose the service API such as• MS .Net• Enterprise Java Beans (EJB)• COBRA• Java Messaging Service (JMS)• ...

Ref: Bieberstein, et al.(2006), Ch 3

Page 18: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Essential Infrastructure Services by ESB

Transport

Quality-of-service-based

Routing

Mediation

Gateway Services

Ref: Bieberstein, et al.(2006), Ch 3

Page 19: 03 Service Oriented Architecture Series - Basic SOA Architecture

Transport• The essential transports for Web Services are• SOAP over HTTP• SOAP over HTTPS• SOAP over JMS

Ref: Bieberstein, et al.(2006), Ch 3

Page 20: 03 Service Oriented Architecture Series - Basic SOA Architecture

Quality-of-Service-Based Routing• The Support of Quality of Service (QoS) features in an ESB enables the

support and delivery of services according to defined SLAs.

• In Web Services, QoS can refer to the quality of the availability, accessibility, integrity, performance, reliability, regulatory, and security capabilities of the service.

Ref: Bieberstein, et al.(2006), Ch 3

Page 21: 03 Service Oriented Architecture Series - Basic SOA Architecture

Mediation• Mediation enables intelligent processing of service requests and

responses, events, and messages.

• Mediations can be implemented at application service endpoints (either requestor or provider) or can be distributed through the infrastructure of the bus.

Ref: Bieberstein, et al.(2006), Ch 3

Page 22: 03 Service Oriented Architecture Series - Basic SOA Architecture

Mediation (continued)

Transformations• XML-to-XML translations, DB lookups, and aggregations.

Message Validation• Verification of any data field with specific rules

Content or Quality Service Selections• A service selection based on content or on required QoS

Content-based Routing• Routes the messages based on some parameters in the message content

Ref: Bieberstein, et al.(2006), Ch 3

Page 23: 03 Service Oriented Architecture Series - Basic SOA Architecture

Mediation (continued)

Customized Logging• A legal requirement for logging and audit tasks

Metering and Monitoring• All manageability anchor points in a bus to control its own behavior

Automatic Behavior• Used to react when events are detected- to self-configure, heal, optimize, etc.

Policy Management• Allows a description of all of the listed behaviors rules through externalized policies

based on XMLRef: Bieberstein, et al.(2006), Ch 3

Page 24: 03 Service Oriented Architecture Series - Basic SOA Architecture

Mediators (Mediation Continued)

• Intermediary components that operate on logical Web Service SOAP message representation between the requestor and the provider

• Can be located close to requestor, provider, or halfway

• In best practice implementations, mediators should use Java WS SOAP-handling standard: JAX-RPC

Ref: Bieberstein, et al.(2006), Ch 3

Page 25: 03 Service Oriented Architecture Series - Basic SOA Architecture

Gateway Services• An additional component of a bus that provides controlled access to

the bus for external partners. Some of typical functions include

• Hiding details of individual internal services,• Validation user access,• Controlling access,• Auditing requests.

Ref: Bieberstein, et al.(2006), Ch 3

Page 26: 03 Service Oriented Architecture Series - Basic SOA Architecture

The Role of Web Services and Messaging

Page 27: 03 Service Oriented Architecture Series - Basic SOA Architecture

Web Services Technology

A collection of standards that can be used to implement an

SOA

That is not to say that Web services and SOA are

intrinsically linked, because they can be implemented

separately

Vendor- and platform-neutral, interoperable, and supported by many vendors

Ref: Buecker et al. (2008), pp 408 & 412

Page 28: 03 Service Oriented Architecture Series - Basic SOA Architecture

Web Services Technology (continued)

• Self-contained, modular applications, that can be described, published, located, and invoked over networks;

• The services can be new or wrapped around existing applications.

• Many significant SOAs are proprietary or customized implementations that are based on reliable messaging and Enterprise Application Integration middleware.

Ref: Buecker et al. (2008), pp 408 & 412

Page 29: 03 Service Oriented Architecture Series - Basic SOA Architecture

Logical Links of SOA and Web Services• Web services provide an open-standard model for creating explicit,

implementation-independent descriptions of service interfaces.

• Web services provide communication mechanisms that are location-transparent and interoperable.

• Web services are evolving through Business Process Execution Language for Web Services (WS-BPEL), document-style SOAP, and WSDL to support the implementation of well-designed.

Ref: Buecker et al. (2008), p 408 & 412

Page 30: 03 Service Oriented Architecture Series - Basic SOA Architecture

Stack View of Web Services Technology

Ref: Buecker et al. (2008), p 411

Page 31: 03 Service Oriented Architecture Series - Basic SOA Architecture

Approaches to Generating a Web Service

Bottom-up Approach• An existing application is used to generate the Web service, which includes a service

wrapper used to expose application functionality.

Top-down Approach• An existing service definition WSDL is used to generate a new application for a

specific programming language and model.

Composition• An existing group of already generated Web services provides a new combination of

functionality (multiple services). Composing a new Web service in this way might include the use of workflow technologies.

Ref: Buecker et al. (2008), p 412

Page 32: 03 Service Oriented Architecture Series - Basic SOA Architecture

Orchestration of Business ProcessesUsing Services and Human Interactions

Page 33: 03 Service Oriented Architecture Series - Basic SOA Architecture

• Taking people as a core entry point, SOA improves people productivity by aggregating views that deliver information and interaction in the context of a business process,

• This enables human and process interaction with consistent levels of service,

• Start by building a view of a key business process by aggregating information to help people make better decisions,

• The next steps are tighter management of performance with alert-driven dashboards that link to more processes.

Ref: Buecker et al. (2008), p 406

Page 34: 03 Service Oriented Architecture Series - Basic SOA Architecture

• Participating tasks are initiated by the system (process), which requires a human response to continue execution.

• The system initiates the task and an individual from the candidate executers claims the task and executes it.

• The human agent then provides the output back to the system, notifying it of its completion.

Ref: Mabrouk, (2008)

Page 35: 03 Service Oriented Architecture Series - Basic SOA Architecture

• Originating tasks are initiated by a person through a user interface.

• They target a system; a person creates an originating task and starts it; and a request is sent to the system to run the services that are needed.

• As soon as the system finishes executing, a notification is sent to the initiator.

Ref: Mabrouk, (2008)

Page 36: 03 Service Oriented Architecture Series - Basic SOA Architecture

• Purely human tasks are, like originating human tasks, created and started by a person.

• And, like participating human tasks, they target another person who then claims and completes the task.

• Purely human tasks don't interact with business processes or other web services.

• They're not automated tasks, yet they pass through the same cycle of assignment and notifications.

Ref: Mabrouk, (2008)

Page 37: 03 Service Oriented Architecture Series - Basic SOA Architecture

Stages of the SOA Lifecycle

Page 38: 03 Service Oriented Architecture Series - Basic SOA Architecture

Picture Reference: (McBride, 2007)

Page 39: 03 Service Oriented Architecture Series - Basic SOA Architecture

Stages of the SOA Lifecycle

Model• Gathering business requirements, designing, simulating, and

optimizing customer desired business processes.

Assemble• Implement optimized the business processes by combining newly

created and existing services to form composite applications

Reference: Carter, S. (2007)

Page 40: 03 Service Oriented Architecture Series - Basic SOA Architecture

Deploy• The assets are then deployed into a secure and integrated environment, taking

advantage of specialized services that provide support for integrating people, processes, and information.

• This level of integration helps ensure that all the key elements of your company are connected and working together.

Manage• Once composite applications are deployed, customers manage and monitor

applications and underlying resources from both an IT and a business perspective.

• Information gathered during the Manage phase is used to gain real-time insight into business processes, enabling better business decisions and feeding information back into the lifecycle for continuous process improvement.

Reference: Carter, S. (2007)

Page 41: 03 Service Oriented Architecture Series - Basic SOA Architecture

References • Bieberstein, N., Bose, S., Fiammante, M., Jones, K., & Shah, R. (2006). Service-Oriented Architecture

(SOA) Compass-Business Value. Planning, and Enterprise Roadmap, IBM developerWorks.• Buecker, A., Ashley, P., Borrett, M., Lu, M., Muppidi, S., Readshaw, N., & others. (2008). Understanding

SOA Security Design and Implementation. IBM Redbooks.• Carter, S. (2007). The new language of business: SOA & Web 2.0. Pearson Education.• IBM. (2015, December 5). SOA Governance and Service Lifecycle Management. Retrieved from

https://www-01.ibm.com/software/solutions/soa/gov/lifecycle/• Mabrouk, M. I. (2008, September 5). SOA fundamentals in a nutshell. Retrieved December 12, 2015,

from http://www.ibm.com/developerworks/webservices/tutorials/ws-soa-ibmcertified/ws-soa-ibmcertified.html

• McBride, G. (2007, March 15). The Role of SOA Quality Management in SOA Service Lifecycle Management. Retrieved from http://www.ibm.com/developerworks/rational/library/mar07/mcbride/

• Portier, B., & Budinsky, F. (2004, September 28). Introduction to Service Data Objects. Retrieved from http://www.ibm.com/developerworks/library/j-sdo/