soa eai ver1 0
TRANSCRIPT
Services Orientated Services Orientated Architecture – Architecture –
What is a Service?What is a Service?
““Anybody can build a service. The Anybody can build a service. The challenge is to build a good service, challenge is to build a good service,
based on solid design principles”based on solid design principles”
Think ChangeWhat seems like only a ripple today...Can become the wave of the future
WHAT IS A SERVICE?WHAT IS A SERVICE?
What is a Service?What is a Service?
• “ “A service is a A service is a discrete unit discrete unit of of business functionalitybusiness functionality that is made available through a that is made available through a service contractservice contract. The . The service contract specifies all interactions between the service contract specifies all interactions between the service consumer and service provider. This includes:service consumer and service provider. This includes:
1.1. Service interface Service interface – Specifies the service operations, i.e. What the service doesSpecifies the service operations, i.e. What the service does
2.2. Interface documentsInterface documents
3.3. Service PoliciesService Policies– Ensuring service governanceEnsuring service governance
4.4. Quality of service (QoS)Quality of service (QoS)– Service Life Cycle is Managed through a Service Level Agreement (SLA)Service Life Cycle is Managed through a Service Level Agreement (SLA)
5.5. PerformancePerformance– Service Life Cycle is Managed through a Service Level Agreement (SLA)Service Life Cycle is Managed through a Service Level Agreement (SLA)
Aspects of a ServiceAspects of a Service
• Service Interface Layer Service Interface Layer – Customer Facing – and what Customer Facing – and what
the service doesthe service does– Defines the style and details of Defines the style and details of
the service interactionsthe service interactions
• Service Implementation Service Implementation LayerLayer– How the service provides the How the service provides the
capabilities of its interfacecapabilities of its interface– Hidden from the service Hidden from the service
consumerconsumer
Service
Service Policies Service Level Agreement
Interface
Implementation
Service Operations
Semantic Business Objects
Internal Functionality Internal
Data
Service C
on
tract
Types of Information utilisedTypes of Information utilised
Semantic Business Data
Specific
Common
Specific
Common
Semantic Data•Described by a common/shared information model.•A view of the common aspects of services.•Used for information exchange through interfaces.
Domain Data•Described by an internal data model.•A view of the physical data.•Used for implementation
Physical Data•Described by a database schema.•Used for persistence
Service CharacteristicsService Characteristics• Modularity and granularityModularity and granularity
– Business processes are decomposed into modular Business processes are decomposed into modular services that are self-contained. services that are self-contained.
– Granularity is a quality of functional richness for a Granularity is a quality of functional richness for a service.service.
• EncapsulationEncapsulation– Services exhibit a strict separation of the service Services exhibit a strict separation of the service
interface (what a service does) from the service interface (what a service does) from the service implementation (how it is done).implementation (how it is done).
• Loose couplingLoose coupling– Coupling describes the number of dependencies Coupling describes the number of dependencies
between a service consumer and provider.between a service consumer and provider.
• Isolation of responsibilitiesIsolation of responsibilities– Services are responsible for discrete tasks or the Services are responsible for discrete tasks or the
management of specific resources.management of specific resources.
• AutonomyAutonomy– Autonomy is the characteristic that allows Autonomy is the characteristic that allows
services to be deployed, modified, and services to be deployed, modified, and maintained independently from each other and maintained independently from each other and the solutions that use them.the solutions that use them.
• Governed by policyGoverned by policy– Relationships between service consumers and Relationships between service consumers and
providers (and between services and service providers (and between services and service domains) are governed by policies and service domains) are governed by policies and service level agreements (SLAs).level agreements (SLAs).
• Reuse Reuse – Together, modularity, encapsulation, loose Together, modularity, encapsulation, loose
coupling, isolation of responsibilities, and coupling, isolation of responsibilities, and autonomy enable services to be combined into autonomy enable services to be combined into multiple business processes or accessed by multiple business processes or accessed by multiple service consumers from multiple multiple service consumers from multiple locations and in multiple contexts.locations and in multiple contexts.
• Dynamic discovery and bindingDynamic discovery and binding– Services can be discovered at design time Services can be discovered at design time
through the use of a design-time service through the use of a design-time service repository.repository.
• Stateless Stateless – Service operations are stateless. This means that Service operations are stateless. This means that
they neither remember the last thing they were they neither remember the last thing they were asked to do nor care what the next is.asked to do nor care what the next is.
• Self-describingSelf-describing– The service contract provides a complete The service contract provides a complete
description of the service interface, its description of the service interface, its operations, the input and output parameters, and operations, the input and output parameters, and schema. schema.
• ComposableComposable– Services can be composed from other services Services can be composed from other services
and, in turn, can be combined with other services and, in turn, can be combined with other services to compose new services or business processes.to compose new services or business processes.
• Independent of location, language, and Independent of location, language, and protocolprotocol
– Services are designed to be location-transparent Services are designed to be location-transparent and protocol/platform-independent.and protocol/platform-independent.
Service HierarchyService HierarchyEnterprise Business Process
Business Service Business Service
Domain Service Domain Service
Domain Service
External Service Integration Service
Foundation Service Layer(May be used by all other Services)
Service DimensionsService Dimensions
Large
Small
Granularity
Composite
Wrapper
Construction
Enterprise
Application
Scope
Central
Individual OrganisationOwnership
Service
ScopeScope defines the organizational boundaries that a service isexpected to operate in. For example, a service with an enterprise scopeis expected to be used by processes or other services across the entireenterprise (i.e., other LOBs). At the opposite end of the scale is a servicethat is used by only a single application or organizational group.
GranularityGranularity describes the size of a service in terms of the amount of business function that is performed in a single request/response exchange of messages.
OwnershipOwnership defines the organizational unit that is responsible for support of a service. This extends well beyond simple maintenance and operations to the overall life cycle of the service
ConstructionConstruction refers to how the service has been implemented. The service may essentially be a servicewrapper around some existing function or data in a legacy or COTSapplication. We call this an integration service.
Common Service PatternsCommon Service Patterns
Business Service
Service Interface
Orchestration
Domain Service
Utility Service
Foundation Service
A B
Business Components
Common Service PatternsCommon Service Patterns(Enterprise Business Process)(Enterprise Business Process)
Business Service
Service Interface
Orchestration
Domain Service
Utility Service
Foundation Service
A B
Business Components
Enterprise Business Process
Business Service
IntegrationService
Packaged Application
Business Service
Business Process Orchestration
Service Types and PurposeService Types and Purpose• Task services Task services
– Services that implement a business function, such as a service that Services that implement a business function, such as a service that calculates the price of an insurance quote or validates the format of an calculates the price of an insurance quote or validates the format of an address. Task services come in all different sizes, ranging from discrete address. Task services come in all different sizes, ranging from discrete utility services to large business services. Smaller services tend to be utility services to large business services. Smaller services tend to be more general in purpose and provide a higher potential for reuse. more general in purpose and provide a higher potential for reuse. Business services are often large compositions of smaller services and Business services are often large compositions of smaller services and may be designed to support one or more specific process. may be designed to support one or more specific process.
Task
Task Task Decision
Decision Entity Entity Entity • Entity Services Entity Services – Services that primarily manage access to business entities. Examples of Services that primarily manage access to business entities. Examples of
business entities are customers, policies, claims, and so on. They business entities are customers, policies, claims, and so on. They correspond to major business information concepts. Entities are usually correspond to major business information concepts. Entities are usually medium to large in size. Entities tend to be independent of any medium to large in size. Entities tend to be independent of any particular business process and instead are part of multiple different particular business process and instead are part of multiple different business processes.business processes.
• Decision Services Decision Services – Services that execute business rules to provide business decisions. An Services that execute business rules to provide business decisions. An
example of a decision service is Approve Creditworthiness. Decision example of a decision service is Approve Creditworthiness. Decision services generally provide yes/no answers to complex questions, or services generally provide yes/no answers to complex questions, or support frequently changing externalized rules such as tax regulations. support frequently changing externalized rules such as tax regulations. Decision services are usually composed into other services and are small Decision services are usually composed into other services and are small to medium in sizeto medium in size
The combination of these different service types provide flexible business capabilities that support the activities of a business process.
Business Processes
Process Services
ServicesDecision Services
Entity Services
IS IS ISIntegration Services
Enterprise Services Data Data
OVERVIEW OF SOA OVERVIEW OF SOA
Enterprise Perspective of SOAEnterprise Perspective of SOA
Enterprise Business Process
Business Model
Service
Integration Service
Common Semantics and
Data
Process Guidelines and
Tools
Service Bus
Define
Defines communication technology for application integration
Specifies Service wrapping techniques
Specifies definition and requirements of a service
Defines tools, processes,and technology for combiningservices into EBP
Defines common semantics and data
Enterprise Architecture and SOAEnterprise Architecture and SOA
Enterprise Architecture
Business Architecture
Application Architecture
Data Architecture
Technology Architecture
Service Orientated Architecture
Integration Services
Data
ServiceCommon
Semantics and Data
Service Bus
Enterprise Business Process
Business Model
Sources of ReferenceSources of Reference
• ““Service Orientated Architecture and Design StrategiesService Orientated Architecture and Design Strategies“, M.Rosen, “, M.Rosen,
B.Lobinsky, K.T.Smith, M.J.Blacer, Wiley Publishing Inc., B.Lobinsky, K.T.Smith, M.J.Blacer, Wiley Publishing Inc., ISBN: ISBN:
978-0-470-22365-9, 2008978-0-470-22365-9, 2008
If you have one last breath use it to say...If you have one last breath use it to say...