SlideShare a Scribd company logo
Service Oriented Architecture
Dr.S.Swamynathan
Department of Information Science and Technology
College of Engineering Guindy Campus
Anna University
Chennai, INDIA
Email: swamyns@annauniv.edu
Overview of the syllabus
 SOA characteristics
 Principles of service orientation
 Web service and its role in SOA
 Service oriented analysis
 Service oriented design
 SOA platforms
 SOA support in J2EE and .NET
 SOA standards
 Service composition (BPEL)
 Security in SOA
Prerequisite for understanding SOA
Basic knowledge of object orientation
Understanding of web technologies
Basics of java programming
Basics of internet programming
Software Paradigms
Overview of the content
Current trends
Software paradigms
Application architecture
Web based systems
2-tier and 3-tier architecture
Web based technologies
 component based systems
Current trends …
 Internet based solution
 Complexity of the software
 Growth in hardware mobile and other smart
devices
 Demand for novel / customized services
Software paradigms…
 Procedure oriented
 Object-oriented
 Component based
 Event-driven
 Logic based
 Aspect-oriented
 Service oriented
The monolithic mainframe application
architecture
 Separate, single-function applications, such
as order-entry or billing
 Applications cannot share data or other
resources
 Developers must create multiple instances of
the same functionality (service).
 Proprietary (user) interfaces
The distributed application
architecture
 Integrated applications
 Applications can share resources
 A single instance of functionality (service) can
be reused.
 Common user interfaces
 Bottom-up approach
 Real world scenario
Web based systems …
 Client-server model
 Client side technologies
 Server side technologies
 Web client, Web servers
 Application servers
Basic idea of Tiers
Thick
client
Databas
e server
Tier 1: GUI
interactions with the
user and basic
validations
Request
Response
Tier 3: Database
processing
Web
server
Tier 2: Application logic,
Transaction
Management, Calls to
the database server
Applicati
on server
2-tier architecture
Database
Driver
Database
Tier Boundary
Business
Logic
Business
Logic
Business
Logic
Presentation
Logic
Data Layer
Presentation / Business Layer
Two tier architecture
• Deployment costs are high
• Database driver switching costs are high
• Business logic migration costs are high
• The client have to recompile if the BL is changed
• Network performance suffers
N-Tier architecture
Database
Business
Logic
Database
Driver
Business
Logic
Business
Logic
Presentation
Logic
Data Layer
Tier Boundary
Tier Boundary
N-Tier architecture
• Deployment costs are low
• Database switching costs are low
• Business migration costs are low
• A firewall can secure parts of the
deployment
• Each tier can vary independently
• Communication performance suffers
• Maintenance costs are high
Presentation tier technologies
At client or server? Property Microsoft Technology Sun Technology
Client HTTP (Web) based HTML browser
(Internet Explorer)
HTML browser
(Netscape Navigator)
ActiveX Controls Java Applets
Non-HTTP based COM clients CORBA clients
Communication
Protocol between
client and server
DCOM RMI, IIOP
Server For creating dynamic
Web pages
ISAPI, ASP NSAPI, Servlets, JSP
Other pages HTML, XML HTML, XML
Business tier technologies
Purpose Microsoft Technology Sun Technology
Transaction handing,
Business Objects
COM, MTS EJB (Session Beans)
Queuing and Messaging MSMQ IBM’s MQSeries, Java
Messaging Service (JMS)
Database access ADO, OLE, ODBC JDBC, J/SQL (via Entity
Beans)
Microsoft Web Technologies
HTML
Browser
HTML
Browser
ASP ISAPI
HTML/XML pages
Firewall
COM
Client
ActiveX
Control
DCOM DCOM
DCOM
MTS Transactional
Components
MSMQ Queuing
Services
ADO/OLE/ODBC
Database Access
Database Database
Database Tier
Presentation Tier
Business Tier
Sun’s Web Technologies
HTML
Browser
HTML
Browser
Servlet JSP
HTML/XML pages
Firewall
CORBA
Client
Java
Applet
RMI/IIOP
RMI/IIOP
EJB Session Beans
MQSeries/Java Messaging
Service (JMS)
JDBC / SQL/J
Database Database
Database Tier
Presentation Tier
Business Tier
RMI/IIOP
EJB Entity Beans
Component World – Definition
A component is a nontrivial, nearly independent, and
replaceable part of a system that fulfills a clear
function in the context of a well-defined architecture.
A component conforms to and provides the physical
realization of a set of interfaces.
A runtime software component is a dynamically
bindable package of one or more programs
managed as a unit and accessed through
documented interfaces that can be discovered at
runtime.
Component World – Definition
A software component is a unit of composition with
contractually specified interfaces and explicit
context dependencies only. A software component
can be deployed independently and is subject to
third-party composition.
4.
A business component represents the software
implementation of an “autonomous” business
concept or business process. It consists of the
software artifacts necessary to express, implement,
and deploy the concept as a reusable element of a
larger business system.
Component World …
 Justification for component
 Interface
 Implementation
 Reusability
 standards
Component World …
 Justification for component
 Interface
 Implementation
 Reusability
 standards
Component World – A Holistic view
Component
Language
Platform
Interface
Granularity
Domain
Component
Application Integration Environment
Composition/Integration Tools
Component Repository
Component Contract/Metadata
Runtime Environment
Interconnecting Technology
Resource Management
Component Environment
A component is tightly coupled to its native
environment.
Component Environment
Component World – Major steps
Aspect Phase Actor
Interface Definition Designer
Assembly Assembly Architect
Implementation Implementation Developer
Lifecycle Packaging,
Deployment
Administrator
Framework,
run-time support
Execution End User
Component World …
Iteractions with
traditional software
entities
Interactions
with
other
components
Interactions with
component
infrastructure
Components
Traditional
software
entities
Component
Infrastructure
Interactions
with
other
components
Eject
Skip
- Volume +
- Bass +
Actual
implementation
in terms of
voltages,
signals, currents
etc.
External
world (a user
of the audio
system)
Interface Implementation
Interface and Implementation
Technologies for implementing
components
 RMI / EJB
 CORBA
 COM, DCOM, COM+
 Limitations
 Web services (XML based standards)
Basic model of distributed system
Service
Registry
Service
Requestor
Service
provider
find
Bind
Publish
An Archetypal Distributed Objects System
object client object server
client
proxy
server
proxy
runtime
support
network
support
network
support
physical data path
logical data path
object
registry
runtime
support
Distributed Object Systems / Protocols
• The distributed object paradigm has been widely
adopted in distributed applications, for which a
large number of mechanisms based on the
paradigm are available. Among the most well
known of such mechanisms are:
~ Java Remote Method Invocation (RMI),
~ the Common Object Request Broker Architecture
(CORBA) systems,
~ the Distributed Component Object Model
(DCOM),
~ mechanisms that support the Simple Object
Access Protocol (SOAP).
RMI architecture
Client
Browse
r
Web
server
HTML
Java applets
Stub
Applicatio
n server
Skeleton
Object
Implementatio
n
HTML
pages
JRMP / IIOP
HTTP
Applets
CORBA architecture
Client
Brows
er
Web
server
HTML
Java applets
Client
ORB
Application
server
Server
ORB
Object
Implementation
HTML
pages
IIOP
HTTP
Applets
DCOM architecture
Client
Browse
r
Web
server
HTML
ActiveX
Controls
Proxy
Applicatio
n server
Stub
Object
Implementation
HTML
pages
DCOM
HTTP
ActiveX
Limitations of Components
Tightly coupled
Cross language/ platform issues
Interoperability issues
Maintenance and management
Security issues
Application Centric
Application
Application
Finance
Distribution
Manufacturing
Supply
Narrow Consumers
Limited Business Processes
Overlapped resources
Overlapped providers
Business
scope
Application
Integration
Architecture
Business functionality is duplicated in
each application that requires it.
EAI ‘leverage’ application silos
with the drawback of data and
function redundancy.
bound to EAI
vendor
Redundancy
Goal - Service Centric
What are services?
 A service is
Autonomous unit of automated business
logic
Accessible to other systems
 A service represents
Business process
Sub process
Activity (process step)
(or multiple)
What is Service Architecture?
• A collection of
services
• classified into types
• arranged into layers
• Governed by architectural
patterns and policies
services
type type
type
source:TietoEnator AB, Kurts
Bilder
SOA is a software architecture model
in which business functionality are logically grouped and
encapsulated into self contained,distinct and reusable
units called services that
represent a high level business concept
can be distributed over a network
can be reused to create new business applications
contain contract with specification of the purpose,
functionality, interfaces (coarse grained), constraints,
usage
SOA Defined
SOA is a software architecture model
in which business functionality are logically grouped and
encapsulated into self contained,distinct and reusable
units called services that
represent a high level business concept
can be distributed over a network
can be reused to create new business applications
contain contract with specification of the purpose, functionality,
interfaces (coarse grained), constraints, usage
SOA Defined
Services are autonomous, discrete and reusable units of
business functionality exposing its capabilities in a form of
contracts. Services can be independently evolved,
moved, scaled even in runtime.
Big (outer) vs. Little (inner) SOA
Service Relationships
GUI Applications
Student
This is not a use case
Goals Business
Processes
Services
Business
Applications
uses
has
help users
achieve
participates
in
invokes
supported
by
are realized
by (partially)
exposes
orchestrate / are composed of
Why SOA?
 Heterogeneous cross-platform
 Reusability at the macro (service) level rather
than micro(object) level
 Interconnection to - and usage of - existing IT
(legacy) assets
 Granularity, modularity, composability,
componentization
 Compliance with industry standards
SOA is an evolutionary step
 for architecture
SOA is an evolutionary step
in reusability and communication
SOA is an evolutionary step
Project-ware SOA
EAI
in distributed communications
source:Sam Gentile
Features of SOA
 Self- describing Interface (WSDL)
 Message communication via formally defined
XML
 Services are maintained in a registry
 Each service has a Quality Of Service
 Applications adapt to changing technologies
 Easy integration of applications with other
systems
 Leverage existing investments in legacy
applications
Service Architecture Composition
 Service architectures are composed of
Services
• Units of processing logic
• Example: Credit card Service
Messages
• Units of communications between services
• Needed for services to do their job
Operations
• Units of Work
• Example: Determine Cost of Attendance
Processes
• Composed / orchestrated groups of services
• Example: Financial Aid Disbursement
SOA principles
 Service Encapsulation
 Service Loose coupling
 Service Contract
 Service abstraction
 Service Documentation
 Service reusability
 Service composability
 Service autonomy
 Service optimization and Discovery
 Service statelessness
Encapsulation
Loose Coupling
“Service contracts impose low consumer coupling
requirements and are themselves decoupled from their
surrounding environment."
Create specific types of relationships within and outside
of service boundaries with a constant emphasis on
reducing (“loosening”) dependencies
between
Service contract
Service implementation
Service consumers
Source: Thomas Erl
Standardized Service Contracts
 “Services within the same service inventory are in
compliance with the same contract design standards."
 Services use service contract to
Express their purpose
Express their capabilities
 Use formal, standardized service contracts
 Focus on the areas of
Functional expression
Data representation
Policy
Source: Thomas Erl
Abstraction
 “Service contracts only contain essential
information and information about services is
limited to what is published in service contracts”
 Avoid the proliferation of unnecessary service
information, meta-data.
 Hide as much of the underlying details of a
service as possible.
Enables and preserves the loosely coupled
relationships
Plays a significant role in the positioning and
design of service compositions Source: Thomas Erl
Documentation
Reusability
 “Services contain and express agnostic logic and
can be positioned as reusable enterprise
resources."
 Reusable services have the
following characteristics:
Defined by an agnostic functional context
Logic is highly generic
Has a generic and extensible contract
Can be accessed concurrently
Source: Thomas Erl
Composability
 "Services are effective
composition
participants,
regardless of the size
and complexity of the
composition."
 Ensures services are
able to participate in
multiple compositions
to solve multiple larger
problems
Source: Thomas Erl
Autonomy
 "Services exercise a high level of control over
their underlying runtime execution environment."
 Represents the ability of a service to carry out its
logic independently of outside influences
 To achieve this, services must be more isolated
 Primary benefits
Increased reliability
Behavioral predictability
Source: Thomas Erl
Discoverability
 "Services are supplemented with communicative
meta data by which they can be effectively
discovered and interpreted."
 Service contracts contain appropriate meta data for
discovery which also communicates purpose and
capabilities to humans
 Store meta data in a
service registry or profile
documents
Source: Thomas Erl
Statelessness
 "Services minimize resource consumption by
deferring the management of state information
when necessary."
 Incorporate state management deferral
extensions within a service design
 Goals
Increase service scalability
Support design of agnostic
logic and improve service reuse Source: Thomas Erl
Applying SOA - Governance
Goal: Establish SOA organization governance (SOA
Board) that governs SOA efforts and breaks down
capabilities into non-overlapping services
 Governance is a program that makes sure people
do what is ‘right’
 In conjunction with software, governance controls
the development and operation of software
Applying SOA - Governance
Policies
Codification of laws, regulations, corporate
guidelines and best practices
Must address all stages of the service lifecycle
(technology selection, design, development
practices, configuration management, release
management, runtime management, etc.)
Applying SOA - Governance
Processes
Enforce policies
System-driven processes (code check-in, code
builds, unit tests)
Human-driven process (requests, design
reviews, code reviews, threat assessment, test
case review, release engineering, service
registration, etc.)
Applying SOA - Governance
Metrics
Measurements of service reuse, compliancy
with policy, etc.
Organization
Governance program should be run by SOA
Board, which should have cross-functional
representatives
Business
services
view
Business service
model
Service
Designers
Foundation
Service Blocks
Core APIs
G
eo
M
edia
Terra
Share
G
/
T
e
c
h
I/C
A
DI
/
.
.
In
Service Other
Service specification
model
Enterprise
Architects
SOA
Board
P
a
t
t
e
r
n
s
M
o
d
e
l
s
S
t
a
n
d
a
r
d
s
P
o
l
i
c
y
Service implementation
and deployment
model
Software and IT
Architects
Business
Capabilities
technical view
Applying SOA –
Governance
Business functionality has to be made available as services.
Service contracts must be fixed
Implemented services must be designed with reuse in mind.
This creates some overhead.
Potential service users must be involved in the design
process and will have influence on the service design
Applying SOA - Challenges
 Service Orientation
 Reuse
 Sharing of Responsibilities
 Increased complexity!
(Source: Enterprise SOA: Service Oriented Architecture Best Practices
by Dirk Krafzig, Karl Banke, and Dirk Slama, Prentice Hall 2004)
Applying SOA – Renovation
Roadmap
Service Oriented Architecture model
Before SOA – After SOA
source:IBM
Why SOA?
To enable Flexible, Federated Business Processes
Enabling a virtual federation of
participants to collaborate in an
end-to-end business process
Enabling alternative
implementations
Enabling reuse of
Services
Enabling virtualization of business resources Enabling aggregation from multiple
providers
Identification
Ticket Sales
Ticket Collection
Inventory
Logistics
Manufacturing
Availability
Service
Service
Service
Service
Service
Service
Service
Service Service
Service
Ordering
source:TietoEnator AB, Kurts
Bilder
Why SOA? To enable Business Process Optimization
and the Real Time Enterprise (RTE)
Seamless End to End Process
Internal Systems
SOA Pattern: Standardized Service
provided by multiple suppliers
Service from Multiple Suppliers
SOA Patterns: Single, Multi-Channel
Service for consistency
BPM Expressed in
terms of Services
Provided/Consumed
Enterprise
source:TietoEnator AB, Kurts
Bilder
Smart Clients
Stores POS
Mobile
3rd Party Agents
Portal
Service to Customers
Why SOA?
Enable Structural Improvement
ERP X Process Z Partner A Process Y
Service
Standardizing capabilities Information Consistency
Policy Consistency
e.g. Single Customer
Details Service
Consolidation/
Selection
process
Reducing impact
of change
Encapsulating
implementation
complexity
ERP Z
CRM
System 2
CRM
System 1
Product
System
Policy Rationalization and Evolution
Resource Virtualization
e.g. Multiple
Sources of
Customer Details
Service Architecture Organized by Layers
Reasons for Layering
1. Flexible composition.
2. Reuse.
3. Functional standardization in
lower levels
4. Customization in higher
layers
5. Separation of Concerns.
6. Policies may vary by Layer
Example Layers
Presentation
& workflow
Composed Services
Basic Services
Underlying
API
according to:TietoEnator AB,
Kurts Bilder
Different layers of SOA
Service Composition Example
Aid
Disbursement
Process
FA
Award
Service
Registration
Service
Loan
Service
Bursar
Service
FA System
Microsoft .NET
Registrar System
Mainframe
Dept of Ed
???
Bursar
Java on Linux
Aid Disburse
Service
Is Realized By
Are Executed In / Controlled By
Orchestrates
account info
Debit Account
Service
Interface
Layer
App
Logic
Not
Physical
Applying services to the problem
Monolithic
Before
The System
After
S1 S2 S4
S3
System replacement is a total process
System modules are tightly interdependent
making change difficult
System composed of many logical service
units (decomposition)
Underlying business logic decoupled as
much as possible from other services
(autonomy and loose coupling)
Goal of SOA
 Loosely coupled
 The goal for a SOA is a world wide mesh of
collaborating services, which are published
and available for invocation on the Service
Bus.
 SOA is not just an architecture of services
seen from a technology perspective, but the
policies, practices, and frameworks by which
we ensure the right services are provided and
consumed.
Major service types
Basic Services:
Data-centric and logic-centric services
Encapsulate data behavior and data model and
ensures data consistency (only on one
backend).
Basic services are stateless services with high
degree of reusability.
Represent fundamental SOA maturity level and
usually are build on top existing legacy API
(underlying services.
Major service types
Composed Services :
expose harmonized access to inconsistent basic
services technology (gateways, adapters, façades,
and functionality-adding services).
Encapsulate business specific workflows or
orchestrated services.
Service Types
Foundation
Service Blocks
Core APIs
G
eo
M
edia
Terra
Share
G
/
T
e
c
h
I/C
A
DI
/
.
.
In
Servic ther
S
e
r
v
i
c
e
I
n
f
r
a
s
t
r
u
c
t
u
r
e
B
a
s
i
c
S
e
r
v
i
c
e
s
C
o
m
p
o
s
i
t
e
S
e
r
v
i
c
e
s
Smart Client
P
o
r
t
a
l
SOA Management & Security
service mediation, routing, trust
enablement. ESB, Service Registry
Multi channel applications: Mobile,
Smart, Thin, Thick clients, Portals.
Business centric services,
orchestrated workflows.
Intermediate services (gateways,
facades )
Data centric and logic
centric consistent services.
Highly reusable, stateless
servers
Business
Capabilities
SOA Benefits Summary
 Allow us to execute complex business
processes by composing systems from small,
less complex building blocks
 Fosters collaborative business and technical
environment through sharing and coordination
of services
 Create outward facing self-service applications
not constrained by organizational boundaries
 Enables creating adaptive, agile systems that
are resilient to changes in the business
environment
Conclusions
 SOA represents a fundamental change to the
way information systems will designed in the
future
 Long term impact on IT portfolio management
is dramatic
 Adds a significant dimension to system
evaluation process
 Undertaking SOA requires commitment from
all levels of the organization and significant
investments (people, process, and tools)
Conclusion and Summary
 If done correct, SOA is “not just another
architectural fad”
 SOA seeks to bridge the gap between business
and technology promoting business agility (its all
about managing change)
 SOA
Is complex
Requires governance
Requires executive management buy-in
Requires commitment with resources
References
 Coyle, “XML, Web Servcies and Data
Revolution”, Pearson Education, 2002.
 Chatterjee and Webber, “Developing
Enterprise Web Services – An Architect’s
Guide”, Pearson Education, 2004.
 Liu, “Distributed Computing – Principles and
Applications”, Pearson Education, 2004.
 http://www.microsoft.comarchitecture/soa
 http://www.ibm.com/soa
 http://www.sun.com/products/soa
Questions ?
Thank You.

More Related Content

Similar to soa1.ppt

Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System i
LANSA
 
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
Brian O'Gorman
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
Jaime Cid
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architectureAmit rai Raaz
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
Kasun Indrasiri
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
Deepak Bhagat
 
Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...
Brian Petrini
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
mfrancis
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLJorgen Thelin
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
Pankaj Saharan
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
Sreeni Pamidala
 
Primavera integration possibilities technical overview ppt
Primavera integration possibilities   technical overview pptPrimavera integration possibilities   technical overview ppt
Primavera integration possibilities technical overview pptp6academy
 
Pattern-Oriented Distributed Software Architectures
Pattern-Oriented Distributed Software Architectures Pattern-Oriented Distributed Software Architectures
Pattern-Oriented Distributed Software Architectures David Freitas
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDESbputhal
 
Sudhir srivastava profile
Sudhir srivastava profileSudhir srivastava profile
Sudhir srivastava profile
Sudhir Srivastava
 

Similar to soa1.ppt (20)

Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System i
 
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
C++ N Pv2
C++ N Pv2C++ N Pv2
C++ N Pv2
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
 
Sindhumathi Vellaidurai
Sindhumathi VellaiduraiSindhumathi Vellaidurai
Sindhumathi Vellaidurai
 
Enterprise Deployments & SOA
Enterprise Deployments & SOAEnterprise Deployments & SOA
Enterprise Deployments & SOA
 
Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Primavera integration possibilities technical overview ppt
Primavera integration possibilities   technical overview pptPrimavera integration possibilities   technical overview ppt
Primavera integration possibilities technical overview ppt
 
Pattern-Oriented Distributed Software Architectures
Pattern-Oriented Distributed Software Architectures Pattern-Oriented Distributed Software Architectures
Pattern-Oriented Distributed Software Architectures
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
 
Sudhir srivastava profile
Sudhir srivastava profileSudhir srivastava profile
Sudhir srivastava profile
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 

Recently uploaded

H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 

Recently uploaded (20)

H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 

soa1.ppt

  • 1. Service Oriented Architecture Dr.S.Swamynathan Department of Information Science and Technology College of Engineering Guindy Campus Anna University Chennai, INDIA Email: swamyns@annauniv.edu
  • 2. Overview of the syllabus  SOA characteristics  Principles of service orientation  Web service and its role in SOA  Service oriented analysis  Service oriented design  SOA platforms  SOA support in J2EE and .NET  SOA standards  Service composition (BPEL)  Security in SOA
  • 3. Prerequisite for understanding SOA Basic knowledge of object orientation Understanding of web technologies Basics of java programming Basics of internet programming Software Paradigms
  • 4. Overview of the content Current trends Software paradigms Application architecture Web based systems 2-tier and 3-tier architecture Web based technologies  component based systems
  • 5. Current trends …  Internet based solution  Complexity of the software  Growth in hardware mobile and other smart devices  Demand for novel / customized services
  • 6. Software paradigms…  Procedure oriented  Object-oriented  Component based  Event-driven  Logic based  Aspect-oriented  Service oriented
  • 7. The monolithic mainframe application architecture  Separate, single-function applications, such as order-entry or billing  Applications cannot share data or other resources  Developers must create multiple instances of the same functionality (service).  Proprietary (user) interfaces
  • 8. The distributed application architecture  Integrated applications  Applications can share resources  A single instance of functionality (service) can be reused.  Common user interfaces  Bottom-up approach  Real world scenario
  • 9. Web based systems …  Client-server model  Client side technologies  Server side technologies  Web client, Web servers  Application servers
  • 10. Basic idea of Tiers Thick client Databas e server Tier 1: GUI interactions with the user and basic validations Request Response Tier 3: Database processing Web server Tier 2: Application logic, Transaction Management, Calls to the database server Applicati on server
  • 12. Two tier architecture • Deployment costs are high • Database driver switching costs are high • Business logic migration costs are high • The client have to recompile if the BL is changed • Network performance suffers
  • 14. N-Tier architecture • Deployment costs are low • Database switching costs are low • Business migration costs are low • A firewall can secure parts of the deployment • Each tier can vary independently • Communication performance suffers • Maintenance costs are high
  • 15. Presentation tier technologies At client or server? Property Microsoft Technology Sun Technology Client HTTP (Web) based HTML browser (Internet Explorer) HTML browser (Netscape Navigator) ActiveX Controls Java Applets Non-HTTP based COM clients CORBA clients Communication Protocol between client and server DCOM RMI, IIOP Server For creating dynamic Web pages ISAPI, ASP NSAPI, Servlets, JSP Other pages HTML, XML HTML, XML
  • 16. Business tier technologies Purpose Microsoft Technology Sun Technology Transaction handing, Business Objects COM, MTS EJB (Session Beans) Queuing and Messaging MSMQ IBM’s MQSeries, Java Messaging Service (JMS) Database access ADO, OLE, ODBC JDBC, J/SQL (via Entity Beans)
  • 17. Microsoft Web Technologies HTML Browser HTML Browser ASP ISAPI HTML/XML pages Firewall COM Client ActiveX Control DCOM DCOM DCOM MTS Transactional Components MSMQ Queuing Services ADO/OLE/ODBC Database Access Database Database Database Tier Presentation Tier Business Tier
  • 18. Sun’s Web Technologies HTML Browser HTML Browser Servlet JSP HTML/XML pages Firewall CORBA Client Java Applet RMI/IIOP RMI/IIOP EJB Session Beans MQSeries/Java Messaging Service (JMS) JDBC / SQL/J Database Database Database Tier Presentation Tier Business Tier RMI/IIOP EJB Entity Beans
  • 19. Component World – Definition A component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces. A runtime software component is a dynamically bindable package of one or more programs managed as a unit and accessed through documented interfaces that can be discovered at runtime.
  • 20. Component World – Definition A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to third-party composition. 4. A business component represents the software implementation of an “autonomous” business concept or business process. It consists of the software artifacts necessary to express, implement, and deploy the concept as a reusable element of a larger business system.
  • 21. Component World …  Justification for component  Interface  Implementation  Reusability  standards
  • 22. Component World …  Justification for component  Interface  Implementation  Reusability  standards
  • 23. Component World – A Holistic view Component Language Platform Interface Granularity Domain Component Application Integration Environment Composition/Integration Tools Component Repository Component Contract/Metadata Runtime Environment Interconnecting Technology Resource Management
  • 24. Component Environment A component is tightly coupled to its native environment. Component Environment
  • 25. Component World – Major steps Aspect Phase Actor Interface Definition Designer Assembly Assembly Architect Implementation Implementation Developer Lifecycle Packaging, Deployment Administrator Framework, run-time support Execution End User
  • 26. Component World … Iteractions with traditional software entities Interactions with other components Interactions with component infrastructure Components Traditional software entities Component Infrastructure Interactions with other components
  • 27. Eject Skip - Volume + - Bass + Actual implementation in terms of voltages, signals, currents etc. External world (a user of the audio system) Interface Implementation Interface and Implementation
  • 28. Technologies for implementing components  RMI / EJB  CORBA  COM, DCOM, COM+  Limitations  Web services (XML based standards)
  • 29. Basic model of distributed system Service Registry Service Requestor Service provider find Bind Publish
  • 30. An Archetypal Distributed Objects System object client object server client proxy server proxy runtime support network support network support physical data path logical data path object registry runtime support
  • 31. Distributed Object Systems / Protocols • The distributed object paradigm has been widely adopted in distributed applications, for which a large number of mechanisms based on the paradigm are available. Among the most well known of such mechanisms are: ~ Java Remote Method Invocation (RMI), ~ the Common Object Request Broker Architecture (CORBA) systems, ~ the Distributed Component Object Model (DCOM), ~ mechanisms that support the Simple Object Access Protocol (SOAP).
  • 32. RMI architecture Client Browse r Web server HTML Java applets Stub Applicatio n server Skeleton Object Implementatio n HTML pages JRMP / IIOP HTTP Applets
  • 35. Limitations of Components Tightly coupled Cross language/ platform issues Interoperability issues Maintenance and management Security issues
  • 36. Application Centric Application Application Finance Distribution Manufacturing Supply Narrow Consumers Limited Business Processes Overlapped resources Overlapped providers Business scope Application Integration Architecture Business functionality is duplicated in each application that requires it. EAI ‘leverage’ application silos with the drawback of data and function redundancy. bound to EAI vendor Redundancy
  • 37. Goal - Service Centric
  • 38. What are services?  A service is Autonomous unit of automated business logic Accessible to other systems  A service represents Business process Sub process Activity (process step) (or multiple)
  • 39. What is Service Architecture? • A collection of services • classified into types • arranged into layers • Governed by architectural patterns and policies services type type type source:TietoEnator AB, Kurts Bilder
  • 40. SOA is a software architecture model in which business functionality are logically grouped and encapsulated into self contained,distinct and reusable units called services that represent a high level business concept can be distributed over a network can be reused to create new business applications contain contract with specification of the purpose, functionality, interfaces (coarse grained), constraints, usage SOA Defined
  • 41. SOA is a software architecture model in which business functionality are logically grouped and encapsulated into self contained,distinct and reusable units called services that represent a high level business concept can be distributed over a network can be reused to create new business applications contain contract with specification of the purpose, functionality, interfaces (coarse grained), constraints, usage SOA Defined Services are autonomous, discrete and reusable units of business functionality exposing its capabilities in a form of contracts. Services can be independently evolved, moved, scaled even in runtime.
  • 42. Big (outer) vs. Little (inner) SOA
  • 43. Service Relationships GUI Applications Student This is not a use case Goals Business Processes Services Business Applications uses has help users achieve participates in invokes supported by are realized by (partially) exposes orchestrate / are composed of
  • 44. Why SOA?  Heterogeneous cross-platform  Reusability at the macro (service) level rather than micro(object) level  Interconnection to - and usage of - existing IT (legacy) assets  Granularity, modularity, composability, componentization  Compliance with industry standards
  • 45. SOA is an evolutionary step  for architecture
  • 46. SOA is an evolutionary step in reusability and communication
  • 47. SOA is an evolutionary step Project-ware SOA EAI in distributed communications source:Sam Gentile
  • 48. Features of SOA  Self- describing Interface (WSDL)  Message communication via formally defined XML  Services are maintained in a registry  Each service has a Quality Of Service  Applications adapt to changing technologies  Easy integration of applications with other systems  Leverage existing investments in legacy applications
  • 49. Service Architecture Composition  Service architectures are composed of Services • Units of processing logic • Example: Credit card Service Messages • Units of communications between services • Needed for services to do their job Operations • Units of Work • Example: Determine Cost of Attendance Processes • Composed / orchestrated groups of services • Example: Financial Aid Disbursement
  • 50. SOA principles  Service Encapsulation  Service Loose coupling  Service Contract  Service abstraction  Service Documentation  Service reusability  Service composability  Service autonomy  Service optimization and Discovery  Service statelessness
  • 52. Loose Coupling “Service contracts impose low consumer coupling requirements and are themselves decoupled from their surrounding environment." Create specific types of relationships within and outside of service boundaries with a constant emphasis on reducing (“loosening”) dependencies between Service contract Service implementation Service consumers Source: Thomas Erl
  • 53. Standardized Service Contracts  “Services within the same service inventory are in compliance with the same contract design standards."  Services use service contract to Express their purpose Express their capabilities  Use formal, standardized service contracts  Focus on the areas of Functional expression Data representation Policy Source: Thomas Erl
  • 54. Abstraction  “Service contracts only contain essential information and information about services is limited to what is published in service contracts”  Avoid the proliferation of unnecessary service information, meta-data.  Hide as much of the underlying details of a service as possible. Enables and preserves the loosely coupled relationships Plays a significant role in the positioning and design of service compositions Source: Thomas Erl
  • 56. Reusability  “Services contain and express agnostic logic and can be positioned as reusable enterprise resources."  Reusable services have the following characteristics: Defined by an agnostic functional context Logic is highly generic Has a generic and extensible contract Can be accessed concurrently Source: Thomas Erl
  • 57. Composability  "Services are effective composition participants, regardless of the size and complexity of the composition."  Ensures services are able to participate in multiple compositions to solve multiple larger problems Source: Thomas Erl
  • 58. Autonomy  "Services exercise a high level of control over their underlying runtime execution environment."  Represents the ability of a service to carry out its logic independently of outside influences  To achieve this, services must be more isolated  Primary benefits Increased reliability Behavioral predictability Source: Thomas Erl
  • 59. Discoverability  "Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted."  Service contracts contain appropriate meta data for discovery which also communicates purpose and capabilities to humans  Store meta data in a service registry or profile documents Source: Thomas Erl
  • 60. Statelessness  "Services minimize resource consumption by deferring the management of state information when necessary."  Incorporate state management deferral extensions within a service design  Goals Increase service scalability Support design of agnostic logic and improve service reuse Source: Thomas Erl
  • 61. Applying SOA - Governance Goal: Establish SOA organization governance (SOA Board) that governs SOA efforts and breaks down capabilities into non-overlapping services  Governance is a program that makes sure people do what is ‘right’  In conjunction with software, governance controls the development and operation of software
  • 62. Applying SOA - Governance Policies Codification of laws, regulations, corporate guidelines and best practices Must address all stages of the service lifecycle (technology selection, design, development practices, configuration management, release management, runtime management, etc.)
  • 63. Applying SOA - Governance Processes Enforce policies System-driven processes (code check-in, code builds, unit tests) Human-driven process (requests, design reviews, code reviews, threat assessment, test case review, release engineering, service registration, etc.)
  • 64. Applying SOA - Governance Metrics Measurements of service reuse, compliancy with policy, etc. Organization Governance program should be run by SOA Board, which should have cross-functional representatives
  • 65. Business services view Business service model Service Designers Foundation Service Blocks Core APIs G eo M edia Terra Share G / T e c h I/C A DI / . . In Service Other Service specification model Enterprise Architects SOA Board P a t t e r n s M o d e l s S t a n d a r d s P o l i c y Service implementation and deployment model Software and IT Architects Business Capabilities technical view Applying SOA – Governance
  • 66. Business functionality has to be made available as services. Service contracts must be fixed Implemented services must be designed with reuse in mind. This creates some overhead. Potential service users must be involved in the design process and will have influence on the service design Applying SOA - Challenges  Service Orientation  Reuse  Sharing of Responsibilities  Increased complexity!
  • 67. (Source: Enterprise SOA: Service Oriented Architecture Best Practices by Dirk Krafzig, Karl Banke, and Dirk Slama, Prentice Hall 2004) Applying SOA – Renovation Roadmap
  • 69. Before SOA – After SOA source:IBM
  • 70. Why SOA? To enable Flexible, Federated Business Processes Enabling a virtual federation of participants to collaborate in an end-to-end business process Enabling alternative implementations Enabling reuse of Services Enabling virtualization of business resources Enabling aggregation from multiple providers Identification Ticket Sales Ticket Collection Inventory Logistics Manufacturing Availability Service Service Service Service Service Service Service Service Service Service Ordering source:TietoEnator AB, Kurts Bilder
  • 71. Why SOA? To enable Business Process Optimization and the Real Time Enterprise (RTE) Seamless End to End Process Internal Systems SOA Pattern: Standardized Service provided by multiple suppliers Service from Multiple Suppliers SOA Patterns: Single, Multi-Channel Service for consistency BPM Expressed in terms of Services Provided/Consumed Enterprise source:TietoEnator AB, Kurts Bilder Smart Clients Stores POS Mobile 3rd Party Agents Portal Service to Customers
  • 72. Why SOA? Enable Structural Improvement ERP X Process Z Partner A Process Y Service Standardizing capabilities Information Consistency Policy Consistency e.g. Single Customer Details Service Consolidation/ Selection process Reducing impact of change Encapsulating implementation complexity ERP Z CRM System 2 CRM System 1 Product System Policy Rationalization and Evolution Resource Virtualization e.g. Multiple Sources of Customer Details
  • 73. Service Architecture Organized by Layers Reasons for Layering 1. Flexible composition. 2. Reuse. 3. Functional standardization in lower levels 4. Customization in higher layers 5. Separation of Concerns. 6. Policies may vary by Layer Example Layers Presentation & workflow Composed Services Basic Services Underlying API according to:TietoEnator AB, Kurts Bilder
  • 75. Service Composition Example Aid Disbursement Process FA Award Service Registration Service Loan Service Bursar Service FA System Microsoft .NET Registrar System Mainframe Dept of Ed ??? Bursar Java on Linux Aid Disburse Service Is Realized By Are Executed In / Controlled By Orchestrates account info Debit Account Service Interface Layer App Logic Not Physical
  • 76. Applying services to the problem Monolithic Before The System After S1 S2 S4 S3 System replacement is a total process System modules are tightly interdependent making change difficult System composed of many logical service units (decomposition) Underlying business logic decoupled as much as possible from other services (autonomy and loose coupling)
  • 77. Goal of SOA  Loosely coupled  The goal for a SOA is a world wide mesh of collaborating services, which are published and available for invocation on the Service Bus.  SOA is not just an architecture of services seen from a technology perspective, but the policies, practices, and frameworks by which we ensure the right services are provided and consumed.
  • 78. Major service types Basic Services: Data-centric and logic-centric services Encapsulate data behavior and data model and ensures data consistency (only on one backend). Basic services are stateless services with high degree of reusability. Represent fundamental SOA maturity level and usually are build on top existing legacy API (underlying services.
  • 79. Major service types Composed Services : expose harmonized access to inconsistent basic services technology (gateways, adapters, façades, and functionality-adding services). Encapsulate business specific workflows or orchestrated services.
  • 80. Service Types Foundation Service Blocks Core APIs G eo M edia Terra Share G / T e c h I/C A DI / . . In Servic ther S e r v i c e I n f r a s t r u c t u r e B a s i c S e r v i c e s C o m p o s i t e S e r v i c e s Smart Client P o r t a l SOA Management & Security service mediation, routing, trust enablement. ESB, Service Registry Multi channel applications: Mobile, Smart, Thin, Thick clients, Portals. Business centric services, orchestrated workflows. Intermediate services (gateways, facades ) Data centric and logic centric consistent services. Highly reusable, stateless servers Business Capabilities
  • 81. SOA Benefits Summary  Allow us to execute complex business processes by composing systems from small, less complex building blocks  Fosters collaborative business and technical environment through sharing and coordination of services  Create outward facing self-service applications not constrained by organizational boundaries  Enables creating adaptive, agile systems that are resilient to changes in the business environment
  • 82. Conclusions  SOA represents a fundamental change to the way information systems will designed in the future  Long term impact on IT portfolio management is dramatic  Adds a significant dimension to system evaluation process  Undertaking SOA requires commitment from all levels of the organization and significant investments (people, process, and tools)
  • 83. Conclusion and Summary  If done correct, SOA is “not just another architectural fad”  SOA seeks to bridge the gap between business and technology promoting business agility (its all about managing change)  SOA Is complex Requires governance Requires executive management buy-in Requires commitment with resources
  • 84. References  Coyle, “XML, Web Servcies and Data Revolution”, Pearson Education, 2002.  Chatterjee and Webber, “Developing Enterprise Web Services – An Architect’s Guide”, Pearson Education, 2004.  Liu, “Distributed Computing – Principles and Applications”, Pearson Education, 2004.  http://www.microsoft.comarchitecture/soa  http://www.ibm.com/soa  http://www.sun.com/products/soa