Oracle Reference Architecture - Services
Oracle Reference Architecture - Services
Oracle Reference Architecture - Services
September 2010
ORA and Service Orientation, Release 3.0
E15827-03
Contributing Author: Cliff Booth, Dave Chappelle, Jeff McDaniels, Mark Wilkins, Steve Bennett
Warranty Disclaimer
As individual requirements are dependent upon a number of factors and may vary significantly, you should
perform your own tests and evaluations when making technology infrastructure decisions. This document
is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle
Corporation or its affiliates. If you find any errors, please report them to us in writing.
This document may provide information on content, products, and services from third parties. Oracle is not
responsible for and expressly disclaim all warranties of any kind with respect to third-party content,
products, and services. Oracle will not be responsible for any loss, costs, or damages incurred due to your
access to or use of third-party content, products, or services.
Limitation of Liability
IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL OR
CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR USE,
INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT,
ARISING FROM YOUR ACCESS TO, OR USE OF, THIS DOCUMENT OR THE INFORMATION.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.
Contents
Preface ................................................................................................................................................................. ix
Audience....................................................................................................................................................... ix
How to Use This Document....................................................................................................................... ix
Document Structure .................................................................................................................................... ix
Related Documents ..................................................................................................................................... ix
Conventions ................................................................................................................................................. x
1 Introduction
1.1 Oracle Reference Architecture .................................................................................................. 1-1
1.1.1 ORA Perspectives ................................................................................................................ 1-2
1.2 Service-Oriented Architecture .................................................................................................. 1-2
1.3 ORA and SOA ............................................................................................................................. 1-3
1.4 Products Labeled “SOA” ........................................................................................................... 1-4
1.5 ORA without SOA ...................................................................................................................... 1-4
2 Definition of a Service
2.1 Definition of “SOA Service” ...................................................................................................... 2-1
2.2 Facets of a SOA Service .............................................................................................................. 2-1
2.2.1 Contract ................................................................................................................................. 2-2
2.2.2 Interface................................................................................................................................. 2-2
2.2.3 Implementation.................................................................................................................... 2-2
2.3 Usage Agreement........................................................................................................................ 2-3
iii
3.2.3 BPM and the Oracle Reference Architecture ................................................................... 3-6
3.3 EDA Perspective Conceptual Interlock ................................................................................... 3-7
3.3.1 EDA Solutions ...................................................................................................................... 3-7
3.3.2 EDA and SOA ...................................................................................................................... 3-8
3.3.3 EDA and the Oracle Reference Architecture ................................................................... 3-9
3.4 MDM Perspective Conceptual Interlock ................................................................................. 3-9
3.4.1 MDM Solutions .................................................................................................................... 3-9
3.4.2 MDM and SOA ................................................................................................................. 3-10
3.4.3 MDM and the Oracle Reference Architecture .............................................................. 3-11
3.5 BI Perspective Conceptual Interlock ..................................................................................... 3-11
3.5.1 BI Solutions ........................................................................................................................ 3-12
3.5.2 BI and SOA ........................................................................................................................ 3-13
3.5.3 BI and the Oracle Reference Architecture ..................................................................... 3-14
3.6 Enterprise 2.0 Perspective Conceptual Interlock................................................................. 3-14
3.6.1 E2.0 Solutions .................................................................................................................... 3-14
3.6.2 E2.0 and SOA..................................................................................................................... 3-15
3.6.3 E2.0 and the Oracle Reference Architecture ................................................................. 3-16
3.7 B2B Perspective Conceptual Interlock .................................................................................. 3-16
3.7.1 B2B Solutions..................................................................................................................... 3-16
3.7.2 B2B and SOA ..................................................................................................................... 3-17
3.7.3 B2B and the Oracle Reference Architecture .................................................................. 3-18
3.8 CM Perspective Conceptual Interlock .................................................................................. 3-19
3.8.1 CM Solutions ..................................................................................................................... 3-19
3.8.2 CM and SOA...................................................................................................................... 3-20
3.8.3 CM and the Oracle Reference Architecture .................................................................. 3-20
4 Summary
iv
v
List of Figures
1–1 ORA Perspectives........................................................................................................................ 1-2
1–2 SOA ETS and ORA ..................................................................................................................... 1-3
2–1 Facets of a SOA Service .............................................................................................................. 2-2
2–2 Service Consumer Usage Agreement....................................................................................... 2-3
3–1 SOA Services and Infrastructure .............................................................................................. 3-2
3–2 Oracle Reference Architecture .................................................................................................. 3-2
3–3 Services Leverage and Expose Infrastructure......................................................................... 3-3
3–4 BPM and SOA Relationship ...................................................................................................... 3-5
3–5 Process Lifecycle ......................................................................................................................... 3-6
3–6 EDA Relationships...................................................................................................................... 3-8
3–7 EDA Solution in a SOA Environment...................................................................................... 3-8
3–8 MDM in a SOA Environment................................................................................................. 3-10
3–9 BI Solution Concept ................................................................................................................. 3-12
3–10 BI in a SOA Environment ....................................................................................................... 3-13
3–11 B2B Solution Concept .............................................................................................................. 3-17
3–12 B2B in a SOA Environment .................................................................................................... 3-18
vi
Send Us Your Comments
Oracle welcomes your comments and suggestions on the quality and usefulness of this
publication. Your input is an important part of the information used for revision.
■ Did you find any errors?
■ Is the information clearly presented?
■ Do you need more information? If so, where?
■ Are the examples correct? Do you need more examples?
■ What features did you like most about this document?
If you find any errors or have any other suggestions for improvement, please indicate
the title and part number of the documentation and the chapter, section, and page
number (if available). You can send comments to us at [email protected].
vii
viii
Preface
This document introduces the concepts of service orientation and describes the
relationship between the Oracle Reference Architecture (ORA) and Service-Oriented
Architecture (SOA). The document describes why service-orientation is fundamental
concept within ORA, provides the unambiguous definition of a SOA Service in the
context of ORA, and presents the service-oriented architecture principle underpinning
ORA. This document also describes how various Enterprise Technology Strategies
(e.g. BPM, MDM, BI) can be combined using a service-oriented approach. This
document does not cover any Oracle products nor does it discuss any specific industry
standards.
Audience
This document is intended for Enterprise Architects and Solution Architects who want
to understand the foundation upon which ORA is based.
Document Structure
This document is organized in sections that first introduce the primary concepts
underpinning ORA and then provides concrete definitions for the terms used. The
architecture principles infused into ORA are also identified. Specifically,
■ Chapter 1 introduces the fundamental concepts for ORA.
■ Chapter 2 provides an unambiguous definition of SOA Service used as a building
block with a SOA.
■ Chapter 3 describes how different Enterprise Technology Strategies can be
combined by following the foundational concepts of ORA.
■ Chapter 4 is a summary of the document.
Related Documents
IT Strategies from Oracle (ITSO) is a series of documentation and supporting
collateral designed to enable organizations to develop an architecture-centric approach
ix
to enterprise-class IT initiatives. ITSO presents successful technology strategies and
solution designs by defining universally adopted architecture concepts, principles,
guidelines, standards, and patterns.
x
Conventions
The following typeface conventions are used in this document:
Convention Meaning
boldface text Boldface type in text indicates a term defined in the text, the ORA
Master Glossary, or in both locations.
italic text Italics type in text indicates the name of a document or external
reference.
underline text Underline text indicates a hypertext link.
xi
xii
1
1Introduction
Introduction 1-1
Service-Oriented Architecture
delineated in writings about SOA and frequently leads to confusion and ambiguity
about what is SOA and what is not.
While the illustration is for the SOA ETS, a similar illustration could be shown for any
other ETS such as the BPM ETS, BI ETS, etc. This illustrates the composability inherent
in the structure of ORA and the ETSs.
However, ORA does have a special relationship with SOA. ORA embraces
service-orientation as a core tenet to improve agility, rationalize functions and data,
and promote reuse in an effective manner. The entire strategy of SOA is not core to
ORA, but the concept of exposing data and functionality as interoperable SOA
Services is core to ORA.
ORA must provide interoperability across all Oracle products and must also
effectively deal with the heterogeneity that exists in IT environments. SOA Services
provide a clean, consistent approach to deal with both of these complexities. This is
the reason that ORA includes service orientation as a core tenet. Stated as an
architecture principle, this becomes:
■ The architecture embraces services as the primary mechanism for
interoperability and integration.
Service orientation offers tremendous value in the form of agility, interoperability,
rationalization, standardization, manageability, and reuse. By incorporating
service-oriented principles at the core, ORA can infuse these benefits into all
layers, aspects, and perspectives of the computing environment. Service
orientation is a key enabler for emerging strategies such as Software as a Service
(SaaS) and Cloud Computing.
Introduction 1-3
Products Labeled “SOA”
The term “service” is widely used in IT to mean many different things. ORA addresses
this ambiguity by providing a precise definition of a service that is part of SOA versus
other uses of the term. This section includes a concrete verbal definition of a SOA
Service as well as describing the meta-model for a SOA Service. This provides a
precise definition for the term “SOA Service” when used in the ORA context.
The three primary parts of a SOA Service as defined by ORA are contract, interface,
and implementation.
2.2.1 Contract
A Service Contract describes the SOA Service in human-readable terms. It includes
descriptions of both functional and non-functional capabilities. Contracts describe
functional capabilities of the available operations of a SOA Service using business
terms. Contracts also specify non-functional aspects of SOA Service, such as semantics,
invocation style, security requirements, transaction requirements, quality of service,
etc.
2.2.2 Interface
A Service Interface provides a means for the consumers of a SOA Service to access its
functionality according to the Service Contract. The interface separates the consumer
from the Service Implementation and isolates the consumer from the details of the
implementation. The consumer is only able to access functions and data offered
through the interface.
2.2.3 Implementation
The Service Implementation is the technical realization of the contract. It is responsible
for fulfilling all functional and nonfunctional capabilities stated in the contract. The
implementation may leverage functionality in existing systems, newly developed
code, or a combination of both. Since infrastructure is often used to help satisfy certain
capabilities of the SOA Service (either functional or non-functional), the infrastructure
components act as part of the Service Implementation.
Figure 2–2 illustrates two SOA Services that share a backend system exposed via two
interfaces, one synchronous and one asynchronous. There are three Usage
Agreements illustrated for these two SOA Services. This is only an example and there
could be different combinations of backend systems, Service Interfaces, Service
Contracts, and Usage Agreements.
Having both a Usage Agreement and a Service Contract provides a decoupling
between the service provider and service consumer. This not only facilitates reuse but
also provides a separation of concerns. The Service Contract defines the totality of
what the SOA Service guarantees to provide, and can be written and validated
independent of any knowledge of specific service consumers. The Usage Agreement
is service consumer specific and defines what capabilities of the SOA Service each
consumer is allowed to consume.
The convergence of BPM and SOA generally happens via process decomposition. That
is when business processes are modeled as, (i.e. decomposed into), activities. All
automated activities must be backed by some form of executable code or function call.
These functions, if they are deemed worthy, can be engineered as SOA Services
following service-oriented design principles. Agility at the process level is attained by
changing the process model. Agility at the service level is achieved by deploying
services that are loosely coupled and independently managed.
Further, BPM processes and sub-processes can themselves be exposed as SOA
Services. This enables processes to be composed of SOA Services that are implemented
as processes. It can be beneficial in two ways. First, it improves reuse of lower level
system-centric processes (i.e. service orchestrations), and second, it offers a standard
interface mechanism with which to invoke all types of business processes.
Once the process models reach a certain level of completeness, further design and
implementation must take place in order to turn it into something that is executable.
The design-time tool for this is geared toward process architects and developers. It
must support execution of the process and testing. Testing should address functional
operation as well as load simulation.
When development and testing are complete, the process must be deployed to a
production environment. This environment must provide the reliability, availability,
scalability, and performance (RASP) qualities required by the business. As process
instances are executed, run time statistics can be recorded. These data provide insights
into the efficiency of the process, where business exceptions most often tend to occur,
and where the process exceeds or fails to meet expectations. By analyzing these data
business analysts and architects can determine where changes to the process can be
made for optimization. Changes are introduced in subsequent versions of the process,
as the lifecycle continues another revolution.
The following table describes how the Oracle Reference Architecture supports BPM
throughout the process lifecycle.
One could argue that the other types of actors in an EDA solution could be developed
as SOA Services. For example, the Event Processor could be a type of SOA Service that
receives and processes events. However, there are factors to consider, including:
■ The technology used to detect when an event occurs. Events can be generated by
sensors, measurement devices, and other low level devices that receive inputs in
ways other than through APIs.
■ Such event generators may not have the capabilities required to invoke SOA
Services. They may only be able to send events in very simple forms.
■ The frequency of event generation can be much greater than the frequency of
downstream processing. If only a small fraction of events actually require any
action be taken, then a large number of SOA Services will be invoked to perform a
small amount of work. This would be an inefficient architecture pattern.
occurrence since most legacy applications were built in a standalone fashion, with very
little sharing of data. The problem is compounded enormously when companies go
through mergers and acquisitions. As a result it becomes difficult, if not impossible, to
merge common entities to create a holistic view and to keep everything synchronized.
Copies diverge and the overall integrity of data degrades. Consumers and aggregators
of data must determine which copies to use and which to ignore. Business analytics
can produce different versions of truth depending on the data sources selected.
MDM solutions are designed to address this problem by creating a master “golden”
source of data, and providing a mechanism to keep other copies synchronized with the
golden source. New applications, processes, and services that need access to such data
are encouraged to go to the master data source, as is feasible.
With respect to the Oracle Reference Architecture, MDM solutions can support the
data needs of any type of business solution. There isn't a specific type of business
solution that an MDM effort produces. Instead, it is an enabler of architecture,
integration, and data management best practices.
As illustrated in Figure 3–8, master data can be exposed directly to consumers or via
SOA Services. Direct access through database connections would yield master data in
its native form, (typically relational and normalized). The consumer would need to
transform it into object or hierarchical form as needed. By developing SOA Services
the transformation can be encapsulated in the service implementation. The service
interface could offer master data in a hierarchical form aligned with canonical model
specifications. Likewise, access to legacy data by the MDM infrastructure may or may
not utilize SOA Services. Unless such SOA Services pre-date the MDM effort, it is more
likely that new SOA Services will be created from master data rather than from legacy
data.
3.5.1 BI Solutions
A BI solution is one that provides information that enables users to make informed
decisions. In its simplest form a BI solution might offer the ability to query records
from an operational data store. This provides access to data but requires the end user
to know what data to query, where the data are located, and how to interpret the
results.
A more complete solution would abstract the user from the physical data sources, offer
a logical unified view of data, provide powerful multidimensional query capabilities,
alert users of events taking place, monitor key performance indicators, generate
reports, and present information via multiple delivery channels. This not only adds
value to the solution but makes it possible for users to acquire the greatest business
intelligence with little or no understanding of all the complex technical underpinnings.
Ideally the BI user interface would be integrated into portals, dashboards, or
applications in a way that provides information when and where decisions need to be
made. This enables users to make informed decisions without having to switch
applications, terminals, windows, etc., or having to remember where such information
can be found. As depicted below, the user interface components access some form of
processing engine that provides all the BI capabilities as well as integration with
various data sources.
Source data may come from operational systems such as CRM, ERP, customer service
systems, HR, etc. The processing engine must have the ability to access these systems
and/or their underlying databases.
Since organizations want to make decision based on reliable data, BI solutions must
tap into data sources that are reliable. Master Data Management solutions that perform
data cleansing and establish a single version of truth complement BI solutions nicely
by providing that reliable data source. It is therefore worth considering MDM to some
extent when undertaking BI.
Often the data needed are not stored in a manner that efficiently supports
multidimensional queries. Likewise, operational systems are seldom designed to
accommodate large queries and reports. To rectify issues such as these, organizations
set up data warehouses to store historical data. Data is restructured in a way that
better supports query and reporting operations. This provides faster response times
and offloads the processing to resources that are dedicated to the BI solution. Data are
extracted from the operational systems, transformed to match the reporting and query
structure, and loaded into the data warehouse. This is known as Extract, Transform,
and Load (ETL).
At a very high level, the BI solution breaks down into: systems where operational data
are found, BI processing capabilities, desktop tools, and various forms of information
presentation. There are many links to SOA such as:
■ Operational systems and data can be classified as existing IT assets, e.g. existing
prior to the BI and SOA initiatives. Some of these assets may be service-enabled,
offering the ability to access operational data as a SOA Service.
■ The BI processing engine may access data through a variety of means including
direct access to operational systems and data warehouses as well as SOA Services
exposed via SOA infrastructure.
■ BI capabilities may be accessed by business solutions that are service consumers.
For example, BI portlets can be developed as presentation services and leveraged
by multiple portal and dashboard applications. BI capabilities may also be
accessed directly, without using a service-based interface.
The illustration does not draw a reference between SOA and the data warehouse. This
is because data warehouses are generally populated via ETL processes, which are not a
natural fit for SOA due to high data throughputs and low potential for reuse. Likewise
data warehouses are not often exposed via services since the BI processing engines
they are designed for can access them using means that are more efficient than typical
service interfaces.
level and instantiate them on the desktop. It adds to traditional forms of computing by
giving the end user the opportunity to contribute knowledge and value.
For example, E2.0 solutions include:
■ Wikis to collaboratively build and organize information
■ Blogs to give users the opportunity to post thoughts and ideas (and others the
chance to read and respond)
■ Mashups to spontaneously combine content from multiple sources to enhance
one's knowledge or understanding
■ Social tagging and page ranking to provide users the ability to identify content
according to their perceptions of application and value
■ Presence capability to help determine the best method available to contact
someone
■ IP-based communication support for VOIP interaction
Comparing these solutions to the Oracle Reference Architecture, we see that most are
made available through Interaction infrastructure. Infrastructure provides the tools for
end users to leverage as it suits their needs and job functions.
E2.0 solutions might be constructed to satisfy particular business needs. For example,
mashups may be constructed by IT to meet specific business requirements,
collaboration processes may be defined to support business processes, and
presence/communication capabilities can enhance the way communications within
the company occurs.
Other forms of social computing are constructs created by users to meet personal and
group needs. Their forms and characteristics are driven more by personal preference.
Therefore they are primarily classified as productivity enhancement tools rather than
complete business solutions. (Admittedly, this is a grey area that may be disputed.)
1. An agreed upon set of trading processes that describe the message exchange
pattern for each type of interaction, along with the message types and formats.
This defines the messages that are sent, the order they are sent, and any alternate
scenarios, business exceptions, etc.
2. An agreed upon method of communication between the businesses including
specifications for type of transport and protocols.
3. Each business will have some means of coordinating the exchange of messages on
their end, adhering to the predefined trading process. This is represented above as
Choreography Processes. They choreograph the exchange of messages and
initiation of Functional Processes.
4. Each business will have a means to perform back end processing related to the
exchange of messages. For example, the processing of purchase orders, sales
orders, shipping notices, and billing information transmitted and received
throughout the trading process. This is represented above as a set of Functional
Processes interacting with the back end systems. These processes encapsulate the
logic needed to process and produce or consume a particular type of message.
5. Each business will need communications infrastructure to send and receive
messages.
The use of processes in this illustration represents a recommended pattern, since
business processes are an ideal means to represent, coordinate, and execute sets of
business activities. It is up to the business to determine which activities it needs to
perform and which should be automated or performed manually. B2B solutions are
often implemented as a set of business processes along with all supporting message
schemas, business logic, and underlying infrastructure configurations.
Most notably, Choreography and Functional Processes can gain all the benefits of
agility and flexibility that BPM and SOA have to offer. This is a key driver for
designing the B2B architecture in this manner. It becomes a natural extension of the
existing BPM+SOA environment. In fact, since many processes and activities will
mirror internal processes, B2B becomes another way to apply and reuse existing
resources.
In addition, interaction with the communications infrastructure and back-end systems
may be implemented following SOA principles. This can be accomplished either by
service-enabling legacy assets, or by engineering new systems that support B2B
transactions in a service-oriented manner.
3.8.1 CM Solutions
Content Management can be considered a very broad topic, as there are a number of
types of content that can be managed, and a number of reasons for doing so. Examples
include:
■ Document Management. This type of solution targets the management of files
such as documents, emails, reports, presentations, spreadsheets, etc.
■ Digital Asset Management. Similar to document management, however it pertains
to assets that are digitally encoded and not searchable, such as images, video files,
etc. Also handles Digital Rights Management (DRM).
■ Web Content Management. Solutions for designing and publishing web sites and
managing the content from which they are created.
■ Records Management. Maintaining records based on retention policies to satisfy
legal obligations. Read-only warehousing of all types of documents.
CM solutions can be implemented to solve any one particular problem, or can be all
inclusive. Solutions that address the broader spectrum of CM are often referred to as
Enterprise Content Management (ECM) solutions.
ECM solutions, at a high level, offer six main capabilities:
1. the ability for users to locate, access, and contribute content,
2. the ability to manage the lifecycle of content,
3. the ability to manage content retention policies,
4. the ability to convert content into other formats,
5. the ability for applications to interact with the CM system, and
6. the ability to store content securely and provide structure in the form of
taxonomies, policies, rules, etc.
Most of these capabilities can be realized via modern computing infrastructure. For
instance, content persistence, security, taxonomy, search, lifecycle process
management, and system access can all be provided by infrastructure. As such, they
are represented and realized within the scope of the Oracle Reference Architecture.
The remaining capabilities, left to construct in the form of business solutions, are the
methods in which CM can effectively and efficiently be integrated into the users'
environments. This is where all the benefits CM infrastructure provides are surfaced to
the end user. The most common forms include:
■ CM portlets for search, taxonomy navigation, and lifecycle management surfaced
in enterprise portals.
■ Web based applications that present content to end users
■ Dashboards that expose content access and usage metrics in support of business
intelligence
■ Mashups that merge content in user-defined ways
This document introduced and detailed the fundamental concepts that underpin the
Oracle Reference Architecture (ORA). ORA is a unified reference architecture that
covers the Oracle technology space. ORA is a modular structure that allows new
“perspectives” focused on particular technologies or industries to be added as needed
to address the changing technical landscape.
Each ORA technology perspective is associated with an Enterprise Technology
Strategy. Example ETSs include SOA, BPM, BI, etc. This document examined the
relationship that ORA has with the SOA ETS. Since ORA incorporates service
orientation as a core tenet, the relationship between ORA and the SOA ETS is tighter
than with other ETSs. This document also discussed and illustrated how the core tenet
of service orientation facilitates composition of ETSs.
Summary 4-1
4-2 ORA and Service Orientation