Chapter 3 SOA
Lesson objectives:
By the end of the session, students will be able to:
Define what Service Oriented Architecture(SOA) is.
Describe key features of SOA over traditional architecture
Justify why SOA is needed
Describe structure of typical SOA framework
Discuss the characteristics of SOA
Discuss the benefits of SOA
State the advantages and downsides of SOA
Describe the Web Service as Instance of SOA
2
What is SOA?
Service-Oriented Architecture (SOA) is an architectural style that
supports service-orientation.
Service-orientation is a way of thinking in terms of services and
service-based development and the outcomes of services.
A service:
is a logical representation of a repeatable business activity that
has a specified outcome (e.g., check customer credit, provide
weather data)
Is autonomous, can be distributed over a network, can be
reused to create new business applications
May be composed of other services
Is a “black box” to consumers of the service
Services-orientation vs Object-orientation?? Service vs Object??
SOA is not...
SOA is not Web Services
SOA is not about BPEL
SOA is not about ESB
SOA is not about XML
SOA is not about Technology
Not driven by the “How”
SOA is a fundamental change in the way we think about “What” our
business is
SOA: Changing Thinking and Technology
Orchestration is the automated configuration, management, and coordination of computer
systems, applications, and services.
Example services of SOA
An architecture in which one client gets different services from third-
party without reinventing it is known as SOA.
Example:
A person wants to build a website. A website needs a payment
gateway, products shipment service, and web hosting.
So what the person can do: will integrate any payment gateway
like PayPal, and use any 3rd party shipment services and gets
hosting from some company.
Therefore, if we need any type of service then we don’t need to create the
services from scratch. The idea is to use already build products and
expand your business without reinventing everything.
Source: https://www.itrelease.com/2018/10/advantages-and-disadvantages-of-service-oriented-architecture-soa/
Capabilities of SOA
What relationship between SOA and cloud computing services? What are services of cloud
computing?.
SOA is an evolutionary step
SOA is an evolutionary step...
In distributed communications
EAI Project-ware SOA
source:Sam Gentile
SOA: Evolution of Business usage of web
Discuss how business usage of web evolved?
Legacy Integration vs SOA
Legacy Integration SOA Integration
Which Integration is more agile?
Why does EA need SOA?
Enterprises change over time. They combine and split, as in
commercial mergers and spin-offs, or government department
reorganizations.
EA covers business operations, finance, people, and buildings
in addition to technology, and it covers technologies other than
IT, such as for manufacturing or transport.
The enterprise architect must understand these areas, at least
well enough to supervise architects that specialize in them.
The IT architect must be able to work in teams with such
specialists.
Why does EA need SOA?...
SOA focuses on the IT component of enterprise
architecture. This is concerned with the strategic
development of an enterprise's IT.
An enterprise architect looks at the overall
construction of the enterprise. SOA is a particular
construction technique that can be used to build
enterprise IT.
With SOA, you break the system down into services.
e.g. Point-of-sale (POS), Payment processing,
Inventory, Order fulfillment, Shipping….
What is the role of Enterprise Architect? IT Architect?
Why does EA need SOA?...
FROM Closed-Monolithic-Brittle TO Shared services
-Interoperable-Integrated
Why SOA?...
SOA basic Architecture
SOA: Layers of Services
SOA: Framework
SOA – How it fits together
End to end business process – A purchase to pay invoice processing system which needs to
validate delegation of authority approval limits via the HR system.
SOA Registry
Purchase 2 HR application
to pay application
1 Broker 3
Invoice Delegation Of
Processing Authority
Message (ESB)
4
1. Invoice processing system sends a request to service broker
2. Service broker connects to the registry to search for a service
3. Service broker then connects the invoice processing application to the DoA application (by
passing a description of the DoA application back to the Invoice processing application). They
can then connect directly
4. Once connected they can communicate with each other using messages until the service is
completed
Discuss service consumer, service broker, service provider, service registry.
SOA – Integration Enabler
Characteristics of SOA
Reusability – Logic is divided into
Composability – Collections of services
services with the intention of promoting can be coordinated and assembled to
reuse. form composite services which are
Contracts – Services adhere to a inherently integrated without the need
communications agreement, as defined for additional layers of middleware.
collectively by one or more service
Autonomy – Services have control over
description documents. the logic they encapsulate.
Loose coupling – Services maintain a
Statelessness – Services minimize
relationship that minimizes dependencies retaining information specific to an
and only requires that they maintain an activity.
awareness of each other.
Discoverability – Services are designed
Abstraction – Beyond what is described to be outwardly descriptive so that they
in the service contract, services hide can be found and assessed via available
logic from the outside world and define discovery mechanisms.
explicit boundaries.
SOA: Design Principles
SOA Benefits …
SOA Downsides
Some shortcomings of SOA:
Extra overload: In SOA, all inputs are validated before it is sent to
the service. If you are using multiple services then it will overload
your system with extra computation.
High cost: SOA is costly in terms of human resource, development,
and technology.
High bandwidth server: As some web service sends and receives
messages and information frequently so it easily reaches a million
requests per day. So it involves a high-speed server with a lot of data
bandwidth to run a web service.
Web Services: UDDI, WSDL, SOAP – base Protocols
What are typical Drivers of enterprise to initiate to SOA
goals?
SOA initiatives could be driven by some of the following needs
What are Approaches to Implement SOA?
Activity
●
Compare contrast: client-server with SOA, SOA with
Microservices
●
State the different technologies which implement SOA
●
Compare SOAP and Restful web services. How we
apply in our local context?
●
Describe SOA management tools
●
What do we mean Anti-pattern? Explain the SOA anti-
patterns?
END of CHAPTER 3