soa eai ver1 0

17
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”

Upload: maganathin-marcus-veeraragaloo

Post on 15-Jul-2015

607 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Soa Eai Ver1 0

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”

Page 2: Soa Eai Ver1 0

Think ChangeWhat seems like only a ripple today...Can become the wave of the future

Page 3: Soa Eai Ver1 0

WHAT IS A SERVICE?WHAT IS A SERVICE?

Page 4: Soa Eai Ver1 0

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)

Page 5: Soa Eai Ver1 0

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

Page 6: Soa Eai Ver1 0

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

Page 7: Soa Eai Ver1 0

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.

Page 8: Soa Eai Ver1 0

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)

Page 9: Soa Eai Ver1 0

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.

Page 10: Soa Eai Ver1 0

Common Service PatternsCommon Service Patterns

Business Service

Service Interface

Orchestration

Domain Service

Utility Service

Foundation Service

A B

Business Components

Page 11: Soa Eai Ver1 0

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

Page 12: Soa Eai Ver1 0

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

Page 13: Soa Eai Ver1 0

OVERVIEW OF SOA OVERVIEW OF SOA

Page 14: Soa Eai Ver1 0

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

Page 15: Soa Eai Ver1 0

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

Page 16: Soa Eai Ver1 0

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

Page 17: Soa Eai Ver1 0

If you have one last breath use it to say...If you have one last breath use it to say...