Soa Unit 1 - Final
Soa Unit 1 - Final
ARCHITECTURE
UNIT-1
1
What is SOA?
The radio
The
Speakers
The Cassette
Player
But, what happens if...
• We want a double cassette
• Or a CD player
• Or a digital radio
• ...
We have to change the whole thing
With modular applications
Speakers
With modular applications Speakers
Speakers
Speakers
Speakers
With modular applications
Amplifier
Double
cassette
DVD
Do you need a CD player?
DVD
•Double
•cassette
200 CDs
Player
•Amplifier
CD Player and cassette?
Service-oriented architecture
(SOA) is exactly what's needed
It's an approach that helps systems remain
scalable and flexible while growing, and that
also helps bridge the business/IT gap
12
Architecture Definition in IEEE
1471
⚫ Architecture :
The fundamental organization of a system embodied
in it’s components, their relationships to each other,
and to the environment, and the
principles guiding it’s design and evolution
⚫ Architect :
The person, team, or organization responsible for
designing systems architecture
Software Architecture
⚫ What is Software Architecture?
16
Fundamental SOA
1. The term "service-oriented" has existed for some time, it
has been used in different contexts and for different
purposes
2. Approach
1. The logic required to solve a large problem can be better
constructed, carried out, and managed if it is decomposed into
a collection of smaller, related pieces.
2. Each of these pieces addresses a concern or a specific part of
the problem.
3. This approach transcends technology and automation
solutions. It is an established and generic theory that can
be used to address a variety of problems.
17
A service oriented analogy
19
Architecture
•When coupled with "architecture,"
service-orientation takes on a technical
connotation.
•"Service-oriented architecture" is a term that
represents a model in which automation logic is
decomposed into smaller, distinct units of logic.
• Collectively, these units comprise a larger piece of
business automation logic.
• Individually, these units can be distributed. 20
Services oriented
Service-oriented architecture (SOA)
21
How services encapsulate logic
22
How services relate (I)
•The relationship between services is based on an
understanding that for services to interact, they must
be aware of each other. 🡪 service descriptions.
•A service description establishes
• the name of the service
• the data expected and returned by the service.
23
How services relate (II)
•The manner in which services use service descriptions
results in a relationship classified as loosely coupled.
• Loose coupling describes an approach where integration
interfaces are developed with minimal assumptions between
the sending/receiving parties, thus reducing the risk that a
change in one application/module will force a change in
another application/module. ( wikipedia ottobre 2007 )
•A communications framework capable of preserving
their loosely coupled relationship is therefore
required. [ messaging ].
24
How services communicate
• After a service sends a message, it loses control of what happens to the
message thereafter.
• The messages exist as "independent units of communication."
25
Why SOA?
Necessity of SOA
♣ Heterogeneous cross-platform
♣ Reusability at the macro (service) level rather
than micro(object) level
♣ Interconnection to - and usage of - existing IT
(legacy) assets
♣ Granularity, modularity, composability,
componentization
♣ Compliance with industry standards
Benefits of SOA
⚫ New products or processes simply execute
⚫ Flexible systems are not obstacle to changing and rapid
evolution of processes
⚫ Solving complex integration problem of large systems
⚫ Divided of project into smaller components that can be
done independent is simply
⚫ Control of progress in each subproject is calculated
⚫ Integration and connecting to other systems is dominant
approach
Benefits of SOA
⚫ Systems easily meet the requirements of users
⚫ The problem of data transfer between systems is solved
with integration
⚫ Complexity of systems hidden from users
⚫ Enterprise architects believe that the SOA can help the
business to response faster and more cost-effective to
market conditions changing
⚫ This style of architecture use reusability in macro level
instead micro level
THE EVOLUTION OF
SOA
29
SOA Timeline
30
SOA is an evolutionary step
▪ for architecture
An SOA Timeline
XML to Web Services to SOA
XML: brief history
• Like HTML, the Extensible Markup Language (XML) was a W3C
creation derived from the popular Standard Generalized Markup
Language (SGML) that has existed since the late 60s.
• This widely used meta language allowed organizations to add
intelligence to document data.
• The language itself was used as the basis for a series of additional
specifications.
• XML Schema Definition Language (XSD) and XSL
Transformation Language (XSLT) were both authored using XML.
(These specifications, in fact, have become key parts of the core XML
technology set)
33
XML
• XML data representation is the foundation layer of SOA
• XML establishes the structure of messages traveling between
services
• XSD schemas preserve the integrity and validity of message data
• XSLT is used to enable communication between disparate data
representations by schema mapping
Web Services:a brief history (I)
• In 2000, the W3C received a submission for the Simple Object
replace) proprietary RPC communication. The idea was for parameter data
transmitted between components to be serialized into XML, transported,
and then deserialized back into its native format.
35
Web Services:a brief history (II)
• This ultimately led to the idea of creating a pure, Web-based,
distributed technology (one that could leverage the concept of
a standardized communications framework to bridge the
enormous disparity that existed between and within
organizations).
• This concept was called Web services.
36
Web Services:a brief history (III)
• One of the first initiatives in support of Web services was the
Web Service Description Language (WSDL).
• The W3C received the first submission of the WSDL language in 2001 and
has since continued revising this specification.
37
Web Services:a brief history
•Web services required an Internet-friendly and
XML-compliant communications format
•Other alternatives were considered (XML-RPC),
but SOAP was the winning technology
•W3C responded by releasing newer versions of
SOAP that allow RPC-style and document-style
messages
•SOAP became a standalone term as the
acronym no longer matched the purpose
Web Services:a brief history
• Completing the first generation of the Web services standards
family was the UDDI specification.
• Originally developed by UDDI.org, it was submitted to OASIS, which
continued its development in collaboration with UDDI.org.
42
Standard Organizations that
contribute to SOA
•W3C
• In the SOA arena, its role has been primarily as a standards body
responsible for specifications that provide core and generic functionality.
•OASIS
• Its overall goal is to support the creation of standards targeted at specific
industries and to foster trade and commerce between eBusiness-enabled
enterprises.
•WS-I
• not produce technology standards.
• Instead, this organization provides profile documents that establish a
proven and tested collection of standards. Compliance to these profiles
guarantees organizations that their environments support a level of
industry-standard interoperability.
43
Comparision of Standards Organizations
44
What Are Web Services?
• Web Services refers to a collection of standards that cover interoperability.
• These standards define both the protocols that are used to communicate
and the format of the interfaces that are used to specify services and service
contracts.
45
Fundamental Web Services Standards
• There are five fundamental Web Services standards.
• Two of them are general standards that existed beforehand and were used
to realize the Web Services approach:
• XML is used as the general format to describe models, formats, and data types.
• HTTP (including HTTPS) is the low-level protocol used by the Internet.
46
•The other three fundamental standards are specific to
Web Services and were the first standards specified
for them:
• WSDL is used to define service interfaces. In fact, it can
describe two different aspects of a service: its signature
(name and parameters) and its binding and deployment
details (protocol and location).
• SOAP is a standard that defines the Web Services protocol.
While HTTP is the low-level protocol, also used by the
Internet, SOAP is the specific format for exchanging Web
Services data over this protocol.
• UDDI is a standard for managing Web Services (i.e.,
registering and finding services).
47
Primitive SOA
represents a baseline
technology architecture that is
supported by current major
vendor platforms
48
The Service-Oriented Enterprise
49
Extensible Markup Language
(XML)
•Standard data types and structures,
independent of any programming language,
development environment, or software system.
•Pervasive technology for defining business
documents and exchanging business
information, including standard vocabularies for
many industries.
•Ubiquitous software for handling operations on
XML, including parsers, queries, and
transformations.
50
Web services
•Pervasive, open standards for distributed
computing interface descriptions and document
exchange via messages.
•Independence from the underlying execution
technology and application platforms.
•Extensibility for enterprise qualities of service
such as security, reliability, and transactions.
•Support for composite applications such as
business process flows, multi-channel access,
and rapid integration.
51
Service-oriented architecture
(SOA)
•A strong architectural focus, including
governance, processes, modeling, and tools.
•An ideal level of abstraction for aligning
business needs and technical capabilities, and
creating reusable, coarse-grain business
functionality.
•A deployment infrastructure on which new
applications can quickly and easily be built.
•A reusable library of services for common
business and IT functions
52
Business process management
(BPM)
•Explicitly describe business processes so that
they are easier to understand, refine, and
optimize.
•Make it easier to quickly modify business
processes as business requirements change.
•Automate previously manual business
processes and enforce business rules.
•Provide real-time information and analysis on
business processes for decision makers.
53
Compare SOA to past
architectures
54
Client Server
Architecture
• The original monolithic mainframe systems that
empowered organizations to get seriously
computerized often are considered the first
inception of client-server architecture.
• These environments, in which bulky mainframe
back- ends served thin clients, are considered an
implementation of the single-tier client-server
architecture
Unit 1
Mainframe systems natively supported both synchronous and
asynchronous communication.
The latter approach was used primarily to allow the server to
continuously receive characters from the terminal in response
to individual key-strokes. Only upon certain conditions would
the server actually respond.
While its legacy still remains, the reign of the mainframe as
the foremost computing platform began to decline when a
two-tier variation of the client-server design emerged in the
late 80s.
Unit 1
This new approach introduced the concept of delegating logic
and processing duties onto individual workstations, resulting
in the birth of the fat client.
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 RDBMSs.
Unit 1
Figure: A typical two-tier client-server architecture.
Unit 1
Primary characteristics of the two-tier client-server
architecture individually and compare them to the
corresponding parts of SOA.
Application Logic
The Client Server architecture include fat client that does bulk of
processing and data-related logic and database server lying on the
server.
In the case of SOA options exist regarding where the application logic
can reside and how it is distributed.
Unit 1
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 .
In case of SOA, each service has a explicit functional
boundary and resource requirement.
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 withUnit
SOAP1
message framework. It makes use
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 depends on WS-security framework
for security.
Unit 1
Administration
In client server architecture, the maintenance
cost are high and administration problems are
also involved.
SOA is also not that immune to client-side
maintenance challenges.
Unit 1
SOA vs Traditional 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.
Distributed architecture introduces a new physical tier
web server, which replaced HTTP by RPC protocol to
communicate between remote web and application
server
Unit 1
Distributed Systems
•As businesses grow, they become more and more
complex, and more and more systems and companies
become involved.
•SOA is a paradigm for "organizing and utilizing
distributed capabilities."
•SOA allows entities that need certain distributed
capabilities to locate and make use of those
capabilities. In other words, it facilitates interactions
between service providers and service consumers,
enabling the realization of business functionalities.
65
Different Owners and
Heterogeneity
•SOA includes practices and processes that are
based on the fact that networks of distributed
systems are not controlled by single owners.
• Different teams, different departments, or even
different companies may manage different
systems
•Thus, different platforms, schedules, priorities,
budgets, and so on must be taken into account.
•This concept is key to understanding SOA and
large distributed systems in general.
66
Distributed systems are
heterogeneous
67
Unit 1
Distributed Object Systems / Protocols
Client Browser
HTTP
Applets HTML
HTML pages
Object
Implementation
Stub Skeleton
JRMP / IIOP
CORBA architecture
Web server
Client
Browser
HTTP
Applets HTML
HTML pages
Object
Implementation
Client Server
ORB ORB
IIOP
DCOM architecture
Web server
Client Browser
HTTP
ActiveX HTML
HTML pages
Object
Implementation
Proxy Stub
DCOM
Application Logic
SOA is similar to distributed internet application
place their application logic lies on server side but
difference lies in principles.
Components are tight coupled and processing
is wasted to locate component at runtime whereas
web services are loosely coupled thus it introduces
opportunity for reuse and extensibility.
Unit 1
Application Processing
Distributed architecture promotes proprietary
protocols like DCOM and CORBA for remote
data exchange.
SOA relies on message based communication,
it involves serialization and deserialization of
SOAP messages containing XML document
payloads
Unit 1
Technology
Distributed computing consists of components,
server side scripts and web technologies like
HTML and HTTP.
SOA consists of distributed objects using XML
and web services.
Unit 1
Security
Traditional security architectures includes
approaches like delegation and impersonation,
encryption to HTTP protocol.
SOA rely heavily extension and concepts
provided by WS-Security framework,
SOA emphasize on security logic.
SOAP messages provides header in security
logic can be stored.
Unit 1
Limitations of Components
♣ Tightly coupled
♣ Cross language/ platform issues
♣ Interoperability issues
♣ Maintenance and management
♣ Security issues
Common Characteristics of SOA
78
Characteristics of
SOA
The following primary characteristics:
1.Contemporary SOA is at the core of the service- oriented
computing platform.
2.Contemporary SOA increases quality of service.
3.Contemporary SOA is fundamentally autonomous.
4.Contemporary SOA is based on open standards.
5.Contemporary SOA supports vendor diversity.
6.Contemporary SOA fosters intrinsic interoperability.
7.Contemporary SOA promotes discovery.
8.Contemporary SOA promotes federation.
9.Contemporary SOA promotes architectural composability.
Unit 1
10. Contemporary SOA fosters inherent reusability.
11. Contemporary SOA emphasizes extensibility.
12. Contemporary SOA supports a service-oriented business
modeling paradigm.
13. Contemporary SOA implements layers of abstraction.
14. Contemporary SOA promotes loose coupling throughout
the enterprise.
15. Contemporary SOA promotes organizational agility.
16. Contemporary SOA is a building block.
17. Contemporary SOA is an evolution.
18. Contemporary SOA is still maturing.
19. Contemporary SOA is an achievable ideal.
Unit 1
SOA increases quality of service
• Ability for tasks to be carried out in a secure manner, protecting the
can be guaranteed.
81
SOA is based on open standards
• Standard open technologies are used within and
82
SOA supports vendor diversity
83
SOA promotes discovery
84
SOA encourages intrinsic
interoperability
85
SOA promotes federation
86
SOA promotes architectural
composability
88
SOA emphasizes extensibility
90
SOA promotes loose coupling
throughout the enterprise
91
SOA promotes organizational agility
92
SOA Is a Paradigm
• SOA is not a concrete architecture: it is
something that leads to a concrete architecture.
• You might call it a style, paradigm, concept,
perspective, philosophy, or representation.
• It is an approach, a way of thinking, a value
system that leads to certain concrete decisions
when designing a concrete software
architecture.
• This aspect of SOA has a very important
consequence: you can't buy SOA.
93
SOA Aims to Improve Flexibility
94
SOA Reference Model
SOA Reference Model...
• Is not architecture for a single implementation.
98
99
100
101
SOA Reference Model
102
• This reference model defines the essence of service oriented
architecture, and develop with a vocabulary and a common
understanding of SOA.
• It provides a normative reference that remains relevant for
SOA
• It is an abstract and powerful model, irrespective of the
various and inevitable technology evolutions that will
influence SOA deployment.
• It is the basis for describing references architectures and
patterns for more specific categories of SOA designs.
103
• Concrete architectures arise from a combination of reference
architectures, architectural patterns and additional
requirements, including those imposed by technology
environments.
• Architecture must account for the goals, motivation, and
requirements that define the actual problems being addressed.
• While reference architectures can form the basis of classes of
solutions, concrete architectures will define specific solution
approaches.
104
• Architecture is often developed in the context of a
pre-defined environment, such as the protocols, profiles,
specifications, and standards that are pertinent.
• SOA implementations combine all of these elements, from
generic architectural principles and infrastructure that
define the current needs
• Represent specific implementations that will be built and
used in an operational environment.
105
106
SOA Anatomy
Logic components of the Web services
framework
Web services contain
one or more
operations.
Figure 8.4 as an
example
10
Unit 1 7
Logic components of the Web
services
framework
Each operation governs
the process of a specific
function the web service
is capable of
performing.
Figure 8.6 as an
example
10
Unit 1 9
L ogic components of SOA
•Renamed terms
Fundamental parts of the
framework •Messages
• Activities
•Activity has been changed because
it uses a different context when
modeling service-oriented business
processes.
11
Unit 1 0
L ogic components of
automation
Messages = units of communication
11
Unit 1 2
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.
11
01/20/13 Unit 1 3
Components of an
SOA
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.
A process represents a large piece of work that requires
the completion of smaller units of work.
11
01/20/13 Unit 1 4
Components of an
SOA
11
01/20/13 Unit 1 5
How components in an SOA inter-relate
• An operation sends and receives messages to
perform work.
11
Unit 1 8
Common misperceptions about SOA
•An application that uses Web services is
service-oriented
• you need to standardize how Web services are positioned and
designed, according to service-orientation principles.
•SOA is just a marketing term used to re-brand Web
services
• SOA is a legitimate and relatively established technical term.
It represents a distinct architecture based on a set of distinct
principles.
•If you understand Web services you won't have a
problem building SOA
•Once you go SOA, everything becomes interoperable
119
TECHNICAL BENEFITS of SOA
• Efficient development process
• Platform-agnostic applications
• Standards-based architectures
120
BUSINESS BENEFITS of SOA
• Agile business and technology environment
• Evolutionary approach
121
Limitations of SOA
122
Service orientation : three core
components
1. SERVICES
2. DESCRIPTIONS
3. MESSAGES
123
Architectural component design
124
How services are designed :key aspects
• Loose coupling 🡪 Services maintain a relationship that only requires that
they retain an awareness of each other.
125
How services are built
•the term "service-oriented" and various abstract SOA
models existed before the arrival of Web services.
•However, no one technology advancement has been
so suitable and successful in manifesting SOA than
Web services.
•All major vendor platforms currently support the
creation of service-oriented solutions, and most do so
with the understanding that the SOA support
provided is based on the use of Web services.
126
Common principles of
service-orientation
Services are reusable
• https://www.youtube.com/watch?v=A3_QlYJRVvk
• https://www.youtube.com/watch?v=_dFJOSR-aFs
128
SOA Delivery Lifecycle
& Case Study
SOA Delivery Lifecycle
1
3
SOA Delivery Lifecycle
• Service-oriented analysis
– Determine potential scope of of our SOA Service are
– mapped out
– Individual services are model as services candidate
1
3
Service-Oriented Analysis
1
3
Service Delivery LifeCycle
• Service-oriented design
– Heavily standard-driven phase
– Service design
– Business process definition
1
3
Service-Oriented Design
1
3
Three core specification associate
with Service Design
1
3
Service Delivery Lifecycle
• Service Development
– Actual construction phase
– Choice of programming language
– .NET or Java EE platform
• Service Testing
– Services are required to undergo rigorous testing
prior to deployment
• Service Deployment
– Configuring distributed components, service
interfaces, and any associated middleware products
onto production servers 2
Service Delivery LifeCycle
• Service administration
– Standard application management issues
– How to monitor service usage?
– Version control? Message traced?
–
1
3
Role and Responsible
• SOA Leaders
– Decide whether SOA is right for the organization
– If so, make SOA a business principle
– Drive SOA adoption within the organization
• Business Process Managers
– Train to use BPM tools & know the methodology of
BPM
– Perform BPM
– Drive continuous optimization of business process
1
3
Role and Responsible
• IT Architects
– Derive the technical infrastructure for SOA
– Make the proper standards are being followed
– Describe technical principles (best practices)
– Establish the Service Oriented Analysis-Design
• SOA Developers
– Design & develop services and business processes
– Most services will wraping up existing software
systems
1
3
Role and Responsible
• SOA Support Personnel
– Monitor day-to-day operation of developed business
processes
– Suggest enhancements to a business process to the
business managers
• Software Testers
– Test services & business processes
• IT Managers
– IT governance & SOA governance
1
4
SOA Case Studies
1
4
Telco – Case Study
1
4
1. Electronic Wallet
1
4
1. Electronic Wallet
1
4
2. 128 Kb SIM
1
4
2. 128 Kb SIM
1
4
3. Easy Top-up
1
4
Business Requirement
1
4
Legacy Approach
1
4
Legacy Approach
1
5
Technical Challenges
1
5
SOA Approach
1
5
Results
1
5
THANK YOU
154