SlideShare a Scribd company logo
SOA Concepts
Pouria Ghatrenabi
Based on IBM SOA Certificate Learning Objectives
Learning Objectives
• Define the concept of a service in SOA.
• Describe the architectural concepts used in SOA (for example: loose coupling and separation of
concerns.)
• Describe the roles that XML plays in SOA.
• Describe the role of a service registry and/or repository in SOA.
• Explain what a business process is in the context of SOA (including business process management
and automation) and how it facilitates business flexibility.
• Determine the role that technology standards (SOAP, WSDL, WS-Security, BPEL, WS-I, ) play in
SOA.
• Describe the role that Web 2.0 and its related technologies play in SOA (for example: REST and
AJAX.)
The Concept of Service
A service is representative of a repeatable business task
business service can be made up of sub-processes
Using a top-down methodology, you identify a business process and
then, within that process, the set of tasks that are performed.
The tasks in a business process are services and the business
process is a composition of services.
Ref: Keen, (2007), p5
Ref: Buecker et al. (2008), p394
SOA Architectural Concepts
Basic Service Validation
Principles Loose Coupling
Encapsulation
Stateless
Technology
Neutral
Ref: Keen (2007)
Loose Coupling
• Loosely coupling between a service provider and consumers means
minimizing the number of things that a consumer needs to know
about the provider or vice versa.
• If a change is made by any party (the consumer, provider, or
mediating infrastructure) to any aspect of a service that is decoupled,
there should be no need to make subsequent changes in the other
parties.
Ref: Keen (2007)
Loose Coupling (continued)
• Reduces support costs, the impact of changes in business processes,
and IT applications, and enhances adaptability
• Reduces dependencies between applications to improve availability
and manageability of user applications
• Location transparency is a technical aspect of loose coupling. The
consumer does not require explicit knowledge of where the service is
executed.
Ref: Keen (2007)
Encapsulation
• Access to functions and data must be through a well-defined interface
that forms a contract between the service provider and the service
consumer.
• Encapsulation hides any data or behavior in the service
implementation that is specific only to the internal working of the
service and irrelevant to the service consumer.
Ref: Keen (2007)
Statelessness
• The expectation that a service provider remembers a transient state
relevant to a particular consumer adds complexity to service
providers.
• Avoidance of complexity promotes the opportunity to provide more
readily scalable and highly available service providers at a lower unit
cost.
Ref: Keen (2007)
Technology Neutrality
• Consumers on any platform must be able to invoke services provided
on any platform
Ref: Keen (2007)
Service Granularity
• Before SOA, the focus was on narrow, technical subtasks. It is called a
fine “level of granularity” or low “degree of abstraction.”
• Granularity is the amount of function a service exposes.
• A fine-grained service provides smaller units of a business process,
• A coarse-grained service provides a larger business task that contains a higher
number of substeps.
• Every company has a different view of how granular it requires its
service to be, based on its business design. Services cannot be too big
or too small, but must be just right.
Ref: Carter (2007), Ch 5
Service Granularity (continued)
• If the service is too big, that yields less reuse. If the service is too
small, you end up with performance hits and poor mapping between
business tasks and the services that support them.
• granularity is always a function of business process decomposition—
the more detailed the business process, the more finely grained the
services.
Ref: Carter (2007), Ch 5
Separation of Concerns
• In SOA, the business process controls the flow of services. The business
process drives the flow of events, calls and coordinates services, and
creates a context for them to intercommunicate.
• Business processes represent the business abstraction; decoupled from the
implementation of services, a process cares about the flow of business.
• This separation of concerns not only allows more focus on process
creation, it makes it easier to edit processes according to need without
having to edit the underlying service implementations.
Ref: Mabrouk, (2008)
The Role of XML in SOA
• XML is a common data representation that can be used as the medium of
exchange between programs that are written in different programming
languages and execute different kinds of machine instructions.
• XML is the basis for all web services technologies and the key to
interoperability; every web services specification is based on XML.
• In particular, SOAP formalizes the exchange of information written in XML,
and WSDL describes the SOAP details in an XML vocabulary.
Ref: Carter (2007), Ch 5
Service Registry and Repository
(BSRR)
BSRR
• BSRR is a place where you store information about services in your
systems that you already use, that you plan to use, or that you want
to be aware of.
• BSRR enables centralized management of business services and
interactions among SOA infrastructure elements
• BSRR enforces standards and policies that govern interactions among
service providers, users, and assets.
Ref: Carter (2007), Ch 5
BSRR
• BSRR promotes closer alignment to business objectives, reuse of IT
assets, and incremental adoption of SOA
• The right BSRR supports interoperability via standards (such as WSDL,
XML, XSD, BPEL, SCA) to leverage existing investments and
infrastructure and support true interoperability.
• A service registry can step into the role of governing services by
enforcing compliance for subscribing services. This helps ensure the
integrity of service governance and policies.
Ref: Carter (2007), Ch 5 and Mabrouk, (2008)
Ref: Carter (2007), Ch 5
Role of BSRR in SOA Lifecycle
Ref: Carter (2007), Ch 8
Service Modeling
• A registry and repository can be used to create or reuse service taxonomies,
vocabularies, and XML schemas
Service Development or Assembly
• A registry and repository can be used to locate services for reuse and to enable
service composition
Service Deployment
• Service descriptions stored in a registry and repository are used by runtimes such
as an ESB to enable dynamic interaction between services
BSRR Capabilities
Publish and Find Services
• Publishing the services from different sources,
• The capability to find the services is the heart of reuse,
• Identify common services to avoid duplication and foster reuse,
• Needs also to manage metadata, classify services, subscribe to changes and updates, and
send change notifications.
Govern
• Enable the management of your SOA assets through the full production lifecycle
(development, test, production, and retirement),
• This capability is needed throughout the lifecycle to control by user, by user type, and by
where a service is on the governance lifecycle.
Ref: Carter (2007), Ch 5
BSRR Capabilities (continued)
Enrich
• Enhance connectivity by enabling dynamic and efficient interactions between
services at runtime,
• By leveraging dynamic linkage, it enables ESB to find the best-fitting endpoint
when the request is received, supporting loose coupling.
Manage
• Enable policy enforcement and conduct impact analysis to help optimize service
performance,
• Enable the measurement of services metrics,
• Understanding of the services performance can assist the business with its SLAs.
Ref: Carter (2007), Ch 5
Business Processes in the Context
of SOA
• Existing business processes are decomposed into discrete units of
business function termed services.
• These services are then recombined into business processes in a
more flexible manner. Such decomposition has led to the emergence
of collaborative eco-systems.
• In Service-oriented approach to BPR, a common business logic is
available in reusable services that can be performed where it is most
appropriate, regardless of organizational boundaries.
Ref: Buecker et al. (2008), p6
Ref: Buecker et al. (2008), p7
Business Processes and Agility
• Tight coupling between services makes the resulting business process
fragile and difficult to change to meet the evolving needs of the business.
• By moving functionality, (e.g. flow control, translation of data formats and
protocols, and identity propagation) between services out of the
application logic and into the services infrastructure, flexibility can be
improved greatly.
• In this case, each service only needs to know how to connect to the service
infrastructure.
Ref: Buecker et al. (2008), p8
Connectivity using a service-oriented infrastructure
Ref: Buecker et al. (2008), p8
The Role of Web 2.0 in SOA
The value proposition
of Web 2.0 is similar to
that of SOA—allowing
change to occur
without a lot of pain.
Also similar to SOA,
Web 2.0 requires a
cultural change.
Together, SOA and
Web 2.0 fulfill the
promise of flexibility
and agility for a
business process.
Ref: Carter (2007), Ch 8
Mashups and SOA
• Mash-ups represent the practical bridge between SOA and Web 2.0.
• If a Web 2.0 mash-up represents the coming together of information
from disparate sources, SOA infrastructure provides those
information sources.
• Scalable, dynamic, and accessible over the Web, SOA services are the
raw material for Web 2.0 mash-ups.
Ref: Carter (2007), Ch 8
REST, AJAX, and SOA
• Both AJAX and REST are enablers for SOA
• REST can be used to expose services, and AJAX is used to build front
ends.
• REST is a lightweight approach to interconnecting front-end and
public Internet services, and the use of more structured services in
back-end systematic services is advised.
Ref: Carter (2007), Ch 8
Ref: Carter (2007), Ch 8
References
• Buecker, A., Ashley, P., Borrett, M., Lu, M., Muppidi, S., Readshaw, N., &
others. (2008). Understanding SOA Security Design and Implementation.
IBM Redbooks.
• Carter, S. (2007). The new language of business: SOA & Web 2.0. Pearson
Education.
• Keen, M. (2007). Implementing Technology to Support SOA Governance and
Management. IBM, International Technical Support Organization.
• Mabrouk, M. I. (2008, September 5). SOA fundamentals in a nutshell.
Retrieved December 12, 2015, from
http://www.ibm.com/developerworks/webservices/tutorials/ws-soa-
ibmcertified/ws-soa-ibmcertified.html

More Related Content

What's hot

Business Integration
Business IntegrationBusiness Integration
Business Integration
miriam
 
Strategic Process Integration
Strategic Process IntegrationStrategic Process Integration
Strategic Process Integration
Bao Nguyen
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented Computing
Aie Sa
 
Soa Primer
Soa PrimerSoa Primer
Soa Primer
vavasthi
 

What's hot (20)

Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And Design
 
Websphere Business Integration
Websphere Business IntegrationWebsphere Business Integration
Websphere Business Integration
 
Business Integration
Business IntegrationBusiness Integration
Business Integration
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecture
 
Service Oriented Architecture [3/5] : Business Process Management using BPEL
Service Oriented Architecture [3/5] : Business Process Management using BPELService Oriented Architecture [3/5] : Business Process Management using BPEL
Service Oriented Architecture [3/5] : Business Process Management using BPEL
 
Service Oriented Architecture (SOA) [4/5] : SOA Governance
Service Oriented Architecture (SOA) [4/5] : SOA GovernanceService Oriented Architecture (SOA) [4/5] : SOA Governance
Service Oriented Architecture (SOA) [4/5] : SOA Governance
 
Soa bpel-123
Soa bpel-123Soa bpel-123
Soa bpel-123
 
Service design principles and patterns
Service design principles and patternsService design principles and patterns
Service design principles and patterns
 
Introduction to SOA
Introduction to SOAIntroduction to SOA
Introduction to SOA
 
Aws dev ops saif ahmed
Aws dev ops   saif ahmedAws dev ops   saif ahmed
Aws dev ops saif ahmed
 
Strategic Process Integration
Strategic Process IntegrationStrategic Process Integration
Strategic Process Integration
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented Computing
 
Soa Primer
Soa PrimerSoa Primer
Soa Primer
 

Viewers also liked

CiderExpert_Presentation
CiderExpert_PresentationCiderExpert_Presentation
CiderExpert_Presentation
Yonas Berhe
 
InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...
InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...
InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...
Arman Atashi
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
abhi1112
 

Viewers also liked (19)

Delivering On It Innovation - Our Journey To Choosing Service Oriented Archit...
Delivering On It Innovation - Our Journey To Choosing Service Oriented Archit...Delivering On It Innovation - Our Journey To Choosing Service Oriented Archit...
Delivering On It Innovation - Our Journey To Choosing Service Oriented Archit...
 
SOA Methodologies in Practice
SOA Methodologies in PracticeSOA Methodologies in Practice
SOA Methodologies in Practice
 
Lab 1: Creating a project baseline
Lab 1: Creating a project baselineLab 1: Creating a project baseline
Lab 1: Creating a project baseline
 
Bachelor's degree
Bachelor's degreeBachelor's degree
Bachelor's degree
 
kong l FCV
kong l FCVkong l FCV
kong l FCV
 
CiderExpert_Presentation
CiderExpert_PresentationCiderExpert_Presentation
CiderExpert_Presentation
 
ANA Magazine
ANA MagazineANA Magazine
ANA Magazine
 
Paul Biagini Washingtonville: Home Interior Design Inspiration
Paul Biagini Washingtonville: Home Interior Design InspirationPaul Biagini Washingtonville: Home Interior Design Inspiration
Paul Biagini Washingtonville: Home Interior Design Inspiration
 
Enterprise Architecture and Innovative Healthcare Design
Enterprise Architecture and Innovative Healthcare DesignEnterprise Architecture and Innovative Healthcare Design
Enterprise Architecture and Innovative Healthcare Design
 
Molina Troux Worldwide Conference 2014
Molina Troux Worldwide Conference 2014Molina Troux Worldwide Conference 2014
Molina Troux Worldwide Conference 2014
 
IBM Portal Web intro
IBM Portal Web introIBM Portal Web intro
IBM Portal Web intro
 
La disciplina en el aula
La disciplina en el aulaLa disciplina en el aula
La disciplina en el aula
 
InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...
InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...
InterConnect2015_BCBSNC_Healthcare Provider Network Management Integration Ar...
 
Usages & cultures numériques ➔ Les médias sociaux — SimplonMars —
Usages & cultures numériques ➔ Les médias sociaux — SimplonMars — Usages & cultures numériques ➔ Les médias sociaux — SimplonMars —
Usages & cultures numériques ➔ Les médias sociaux — SimplonMars —
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Readingasaprocess
ReadingasaprocessReadingasaprocess
Readingasaprocess
 
Connecting the Healthcare Ecosystem - An Architecture for Improved Health
Connecting the Healthcare Ecosystem - An Architecture for Improved HealthConnecting the Healthcare Ecosystem - An Architecture for Improved Health
Connecting the Healthcare Ecosystem - An Architecture for Improved Health
 
Application of Electronic Enablers for Supply Chain Management- Case Study ...
Application of Electronic Enablers for Supply Chain Management- Case Study ...Application of Electronic Enablers for Supply Chain Management- Case Study ...
Application of Electronic Enablers for Supply Chain Management- Case Study ...
 
Recursos audiovisuales en el aula
Recursos audiovisuales en el aulaRecursos audiovisuales en el aula
Recursos audiovisuales en el aula
 

Similar to 02 Service Oriented Architecture Series - SOA Concepts

Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
vital vital
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
vital vital
 
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
ijseajournal
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentation
pavan nani
 

Similar to 02 Service Oriented Architecture Series - SOA Concepts (20)

E-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarE-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb Abdessattar
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
 
SOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented ArchitectureSOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented Architecture
 
Soa Eai Ver1 0
Soa Eai Ver1 0Soa Eai Ver1 0
Soa Eai Ver1 0
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
SOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptxSOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptx
 
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
 
SOA Test Methodology | Torry Harris Whitepaper
SOA Test Methodology | Torry Harris WhitepaperSOA Test Methodology | Torry Harris Whitepaper
SOA Test Methodology | Torry Harris Whitepaper
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Services oriented architecture
Services oriented architectureServices oriented architecture
Services oriented architecture
 
Presentation1 soa
Presentation1 soaPresentation1 soa
Presentation1 soa
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentation
 
Lousina
LousinaLousina
Lousina
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a servicios
 
Review on “service granularity in service oriented
Review on “service granularity in service orientedReview on “service granularity in service oriented
Review on “service granularity in service oriented
 
soa ppt v7.ppt
soa ppt v7.pptsoa ppt v7.ppt
soa ppt v7.ppt
 

Recently uploaded

Recently uploaded (20)

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 

02 Service Oriented Architecture Series - SOA Concepts

  • 1. SOA Concepts Pouria Ghatrenabi Based on IBM SOA Certificate Learning Objectives
  • 2. Learning Objectives • Define the concept of a service in SOA. • Describe the architectural concepts used in SOA (for example: loose coupling and separation of concerns.) • Describe the roles that XML plays in SOA. • Describe the role of a service registry and/or repository in SOA. • Explain what a business process is in the context of SOA (including business process management and automation) and how it facilitates business flexibility. • Determine the role that technology standards (SOAP, WSDL, WS-Security, BPEL, WS-I, ) play in SOA. • Describe the role that Web 2.0 and its related technologies play in SOA (for example: REST and AJAX.)
  • 3. The Concept of Service
  • 4. A service is representative of a repeatable business task business service can be made up of sub-processes Using a top-down methodology, you identify a business process and then, within that process, the set of tasks that are performed. The tasks in a business process are services and the business process is a composition of services. Ref: Keen, (2007), p5
  • 5. Ref: Buecker et al. (2008), p394
  • 7. Basic Service Validation Principles Loose Coupling Encapsulation Stateless Technology Neutral Ref: Keen (2007)
  • 8. Loose Coupling • Loosely coupling between a service provider and consumers means minimizing the number of things that a consumer needs to know about the provider or vice versa. • If a change is made by any party (the consumer, provider, or mediating infrastructure) to any aspect of a service that is decoupled, there should be no need to make subsequent changes in the other parties. Ref: Keen (2007)
  • 9. Loose Coupling (continued) • Reduces support costs, the impact of changes in business processes, and IT applications, and enhances adaptability • Reduces dependencies between applications to improve availability and manageability of user applications • Location transparency is a technical aspect of loose coupling. The consumer does not require explicit knowledge of where the service is executed. Ref: Keen (2007)
  • 10. Encapsulation • Access to functions and data must be through a well-defined interface that forms a contract between the service provider and the service consumer. • Encapsulation hides any data or behavior in the service implementation that is specific only to the internal working of the service and irrelevant to the service consumer. Ref: Keen (2007)
  • 11. Statelessness • The expectation that a service provider remembers a transient state relevant to a particular consumer adds complexity to service providers. • Avoidance of complexity promotes the opportunity to provide more readily scalable and highly available service providers at a lower unit cost. Ref: Keen (2007)
  • 12. Technology Neutrality • Consumers on any platform must be able to invoke services provided on any platform Ref: Keen (2007)
  • 13. Service Granularity • Before SOA, the focus was on narrow, technical subtasks. It is called a fine “level of granularity” or low “degree of abstraction.” • Granularity is the amount of function a service exposes. • A fine-grained service provides smaller units of a business process, • A coarse-grained service provides a larger business task that contains a higher number of substeps. • Every company has a different view of how granular it requires its service to be, based on its business design. Services cannot be too big or too small, but must be just right. Ref: Carter (2007), Ch 5
  • 14. Service Granularity (continued) • If the service is too big, that yields less reuse. If the service is too small, you end up with performance hits and poor mapping between business tasks and the services that support them. • granularity is always a function of business process decomposition— the more detailed the business process, the more finely grained the services. Ref: Carter (2007), Ch 5
  • 15. Separation of Concerns • In SOA, the business process controls the flow of services. The business process drives the flow of events, calls and coordinates services, and creates a context for them to intercommunicate. • Business processes represent the business abstraction; decoupled from the implementation of services, a process cares about the flow of business. • This separation of concerns not only allows more focus on process creation, it makes it easier to edit processes according to need without having to edit the underlying service implementations. Ref: Mabrouk, (2008)
  • 16. The Role of XML in SOA
  • 17. • XML is a common data representation that can be used as the medium of exchange between programs that are written in different programming languages and execute different kinds of machine instructions. • XML is the basis for all web services technologies and the key to interoperability; every web services specification is based on XML. • In particular, SOAP formalizes the exchange of information written in XML, and WSDL describes the SOAP details in an XML vocabulary. Ref: Carter (2007), Ch 5
  • 18. Service Registry and Repository (BSRR)
  • 19. BSRR • BSRR is a place where you store information about services in your systems that you already use, that you plan to use, or that you want to be aware of. • BSRR enables centralized management of business services and interactions among SOA infrastructure elements • BSRR enforces standards and policies that govern interactions among service providers, users, and assets. Ref: Carter (2007), Ch 5
  • 20. BSRR • BSRR promotes closer alignment to business objectives, reuse of IT assets, and incremental adoption of SOA • The right BSRR supports interoperability via standards (such as WSDL, XML, XSD, BPEL, SCA) to leverage existing investments and infrastructure and support true interoperability. • A service registry can step into the role of governing services by enforcing compliance for subscribing services. This helps ensure the integrity of service governance and policies. Ref: Carter (2007), Ch 5 and Mabrouk, (2008)
  • 22. Role of BSRR in SOA Lifecycle Ref: Carter (2007), Ch 8 Service Modeling • A registry and repository can be used to create or reuse service taxonomies, vocabularies, and XML schemas Service Development or Assembly • A registry and repository can be used to locate services for reuse and to enable service composition Service Deployment • Service descriptions stored in a registry and repository are used by runtimes such as an ESB to enable dynamic interaction between services
  • 23. BSRR Capabilities Publish and Find Services • Publishing the services from different sources, • The capability to find the services is the heart of reuse, • Identify common services to avoid duplication and foster reuse, • Needs also to manage metadata, classify services, subscribe to changes and updates, and send change notifications. Govern • Enable the management of your SOA assets through the full production lifecycle (development, test, production, and retirement), • This capability is needed throughout the lifecycle to control by user, by user type, and by where a service is on the governance lifecycle. Ref: Carter (2007), Ch 5
  • 24. BSRR Capabilities (continued) Enrich • Enhance connectivity by enabling dynamic and efficient interactions between services at runtime, • By leveraging dynamic linkage, it enables ESB to find the best-fitting endpoint when the request is received, supporting loose coupling. Manage • Enable policy enforcement and conduct impact analysis to help optimize service performance, • Enable the measurement of services metrics, • Understanding of the services performance can assist the business with its SLAs. Ref: Carter (2007), Ch 5
  • 25. Business Processes in the Context of SOA
  • 26. • Existing business processes are decomposed into discrete units of business function termed services. • These services are then recombined into business processes in a more flexible manner. Such decomposition has led to the emergence of collaborative eco-systems. • In Service-oriented approach to BPR, a common business logic is available in reusable services that can be performed where it is most appropriate, regardless of organizational boundaries. Ref: Buecker et al. (2008), p6
  • 27. Ref: Buecker et al. (2008), p7
  • 28. Business Processes and Agility • Tight coupling between services makes the resulting business process fragile and difficult to change to meet the evolving needs of the business. • By moving functionality, (e.g. flow control, translation of data formats and protocols, and identity propagation) between services out of the application logic and into the services infrastructure, flexibility can be improved greatly. • In this case, each service only needs to know how to connect to the service infrastructure. Ref: Buecker et al. (2008), p8
  • 29. Connectivity using a service-oriented infrastructure Ref: Buecker et al. (2008), p8
  • 30. The Role of Web 2.0 in SOA
  • 31. The value proposition of Web 2.0 is similar to that of SOA—allowing change to occur without a lot of pain. Also similar to SOA, Web 2.0 requires a cultural change. Together, SOA and Web 2.0 fulfill the promise of flexibility and agility for a business process. Ref: Carter (2007), Ch 8
  • 32. Mashups and SOA • Mash-ups represent the practical bridge between SOA and Web 2.0. • If a Web 2.0 mash-up represents the coming together of information from disparate sources, SOA infrastructure provides those information sources. • Scalable, dynamic, and accessible over the Web, SOA services are the raw material for Web 2.0 mash-ups. Ref: Carter (2007), Ch 8
  • 33. REST, AJAX, and SOA • Both AJAX and REST are enablers for SOA • REST can be used to expose services, and AJAX is used to build front ends. • REST is a lightweight approach to interconnecting front-end and public Internet services, and the use of more structured services in back-end systematic services is advised. Ref: Carter (2007), Ch 8
  • 35. References • Buecker, A., Ashley, P., Borrett, M., Lu, M., Muppidi, S., Readshaw, N., & others. (2008). Understanding SOA Security Design and Implementation. IBM Redbooks. • Carter, S. (2007). The new language of business: SOA & Web 2.0. Pearson Education. • Keen, M. (2007). Implementing Technology to Support SOA Governance and Management. IBM, International Technical Support Organization. • Mabrouk, M. I. (2008, September 5). SOA fundamentals in a nutshell. Retrieved December 12, 2015, from http://www.ibm.com/developerworks/webservices/tutorials/ws-soa- ibmcertified/ws-soa-ibmcertified.html

Editor's Notes

  1. @PouriaGhatrenab
  2. @PouriaGhatrenab
  3. @PouriaGhatrenab
  4. @PouriaGhatrenab
  5. @PouriaGhatrenab
  6. @PouriaGhatrenab
  7. @PouriaGhatrenab
  8. @PouriaGhatrenab
  9. @PouriaGhatrenab
  10. @PouriaGhatrenab
  11. @PouriaGhatrenab
  12. @PouriaGhatrenab
  13. @PouriaGhatrenab
  14. @PouriaGhatrenab
  15. @PouriaGhatrenab
  16. @PouriaGhatrenab
  17. @PouriaGhatrenab
  18. @PouriaGhatrenab
  19. @PouriaGhatrenab
  20. @PouriaGhatrenab
  21. Aa registry and repository is an enabler of SOA governance. To be able to successfully provide visibility of services across an enterprise, there is a requirement for a central place to publish and find services and information about services. aka repository and/or registry in SOA A registry is someplace where you can register that you have a service and a pointer to that service. Think of it as a services phonebook. A repository is where metadata about services and related SOA artifacts, such as policies, can be stored. Ref: Carter (2007), Ch 8
  22. @PouriaGhatrenab
  23. @PouriaGhatrenab
  24. @PouriaGhatrenab
  25. In traditional approach to business process design, each business process has its own proprietary implementation of the business activities, which are often re-implemented in slightly different ways in other business processes and organizational units.
  26. @PouriaGhatrenab
  27. @PouriaGhatrenab
  28. @PouriaGhatrenab
  29. @PouriaGhatrenab
  30. @PouriaGhatrenab
  31. @PouriaGhatrenab
  32. Web 2.0 enables workers with little technical knowledge to build ad-hoc collaborative “enterprise mash-up” applications to address immediate business needs. Ref: Carter (2007), Ch 8
  33. @PouriaGhatrenab
  34. @PouriaGhatrenab
  35. @PouriaGhatrenab