SlideShare a Scribd company logo
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)
Ad

More Related Content

What's hot (20)

Azure Cloud PPT
Azure Cloud PPTAzure Cloud PPT
Azure Cloud PPT
Aniket Kanitkar
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
Halil Burak Cetinkaya
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Luqman Shareef
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
Adeel Javaid
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Monolithic architecture
Monolithic architectureMonolithic architecture
Monolithic architecture
SRM University Delhi-NCR sonepat
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
Biniam Asnake
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Paulo Gandra de Sousa
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
tyrantbrian
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
Jesus Rodriguez
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
Paul Mooney
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
Kelvin Yeung
 
Aws Elastic Block Storage
Aws Elastic Block StorageAws Elastic Block Storage
Aws Elastic Block Storage
Dhananjay Aloorkar
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Cloud computing and Software as a Service Overview
Cloud computing and Software as a Service OverviewCloud computing and Software as a Service Overview
Cloud computing and Software as a Service Overview
Rahul Sudame
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
abhi1112
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
rishi ram khanal
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
Simplilearn
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Luqman Shareef
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
Adeel Javaid
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
Biniam Asnake
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
tyrantbrian
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
Jesus Rodriguez
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
Paul Mooney
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Cloud computing and Software as a Service Overview
Cloud computing and Software as a Service OverviewCloud computing and Software as a Service Overview
Cloud computing and Software as a Service Overview
Rahul Sudame
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
abhi1112
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
rishi ram khanal
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
Simplilearn
 

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
Khawar Nehal [email protected]
 
Presentation of Tax
Presentation of Tax Presentation of Tax
Presentation of Tax
uzair-bhatti
 
Buissness model analysis
Buissness model analysisBuissness model analysis
Buissness model analysis
Prabhat gangwar
 
Seo
SeoSeo
Seo
Prabhat gangwar
 
Multiplatform
MultiplatformMultiplatform
Multiplatform
Prabhat gangwar
 
Oracle real application_cluster
Oracle real application_clusterOracle real application_cluster
Oracle real application_cluster
Prabhat gangwar
 
Restful api modeling language
Restful api modeling languageRestful api modeling language
Restful api modeling language
Prabhat gangwar
 
EXtensible Markup Language
EXtensible Markup LanguageEXtensible Markup Language
EXtensible Markup Language
Prabhat gangwar
 
Rest
RestRest
Rest
Prabhat gangwar
 
Mule anypoint platform
Mule anypoint platformMule anypoint platform
Mule anypoint platform
Prabhat gangwar
 
Mule esb
Mule esbMule esb
Mule esb
Prabhat gangwar
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
Prabhat gangwar
 
Soap
SoapSoap
Soap
Prabhat gangwar
 
Jsp
JspJsp
Jsp
Prabhat gangwar
 
Mule esb
Mule esbMule esb
Mule esb
Prabhat gangwar
 
Soap service
Soap serviceSoap service
Soap service
Prabhat gangwar
 
Bpm
BpmBpm
Bpm
Prabhat gangwar
 
Health triangle
Health triangleHealth triangle
Health triangle
Prabhat gangwar
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
Prabhat gangwar
 
Api desgin
Api desginApi desgin
Api desgin
Prabhat gangwar
 
Ad

Similar to Service Oriented Architecture (20)

soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
ShanmugamS34
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
Imesh Gunaratne
 
Open Source Soa
Open Source SoaOpen Source Soa
Open Source Soa
Arun Pareek
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
Pankaj 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 soa
nick_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 Modernisation
Alan McSweeney
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
Coi Xay
 
Chao Zhang
Chao ZhangChao Zhang
Chao Zhang
Chao Zhang
 
SeniorNET Bhanu Resume
SeniorNET Bhanu ResumeSeniorNET Bhanu Resume
SeniorNET Bhanu Resume
(Actively Looking) Akunuru
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
Prashant Patel
 
Legacy Migration Overview
Legacy Migration OverviewLegacy Migration Overview
Legacy Migration Overview
Bambordé Baldé
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
WORPCLOUD LTD
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
RAMADHAVA REDDY KAYYURU
 
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
WSO2
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architecture
Dhaval 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 istio
Inho 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
 
java web services - soap and rest services
java web services - soap and rest  servicesjava web services - soap and rest  services
java web services - soap and rest services
VasantPrasad
 
Basic concepts of soa
Basic concepts of soaBasic concepts of soa
Basic concepts of soa
Venu Borra LION*
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
Imesh Gunaratne
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
Pankaj 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 soa
nick_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 Modernisation
Alan McSweeney
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
Coi 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 business
WSO2
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architecture
Dhaval 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 istio
Inho 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
 
java web services - soap and rest services
java web services - soap and rest  servicesjava web services - soap and rest  services
java web services - soap and rest services
VasantPrasad
 
Ad

More from Prabhat gangwar (20)

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

Recently uploaded (20)

Voices of Progress: How Empower Atlanta Magazine is Shaping the City’s Future
Voices of Progress: How Empower Atlanta Magazine is Shaping the City’s FutureVoices of Progress: How Empower Atlanta Magazine is Shaping the City’s Future
Voices of Progress: How Empower Atlanta Magazine is Shaping the City’s Future
jamesvince9898
 
Best 14 IPTV reseller services to look for in 2025.pdf
Best 14 IPTV reseller services to look for in 2025.pdfBest 14 IPTV reseller services to look for in 2025.pdf
Best 14 IPTV reseller services to look for in 2025.pdf
tahmidtazbidishmam
 
Key Features of a Gen-Z-Friendly WordPress Website
Key Features of a Gen-Z-Friendly WordPress WebsiteKey Features of a Gen-Z-Friendly WordPress Website
Key Features of a Gen-Z-Friendly WordPress Website
World Web Technology Pvt Ltd
 
Top 10 Best IPTV Services for 2025 (Ranked List).pdf
Top 10 Best IPTV Services for 2025 (Ranked List).pdfTop 10 Best IPTV Services for 2025 (Ranked List).pdf
Top 10 Best IPTV Services for 2025 (Ranked List).pdf
Donald M. Lott
 
Top 10 Most Empowering Business Leaders to Follow in 2025
Top 10 Most Empowering Business Leaders to Follow in 2025Top 10 Most Empowering Business Leaders to Follow in 2025
Top 10 Most Empowering Business Leaders to Follow in 2025
timeiconic007
 
The best Web Application Development Company for Tailor-Made Solutions
The best Web Application Development Company for Tailor-Made SolutionsThe best Web Application Development Company for Tailor-Made Solutions
The best Web Application Development Company for Tailor-Made Solutions
bhoomidmit
 
Top Website Design Trends of 2025 Revealed
Top Website Design Trends of 2025 RevealedTop Website Design Trends of 2025 Revealed
Top Website Design Trends of 2025 Revealed
e-Definers Technology
 
Hidden Dust Zones Where Spring Allergens Love to Hide.pdf
Hidden Dust Zones Where Spring Allergens Love to Hide.pdfHidden Dust Zones Where Spring Allergens Love to Hide.pdf
Hidden Dust Zones Where Spring Allergens Love to Hide.pdf
London Domestic Cleaners
 
ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...
ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...
ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...
Cardiac Registry Support
 
What are the Benefits of Choosing a Candidate Tracking System?
What are the Benefits of Choosing a Candidate Tracking System?What are the Benefits of Choosing a Candidate Tracking System?
What are the Benefits of Choosing a Candidate Tracking System?
Obhula Homestay
 
Online UPS Brochure Artwork - Microtek India
Online UPS Brochure Artwork - Microtek IndiaOnline UPS Brochure Artwork - Microtek India
Online UPS Brochure Artwork - Microtek India
microtekindia00
 
Submit Articles for Publication_ Best Practices and Platforms.docx
Submit Articles for Publication_ Best Practices and Platforms.docxSubmit Articles for Publication_ Best Practices and Platforms.docx
Submit Articles for Publication_ Best Practices and Platforms.docx
Mogul Press
 
Utox Pigment Suppliers In India, Bansal Trading Company
Utox Pigment Suppliers In India, Bansal Trading CompanyUtox Pigment Suppliers In India, Bansal Trading Company
Utox Pigment Suppliers In India, Bansal Trading Company
Bansal Trading
 
professional Headshots Murrieta California USA
professional Headshots Murrieta California USAprofessional Headshots Murrieta California USA
professional Headshots Murrieta California USA
Bashe + Still Photography
 
10 best IPTV Reseller for Live Channels & TV.pdf
10 best IPTV Reseller for Live Channels & TV.pdf10 best IPTV Reseller for Live Channels & TV.pdf
10 best IPTV Reseller for Live Channels & TV.pdf
tahmidtazbidishmam
 
Designer Mehndi Outfits For Brides In India
Designer Mehndi Outfits For Brides In IndiaDesigner Mehndi Outfits For Brides In India
Designer Mehndi Outfits For Brides In India
priynkajain92
 
Lifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdf
Lifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdfLifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdf
Lifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdf
Boutique Mags
 
15 Best IPTV Service Providers of 2025.pdf
15 Best IPTV Service Providers of 2025.pdf15 Best IPTV Service Providers of 2025.pdf
15 Best IPTV Service Providers of 2025.pdf
Eric Robert
 
Transform Your Business with Machine Learning Development Services
Transform Your Business with Machine Learning Development ServicesTransform Your Business with Machine Learning Development Services
Transform Your Business with Machine Learning Development Services
Digital Hub Solution
 
Top rated digital marketing agency -digital dhaani.pptx
Top rated digital marketing agency -digital dhaani.pptxTop rated digital marketing agency -digital dhaani.pptx
Top rated digital marketing agency -digital dhaani.pptx
dhaanijindalofficial
 
Voices of Progress: How Empower Atlanta Magazine is Shaping the City’s Future
Voices of Progress: How Empower Atlanta Magazine is Shaping the City’s FutureVoices of Progress: How Empower Atlanta Magazine is Shaping the City’s Future
Voices of Progress: How Empower Atlanta Magazine is Shaping the City’s Future
jamesvince9898
 
Best 14 IPTV reseller services to look for in 2025.pdf
Best 14 IPTV reseller services to look for in 2025.pdfBest 14 IPTV reseller services to look for in 2025.pdf
Best 14 IPTV reseller services to look for in 2025.pdf
tahmidtazbidishmam
 
Key Features of a Gen-Z-Friendly WordPress Website
Key Features of a Gen-Z-Friendly WordPress WebsiteKey Features of a Gen-Z-Friendly WordPress Website
Key Features of a Gen-Z-Friendly WordPress Website
World Web Technology Pvt Ltd
 
Top 10 Best IPTV Services for 2025 (Ranked List).pdf
Top 10 Best IPTV Services for 2025 (Ranked List).pdfTop 10 Best IPTV Services for 2025 (Ranked List).pdf
Top 10 Best IPTV Services for 2025 (Ranked List).pdf
Donald M. Lott
 
Top 10 Most Empowering Business Leaders to Follow in 2025
Top 10 Most Empowering Business Leaders to Follow in 2025Top 10 Most Empowering Business Leaders to Follow in 2025
Top 10 Most Empowering Business Leaders to Follow in 2025
timeiconic007
 
The best Web Application Development Company for Tailor-Made Solutions
The best Web Application Development Company for Tailor-Made SolutionsThe best Web Application Development Company for Tailor-Made Solutions
The best Web Application Development Company for Tailor-Made Solutions
bhoomidmit
 
Top Website Design Trends of 2025 Revealed
Top Website Design Trends of 2025 RevealedTop Website Design Trends of 2025 Revealed
Top Website Design Trends of 2025 Revealed
e-Definers Technology
 
Hidden Dust Zones Where Spring Allergens Love to Hide.pdf
Hidden Dust Zones Where Spring Allergens Love to Hide.pdfHidden Dust Zones Where Spring Allergens Love to Hide.pdf
Hidden Dust Zones Where Spring Allergens Love to Hide.pdf
London Domestic Cleaners
 
ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...
ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...
ACC NCDR Registry A Guide to the American College of Cardiology's Data Regist...
Cardiac Registry Support
 
What are the Benefits of Choosing a Candidate Tracking System?
What are the Benefits of Choosing a Candidate Tracking System?What are the Benefits of Choosing a Candidate Tracking System?
What are the Benefits of Choosing a Candidate Tracking System?
Obhula Homestay
 
Online UPS Brochure Artwork - Microtek India
Online UPS Brochure Artwork - Microtek IndiaOnline UPS Brochure Artwork - Microtek India
Online UPS Brochure Artwork - Microtek India
microtekindia00
 
Submit Articles for Publication_ Best Practices and Platforms.docx
Submit Articles for Publication_ Best Practices and Platforms.docxSubmit Articles for Publication_ Best Practices and Platforms.docx
Submit Articles for Publication_ Best Practices and Platforms.docx
Mogul Press
 
Utox Pigment Suppliers In India, Bansal Trading Company
Utox Pigment Suppliers In India, Bansal Trading CompanyUtox Pigment Suppliers In India, Bansal Trading Company
Utox Pigment Suppliers In India, Bansal Trading Company
Bansal Trading
 
professional Headshots Murrieta California USA
professional Headshots Murrieta California USAprofessional Headshots Murrieta California USA
professional Headshots Murrieta California USA
Bashe + Still Photography
 
10 best IPTV Reseller for Live Channels & TV.pdf
10 best IPTV Reseller for Live Channels & TV.pdf10 best IPTV Reseller for Live Channels & TV.pdf
10 best IPTV Reseller for Live Channels & TV.pdf
tahmidtazbidishmam
 
Designer Mehndi Outfits For Brides In India
Designer Mehndi Outfits For Brides In IndiaDesigner Mehndi Outfits For Brides In India
Designer Mehndi Outfits For Brides In India
priynkajain92
 
Lifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdf
Lifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdfLifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdf
Lifestyle Magazines - Culture, Current Affairs, Health & Fitness.pdf
Boutique Mags
 
15 Best IPTV Service Providers of 2025.pdf
15 Best IPTV Service Providers of 2025.pdf15 Best IPTV Service Providers of 2025.pdf
15 Best IPTV Service Providers of 2025.pdf
Eric Robert
 
Transform Your Business with Machine Learning Development Services
Transform Your Business with Machine Learning Development ServicesTransform Your Business with Machine Learning Development Services
Transform Your Business with Machine Learning Development Services
Digital Hub Solution
 
Top rated digital marketing agency -digital dhaani.pptx
Top rated digital marketing agency -digital dhaani.pptxTop rated digital marketing agency -digital dhaani.pptx
Top rated digital marketing agency -digital dhaani.pptx
dhaanijindalofficial
 

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

  • #2: <number>
  • #36: 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.
  • #40: Services have become the dominant consideration in architecture and are going to be with us for a very long time
  • #60: 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.
  • #64: En federation är en sammanslutning av olika självständiga enheter, länder eller organisationer, som tillsammans bildar en enda stor samorganisation eller stat
  • #67: 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