This document provides an overview of key topics related to system oriented architecture (SOA). It discusses SOA introduction, definition, architecture, services, connections, implementation using Java web services, requirements, principles, architectural principles, implementation, cloud computing, traditional vs SOA architecture diagrams, the SOA life cycle, and examples. The document is intended to introduce foundational concepts of SOA.
3. TOPICS
SOA INTRODUCTION
SOA DEFINITION
SOA ARCHITECUTRE
SOA SERVICES
SOA CONNECTIONS
SOA USING JAVA WEB SERVICES
SOA IN COMPUTING
SOA REQUIREMENTS
SOA PRINCIPLES
SOA ARCHITECTURAL PRINCIPLES
SOA IMPLEMENTATION
WHAT IS CLOUD COMPUTING IN SOA
SOA AND TRADITIONAL ARCHITECTURE DIAGRAM
SOA LIFE CYCLE
SOME OF THE RELATED EXAMPLES OF SOA
4. SOA Introduction
•The combination of Web Services and SOAs resolves
the issues of CORBA and DCOM approaches to SOAs.
• Now Web services have removed another barrier by
allowing applications to interconnect in an object-
model-neutral way.
•For example, using a simple XML-based messaging
scheme, Java applications can invoke Microsoft .NET
applications or CORBA-compliant, or even
COBOL, applications
HOME
5. A service-oriented architecture is essentially a collection of services.
These services communicate with each other.
The communication can involve either simple data passing or it could
involve two or more services coordinating some activity. Some means
of connecting services to each other is needed.
Service-oriented architectures are not a new thing. The first service-
oriented architecture for many people in the past was with the use
DCOM or Object Request Brokers (ORBs) based on the CORBA
specification
HOME
6. SOA ARCHITECTURE
•Service Oriented Architecture is an umbrella term very similar to
that other umbrella term, “web services”.
• SOA refers more to how these web services interact, however, in
a system.
• Below is a diagram I’ve knocked up which shows in a very crude
fashion the difference between traditional models and SOA.
NEXT
8. SOA SERVICES
If a service-oriented architecture is to be effective, we need a clear
understanding of the term service.
A service is a function that is well-defined, self-contained, and does
not depend on the context or state of other services
HOME
9. SOA CONNECTIONS
◙The technology of Web services (new window) is the most likely
connection technology of service-oriented architectures.
◙Web services essentially use XML (new window) to create
NEXT
10. ◙The following figure illustrates a basic service-oriented
architecture. It shows a service consumer at the right sending a
service request message to a service provider at the left.
◙ The service provider returns a response message to the
service consumer.
◙ The request and subsequent response connections are
defined in some way that is understandable to both the service
consumer and service provider.
◙A service provider can also be a service consumer.
NEXT
12. ◙ Java became a powerful development platform for Service-Oriented
Architecture (SOA) in 2006. Java EE 5, released in May
2006, significantly enhanced the power and usability of the Web
Services capabilities on the application server.
◙ Then Java SE 6, released in December 2006, incorporated the
majority of those capabilities into the standard edition of the Java
programming language.
NEXT
13. ◙Because robust Web Services technology is the foundation for
implementing SOA, Java now provides the tools modern enterprises
require to integrate their Java applications into SOA infrastructures.
◙Of course, Java has had basic Web Services capabilities for some time.
JAX-RPC 1.0 was released in June 2002. J2EE 1.4, finalized in
November 2003, included JAX-RPC 1.1.
HOME
14. SOA IN COMPUTING
In computing, service-oriented architecture (SOA) provides a
set of principles of governing concepts used during phases of
systems development and integration.
Such an architecture will package functionality as interoperable
services: functions provided as a service are available to be used
from systems created by other organizations.
A system implemented using the theory contained in this
article is called a Service Oriented Architecture implementation
NEXT
15. It is an attempt to develop yet another means for applications to
exchange data.
Service-orientation requires loose coupling of services with
operating systems, and other technologies that underlie
applications.
SOA separates functions into distinct units, or services, which
developers make accessible over a network in order that users
can combine and reuse them in the production of applications.
These services communicate with each other by passing data
from one service to another, or by coordinating an activity
between two or more services.
HOME
16. Requirements
In order to efficiently use a SOA, one must[citation needed] meet
the following requirements:
Interoperability between different systems and programming
languages provides the basis for integration between applications on
different platforms through a communication protocol.
One example of such communication is based on the concept of
messages.
Using messages across defined message channels decreases the
complexity of the end application, thereby allowing the developer of
the application to focus on true application functionality instead of
the intricate needs of a communication protocol.
NEXT
17. Desire to create a federation of resources. Establish and maintain
data flow to a federated data warehouse.
This allows new functionality developed to reference a common
business format for each data element.
HOME
18. Principles
The following guiding principles define the ground rules for
development, maintenance, and usage of the SOA:
Reuse, granularity, modularity, composability,
componentization and interoperability
Standards compliance (both common and industry-specific)
Services identification and categorization, provisioning and
delivery, and monitoring and tracking
HOME
19. SOA ARCHITECTURAL PRINCIPALS
oThe following specific architectural principles for design and service
definition focus on specific themes that influence the intrinsic behaviour
of a system and the style of its design:
oService encapsulation – Many web services are consolidated to be used
under the SOA. Often such services were not planned to be under SOA.
oService loose coupling – Services maintain a relationship that
minimizes dependencies and only requires that they maintain an
awareness of each other
oService contract – Services adhere to a communications agreement, as
defined collectively by one or more service description documents
NEXT
20. oService composability – Collections of services can be
coordinated and assembled to form composite services
oService autonomy – Services have control over the logic they
encapsulate
oService optimization – All else equal, high-quality services are
generally considered preferable to low-quality ones
oService discoverability – Services are designed to be outwardly
descriptive so that they can be found and assessed via available
discovery mechanisms
HOME
21. oService reusability – Logic is divided into services with
the intention of promoting reuse
oService Relevance – Functionality is presented at a
granularity recognized by the user as a meaningful service
oService abstraction – Beyond what is described in the
service contract, services hide logic from the outside
world
22. SOA IMPLEMENTATION
»The following references provide additional considerations for
defining a SOA implementation:
»SOA Reference Architecture provides a working design of an
enterprise-wide SOA implementation with detailed architecture
diagrams, component descriptions, detailed requirements, design
patterns, opinions about standards, patterns on regulation
compliance, standards templates etc.
»Life cycle management SOA Practitioners Guide Part 3:
Introduction to Services Lifecycle introduces the Services Lifecycle
and provides a detailed process for services management though
the service lifecycle, from inception to retirement or repurposing of
the services. It also contains an appendix that includes organization
and governance best practices, templates, comments on key SOA
standards, and recommended links for more information
HOME
23. What is cloud computing in SOA?
This isn’t another quick-start guide to cloud computing and
Service-Oriented Architecture (though you can follow that link to
get to one); it’s an investigation into what people are searching for
on Google.
So what are the top terms for Cloud computing? It’s no surprise
that “what is cloud computing?” is near the top of the list. Braving
Google’s wrath by my apparent keyword spamming, here they are:
cloud computing
ibm cloud computing
what is cloud computing
microsoft cloud computing
HOME
25. SOA LIFE CYCLE
After establishing an architecture baseline based on the SOA reference
architecture, practitioners should review the services lifecycle.
This section briefly describes the service lifecycle and identifies the
actors, potential tools, and artifacts associated with each stage of its
stages.
This document does not cover all the cultural, governance, and
organizations changes required to make SOA a success; instead, it focuses
on defining best practices for the services lifecycle.
The services lifecycle is part of the execution stage in the SOA lifecycle
diagram below.
NEXT
27. SOME OF THE REALTED EXAMPLES OF
SOA
EXAMPLE OF SOA DERIVATIVE PATTERNS PEER TO PEER
EXAMPLE OF SOA
EXAMPLE OF SOA DERIVATIVE PATTERNS INTERMEDIARY
EXAMPLE OF SOA DERIVATIVE PATTERNS ONE WAY MESSAGE
HOME