SlideShare a Scribd company logo
1 of 75
Service Oriented ArchitectureService Oriented Architecture
Overview of the syllabusOverview 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 SOAPrerequisite 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 contentOverview 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 …Current trends …
♣ Internet based solution
♣ Complexity of the software
♣ Growth in hardware mobile and other smart
devices
♣ Demand for novel / customized services
Software paradigms…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 TiersBasic 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 architecture2-tier architecture
Database
Driver
Database
Driver
DatabaseDatabase
Tier Boundary
Business
Logic
Business
Logic
Business
Logic
Business
Logic
Business
Logic
Business
Logic
Presentation
Logic
Presentation
Logic
Data Layer
Presentation / Business Layer
Two tier architectureTwo tier architecture
• Deployment costs are high
• Database driver switching costs are high
• Business logic migration costs are high
• The client has to recompile if the BL is changed
• Network performance suffers
N-Tier architectureN-Tier architecture
DatabaseDatabase
Business
Logic
Business
Logic
Database
Driver
Database
Driver
Business
Logic
Business
Logic
Business
Logic
Business
Logic
Presentation
Logic
Presentation
Logic
Data Layer
Tier Boundary
Tier Boundary
N-Tier architectureN-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 technologiesPresentation 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 technologiesBusiness 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 TechnologiesMicrosoft 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 TechnologiesSun’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 …Component World …
♣ Justification for component
♣ Interface
♣ Implementation
♣ Reusability
♣ standards
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 ImplementationInterface and Implementation
Technologies for implementingTechnologies for implementing
componentscomponents
♣ RMI / EJB
♣ CORBA
♣ COM, DCOM, COM+
♣ Limitations
♣ Web services (XML based standards)
Basic model of distributed systemBasic model of distributed system
Service
Registry
Service
Requestor
Service
provider
find
Bind
Publish
An Archetypal Distributed Objects System
o b je c t c l i e n t o b je c t s e r v e r
c l i e n t
p r o x y
s e r v e r
p r o x y
r u n t i m e
s u p p o r t
n e t w o r k
s u p p o r t
n e t w o r k
s u p p o r t
p h y s i c a l d a t a p a t h
l o g i c a l d a t a p a t h
o b je c t
r e g i s t r y
r u n t i m e
s u p p o r t
Distributed Object Systems / ProtocolsDistributed 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 architectureRMI architecture
Client
Browse
r
Web
server
HTML
Java applets
Stub
Applicatio
n server
Skeleton
Object
Implementation
HTML
pages
JRMP / IIOP
HTTP
Applets
CORBA architectureCORBA architecture
Client
Brows
er
Web
server
HTML
Java applets
Client
ORB
Application
server
Server
ORB
Object
Implementation
HTML
pages
IIOP
HTTP
Applets
DCOM architectureDCOM architecture
Client
Browse
r
Web
server
HTML
ActiveX
Controls
Proxy
Applicatio
n server
Stub
Object
Implementation
HTML
pages
DCOM
HTTP
ActiveX
Limitations of ComponentsLimitations of Components
♣Tightly coupled
♣Cross language/ platform issues
♣Interoperability issues
♣Maintenance and management
♣Security issues
Application Centric
Finance
DistributionManufacturing
Supply
Narrow Consumers
Limited Business Processes
Overlapped resources
Overlapped providers
Business
scope
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?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
identification
granularity
dependency
type typetype
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.
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 RelationshipsService 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?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 SOAEAI
in distributed communications
source:Sam Gentile
Features of SOAFeatures 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 CompositionService 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 principlesSOA 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
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 modelService 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 SOADifferent layers of SOA
Service Composition ExampleService 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 problemApplying services to the problem
Monolithic
Before
The System
After
S1 S2 S4S3
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 SOAGoal 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
SOA Benefits SummarySOA 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
ConclusionsConclusions
♣ 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)

More Related Content

What's hot

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
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Biniam Asnake
 
SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented ArchitectureVinay Rajadhyaksha
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
CLOUD ARCHITECTURE AND SERVICES.pptx
CLOUD ARCHITECTURE AND SERVICES.pptxCLOUD ARCHITECTURE AND SERVICES.pptx
CLOUD ARCHITECTURE AND SERVICES.pptxDr Geetha Mohan
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADShivani Kapoor
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
J2 ee container & components
J2 ee container & componentsJ2 ee container & components
J2 ee container & componentsKeshab Nath
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to AzureRobert Crane
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Introduction to Event Driven Architecture
Introduction to Event Driven ArchitectureIntroduction to Event Driven Architecture
Introduction to Event Driven ArchitectureCitiusTech
 
Client server architecture
Client server architectureClient server architecture
Client server architectureBhargav Amin
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDDennis Doomen
 

What's hot (20)

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
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented Architecture
 
Web services
Web servicesWeb services
Web services
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
CLOUD ARCHITECTURE AND SERVICES.pptx
CLOUD ARCHITECTURE AND SERVICES.pptxCLOUD ARCHITECTURE AND SERVICES.pptx
CLOUD ARCHITECTURE AND SERVICES.pptx
 
SOA Principles : 5. service abstraction
SOA Principles : 5. service abstractionSOA Principles : 5. service abstraction
SOA Principles : 5. service abstraction
 
Microsoft azure
Microsoft azureMicrosoft azure
Microsoft azure
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
J2 ee container & components
J2 ee container & componentsJ2 ee container & components
J2 ee container & components
 
Middleware Technologies ppt
Middleware Technologies pptMiddleware Technologies ppt
Middleware Technologies ppt
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to Azure
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Event-driven Architecture
Event-driven ArchitectureEvent-driven Architecture
Event-driven Architecture
 
Introduction to Event Driven Architecture
Introduction to Event Driven ArchitectureIntroduction to Event Driven Architecture
Introduction to Event Driven Architecture
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDD
 

Viewers also liked (20)

Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014
 
Presentation of Tax
Presentation of Tax Presentation of Tax
Presentation of Tax
 
Buissness model analysis
Buissness model analysisBuissness model analysis
Buissness model analysis
 
Seo
SeoSeo
Seo
 
Multiplatform
MultiplatformMultiplatform
Multiplatform
 
Oracle real application_cluster
Oracle real application_clusterOracle real application_cluster
Oracle real application_cluster
 
Restful api modeling language
Restful api modeling languageRestful api modeling language
Restful api modeling language
 
EXtensible Markup Language
EXtensible Markup LanguageEXtensible Markup Language
EXtensible Markup Language
 
Rest
RestRest
Rest
 
Mule anypoint platform
Mule anypoint platformMule anypoint platform
Mule anypoint platform
 
Mule esb
Mule esbMule esb
Mule esb
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
 
Soap
SoapSoap
Soap
 
Jsp
JspJsp
Jsp
 
Mule esb
Mule esbMule esb
Mule esb
 
Soap service
Soap serviceSoap service
Soap service
 
Bpm
BpmBpm
Bpm
 
Health triangle
Health triangleHealth triangle
Health triangle
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
Api desgin
Api desginApi desgin
Api desgin
 

Similar to Service Oriented Architecture

Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation TechnologiesPankaj Saharan
 
InterConnect 2015 session 2825 cics_and_the_new soa
InterConnect 2015 session 2825  cics_and_the_new soaInterConnect 2015 session 2825  cics_and_the_new soa
InterConnect 2015 session 2825 cics_and_the_new soanick_garrod
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationAlan McSweeney
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOACoi Xay
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessWSO2
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architectureDhaval Patel
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioInho Kang
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클Oracle Korea
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Arnaud Bouchez
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickOPITZ CONSULTING Deutschland
 

Similar to Service Oriented Architecture (20)

soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Open Source Soa
Open Source SoaOpen Source Soa
Open Source Soa
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
InterConnect 2015 session 2825 cics_and_the_new soa
InterConnect 2015 session 2825  cics_and_the_new soaInterConnect 2015 session 2825  cics_and_the_new soa
InterConnect 2015 session 2825 cics_and_the_new soa
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And Modernisation
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
 
Chao Zhang
Chao ZhangChao Zhang
Chao Zhang
 
SeniorNET Bhanu Resume
SeniorNET Bhanu ResumeSeniorNET Bhanu Resume
SeniorNET Bhanu Resume
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
Legacy Migration Overview
Legacy Migration OverviewLegacy Migration Overview
Legacy Migration Overview
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architecture
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference
 
Basic concepts of soa
Basic concepts of soaBasic concepts of soa
Basic concepts of soa
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein Architekturüberblick
 

More from Prabhat gangwar

More from Prabhat gangwar (20)

Middleware
MiddlewareMiddleware
Middleware
 
Pseudolocalization
PseudolocalizationPseudolocalization
Pseudolocalization
 
Mule anypoint studio
Mule anypoint studioMule anypoint studio
Mule anypoint studio
 
What is cluster analysis
What is cluster analysisWhat is cluster analysis
What is cluster analysis
 
clustering and load balancing
clustering and load balancingclustering and load balancing
clustering and load balancing
 
Middleware systems overview and introduction
Middleware systems overview and introductionMiddleware systems overview and introduction
Middleware systems overview and introduction
 
Gsm architecture
Gsm architectureGsm architecture
Gsm architecture
 
Oracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-featuresOracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-features
 
Introducing adf business components
Introducing adf business componentsIntroducing adf business components
Introducing adf business components
 
File transfer methods
File transfer methodsFile transfer methods
File transfer methods
 
Ftp tftp
Ftp tftpFtp tftp
Ftp tftp
 
Global warming
Global warmingGlobal warming
Global warming
 
Vedic mathmetics
Vedic mathmeticsVedic mathmetics
Vedic mathmetics
 
Trends
TrendsTrends
Trends
 
E commerce buissness-model
E commerce buissness-modelE commerce buissness-model
E commerce buissness-model
 
Effective communication skills
Effective communication skillsEffective communication skills
Effective communication skills
 
Office politics
Office politicsOffice politics
Office politics
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Add to the path on mac os x
Add to the path on mac os xAdd to the path on mac os x
Add to the path on mac os x
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 

Recently uploaded

Call US Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...
Call US  Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...Call US  Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...
Call US Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...Pooja Nehwal
 
VAPI CALL GIRL 92628/71154 VAPI CALL GIR
VAPI CALL GIRL 92628/71154 VAPI CALL GIRVAPI CALL GIRL 92628/71154 VAPI CALL GIR
VAPI CALL GIRL 92628/71154 VAPI CALL GIRNiteshKumar82226
 
KAKINADA CALL GIRL 92628/71154 KAKINADA C
KAKINADA CALL GIRL 92628/71154 KAKINADA CKAKINADA CALL GIRL 92628/71154 KAKINADA C
KAKINADA CALL GIRL 92628/71154 KAKINADA CNiteshKumar82226
 
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579diyaspanoida
 
JABALPUR CALL GIRL 92628/71154 JABALPUR K
JABALPUR CALL GIRL 92628/71154 JABALPUR KJABALPUR CALL GIRL 92628/71154 JABALPUR K
JABALPUR CALL GIRL 92628/71154 JABALPUR KNiteshKumar82226
 
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...riyadelhic riyadelhic
 
Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.
Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.
Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.riyadelhic riyadelhic
 
Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞Ifra Zohaib
 
SURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL GSURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL GNiteshKumar82226
 
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...teencall080
 
Indore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort serviceIndore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort servicemaheshsingh64440
 
Call Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near MeCall Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near MeIfra Zohaib
 
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 60009891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000teencall080
 
Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...
Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...
Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...riyasharma00119
 
Russian Call Girls in Goa %(9316020077)# Russian Call Girls in Goa By Russi...
Russian Call Girls  in Goa %(9316020077)# Russian Call Girls  in Goa By Russi...Russian Call Girls  in Goa %(9316020077)# Russian Call Girls  in Goa By Russi...
Russian Call Girls in Goa %(9316020077)# Russian Call Girls in Goa By Russi...Goa Call Girls Service Goa escort agency
 
Best VIP Call Girls Noida Sector 24 Call Me: 8700611579
Best VIP Call Girls Noida Sector 24 Call Me: 8700611579Best VIP Call Girls Noida Sector 24 Call Me: 8700611579
Best VIP Call Girls Noida Sector 24 Call Me: 8700611579diyaspanoida
 
Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848Ifra Zohaib
 
Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...
Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...
Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...Sheetaleventcompany
 

Recently uploaded (20)

Call US Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...
Call US  Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...Call US  Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...
Call US Pooja📞 9892124323 ✅Call Girls In Mira Road ( Mumbai ) secure service...
 
VAPI CALL GIRL 92628/71154 VAPI CALL GIR
VAPI CALL GIRL 92628/71154 VAPI CALL GIRVAPI CALL GIRL 92628/71154 VAPI CALL GIR
VAPI CALL GIRL 92628/71154 VAPI CALL GIR
 
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
 
KAKINADA CALL GIRL 92628/71154 KAKINADA C
KAKINADA CALL GIRL 92628/71154 KAKINADA CKAKINADA CALL GIRL 92628/71154 KAKINADA C
KAKINADA CALL GIRL 92628/71154 KAKINADA C
 
9953056974 Call Girls In Ashok Nagar, Escorts (Delhi) NCR.
9953056974 Call Girls In Ashok Nagar, Escorts (Delhi) NCR.9953056974 Call Girls In Ashok Nagar, Escorts (Delhi) NCR.
9953056974 Call Girls In Ashok Nagar, Escorts (Delhi) NCR.
 
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
 
JABALPUR CALL GIRL 92628/71154 JABALPUR K
JABALPUR CALL GIRL 92628/71154 JABALPUR KJABALPUR CALL GIRL 92628/71154 JABALPUR K
JABALPUR CALL GIRL 92628/71154 JABALPUR K
 
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
 
Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.
Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.
Call Now ☎9870417354|| Call Girls in Dwarka Escort Service Delhi N.C.R.
 
Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞Girls For Night in Islamabad | 03274100048 🔞
Girls For Night in Islamabad | 03274100048 🔞
 
SURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL GSURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL G
 
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
 
Indore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort serviceIndore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort service
 
Call Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near MeCall Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near Me
 
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 60009891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
 
Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...
Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...
Low Rate Russian Call Girls In Lajpat Nagar ➡️ 7836950116 Call Girls Service ...
 
Russian Call Girls in Goa %(9316020077)# Russian Call Girls in Goa By Russi...
Russian Call Girls  in Goa %(9316020077)# Russian Call Girls  in Goa By Russi...Russian Call Girls  in Goa %(9316020077)# Russian Call Girls  in Goa By Russi...
Russian Call Girls in Goa %(9316020077)# Russian Call Girls in Goa By Russi...
 
Best VIP Call Girls Noida Sector 24 Call Me: 8700611579
Best VIP Call Girls Noida Sector 24 Call Me: 8700611579Best VIP Call Girls Noida Sector 24 Call Me: 8700611579
Best VIP Call Girls Noida Sector 24 Call Me: 8700611579
 
Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848
 
Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...
Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...
Call Girl Rohini ❤️7065000506 Pooja@ Rohini Call Girls Near Me ❤️♀️@ Sexy Cal...
 

Service Oriented Architecture

  • 1. Service Oriented ArchitectureService Oriented Architecture
  • 2. Overview of the syllabusOverview 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 SOAPrerequisite 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 contentOverview 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 …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…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 TiersBasic 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
  • 11. 2-tier architecture2-tier architecture Database Driver Database Driver DatabaseDatabase Tier Boundary Business Logic Business Logic Business Logic Business Logic Business Logic Business Logic Presentation Logic Presentation Logic Data Layer Presentation / Business Layer
  • 12. Two tier architectureTwo tier architecture • Deployment costs are high • Database driver switching costs are high • Business logic migration costs are high • The client has to recompile if the BL is changed • Network performance suffers
  • 14. N-Tier architectureN-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 technologiesPresentation 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 technologiesBusiness 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 TechnologiesMicrosoft 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 TechnologiesSun’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 …Component World … ♣ Justification for component ♣ Interface ♣ Implementation ♣ Reusability ♣ standards
  • 20. 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 ImplementationInterface and Implementation
  • 21. Technologies for implementingTechnologies for implementing componentscomponents ♣ RMI / EJB ♣ CORBA ♣ COM, DCOM, COM+ ♣ Limitations ♣ Web services (XML based standards)
  • 22. Basic model of distributed systemBasic model of distributed system Service Registry Service Requestor Service provider find Bind Publish
  • 23. An Archetypal Distributed Objects System o b je c t c l i e n t o b je c t s e r v e r c l i e n t p r o x y s e r v e r p r o x y r u n t i m e s u p p o r t n e t w o r k s u p p o r t n e t w o r k s u p p o r t p h y s i c a l d a t a p a t h l o g i c a l d a t a p a t h o b je c t r e g i s t r y r u n t i m e s u p p o r t
  • 24. Distributed Object Systems / ProtocolsDistributed 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).
  • 25. RMI architectureRMI architecture Client Browse r Web server HTML Java applets Stub Applicatio n server Skeleton Object Implementation HTML pages JRMP / IIOP HTTP Applets
  • 26. CORBA architectureCORBA architecture Client Brows er Web server HTML Java applets Client ORB Application server Server ORB Object Implementation HTML pages IIOP HTTP Applets
  • 28. Limitations of ComponentsLimitations of Components ♣Tightly coupled ♣Cross language/ platform issues ♣Interoperability issues ♣Maintenance and management ♣Security issues
  • 29. Application Centric Finance DistributionManufacturing Supply Narrow Consumers Limited Business Processes Overlapped resources Overlapped providers Business scope 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
  • 30. Goal - Service Centric
  • 31. What are services?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)
  • 32. What is Service Architecture? • A collection of services • classified into types • arranged into layers • Governed by architectural patterns and policies services identification granularity dependency type typetype source:TietoEnator AB, Kurts Bilder
  • 33. 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
  • 34. 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. 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.
  • 35. Big (outer) vs. Little (inner) SOA
  • 36. Service RelationshipsService 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
  • 37. Why SOA?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
  • 38. SOA is an evolutionary step  for architecture
  • 39. SOA is an evolutionary step in reusability and communication
  • 40. SOA is an evolutionary step Project-ware SOAEAI in distributed communications source:Sam Gentile
  • 41. Features of SOAFeatures 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
  • 42. Service Architecture CompositionService 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
  • 43. SOA principlesSOA principles ♣ Service Encapsulation ♣ Service Loose coupling ♣ Service Contract ♣ Service abstraction ♣ Service Documentation ♣ Service reusability ♣ Service composability ♣ Service autonomy ♣ Service optimization and Discovery ♣ Service statelessness
  • 45. 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
  • 46. 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
  • 47. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. 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
  • 54. 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
  • 55. 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.)
  • 56. 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.)
  • 57. 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
  • 59. 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!
  • 60. (Source: Enterprise SOA: Service Oriented Architecture Best Practices by Dirk Krafzig, Karl Banke, and Dirk Slama, Prentice Hall 2004) Applying SOA – Renovation Roadmap
  • 61. Service Oriented Architecture modelService Oriented Architecture model
  • 62. Before SOA – After SOA source:IBM
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. Different layers of SOADifferent layers of SOA
  • 68. Service Composition ExampleService 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
  • 69. Applying services to the problemApplying services to the problem Monolithic Before The System After S1 S2 S4S3 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)
  • 70. Goal of SOAGoal 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.
  • 71. 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.
  • 72. 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.
  • 74. SOA Benefits SummarySOA 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
  • 75. ConclusionsConclusions ♣ 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)

Editor's Notes

  1. <number>
  2. Inner SOA : is Software Architect activity and describes on how applications are designed as segments of business functionality that are isolated behind explicit service boundaries. This is a software development centric view of what “service” is - a standalone software component with some kind of remotely addressable invocation interface (e.g.REST, WS-* interface). Architecture is viewed as software design. SOA tenets are more relaxed, for example explicit service boundaries are often not effective for performance reasons. Outer SOA:is about business alignment and represent Enterprise Architect activity how to connect disparate systems across application, department, corporate and industry boundaries. Big SOA cares about connecting heterogeneous systems that may originate from different vendors or silo applications. Big SOA services expose usually publicly services that are accessible for chaining, orchestration and enables situational (composite) applications to be build. In "big SOA", organizations have a much broader view of what a "service" is. In this broader view a service isn't something you build; it's something that is experienced by a consumer. This view, therefore, is really about realizing that delivering a service requires all sorts of IT competencies (design, development, integration, testing, deployment, admin, operations and change management) to be integrated together across the lifecycle of an investment that is packaged up as a service.
  3. Services have become the dominant consideration in architecture and are going to be with us for a very long time
  4. Independence from Technology - Dependency on the underlying IT infrastructure is reduced so that business departments can focus on functional requirements. Shorter Time to Market- Business departments can achieve a shorter time to market for new functionality. Reduction of Development Costs- The costs for developing new functionality are significantly reduced. Service Orientation- Business functionality has to be made available as services. Service contracts must be fixed and adhered to. Reuse- Implemented services must be designed with reuse in mind. This creates some overhead. Sharing of Responsibilities- Potential service users must be involved in the design process and will have influence on the service design.
  5. En federation är en sammanslutning av olika självständiga enheter, länder eller organisationer, som tillsammans bildar en enda stor samorganisation eller stat
  6. Flexible composition. Services arecomposed from many Services inlower layers Reuse. Services are used bymany Services in higher layers Functional standardization andcommoditization in lower levels Customization in higher layers Separation of Concerns. Each layermay reflect different Purpose and role of Service Provider of services in that layer Appropriate Technology or implementation approach for the layer Policies may vary by Layer. E.g. Different Sourcing permitted Degree of Standardization/Differentiation allowed