2. Dr.N.JAYAKANTHAN
Assistant Professor- III
Department of Computer Applications
16 years of Teaching Experience
Two years of Industry Experience
B.Sc Computer Science
MCA
M.Phil – Computer Science
Ph.D – Detecting Malicious URLs using
Classification Algorithms
4. What is SOA
• Defines a way to make software components reusable via
service interfaces.
• These interfaces utilize common communication
standards in such a way that they can be incorporated into
new applications without having to perform deep
integration each time.
• The service interfaces provide loose coupling.
• The services are exposed using standard network
protocols—such as SOAP (simple object access
protocol)/HTTP or JSON/HTTP—to send requests to read
or change data.
5. SOA in Business
• When businesses grow, they often add new products and
services. While these additions may help make the
business larger, it is often difficult to implement them in an
efficient manner.
• The goal of SOA is to make it easy for businesses to grow
and add new services.
• The Service Oriented Architecture is based on components
that work seamlessly with each other.
• Basically, SOA makes it possible for a business to add new
features and services without having to create them from
scratch.
7. Micro Service Architecture
Microservices are an architectural and organizational approach to
software development where software is composed of small
independent services that communicate over well-defined APIs.
These services are owned by small, self-contained teams.
Microservice Architecture is a Service Oriented Architecture. In the
microservice architecture, there are a large number of microservices.
By combining all the microservices, it constructs a big service. In the
microservice architecture, all the services communicate with each
other.
A microservice architecture – a variant of the SOA structural style – is
an architectural pattern that arranges an application as a collection
of loosely-coupled, fine-grained services, communicating through
lightweight protocols
8. SOA and MSA Basic
• SOA and MSA based of the Concept of Services.
• Service is a unit of functionality who’s access is through defined interface.
• Services are stateless, loosely coupled and communicated via messages.
• In Service oriented Model Services are exposed by Service-producer and
Invoked by Service-consumer.
• Service-producer and Service-consumer applications are loosely coupled by
the use of service contract and data contract.
• Service Contract: - is an interface that defines the message type used by
Service-producer and Service-consumer to exchange messages.
• Data Contract:- Is formal agreement between service and client that
abstracts the definition of the data to be exchanged.
9.
10. Service Orientation in Day Life
Consider the service offered by mail order companies and how
the principle of service orientation apply to the business of
shipping goods in response to order received in mail.
11. Mail order Service
1. Mail order companies offer the service of ordering goods via mail. They are
service providers of goods advertised by them.
2. Mail-order service provider publish catalog of goods in news papers and
magazines. The catalog constitutes a service registry.
3. People availing the mail – order service are service consumers who browse the
mail-order catalog to order the product of interest.
4. An order placed by service consumer constitute the service contract of the mail
order service. The mail-order form that the service consumer fills is the order, is
the order of goods to be shipped along with payment detail and constitute the
contract.
5. The service consumer puts the mail order form into the envelop with the
address detail on it. The postal department of a courier company reads the
address details and ships the form to the address of mail order delivery
6. In response to a service call that is received via the mail-order form, the mail-
order company ships the goods to the service consumers.
12. Evaluation of SOA and MSA
• SOA and MSA represents the next logical step in the
evaluation of programming paradigm.
13. • Software application were initially developed using procedural approach
supported by programming language (C & COBOL)
• programming language are evolved to support structured programming
principles (e.g. FORTRAN)
• Then the Object Oriented programming languages such as small talk and
C++ are used to model real world objects.
• The development language such as Microsoft Visual Basic Supports rich
user interface resulted in client-server application.
• The limitation in client-server solution resulted in enhancements to
languages and tool to support N-Tier application.
• The innovation in managing the life cycle of objects lead to the
development of component model for enterprise applications using Java
and C# could be deployed in web application servers(e.g. IBM WebSphere
Application Servers)
• SOA and MSA, based on service oriented model is the the next step in the
evaluation.
14. SOA and MSA Basic Concepts
• SOA is based on the concept of services.
• SOA services are exposed by service providers have been
course grained and carefully designed in mind the need
of service consumer in an enterprise.
• In full-fledges enterprise level implementation of SOA, an
Enterprise Service Bus(ESB) performing the function of
transformation and routing between service provider and
service consumer.
• Two most popular types of web services are SOAP web
services(XML over HTTP that is only machine readable)
and RESTful web services(JSON/XML/XHTML over HTTP is
human readable.
15. • Over the past decade a subset of SOA capabilities have
been received considerable attention that involve
defining relatively fine-grained, tightly coupled, single
responsibility, language independent services(referred to
as API) exposed as RESTfull web serives leaving their
creative use to the service consumers.
• This type of architectural style is known as Microservice
architecture which enables publishing of the
microservices, in addition to providing loose coupling and
security in a systematic and repeatable way.
• The Key point to note is that micro service architecture is
to be regarded as subset of what SOA has to offer.
16. Drivers for SOA
• A review of number of SOA projects in different organization brought
out the following Key Drivers for SOA from business and technology
perspective:
• Business
1. Rapid business process changes.
2. Reproduction of process cycle times.
3. Protection of investment in legacy applications.
4. Lower total cast ownership.
• Technology
1. Application Modernization.
2. Technology Change Management
3. Integration and interoperability of enterprise wide heterogeneous
applications.
4. Support by product vendors.
17. Dimensions of SOA
• The dimensions of SOA that enable the business
transformation in enterprise.
1. Reuse – build once and used many times
2. Integration – stich together different components of execution to
automate the execution process
3. Agility- is to externalize the component of execution so that the
process of execution can be defined and changed easily through
configuration
Two additional dimensions are essential from operational perspective
1. Governance – Define policies that services need to obey to at
design time and run time.
2. Quality of Service – Monitor and enforce the policies at run-time.
18. Reuse
• SOA Technique enable reuse through concept of services.
• Services are defined to be coarse grained to provide reusable functionality
from a business perspective.
• Agility is brough about in SOA through externalizing the definition of
business so that they may be altered through the configuration changes
with relatively ease according the needs of the business.
• The enter prise architecture based on SOA would have business process
application implemented as set of services that are orchestrated( process
defined and executed centrally) or choreographed(Process defined and
executed in a distributed manner)
• Changes in the to the business functionality of the any one service do not
have the impact on the rest of the services
19. Integration
• Integration of service providers and service consumers in SOA is handled
efficiently through Enterprise Service Bus (ESB) Pattern.
• ESB is having advantage over Hub-and-Spoke Architecture. In Hub-and-
Spoke Architecture, centralized Hub act as a message broker that accept the
request from multiple application that are connected via connectors as
spoke.
• Hub is capable for message transformation, validation, routing and
asynchronous message delivery.
• However the hub contributes to the single point of failure as all spokes as all
spokes communicate with the hub.
• The bus architecture on other hand constitute the blue print for a general
purpose medium for services provider and consumer to communicate.
• The bus architecture of ESB, with distributed service of message routing,
transformation and event handling provides the capability required for
loose coupling and efficient integration between providers and consumers.
20. • SOA, there fore, has reuse, agility and integration as dimensions
that are critical to do business transformation in organization.
22. • Four Principles of SOA
• Service boundaries are explicit and service interact through explicit
message-passing over well defined boundaries.
• Service are autonomous in terms of data isolation and loose coupling
• All interactions are based on service contract, data contract and associated
policies
• Service compatibility is based on policy expressions(such as those of Ws-
Policy)
23. Services
• Service is the basic component SOA
• A Service is exposed by a service provider is coarse-grained in
terms of business functionality it provides and is defined by a
service contract and a data contract.
• A business function of manageable size (e.g. EMI function for a
Loan) is exposed by the service.
• Service consumers invoke an operation published by a service as
a part of the service contract and provide the data as per the
data contract.
• Characteristics of a service is autonomy, loose coupling,
statelessness, composability and discoverability.
24. SOA Web Services
• Services can be implemented using a number of technologies
such as XML web services (or simply web services).
• Web services are described using WSDL and are invoked using
XML messages embedded in a SOAP envelope over a
standard protocol such as the HTTP.
• The Simple Object Access Protocol (SOAP) was originally
defined as a technology to bridge the gap between distinct
systems that communicated via Remote Procedure Calls
(RPC).
• It has since evolved into a widely supported messaging
format and protocol for use with XML Web services that
describes how the messages between service providers and
service consumers need to be structured and promote
interoperability.
25. Essentially, the SOAP protocol describes following in a the message:
1.Where to place headers
2. Where to place the message payload
3. How to indicate the action to be taken.
SOAP protocol address the basic requirements for service provider and
consumers to process the message and communicate with each other.
The processing of message (based on SOAP protocol) by service
provider during service call involve extraction of header and body
elements and they are converted to platform specific runtime types.
SOAP and Webservice Definition Language (WSDL) specify how this
needs to be done.
SOAP describe what is exchanged between service provider and
consumers.
WSDL specifies an URI (Uniform Resource Indicator) where the service
can be reached.
26. RESTful Web Services
• REST stands for REpresentational State Transfer.
• REST is web standards based architecture and uses HTTP
Protocol
• REST was first introduced by Roy Fielding in 2000.
• In REST architecture, a REST Server simply provides access to
resources and REST client accesses and modifies the
resources.
• Here each resource is identified by URIs/ global IDs. REST
uses various representation to represent a resource like text,
JSON and XML. JSON is the most popular one.
27. Enterprise Service BUS (ESB)
It is an architectural pattern that acts as mediator/broker between service
provide and service consumer.
It forms the communication infrastructure for service consumers to interact
with service providers across locations, supporting different transports across
organization boundaries.
It provide integration capability through content routing, transformation and
delivery between service providers and service consumers
Major vendors have tools/products that implement ESB Pattern.
Through ESP different vendors supports the core requirement of content
routing, transformation and delivery, they are significantly different from one
another in the implementation aspect.
28. Orchestration and Choreography.
Orchestration is the execution of service based on pre defied sequence with
central coordinator. The predefined sequence are correspond to workflow. It
controls the process level integration and automation of services.
Orchestration engines based on Business process level integration.
Orchestration engine based on Business Process Execution Language (BPEL)
have gained wide acceptance. BPEL is a Language to specify Business process
as workflow. Key Vendors and Open source project supports BPEL.
Choreography is the execution of service based on predefined sequence in a
distributed manner (without a coordinator) with each service having decision logic
on when to execute.
29. Governance
The SOA implementation in an enterprise is governed by defining policies to
address the non functional requirements (such as message transportation,
infrastructure availability and service availability) taking into account key
performance indicators for business and SLA for IT. A registry / repository tool
is often used for service governance
Quality of service
Quality of service for SOA implementation is achieved by monitoring service
invocations and enforcing policies define in run time to meet SLA.
A registry / repository tool that manages the policy definition in most cases is
perform this task.
30. Standards and Guidelines for SOA
Standard Bodies
The world wide Web Consortium published a set of standards for web
languages and protocols namely XML SOAP and WSDL to establish
compatibility between fundamentals of web technology and enable
hardware and software to access the web and work together.
W3C defines WS-Policy standard that consists of set of policies and
standard for attaining them to web services.
W3C also publishes Service Modeling Language (SML) standard for
creating models of complex service and system including structure,
constraints, policies and best practises.
31. • WS1 – The web service Interoperability Organization(WS1)
To promote the interoperable web service across platforms, Operating
Systems and Programming languages, profile specification have been
developed by WS1.
Key Specifications published by WS1- are:
WS-1 Basic Profile 1.1
WS-1 Basic Profile 1.2
WS-1 Security Profile 1.0
WS-1 Basic Security Profile 1.1
WS-1 Simple SOAP Binding Profile 1.0
WS-1 Attachment Profile 1.0
32. OASIS – Organization for Advancement of Structured Information Standards.
OASIS has developed a number of web service standards
• Enable an active context(group of objects) enables web service to support
distributed transactions(e.g WS-Transaction and WS-TX TC).
• Ensure failsafe, flexible, and efficient communication framework (e.g WS-RX
TC)
• Institute of through security model (e.g WS-RX TC).
• Provide a process description vocabulary that can be compiled into runtime
scripts, that support orchestration(WS-BPEL)
33. • OASIS has developed a standard reference model for SOA. It provide
understanding of entities and their relationship.
• SOA has developed with three main views:
1. Service echo system viewe related to participants of a SOA echo system.
2. Realizing services with focus on requirement of SOA
3. Owning view related to governance and management of SOA systems.
34. • Object Management Group
• OMG has developed standards for Modelling such as Business Process
Modelling notation for business process.
• UML for Service and Component Modelling
• Common Warehouse Metamodel(CWM) for modelling database and
business intelligence.
• OMG has taken a platform independent view based on Model Driven
Architecture (MDA) Standards.
• According OMG Each of the SOA Layers can be driven from models.
• MDA standards offer the capability to design a complete SOA solution
through models.
• A UML profile for SOA called SOAML has been developed by OMG with
Service Point, Service Channel and Service Contract and Service Interface.
35. • The SOA reference architecture consists of Several elements that are layers,
architecture building blocks and their interactions.
• Implementation decision based on availability of vendor products are made
for the element of the architecture
• Figure 8.5 shows the pictorial representation of the key standards.
36.
37. Emergence of SOA
• The mobile application have been causing increasing demand for accessing
functionality from outside the infrastructure of the enterprise.
• Consumers are demanding information, relevant to their context anywhere,
anytime, on any device
• The rise of the “Internet of Things” as also caused a push for standard
interface mechanism for device to communicate the data captured by them.
(such as refrigerators and dish washers)
• This has resulted in development of human readable, externally facing, light
weight services that are referred to as Application Programming
Interface(API) that can be published through portal.
• Developer can learn about published API and sign up to use them.
• API connect business process, services, contents and data
38. • From an architectural standpoint, all web services are API while all APIs are
not web services.
• A web service can be looked at API with additional wrappers that require
computer processing. API’s are light weight without these additional
wrappers and therefore human readable.
• Web services are carefully modelled, designed and implemented for reuse,
agility and integration to justify the business.
• They protect the service consumers from the changes implementation
aspect of service producer.
39. • An application built on SOA principle has been monolithic i.e built as
a single unit.
• Monolithic applications are success full in many cases and issues
related to time to market in some cases especially those are related
to could application.
• Making small changes to an application required the whole
application to be built and redeployed causing delay in getting the
new functionality to market. This has lead to the emergence of (Micro
Service Architecture).
• The dimensions of SOA reuse is not emphasised by micro service
architecture.
40. The micro service architecture style is an approach for developing a single
application as a suite for small services each running on its own process and
communicating with light weight mechanisms often an HTTP resource of API.
These services are built around business capabilities and independently
deployable by fully automated deployment machinery.
These services written in different programming languages and use different
storage technologies.