Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Software

Architecture:
SOA Architecture

Régis ATEMENGUE
@regis_ate www.regisatemengue.com
Course objective
Understanding SOA
Architecture
Course overview
1. The Case Study
a. Description
b. Problems
c. Goals
2. What is SOA
3. Structure of Service-Oriented Architecture
Study Case
Description

The case study is an adaptation of a real-world scenario of a government agency. This


agency funds and manages the scholarship of post-graduate students who are studying
overseas to earn their Masters or Ph. Ds. After completing scholarships, the agency also
offers post-graduation services, which help the graduates find internships and jobs. The
high-level scenario goes as follows
Study Case
Description

First, there are three stages, the application stage where applicants submit their requests and get either
approved or rejected, the scholarship stage, this is the core of their business where approved applicants get
their entire scholarship managed in terms of finance and administration, and the graduate stage where students
that have finished their scholarships get services that help them get internships and jobs. In a high level, an
applicant applies to a scholarship. If approved, the student then travels to its nation country and starts the study
lifecycle. During this time, the government agency manages everything related to this scholarship, such as
funding, changing the major, grade striking, financial requests, pausing and resuming the scholarship, and so on.
After the conclusion of the study phase, graduates go back to their home country and the government agency
then manages the post-graduation lifecycle helping graduates lending, internships, and jobs offered by partner
companies.
Study Case
Problems
Study Case
Problems
Study Case
Problems

The systems were initially built in silos, with no holistic vision of the overall architecture. This meant that each
system was created without taking into account the overall growth and architecture. As a result, the agency now
has a set of siloed systems with redundant functionality, redundant data between data shops, fragmented data
between different shops, and systems that each have their own data model. This presents the organization with
an interesting problem. Business processes were designed from the outset to transcend unit boundaries and
require units to collaborate to achieve the required results, but the supporting systems, those that provide the
functions and data to the processes, are built in silos, without regard to collaboration between units.
Study Case
Problems
Problems

Because of this situation, the agency is now facing critical issues. The agency is not being able to keep up with
the rate of changing requirements. Business processes relying on the current state of information systems are
not flexible in the responsible changes and the agency is facing a real problem with its lack of agility. This
makes the agency slow to react to requirements, slow to launch new services and slow to take advantage of
new technical opportunities that could better enable the business. All this leads to a lack of customer
satisfaction. IT costs are high since the agency spends valuable time and money working around the limitations
caused by the IT state. Due to data and functionality redundancy, data aggregation, and different data models,
both development and operation costs are high to keep the business running. And because functionality and
data are redundant across units, customers are often required to enter the same information multiple times,
such as provide information, for example, and over time, this information becomes inconsistent, which in turn,
leads to unsatisfied customers and high IT costs.(Lack of customer-centricity)
Goals
Improve business processess flexibility

the agency wants to be agile in the response to new demands. It wants to improve the flexibility of business
processes so that changes of the new requirements are applied in a timely manner and the time to market is
decreased.

Decrease IT Costs

The agency also wants to decrease the IT development and operation costs. It wants less development time
and effort to be put to respond to changes and less time and effort to operate existing systems and data in the
response to these changes

Lack of customer-centricity

The agency also wants to create a customer-centric enterprise. Customers must not feel as if they are dealing
with different independent entities. The customer must have a single unified experience throughout the
interaction with the agency regardless of which unit is offering the service. Now in addition to these business
goals that are set to solve the current issues, one business goal is driven by an emerging business need.
What’s SOA(Service Oriented Architecture)
What’s SOA(Service Oriented Architecture)
SOA is an architecture style, that is technology-independent, meaning that SOA aims to
fulfill the strategic goals of service-oriented computing independent of any particular
technology. This makes SOA capable of leveraging new emerging technologies, as long as it
continues to fulfill its strategic goals. So on principle, the concept of a service is not tied to
any particular technology. It could be any piece of physically independent solution logic
designed following the design principles of service orientation.
the Structure of a Service-Oriented
Architecture
Source: Openclassroom
SOA Structure
Web service repository: This is a library of web services built to serve external requests for
information. The served information is usually a little piece of information, like a number, a word, some
variables, etc. For example, a flight number, a package tracking number, the status of an order (one
letter), etc. This library is usually documented in great detail since external applications will call the
functions it contains
Web service controller: This module communicates the information in the web service repository
with the service requesters. When an external service requester calls a certain function from the web
service repository, the web service controller interprets the call and looks for the function in the web
server repository. Then it executes the function and returns a value to the requester
Database server: This server contains the tables, indexes, and data managed by the core application.
Searches and insert/delete/update operations are executed here. Service requesters: These are
external applications that request services from the web

Service requesters: These are external applications that request services from the web service
repository through the internet, such as an organization requesting flight information from an airline or
another company asking the package carrier for the location of a package at a given moment.
Typical service organization of SOA architectures

Service is, obviously, the main component of SOA.


architecture. There are four basic types of services
.
functional Service: these define core business
operations.

Enterprise Service: these implement the


functionally defined by the functional services

Application services: These are confined to


specific application content.

Infrastructure service: implements non-functional


tasks such as authentication, auditing, security, and
logging.
SOA Structure
Illustrating the same example of a user buying a product on an eCommerce platform, we could define a
business service named “ProcessOrder” to handle the business logic associated with processing the order.
This service determines in an abstract way what is needed for that business to process the order. The
enterprise service bus orchestrates the calls needed to the enterprise services. The enterprise services
implement specific behavior defined by the business services. In this case, the service bus would call each
enterprise service in the correct order to process the user’s order, and the enterprise services would do the
actual work and manage the state.
Enterprise services are designed to be reusable for any workflow; the application services, on the other hand,
implement functionality that does not need to be reusable, like processing the order specific taxes that would
be relevant just for the order workflow, for example. Infrastructure services implement cross-cutting
functionality like logging or monitoring.

The mindset behind the application services is to make functionality reusable, and this is a core design
concern in this kind of architecture, opposed to microservices and event-driven where sharing functionality is
limited (even avoided). While SOA focuses on abstract, reusable functionality, microservice and event-driven
architectures focus on organizing their components around domains.
SOA Structure

Also, in SOA the service bus tends to become increasingly larger. Business logic tends to be added to the bus
instead of the services. The bus also accounts for several responsibilities besides orchestration. The bus is
usually the component that routes and knows to communicate with each service and often has logic to adapt
and transform requests. The enterprise service bus tends to grow and become a monolith in its own right
although the whole architecture is distributed, often having the worst of both worlds.
When Would I Use SOA Architecture?

You might also like