0% found this document useful (0 votes)
25 views42 pages

SOA Architecture: Concepts and Trends

The document provides an overview of Service Oriented Architecture (SOA), including its definitions, principles, and trends. It discusses the differences between SOA and traditional architectures, outlines well-known SOA implementations like web services and OSGi, and identifies various research issues in the domain. Key topics include service characteristics, the importance of innovation, and the need for flexible software to adapt to changing business processes.

Uploaded by

Bitno Bitno
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views42 pages

SOA Architecture: Concepts and Trends

The document provides an overview of Service Oriented Architecture (SOA), including its definitions, principles, and trends. It discusses the differences between SOA and traditional architectures, outlines well-known SOA implementations like web services and OSGi, and identifies various research issues in the domain. Key topics include service characteristics, the importance of innovation, and the need for flexible software to adapt to changing business processes.

Uploaded by

Bitno Bitno
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Service Oriented Architecture

Introduction and Research Issues

2008.07.16
In-Gwon Song

ⓒ KAIST SE LAB 2008


Contents

 Introduction
 Understanding service oriented architecture(SOA)
 Definitions
 Trends
 Distinct points of SOA with component based architecture
 Principles
 Well-known SOA
 Web service based SOA
 OSGi
 Research issues
 My research framework

ⓒ KAIST SE LAB 2008 2


Introduction(1/3)

 Service Oriented Architecture(SOA)

Service
Discover Registry Register

Service Service
Requestor Service Provider
exchange
Service communication

Service

Service communication
A system built with SOA

ⓒ KAIST SE LAB 2008 3


Introduction(2/3)

 Service(Thomas Erl, Service Oriented Architecture: Concept, Technology, and Design)


 Unit of logics
• Autonomous
• Not isolated
• Evolving independently
• Commonality
• Standardized

 Service oriented architecture


 Architecture built up with services

People generally use “SOA” as SOA style or SOA


pattern.

ⓒ KAIST SE LAB 2008 4


Introduction(3/3)

 What is differences with prior modular, object-oriented,


and component-based architecture?
 Thomas Erl and other people in Web Service area says
• A service is autonomous
• Services are loosely coupled
– Dynamic coupling
• A service has standardized interfaces
• A service can be discovered

ⓒ KAIST SE LAB 2008 5


Definitions(1/3)

 What is the Service Oriented Architecture?


 Service-Oriented Architecture (SOA) is an architectural style that
supports service orientation
(http://opengroup.org/projects/soa/doc.tpl?gdid=10632)

 What is the Service?


 Service Science area
• Provider/client interaction that creates and captures value
• A change in condition or state of an economic entity (or thing) caused
by another
• Intangible and perishable… created and used simultaneously
• Deed, act, or performance
• All economic activity whose output is not physical product or
construction
(http://www.research.ibm.com/ssme/services.shtml)

ⓒ KAIST SE LAB 2008 6


Definitions(2/3)

 What is the Service?


 Computer Science area
• A mechanism to enable access to one or more capabilities, where the
access is provided using a prescribed interface and is exercised
consistent with constraints and policies as specified by the service
description
(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm)

• A service is an abstract resource that represents a capability of


performing tasks that represents a coherent functionality from the
point of view of provider entities and requester entities.
(http://www.w3.org/TR/ws-arch/#service)

ⓒ KAIST SE LAB 2008 7


Definitions(3/3)

 In my opinion
 Service is some activity between independent two players
• Independent two player: provider and consumer(adopter)
 Service should be loosely coupled
 Service should be autonomous
 Service can be discovered
• Activity: economicLoose
activity, interaction,
coupling and …
 Service should has internal logic
autonomy
 Service should has standardized
differentiate SOAinterfaces
from other arch.?
Separation of interface Dynamic
Internal logic and implementation binding Discoverability
Loose coupling
Standardized
Interact with unknown services Autonomy
interfaces

ⓒ KAIST SE LAB 2008 8


Trends(1/2)

 Emerging of service
 Focus of CEOs, of manufacturing companies, is moved from
reducing costs to earning more benefits
• Selling services, not only products

 Needs of innovation
 Recently, innovation is essential to survive in any industry
• In service industry, service innovation is a key to earn more benefits
 Service innovation should involve innovation of Software
• Service is act, deed, or performance
• Recent service is mostly based on IT systems
– Many services involve some kind of knowledge
• Recent IT systems’ behavior is determined by Software

ⓒ KAIST SE LAB 2008 9


Trends(2/2)

 Needs of flexible software for changing business process


 Business effect for innovation
• Innovation for primitive business logics
– Very limited effect
• Innovation for business process
– Very effective
 Engineering cost with a system with old fashioned architecture
• Innovation for primitive business logics
– Low cost
• Innovation for business process
– High cost

EAI(Enterprise application Layered architecture,


Many SOA
integration) separate Composed service,
also adopt the
business process and Orchestration,
separation
business logics Choreography

ⓒ KAIST SE LAB 2008 10


Distinct points of SOA with component based
architecture
 In my opinion
 Loose couple
• Dynamic binding with service requestor/provider
 Autonomy
 Standardized interfaces
 Separation of composition layer(or service)

ⓒ KAIST SE LAB 2008 11


Principles(1/2)

 Guiding principles for building service oriented architecture


 Reuse
 Granularity
 Modularity
 Composability
 Interoperability
 Compliance to standards (both common and industry-specific)
 Services identification
 Categorization,
 Provisioning
 Delivery
 Monitoring
 Tracking
http://www-128.ibm.com/developerworks/webservices/library/ws-improvesoa/

ⓒ KAIST SE LAB 2008 12


Principles(2/2)

 Architectural principles for designing services


 Encapsulation
 Loose coupling
 Contract
 Abstraction
 Reusability
 Composability
 Autonomy
 Optimization
 Discoverability
(Thomas Erl, Service Oriented Architecture: Concept, Technology, and Design)

ⓒ KAIST SE LAB 2008 13


Well-known SOA(1/2)

 Defining standards
 Code level vs. protocol level

Service Service A Service B


Layer
Code level
Interface
Service Service Service
Container Container Container
Layer
Protocol level
Interface
Communication Communication
Channel layer Channel

ⓒ KAIST SE LAB 2008 14


Well-known SOA(2/2)

 Web service based SOA


 Scope of standard
• Define only communication protocols
– Using standard web service protocols

 Service Component Architecture(SCA)


 Scope of standard
• Code-level interfaces
 OSGi(Open Service Gateway Initiatives) framework
 Providing dynamic module management in embedded system
 Scope of standard
• Code-level interfaces: OSGi API
• Communication protocols: UPnP, Jini, …

ⓒ KAIST SE LAB 2008 15


Web service based SOA(1/9)

 Web service
 Remote procedure call or messaging standard based on XML and
HTTP protocol
• WSDL
• SOAP

 Extensions for supporting SOA


• WS-Coordination
• WS-BPEL (BPEL4WS)
• WS-Security
• WS-AtomicTransaction
• WS-Addressing
• ….
 Those extensions are called as WS-*

ⓒ KAIST SE LAB 2008 16


Web service based SOA(2/9)

 Composition hierarchy
 Message Exchange Pattern(MEP)
 Primitive activity
 Complex activity
• Coordination
– Atomic transaction
– Business activity
 Orchestration
 Choreography

ⓒ KAIST SE LAB 2008 17


Web service based SOA(3/9)

 Primitive activity

UDDI

Discover service Register service


WSDL

Service Service exchange Service


requestor SOAP provider

WSDL
MEP(Message Exchange Pattern)
SOAP skeleton

ⓒ KAIST SE LAB 2008 18


Web service based SOA(4/9)

 Complex service exchange


Simple service exchange
Service C

Service A Service B

Service D

 Activity
 Service exchanges related to one request of client

ⓒ KAIST SE LAB 2008 19


Web service based SOA(5/9)

 Coordination
 For an activity, context information is given by coordinator
 WS-Coordinations

Activity A
Private Order
Log in
information view history view
service
service service

Using
Registering User ID Using
User ID User ID
Coordinator

ⓒ KAIST SE LAB 2008 20


Web service based SOA(6/9)

 Atomic transaction
 Using coordination, DB like transaction can be implemented
 Rollback or commit
 WS-AtomicTransaction
2. Successfully
processed 4. Fail to process
1. 3.
Service A Service B Service C

7. abort 5. abort
6. Rollback
processed matter

ⓒ KAIST SE LAB 2008 21


Web service based SOA(7/9)

 Business activity
 A kind of transaction for long-running, complex service activities
 Instead of rollback/commit, normal flow and alternative flows are
provided
 Building block of business process
 WS-BPEL

Plan A
Let’s try plan A. If Service B
that doesn’t work, Plan B
we’ll try plan B
Service A

Plan A
Service C
Plan B

ⓒ KAIST SE LAB 2008 22


Web service based SOA(8/9)

 Orchestration
 Composition of business activities
 WS-BPEL
• Contain and define business activities
• Define relation between business activities
• Can be drawn with OMG BPML(Business Process Modeling
Language)

An example drawn with BPML(Business Process Modeling Language)


ⓒ KAIST SE LAB 2008 23
Web service based SOA(9/9)

 Choreography
 Inter-organization composition of services
• While the orchestration is composition of services in a organization,
choreography is composition of services between two or more
organizations
• In a organization, many elements can be assumed or easily known

 A kind of contract
• By exchange of choreography description, the scope and
responsibility of providing services for each other are determined

 WS-CDL (Choreography Description Language)

Many researches are working on choreography


because of many constraints and its value

ⓒ KAIST SE LAB 2008 24


OSGi framework(1/3)

 Early OSGi framework


 Proposed as dynamic module(bundle) system for Java
• Install and run on demand
 Considered only for home network
 Current OSGi framework
 SOA standard
• Bundle concept is very similar to the service
– Dynamic binding
– Existence of Registry
 Universal middleware for Java
• Wider participants
– Car maker BMW, Porche, …
– Equinox: plug-in lifecycle management in eclipse
– OSGi on server side

ⓒ KAIST SE LAB 2008 25


OSGi framework(2/3)

 Architecture

(from 월간 마이크로소프트 7월호)

ⓒ KAIST SE LAB 2008 26


OSGi framework(3/3)

 Bundles life cycle


If there is no bundle
for requested service

Request Bundle
a service retrieval

Bundle
otherwise Bundle
repository
install

User Provide Bundle


the service activation

Device or computer of user

ⓒ KAIST SE LAB 2008 27


Research issues: overview of SOA domains(1/3)

 SOA domains

Domain Area Context Business Driver Problem space

Service Strategy Planning space

Engineering Business Operation


Cross-Cutting Concerns: Enabling Factors, Solution space
Governance, Adoption, Monitoring, Stakeholder
Management, Education, Legal, Social

Kostas Kontogiannis et al., The Landscape of Service-Oriented Systems: A Research Perspectives,


International Workshop on Systems Development in SOA Environments(SDSOA)

ⓒ KAIST SE LAB 2008 28


Research issues: overview of SOA domains(2/3)

 Problem space
 Indentifying domain area, context, and business driver
 Elaborate business process

 Planning space
 Establishing service strategy
• Determined with consideration for engineering, business and
operation factor
 Dealt in service science area

 Solution space
 Providing solutions satisfying the service strategy
 Should be dealt in Software Engineering area

ⓒ KAIST SE LAB 2008 29


Research issues: overview of SOA domains(3/3)

 Kostas Kontogiannis et al., The Landscape of Service-


Oriented Systems: A Research Perspectives,
International Workshop on Systems Development in SOA Environments(SDSOA)
 Classification of SOA domain
• Business domain
• Engineering domain
• Operation domain
• Cross cutting concerns
 23 detailed theme
 84 issues

In rest of this presentation,


several interesting issues will be covered, selectively

ⓒ KAIST SE LAB 2008 30


Research issues: business domain(1/3)

 Mapping between business process and services


 Similar to finding components in component based development

Use case Business process


Analysis modeling

Business process
Use cases
model

Finding Mapping
Components Services
components

Composition Composition

Component based development SOA

ⓒ KAIST SE LAB 2008 31


Research issues: business domain(2/3)

 Mapping between business process and services


 Distinct points
• Business process model vs. use case
• Standardized dictionary of services
– UDDI

 Issues in detail
• Service identification from business process model
• Methods for service evaluation, evaluate how well a given service fits
the business process model
• Service adaptation
– Changes of business process
– Addition of adaptation layer

ⓒ KAIST SE LAB 2008 32


Research issues: business domain(3/3)

 Management
 Distinct points w.r.t. management in component based
development
• Paid for service, not for software
• Traceability between business needs and service

 Issues in detail
• Investigation of models for contract pricing and negotiation
• Investigation of the relation between IT metrics and business metrics
• Methods, models and representations for assessing the effectiveness
of services

ⓒ KAIST SE LAB 2008 33


Research issues: operations domain

 Monitoring
 Distinct points
• Services are dynamically bound
• Loose couple
 Issues in detail
• Techniques for resource allocation and configuration management in
an SOA environment
– In most SOA system, deployment of services is hidden from client
» Automatic resource allocation is needed
» Configuration management is also needed
• Techniques and methods for self-healing feature

ⓒ KAIST SE LAB 2008 34


Research issues: engineering domains(1/3)

 Service selection
 Distinct points
• Selection criteria is relatively limited
– Reliability
– Performance
– Risk
 Detailed issues
• Identifying selection criteria for specific domain
• Service evaluation technique

ⓒ KAIST SE LAB 2008 35


Research issues: engineering domains(2/3)

 Service definition
 Distinct points
• Dynamic binding
• Standardized registry - UDDI
 Detailed issues
• Models for the syntactic and semantic description
– Standard for ontology notation

 Architecture and design


 Detailed issues
• Design for run-time semantic-based discovery and composition
• Relationship between product lines and service oriented systems
• Design for personalization, context awareness and adaptation
• Communication and connectors – synchronous, asynchronous

ⓒ KAIST SE LAB 2008 36


Research issues: engineering domains(3/3)

 Implementation
 Issues in detail
• Model-driven approaches
– From BPEL, service-composition services are generated
• Transactional support, exception handling and compensation

 Deployment
 Important for OSGi framework-like SOA
 Issues in detail
• Techniques for multi-platform support
• Techniques for context and location awareness support

ⓒ KAIST SE LAB 2008 37


Research issues: other

 General mechanism for supporting BPEL


 BPEL is mapped to service only for Web service
 SOA for embedded systems, like OSGi framework, also need to
reflect business process model

 Techniques or method for elaboration of BPEL


 Business process model is not enough to make BPEL

 Supporting various MEP(Message Exchange Pattern)


 Analysis techniques
 Consideration of MEP on selecting services

ⓒ KAIST SE LAB 2008 38


My research framework: overview

Scenario elicitation

Finding adequate
services
Obtaining
Adaptation to
optimal
Until optimal
scenarios Elicitation of scenario
services
services found Estimation new specification for
development cost new development

Deriving scenarios
specification for
new developments

Deriving
Newly developed Found
composition Deriving
services services
specification
composition specification
from scenario specification
Composition

ⓒ KAIST SE LAB 2008 39


My research framework: elicitation of scenario
specification for new development
Specifying Scenarios Assume all message exchange as synchronous

Implied scenario
detection/removal

Partitioning scenario Until appropriate cost


entities into services
UDDI WS-Policy Deriving scenarios
Finding appropriate specification for
Ontology services WS-Metadata new development

Inserting Substituting entities Substituting Derived scenarios


Derived service
coordination to services for messages for new
level scenarios
entities services found w.r.t. MEP development

Implied scenario
detection/removal

Deriving scenarios
for parts which would
be newly developed

New development
cost estimation MEP: Message Exchange Pattern

ⓒ KAIST SE LAB 2008 40


My research framework: deriving composition
specification from scenario specification

Derived scenarios
Derived service
for new
level scenarios
development

Development Deriving
composition Foster’s work
specification
Testing

Newly developed
WS-BPEL WS-CDL
services

Found services

Services of our
Orchestration
company

Services of
Choreography
other company

ⓒ KAIST SE LAB 2008 41


Summary

 Distinct points of SOA


 Loose couple
• Dynamic binding
• Discoverability
 Autonomy
 Standardized interfaces
 Separation of composition layer(or service)

 Research issues
 Very immature area
 Needs for adaptation of prior approaches
 Needs for consideration of service science

ⓒ KAIST SE LAB 2008 42

You might also like