2. SOA
A service Oriented Architecture is Collection of services, its
communicate with each other units.
These units of logic are known as services
The communication can involve either simple data passing or it
could involve two or more services coordinating some activity.
3. EVOLUTION OF SOA
XML
XML used to represent data in a standardized manner.
XML architecture represents the foundation layer of SOA.
XML establishes the format & structure of messages traveling throughout services.
Web service
A web service is a piece of software that makes itself over the internet and
uses a XML messaging system.
SOA
Defined SOA as an architecture modeled around three basic components:
1.The service requestor,
2.The service provider,
3.The service registry
4. FUNDAMENTAL CONCEPTS
Service Based
Business functionality is made available in the form of “Services”
Specification Based:
Each service conforms to a specification describing how to use
the service.
Combinable:
Services can be combined to execute larger business processes,
transactions or applications
5. Re-usable:
Once a service definition is completed and published, one
party can write a program to provide the service as described
definition of service.
Another party can use the service by invoking the service
definition
Both the provider and user of the service can independently.
7. Characteristics of SOA
The following primary characteristics:
1. SOA is at the core of the service-oriented computing platform.
2. SOA increases quality of service.
3. SOA is fundamentally autonomous.
4. SOA is based on open standards.
5. SOA supports vendor diversity.
6. SOA fosters intrinsic interoperability.
7. SOA promotes discovery.
8. SOA promotes federation.
9. SOA promotes architectural composability.
8. 10. SOA fosters inherent reusability.
11. SOA emphasizes extensibility.
12. SOA supports a service-oriented business modeling paradigm.
13. SOA implements layers of abstraction.
14. SOA promotes loose coupling throughout the enterprise.
15. SOA promotes organizational agility.
16. SOA is a building block.
17. SOA is an evolution.
18. SOA is still maturing.
19. SOA is an achievable ideal.
9. 1. SOA is a core of the service-oriented computing platform.
• An application computing platform consisting of Web services
technology and service-orientation principles.
2. SOA increases quality of service
The ability for tasks to be carried out in a secure manner,
protecting the contents of a message and individual services.
Allowing tasks to be carried out that guarantee of message
delivery or notification of failed
Characteristics of SOA Cont…
10. 3. SOA is fundamentally autonomous
Requires that individual services should be as independent
Ability of service to carry out its logic independently of outside
influences
4. SOA is based on open standards
Characteristic of Web services is the fact that data exchange is based
on open standards.
After a message is sent from one Web service to another it travels
via a set of protocols that is globally standardized and accepted.
Figure: Standard open technologies are used
within and outside of solution boundaries.
11. 5. SOA supports vendor diversity
The open communications framework has significant
implementations of services, but it also allows organizations to
choose best-of-breed environments for specific applications.
Figure : Disparate technology platforms do not prevent service-oriented
solutions from interoperating
12. 6. SOA promotes discovery
SOA supports and encourages the discovery of services
throughout the enterprise.
Web services provide standards UDDI(Universal Description
Discovery and Integration) service registries.
SOA systems used UDDI to manage service descriptions
Figure : Registries enable a mechanism for the discovery of services.
13. 7. SOA fosters interoperability
An application service actually has immediate integration
requirements.
Design principles can be applied to outfit services with
characteristics that naturally promote interoperability.
When building an SOA application from the ground up, services
with interoperability become potential integration endpoints.
Figure: interoperable services enable unforeseen integration opportunities
14. 8. SOA promotes federation
While Web services enable federation, SOA promotes this cause by
establishing and standardizing the ability to encapsulate legacy and
non-legacy system and by exposing it via a standardized
communications framework.
Figure : Services enable standardized federation of disparate legacy
systems
15. 9. SOA promotes architectural compos ability
A business process can be broken down into a series of services,
each responsible for executing a portion of the process.
10. SOA fosters inherent reusability
SOA establishes an environment that promotes reuse on many
levels.
Reuse of software
Collections of services form service compositions can be reused by
larger compositions.
16. 11. SOA emphasizes extensibility
The scope of functionality offered by a service sometimes be
extended without breaking the established interface
Figure :Extensible services can expand functionality with minimal
impact.
17. 12. SOA supports a service-oriented business
modeling paradigm
business logic into services that can be implications as to how
business processes can be modeled.
Services can be designed to express business logic.
Figure :A collection (layer) of services encapsulating business process
logic.
18. 13. SOA implements layers of abstraction
Typical SOAs can introduce layers of abstraction is used to
access points of a variety of resources and processing logic.
When applied through proper design, abstraction can be
targeted at business and application logic.
19. 14. SOA promotes loose coupling throughout the
enterprise
A core benefit to building a technical architecture with loosely
coupled services is the resulting independence of service logic.
Services only require an awareness of each other, allowing them
to evolve independently.
20. 15. SOA promotes organizational agility
Change in an organization's business logic can impact the
application technology that automates it.
Change in an organization's application technology can impact
the business logic that automated it.
The most of the organization based on the exist between these
two parts of an enterprise.
21. Figure :A loosely coupled relationship between business and application
technology allows each end to more efficiently respond to changes in the
other.
22. 16. SOA is a building block
Services are composed into larger services.
Multiple SOA applications can be pulled into service-oriented
integration technologies to help build a Service-Oriented
Enterprise( SOE )
17. SOA is an evolution
It differs from traditional client-server and distributed
environments in that it is heavily influenced by service-
orientation and Web services.
23. 18. SOA is still maturing
Standards organizations and vendors are still continuing to
develop new SOA technologies
19. SOA is an achievable ideal
Moving an enterprise toward SOA is a difficult and huge task
Many organization begin with a single application and then begin
services into other applications.
24. Roots of SOA
(comparing SOA to past architectures)
What is architecture?
The architecture defines all of the components within the
design and how they will communicate within the application
Architecture is a template or framework that defined the
technology boundaries, rules, limitations, and design
characteristics that apply to all solutions.
26. 1.Application architecture
Application architecture is to development team what a blueprint
for solutions.
Different organizations document consists different levels of
application architecture. Some keep it high-level.
Providing physical and logical representations of the technical
blueprint and include more detail, such as common data
models, communication flow diagrams, security requirements, and
aspects of infrastructure.
27. 2.Enterprise architecture
In larger IT environments, the need to control and direct IT
infrastructure is critical.
An enterprise architecture have master specification to created as
well as defined of the supporting infrastructure.
Enterprise architectures often contain a long-term vision of how the
organization plans to evolve its technology and environments.
Typically, changes to enterprise architectures directly affect
application architectures.
28. 3.Service-Oriented Architecture
Service-oriented architecture spans both enterprise and application
architecture domains.
SOA can be applied across multiple solution environments.
SOA is used in building reusable and interoperable services based
on a vendor-neutral communications platform.
SOA belongs in those areas that have the most to gain from the
features and characteristics it introduces.
30. Comparing SOA with Client-Server
Architecture
Single-tier client-server architecture
A client is defined as a requester of services and a server is defined
as the provider of services.
A single machine can be both a client and a server depending on the
software configuration.
This environment, in which bulky mainframe back-ends served
thin clients, are considered an implementation of the single-tier
client-server architecture.
The client is simply responsible for running the presentation
software.
31. This architecture Supports both synchronous and asynchronous communication.
Figure: A typical Single -tier client-server architecture.
32. Two-tier client-server architecture :
This new approach introduced delegating logic and processing
duties onto individual workstations, called as fat client.
Further, graphical user-interface (GUI) was considered in two-tier
client-server.
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 processing, including all
presentation-related and most data access logic. Ex: scalable
RDBMSs.
34. Application Logic
Client-server environments place application logic into the client
software. that controls the user experience, as well as the back-end
database .Ex: Servlet, JSP, Database.
The presentation layer within service-oriented solutions is a piece
of software capable of exchanging SOAP messages according to
required service contracts.
35. Application Processing
The Client Server architecture follow 80/20 where bulk of
processing is done by the client and other database access and
connection pooling is done by the server .
Enterprise solutions consist of multiple servers, each hosting
sets of Web services and supporting middleware. There is no
fixed processing ratio.
Communication between service & requestor can be synchronous
or asynchronous.
36. Technology
Client Server Architecture make use of 4GL programming
languages and for performance reasons make use of 3GL
programming languages. They also use vendor based RDBMS
packages.
In case of SOA, XML data representation architecture along with
SOAP message framework. It makes use of HTML,CSS,HTTP ,
J2EE,.NET etc.
SOA components such us XML, SOAP,WSDL,UDDI, J2EE, .NET
37. Security
In case of the client server, the security is centralized at the server
side. But security can also be realized on the client side.
SOA heavily required to security depends on Multiple technologies
are involved which comprise the WS-Security framework
38. Administration
In client server architecture, the maintenance cost are high
and administration problems are also involved.
Maintenance issues spanned both client and server ends.
Client workstations
SOA is simple and flexible process.
39. Comparing SOA with Distributed
Internet Architecture
Distributed architecture consists of many components but it
reduces problem of centralization on server.
It provides a dedicated servers which shares and manages
database connections.
N-Tier Architecture..(Multi-tier client-server architectures)
It refers to the architecture of an application that has at least
three logical parts ,that are separate
40.
41. Application Logic
SOA is very similar to distributed Internet architecture.
Traditional distributed applications consist of a series of
components that reside on application or web servers.
Components are designed with varying functionality and
reusability.
Components residing on the same server communicate via
proprietary APIs (RPC).
42. RPC protocols are used to accomplish the communication
across server boundaries.
This is made possible with help of local proxy stubs that
represent components in remote locations
43. Application Processing
Distributed architecture uses protocols like DCOM and CORBA
for remote data exchange.
They can support the creation of stateful and stateless
components that interact with synchronous data exchanges.
Stateless web services do not maintain a session between
requests
Stateful web services maintain a session during your entire
browsing.
SOA relies on message based communication, it involves
serialization and deserialization of SOAP messages containing
XML document payloads
44. Technology
Distributed computing consists of components, server side
scripts and web technologies like HTML and HTTP.
Web technologies such as HTML and HTTP
Server-side scripts such as Selvelt, JSP, PHP, .NET
Middleware such as IBM,Oracle WebLogic, Jboss
SOA consists of distributed objects using Xml and web services.
45. Security
When application logic is across multiple physical layers,
implementing fundamental security measures like as
authentication.
A server-side connection facilitates the identification of users
and need the safe transportation of corporate data.
When data is travel across different layers, new security
approaches such as delegation and impersonation are needed.
SOA
SOA rely heavily extension and concepts provided by WS-
Security framework(Eg: SOAP)
46. Administration
Maintaining component-based applications involves
keeping track of individual component instances,
Tracing local and remote communication problems,
Monitoring server resource demands,
Database administration tasks.
Distributed Internet architecture further introduces the Web
server maintenance.
Enterprise-level SOAs require runtime administration
maintenance.
48. Components of an SOA
Message
A message represents the data required to complete some or
all parts of a unit of work.
Operation
An operation represents the logic required to process
messages in order to complete a unit of work.
49. Service
A service represents a logically grouped set of operations
capable of performing related units of work.
Processes
A process contains the business rules that determine which
service operations are used to complete a unit of
automation.
50. A process represents a large piece of work that requires the
completion of smaller units of work.
53. Common principles of SOA
Services are reusable
Services share a formal contract
Services are loosely coupled
Services abstract underlying logic
Services are compostable
Services are autonomous
Services are stateless
Services are discoverable
54. Services are reusable
It is a design principle that is used to create services that have
the potential to be reused across the enterprise resources
55. Services share a formal contract
It provide a formal definition for all of the primary parts of an SOA
Service contracts provide a formal definition of:
The service endpoint and Service operation
Every input and output message supported by each operation
Rules and characteristics of the service and its operations
56. Services are loosely coupled
Services must be designed to interact without the need
for tight, cross-service dependencies.
57. Services abstract underlying logic
It is the principle that allows service details are hidden from
the potential customers.
Also referred to as service interface-level abstraction
58. Services are composable
It is an aggregate of services collectively other services to
accomplish its work automatically.
The Update Everything operation encapsulating a service composition
59. Services are autonomous
It is a service grant a service exclusive ownership of the logic it
encapsulates.
Types:
Service level autonomy
Service boundaries are distinct from each other.
It governs the legacy system but also shares resources with
other clients.
Pure autonomy
Complete control and ownership on services
60.
61. Services are stateless
Statelessness is a preferred condition for services and that
promotes reusability and scalability.
62. Services are discoverable
Discovery helps avoid the accidental creation of redundant
services that implement redundant logic.
Because each operation provides a reusable piece of
processing logic.
64. Benefits of SOA
Various offers are provided by SOA which proved to be
beneficial. These are:
Language Neutral Integration
Component reuse
Leveraging Existing System
Organizational agility
65. Language Neutral Integration
Programming language neutralization is one of the key
benefits of SOA's integration approach.
Once an organization built an application component,
and offered it as a service, the rest of the organization
can utilize that service.
Component Reuse
66. Streamlined architectures &solutions
Its reduced processing overhead and reduced skill-set
requirements
This is one of the major use of SOA which is to classify
elements or functions of existing applications and make
them available to the organizations or enterprise.
Leveraging Existing System
67. Organizational Agility
Agility can be defined as the ability of a company to adapt
both external and internal changes.
Rapidly meet customer demands and expectations.
Lead change improving service, practices, and outcomes.
69. Service layers
Service layer abstraction
Application service layer
Business service layer
Orchestration service layer
Agnostic services layer
70. 1.Service layer abstraction
These components are responsible for realizing the
functionality of services.
Its locate between the application and business Layer, which
is exposed services (both individual and composite services)
Problems solved by layering services
1. Logic should be represented by services?
2. Services relate to existing application logic?
3. Services best represent business process logic?
71. Logic should be represented by services?
Services model can be represent business logic and application
logic, long with principles of SOA can be applied.
Application logic- logic with User Interface
Business logic- logic with no User Interface
To achieve loose coupling service its requires separate layers
service.
Individual collections of services point out the corporate
business logic and technology-specific application logic.
Each domain of the enterprise is does not depended on the other.
72. Services relate to existing application
logic?
Existing systems impose number of constraints, limitations &
environmental requirements that taken into during service design.
Designed Services to represent application logic should exist in a
separate layer.
Applying a service layer to legacy system it require that some
service- orientation principles be compromised.
These groups of services are belonging to the application service
layer.
73. Services best represent business logic?
Business logic is define the organization's business models and
business processes.
When modeling services to represent business logic, it ensure in
alignment with existing business models.
Business logic services that belonging to the business service layer
which is support for SOA business modeling.
74. The application service layer establishes and exists to express
technology-specific functionality.
Application service provide reusable functions related to
processing data within new or legacy application environments
2.Application service layer
75. Characteristics of Application services
Expose functionality within application logic
Solution-agnostic
Generic and reusable
Inconsistent in terms of the interface
Consist of a mixture of custom-developed services and third-
party services
76. Examples of application services
Utility service
A generic utility services those providing reusable operations that
can be composed by business services.
wrapper service
Wrapper services utilized for integration purposes.
Wrapper service is a service provided by legacy vendors
wrapper service model is known as an auto-generated
WSDL that contain information about the service
77. 3.Business service layer
The business service layer is comprised a direct
implementation of the business service model.
Business services are controllers that compose application
services to execute their business logic.
They are responsible for expressing business logic and
corporate business models.
78. Types of Business service layer
abstraction
Task-centric business service
A service encapsulates a business logic specific to task
or business process
Entity-centric business service
A service encapsulates a specific business entity (such
as an invoice or timesheet)
79. Compare Application service layer
&
Business service layer
APPLICATION SERVICE LAYER BUSINESS SERVICE LAYER
The establishes and exists to express
technology-specific
The establishes and exists to express
business-specific functionality
Its contain both application service and
business service called hybrid service.
The business service layer reserved
For business logic only.
80. 4.Orchestration service layer
The orchestration service layer consists of one or more process
services that compose business and application services .
According to business rules and business logic embedded
within process definitions.
81. Orchestration languages (WS-BPEL) its allow web service,
APIs and human process management.
The orchestration service layer abstract other services to
ensure the service operations are executed in a sequence.
Process services becoming utility services to an extent, if a
process is a reusable
82. 5.Agnostic services
Services can be process and solution-agnostic while used as
part of a service layer that connects different processes and
solutions
83. Agnostic service layers tie together multiple business processes and
automation solutions.
It promote reuse but blur the architectural boundaries of individual
solutions
Agnostic service layers are not limited to a single process or solution
environment.
An application-level SOA depends on existing solution-agnostic
services also does not have a well defined application boundary.
Application services are built according to the utility service model
that is generic, reusable, and solution-agnostic.
84. Compare Orchestration service layer
&
Agnostic services
ORCHESTRATION SERVICE LAYER AGNOSTIC SERVICES LAYER
Its consists of one or more process
services that compose business
and application services according
to business rules
Solution-agnostic service layers
relate to and tie together multiple
business processes and automation
solutions