Service Oriented Architecture 
(SOA)
Architecture
Architecture Definition in IEEE 
1471 
 Architecture : 
The fundamental organization of a system 
embodied in it’s components, their relationships 
to each other, and to the environment, and the 
principles guiding it’s design and evolution 
 Architect : 
The person, team, or organization responsible for 
designing systems architecture
Software Architecture 
 What is Software Architecture? 
 The software architecture of a program or computing 
system is a depiction of the system that aids in the 
understanding of how the system behave 
 Serves as blueprint for both the system and the project 
developing 
 The primary carrier of system qualities 
 An artifact for early analysis 
 Set of structures needed to reason about the system 
 Documentation of a system
SOA
SOA 
 An architecture style that model system’s information 
into services 
 Old division between business and IT 
 Basic understanding of SOA development as a 
application that describe web services 
 Logical evolution of the software’s modeling 
 Not a new concept
SOA Definition from various 
viewpoints 
SOA is a journey that promises to : 
 reduce the lifetime cost of the 
application portfolio 
 Maximize RIO in both application 
and technology resource 
 Reduce lead times in delivering 
solutions to business
SOA Definition from various 
viewpoints 
SOA is a set of services that can be: 
 Exposed to their customers ,partners 
and other part of organization 
 Business capabilities , function , and 
business logic can be combined 
 Application serve the business
SOA Definition from various 
viewpoints 
SOA is a way of unlocking value
SOA Definition from various 
viewpoints 
 SOA is a means to create dynamic , 
highly configurable and collaborative 
application built for change 
 SOA reduce IT complexity and 
rigidity 
 SOA becomes the solution to stop 
the gradual entropy 
 SOA reduces lead times and costs
SOA Definition from various 
viewpoints 
SOA is the architectural solution for 
integrating diverse systems by 
providing an architectural style that 
promotes loose coupling and reuse
SOA Definition from various 
viewpoints 
 SOA is a programming model or paradigm 
where web services and contracts becomes 
a dominate design for interoperability 
 Use WSDL or equivalent specification 
for describing the service
SOA Definition 
Delivering on the promises of SOA : 
 Improved business agility 
 Maximized ROI 
 Reduce IT complexity and rigidity 
 Reduce costs 
 Reduce lead times 
 Reduce risk 
 New opportunities to deliver value 
 Increased participation in value networks 
 Incremental implementation
Is SOA an Architectural Style?
What Are The Fundamental 
Constructs Of SOA?
What Are The Fundamental 
Constructs Of SOA? 
 The most basic construct or building block of SOA is a 
service 
 Service consumer, service provider, service description, 
service broker, and a registry are all part of the DNA of 
SOA 
 A service in SOA is the logical, self-contained business 
function
What Are The Fundamental 
Constructs Of SOA? 
 Services in SOA have the following attributes: 
 Stateless 
 Discoverable 
 Self-describing 
 Compostable 
 Loose coupling 
 Governed by policy 
 Independent location, language, and protocol
What Are The Fundamental 
Constructs Of SOA? 
 Services in a service-oriented architecture typically 
have the following characteristics: 
 Coarse-grained 
 Asynchronous
What Are The Fundamental 
Constructs Of SOA?
What Are The Fundamental 
Constructs Of SOA?
SOA Terms 
 Service-Orientation 
 Services 
 Service-Models 
 Service Composition 
 Service Inventory 
 Service-Oriented Analysis 
 Service Candidate 
 Service-Oriented Design 
 Service Contract 
 Service-Related Granularity
Service-Orientation 
 design paradigm intended for the creation of solution logic 
units 
 As a design paradigm for distributed computing, service-orientation 
can be compared to object-orientation
Service-Orientation
Services 
 A unit of solution logic to which service-orientation 
has been applied to a meaningful extent. 
 As a physically independent software program with 
specific design characteristics 
 Each service is assigned its own distinct functional 
context and is comprised of a set of capabilities related 
to this context 
 Considered a container of capabilities associated with 
a common purpose
Services 
 Service capabilities declare in service contract
Services 
 Three common service implementation is : 
 Services as Components 
 Services as Web Services 
 Services as REST Services
Services as Component 
 A software program designed to be part of a 
distributed system 
 It provides a technical interface comparable to a 
traditional API 
 have typically relied on platform-specific development 
and runtime technologies
Services as Web Services 
 Is a body of solution logic that provides a physically 
decoupled technical contract consisting of a WSDL 
definition and one or more XML Schema definitions 
and also possible WS-Policy expressions 
 Web service contract exposes public capabilities as 
operations 
 Service-orientation can be applied to the design of 
Web services
Services as Web Services
Services as REST Services 
 Are designed in compliance with the REST 
architectural style 
 Focuses on the resource as the key element of 
abstraction 
 Can be further shaped by the application of service-orientation 
principles
Services Models 
 Is a classification used to indicate that a service 
belongs to one of several predefined types 
 Three service models are common to most enterprise 
environments and therefore common to most SOA 
projects: 
 Task Service 
 Entity Service 
 Utility Service 
 Play an important role during service-oriented 
analysis and service oriented design phases
Services Composition 
 Is an aggregate of services collectively composed to 
automate a particular task or business process 
 To qualify as a composition, at least two participation 
services plus one composition initiator need to be 
present 
 Can be classified into primitive and complex variations
Services Composition
Services Inventory 
 Is an independently standardized and governed 
collection of complementary services within a 
boundary that represents an enterprise or a 
meaningful segment of an enterprise 
 When an organization has multiple service 
inventories, this term is further qualified as domain 
service inventory
Services-Oriented Analysis 
 Represents one of the early stages in an SOA initiative 
and the first phase in the service delivery cycle 
 The service-oriented analysis process is commonly 
carried out iteratively, once for each business process 
 A key success factor of the service-oriented analysis 
process is the hands-on collaboration of both business 
analysts and technology architects
Services-Oriented Analysis
Services Candidate 
 Is used to help distinguish a conceptualized service 
from an actual implemented service
Services-Oriented Design 
 Represents a service delivery lifecycle stage dedicated 
to producing service contracts in support of the well-established 
“contract-first” approach to software 
development 
 The typical starting point for the service-oriented 
design process is a service candidate 
 There is a different service-oriented design process for 
each of the three common service models
Services Contract 
 Is comprised of one or more published documents that 
express meta information about a service 
 The fundamental part of a service contract consists of 
the documents that express its technical interface 
 When services are implemented as Web services, the 
most common service description documents are the 
WSDL definition, XML schema definition, and WS-Policy 
definition
Services Contract
Services Contract
Services Contract
Services-Related Granularity 
 there are different granularity levels as follows: 
 Service Granularity 
 Capability Granularity 
 Constraint Granularity 
 Data Granularity
Services-Related Granularity
What Is The Difference Between a 
Web Service and an SOA Service?
Benefits Of SOA 
 New products or processes simply execute 
 Flexible systems are not obstacle to changing and 
rapid evolution of processes
Benefits Of SOA 
 Solving complex integration problem of large systems
Benefits Of SOA 
 Divided of project into smaller components that can 
be done independent is simply 
 Control of progress in each subproject is calculated
Benefits Of SOA 
 Integration and connecting to other systems is 
dominant approach
Benefits Of SOA 
 Systems easily meet the requirements of users 
 The problem of data transfer between systems is 
solved with integration 
 Complexity of systems hidden from users
Benefits Of SOA 
 Enterprise architects believe that the SOA can help the 
business to response faster and more cost-effective to 
market conditions changing 
 This style of architecture use reusability in macro level 
instead micro level
Orchestration and Choreography 
Without process engine 
Sequence of transaction 
messages register and 
controlled by players 
Have a process engine 
Call set of services to complete 
process 
Maybe call external services 
Sample of this system is 
BPMS
Principles of SOA 
 Loose coupling 
 Service contract to communications agreement 
 Encapsulation of internal implementation 
 Reusability 
 Composability 
 Statelessness Services 
 Discoverability Services 
 Autonomy Services
SOA Tools 
Company Tools Name 
Oracle Oracle SOA Suite 
Microsoft BizTalk Server -WCF 
IBM WebSphere
Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA)

  • 2.
  • 3.
  • 4.
    Architecture Definition inIEEE 1471  Architecture : The fundamental organization of a system embodied in it’s components, their relationships to each other, and to the environment, and the principles guiding it’s design and evolution  Architect : The person, team, or organization responsible for designing systems architecture
  • 5.
    Software Architecture What is Software Architecture?  The software architecture of a program or computing system is a depiction of the system that aids in the understanding of how the system behave  Serves as blueprint for both the system and the project developing  The primary carrier of system qualities  An artifact for early analysis  Set of structures needed to reason about the system  Documentation of a system
  • 6.
  • 7.
    SOA  Anarchitecture style that model system’s information into services  Old division between business and IT  Basic understanding of SOA development as a application that describe web services  Logical evolution of the software’s modeling  Not a new concept
  • 8.
    SOA Definition fromvarious viewpoints SOA is a journey that promises to :  reduce the lifetime cost of the application portfolio  Maximize RIO in both application and technology resource  Reduce lead times in delivering solutions to business
  • 9.
    SOA Definition fromvarious viewpoints SOA is a set of services that can be:  Exposed to their customers ,partners and other part of organization  Business capabilities , function , and business logic can be combined  Application serve the business
  • 10.
    SOA Definition fromvarious viewpoints SOA is a way of unlocking value
  • 11.
    SOA Definition fromvarious viewpoints  SOA is a means to create dynamic , highly configurable and collaborative application built for change  SOA reduce IT complexity and rigidity  SOA becomes the solution to stop the gradual entropy  SOA reduces lead times and costs
  • 12.
    SOA Definition fromvarious viewpoints SOA is the architectural solution for integrating diverse systems by providing an architectural style that promotes loose coupling and reuse
  • 13.
    SOA Definition fromvarious viewpoints  SOA is a programming model or paradigm where web services and contracts becomes a dominate design for interoperability  Use WSDL or equivalent specification for describing the service
  • 14.
    SOA Definition Deliveringon the promises of SOA :  Improved business agility  Maximized ROI  Reduce IT complexity and rigidity  Reduce costs  Reduce lead times  Reduce risk  New opportunities to deliver value  Increased participation in value networks  Incremental implementation
  • 15.
    Is SOA anArchitectural Style?
  • 16.
    What Are TheFundamental Constructs Of SOA?
  • 17.
    What Are TheFundamental Constructs Of SOA?  The most basic construct or building block of SOA is a service  Service consumer, service provider, service description, service broker, and a registry are all part of the DNA of SOA  A service in SOA is the logical, self-contained business function
  • 18.
    What Are TheFundamental Constructs Of SOA?  Services in SOA have the following attributes:  Stateless  Discoverable  Self-describing  Compostable  Loose coupling  Governed by policy  Independent location, language, and protocol
  • 19.
    What Are TheFundamental Constructs Of SOA?  Services in a service-oriented architecture typically have the following characteristics:  Coarse-grained  Asynchronous
  • 20.
    What Are TheFundamental Constructs Of SOA?
  • 21.
    What Are TheFundamental Constructs Of SOA?
  • 22.
    SOA Terms Service-Orientation  Services  Service-Models  Service Composition  Service Inventory  Service-Oriented Analysis  Service Candidate  Service-Oriented Design  Service Contract  Service-Related Granularity
  • 23.
    Service-Orientation  designparadigm intended for the creation of solution logic units  As a design paradigm for distributed computing, service-orientation can be compared to object-orientation
  • 24.
  • 25.
    Services  Aunit of solution logic to which service-orientation has been applied to a meaningful extent.  As a physically independent software program with specific design characteristics  Each service is assigned its own distinct functional context and is comprised of a set of capabilities related to this context  Considered a container of capabilities associated with a common purpose
  • 26.
    Services  Servicecapabilities declare in service contract
  • 27.
    Services  Threecommon service implementation is :  Services as Components  Services as Web Services  Services as REST Services
  • 28.
    Services as Component  A software program designed to be part of a distributed system  It provides a technical interface comparable to a traditional API  have typically relied on platform-specific development and runtime technologies
  • 29.
    Services as WebServices  Is a body of solution logic that provides a physically decoupled technical contract consisting of a WSDL definition and one or more XML Schema definitions and also possible WS-Policy expressions  Web service contract exposes public capabilities as operations  Service-orientation can be applied to the design of Web services
  • 30.
  • 31.
    Services as RESTServices  Are designed in compliance with the REST architectural style  Focuses on the resource as the key element of abstraction  Can be further shaped by the application of service-orientation principles
  • 32.
    Services Models Is a classification used to indicate that a service belongs to one of several predefined types  Three service models are common to most enterprise environments and therefore common to most SOA projects:  Task Service  Entity Service  Utility Service  Play an important role during service-oriented analysis and service oriented design phases
  • 33.
    Services Composition Is an aggregate of services collectively composed to automate a particular task or business process  To qualify as a composition, at least two participation services plus one composition initiator need to be present  Can be classified into primitive and complex variations
  • 34.
  • 35.
    Services Inventory Is an independently standardized and governed collection of complementary services within a boundary that represents an enterprise or a meaningful segment of an enterprise  When an organization has multiple service inventories, this term is further qualified as domain service inventory
  • 36.
    Services-Oriented Analysis Represents one of the early stages in an SOA initiative and the first phase in the service delivery cycle  The service-oriented analysis process is commonly carried out iteratively, once for each business process  A key success factor of the service-oriented analysis process is the hands-on collaboration of both business analysts and technology architects
  • 37.
  • 38.
    Services Candidate Is used to help distinguish a conceptualized service from an actual implemented service
  • 39.
    Services-Oriented Design Represents a service delivery lifecycle stage dedicated to producing service contracts in support of the well-established “contract-first” approach to software development  The typical starting point for the service-oriented design process is a service candidate  There is a different service-oriented design process for each of the three common service models
  • 40.
    Services Contract Is comprised of one or more published documents that express meta information about a service  The fundamental part of a service contract consists of the documents that express its technical interface  When services are implemented as Web services, the most common service description documents are the WSDL definition, XML schema definition, and WS-Policy definition
  • 41.
  • 42.
  • 43.
  • 44.
    Services-Related Granularity there are different granularity levels as follows:  Service Granularity  Capability Granularity  Constraint Granularity  Data Granularity
  • 45.
  • 46.
    What Is TheDifference Between a Web Service and an SOA Service?
  • 47.
    Benefits Of SOA  New products or processes simply execute  Flexible systems are not obstacle to changing and rapid evolution of processes
  • 48.
    Benefits Of SOA  Solving complex integration problem of large systems
  • 49.
    Benefits Of SOA  Divided of project into smaller components that can be done independent is simply  Control of progress in each subproject is calculated
  • 50.
    Benefits Of SOA  Integration and connecting to other systems is dominant approach
  • 51.
    Benefits Of SOA  Systems easily meet the requirements of users  The problem of data transfer between systems is solved with integration  Complexity of systems hidden from users
  • 52.
    Benefits Of SOA  Enterprise architects believe that the SOA can help the business to response faster and more cost-effective to market conditions changing  This style of architecture use reusability in macro level instead micro level
  • 53.
    Orchestration and Choreography Without process engine Sequence of transaction messages register and controlled by players Have a process engine Call set of services to complete process Maybe call external services Sample of this system is BPMS
  • 54.
    Principles of SOA  Loose coupling  Service contract to communications agreement  Encapsulation of internal implementation  Reusability  Composability  Statelessness Services  Discoverability Services  Autonomy Services
  • 55.
    SOA Tools CompanyTools Name Oracle Oracle SOA Suite Microsoft BizTalk Server -WCF IBM WebSphere