Soa Module1

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 42

MODULE 2

Service Oriented Architecture


Service Oriented Architecture

• SOA is helping businesses respond more quickly and more


efficiently to changing market conditions.
• An organization can take full overall control and look at
problems holistically with the help of SOA.
• SOA could be regarded as an architectural evolution rather
than a revolution.
• It captures many of the best practices of old software
architectures.
• Service-oriented architecture (SOA) is a software
development model that allows services to
communicate across different platforms and
languages to form applications.
• In SOA, a service is a self-contained unit of software
designed to complete a specific task.
There are two major roles within Service-oriented Architecture:

1.Service provider: The service provider is the maintainer


of the service and the organization that makes available
one or more services for others to use.
To advertise services, the provider can publish them in a
registry, together with a service contract that specifies the
nature of the service, how to use it, the requirements for
the service, and the fees charged.
2.Service consumer: The service consumer can locate the
service metadata in the registry and develop the required
client components to bind and use the service.
• Services - The services are the logical entities defined
by one or more published interfaces.
• Service provider - It is a software entity that
implements a service specification.
• Service consumer - It can be called as a requestor or
client that calls a service provider. A service consumer
can be another service or an end-user application.
• Service locator - It is a service provider that acts as a
registry. It is responsible for examining service provider
interfaces and service locations.
• Service broker - It is a service provider that pass
service requests to one or more additional service
providers.
Components Of SOA
• Application frontend: are active element of the SOA, delivering the value
of to the end-users. They initiate and control all activity of the enterprise
system.
Service: It is a software component that encapsulates high-level business
concept.
• Service bus: A flexible infrastructure for integrating applications and
services by routing message, transforming protocol between requestor
and service, handing business events and delivering them, providing QoS,
security and managing the interaction among services.
• Contract: It provide a specification of the purpose, functionality, constraints and
usage of services.

• Interface: Functionality of the service exposed by the service to the client that are
connected to the service.

• Implementation: The service implementation provides the required business logic


and appropriate data. It contains one or more of the artifact: programs,
configurations, data and database.

• Business logic: business process represented by the service.

• Data: data represented in the service used by the service.

• Service repository: It register the services and attribution to facilitate the discovery
of services operation access rights, owner, qualities etc.
Characteristics of SOA

• The services have the following features:


oSOA supports loose coupling everywhere in the project.
oIt supports interoperability.
oIt increases the quality of service.
oIt supports vendor diversity.
oIt promotes discovery and federation.
oIt is location-transparent.
oIt is still maturing and achievable idea.
Disavantages of SOA

• The disadvantages of SOA are:


oSOA depends on the implementation of standards.
Without standards, communication between applications
requires a lot of time and code.
oSOA is not for: applications with a high level of data
transfer, applications that do not require the
implementation of the request/response type and
applications that have a short life span.
oIncreasingly it becomes difficult and expensive to be
able to comply with protocols and speak.
oIt implies knowing the business processes, classifying
them extracting the functions that are common to them,
standardizing them, and forming with them layers of
services that will be required by any business process.
SOA Vs Client-Server Architecture

• SOA:
oPresentation layer is detached from services themselves.
oHighly distributed processing services themselves may
be distributed over many servers.
oComplex security model but provides flexibility
oIt requries powerful administration tools.
• Client server Architecture:
oApplication logic resides in client software.
oClient is responsible for most of the processing.
oSimple scenario, implements a very easy security model
oVery high maintenance costs of maintaining client server
application.
SOA VERSUS CLIENT SERVER ARCHITECTURE

• Any environment in which one piece of software requests or receives information


from another can be referred to as "client-server“

• The industry term "client-server architecture" generally refers to a particular


generation of early environments during which the client and the server played
specific roles and had distinct implementation characteristics

• Examples of computer applications that use the client-server model are email,
network printing, and the World Wide Web.
• These environments in which bulky mainframe back-ends served thin clients. The clients
are usually dumb terminals.
• This architecture is also referred as “Thin client model” since clients are using dumb
terminals. In this architecture, mainframe back-end server will provide service to many
number of client machine, which is dumb terminal.
• Business logic, presentation logic, Back-end databases all are stored the in server machine,
which is usually mainframe computer
• Mainframe systems natively supported both synchronous and asynchronus communication

• Disadvantage:
• Heavy processing load on server
• Heavy traffic in the network
• Client cannot work if server is not switched on
• The common configuration of this architecture consisted of multiple fat clients, each with its
own connection to a database on a central server.
• Client-side software performed the bulk of the processing, including all presentation-related
and most data access logic
• One or more servers facilitated these clients by hosting scalable RDBMS.

• The five primary characteristics of the two-tier client-server architecture (CSA) that are
used to compare with Service Oriented architecture(SOA) are listed below:
 Application logic
 Application processing
 Technology
 Security
 Administration
Application Logic
APPLICATION PROCESSING
Technology and security
Administration
SOA vs Distributed Architecture

To overcome the costs and limitations


associated with the two-tier client
serverarchitecture,
the concept mainstream
of building component-based applications
hit the mainsteam.

Introduction of component-based techniques


such as COM+(DCOM), CORBA, and EJB
gives birth to Multi-tier client-server
architectures(n-tier architectute)
Typical Distributed Internet architecture
• In this technology,
• server side distributed components are replaced with application web server or
• client side distributed components are replaced with web browser
• RPC communication mechanism is replaced with HTTP protocol to establish
communication between web server and browser
• Business process logic and backend database are stored in server side
Application logic
Application processing
Technology
security
Administration
SOA Framework

• SOA’s framework has five horizontal layers. These are


defined below:
oConsumer Interface Layer: It is a GUI based app for end-
users reaching the applications.
oBusiness Process layer: These are business-use cases in
works of application.
oServices Layer: This is a full industry, in-service table.
oService Component Layer: These are managed to
develop the services.
oOperational Systems Layer: It holds the data pattern.
SOA Framework

• SOA’s framework has five horizontal layers. These are


defined below:
oConsumer Interface Layer: It is a GUI based app for end-
users reaching the applications.
oBusiness Process layer: These are business-use cases in
works of application.
oServices Layer: This is a full industry, in-service table.
oService Component Layer: These are managed to
develop the services.
oOperational Systems Layer: It holds the data pattern.
• Consumer Interface Layer:
oIt is the point where consumers interact with the SOA.
oIt enables an SOA to support a client-independent,
channel-agonistic set of functionality, which is separately
consumed and rendered through one or more channels.
oIt is the point of entry for interactive consumers(humans
and other applications/systems) and services from
external sources.
oSince consumer layer is the entry point for all external
consumers, external to the SOA, SOA provides
organizations with the ability to support agility,
enhanced re-use, and improve quality and consistency.
oChannels can be thought of as the platforms by which
SOA consumers access services through the SOA.
• Capabilities of this layer is
oConsumer Services.
oPresentation Services.
oBackend Integration.
oCaching and Streaming Content.
oSecurity and Privacy.
oInformation access.
• Business Process Layer:
oIt covers process representation and composition, and
provides building blocks for aggregating loosely-coupled
services as a sequencing process aligned with business
goals.
oData flow and control flow are used to enable
interactions between services and business processor.
oThe interaction may exist within an enterprise or across
multiple enterprises.
oThis layer includes information exchange flow between
participants, resources and processes in a variety of
forms to achieve the business goal.
• Capabilities of this layer is
oProcess Definition
oEvent Handling
oProcess Runtime Enablement
oProcess Information Management
oDecision Management
oProcess Integration
oSecurity and Policy Compliance
oProcess monitoring and Management.
• Services Layer:
oIt consists of all the services defined within the SOA>.
oThis layer can be thought of as containing the service
descriptions for business capabilities and services as well
as their IT manifestation during design time, as well as
service contract and descriptions that will be used as
runtime.
oIt also provides the business functionality supported in
the SOA.
• Capabilities of this layer is
oService Definition
oService Runtime Enablement
oPolicy Management
oAccess Control
oService Clustering
• Service Component Layer:
oIn this layer contains software components, each of
which provides the implementation or realization for
services and their operations, hence the name “Service
Component”.
oIt also contains the Functional and Technical
Components that facilitate a Service Component to
realize more or more services.
oService Components are hosted in containers which
support the service specification.
oIt fulfils the following goals:
 Realizes one or more services.
 Provides an enforcement point for service
realization
 Enables IT flexibility.
• Capabilities of this layer is
oService Realization and Implementation
oService Publication and Exposure
oService Deployment
oService Invocation
oService Binding
• Operational Systems Layer:
oThis layer represents a “snapshot” and logical
categorizations and federalization of the runtime
environment.
oAs such, this layer supports all the capabilities of the
infrastructure that are needed for running/ executing all
software.
oThis layer supports the execution of the capabilities and
responsibilities of the other layers, including the
components implementing the services.
• Capabilities of this layer is
oService Delivery
oRuntime Environment
oVirtualization and Infrastructure Services.

You might also like