Академический Документы
Профессиональный Документы
Культура Документы
1 536
Middleware
SOA PRINCIPLES
A key strength of Service Oriented Architecture (SOA) is its simplicity. A few basic principles
guide SOA: standard set of enterprise service definitions described in a registry (like a library),
central management of service definitions, and loose coupling. Central management of service
definitions ensures that: duplicate services are not created, developers follow organization
standards, and that developers can find (and use) services created (or purchased) by others.
Loose coupling is a long-standing IT term meaning that the internals of an application or
business service must be able to be changed without impacting client applications. Specifically,
a service consumer should not be required to know any more about a service than what is
contained in the published contract. Loose coupling means that the message(s) used to interact
with the service are 100% involved with the business function being performed without regard to
how the function is being performed.
In order to interact successfully with a service, you must know at least two things: what you
expect to get from the service and what information you have to provide the service so that it
can get the job done. A well-defined “contract” from the service provider spells out the business
and technology requirements for using the service (the “interface”) and how to invoke the
service. A service contract reflects specific business knowledge and is the basis for sharing and
reusing services. Maintenance of service “contracts” becomes critical over time. Contracts are
stored in a service registry.
SERVICE PROVIDERS
Service Providers provide a service that performs some business function at the request of the
Service Consumer. Service Providers: create or purchase the service, expose the service,
describe the service using a contract, post the contract and any pertinent meta-data (for
instance, documentation) on a registry available to the service consumer (service providers
might also communicate the contract directly to the service consumer (probably the exception,
not the rule).
SERVICE CONSUMERS
Service Consumer developers do not have to design, build, or test services; they just use them
to accomplish business functions. Service Consumers might be other services, components, or
programs. Services are meant for use between two pieces of software. It is not “normal” for
services to interact directly with humans, though web pages might provide service interaction to
users. Service Consumers receive Contracts for Interaction from the Service Provider. Because
Services are designed to be reusable, any Service Consumer properly accessing a service will
get predictable results.
SERVICE REGISTRIES
Service Registries provide a mechanism for storing, managing, and accessing service contracts.
Various mechanisms have been developed for Service Registries over time. It is probably best to
stick with an open standards solution using UDDI (Universal Description Discovery and
Integration). A registry serves as a directory of sorts containing: names and description of
2 536
Middleware
services, service “Contracts” describing service parameters, results, and access methods, and
documentation (meta-data) for the services
Services on their own are not much use. There must be an infrastructure supporting messaging
so that services may be contacted, passed the appropriate information, and allowed to respond
to the service consumer. Messaging is also important when a registry is involved as a
mechanism to move requests for information about services to the registry, and return contracts
describing services from the registry. Many successful messaging technologies are in place
today that can support SOA. In keeping with the principle of using Open Standards, SOA is most
often implemented using SOAP (a W3C standard).
SOA IS STANDARDS-BASED
The Web (WWW) works because of widely adopted standards. Service Oriented Architecture
(SOA) is language and platform independent, following standards makes integration easier. Most
Enterprise Service Bus (ESB) products convert non-standard data and messaging to standardized
messages reusable throughout the bus. Standards central to SOA with Web Services include:
SOAP, WSDL, and UDDI.
3 536
Middleware
SOAP used to be an acronym (that was inaccurate!); today it is simply “SOAP”. SOAP is an XML
application used for messaging or other services; since XML is environment and language
independent SOAP messages may be used anywhere.
Service “contracts” are usually WSDL documents representing the contract. Web Services
Description Language (WSDL) is an XML language describing how programs interact with Web
Services. For each service, the WSDL contract specifies: address of the Web Service, available
operations, format of operation arguments, and exceptions that may be thrown.
Universal Description Discovery and Integration (UDDI) provides a registry of web services so
that others may find and use them. UDDI is one way to implement a Service Registry for SOA.
Originally, the creators of Web Services intended for application developers and Service
Consumers to search the internet for services that might be applicable and then use them.
Security and other concerns have brought UDDI registries inside the firewall in most
installations.
4 536
Middleware
While Oracle Fusion Applications rely heavily on Oracle Fusion Middleware components, the
opposite is not true. An organization may use Oracle Fusion Middleware and its wide array of
tools even if Oracle Fusion Applications are not installed. Oracle Fusion Middleware's reliance on
industry standards (like SOAP, WSDL, and UDDI) and SOA makes it an excellent choice no matter
how applications are supported in an organization. Oracle Fusion will also include the tools
necessary to create and use Web Services in Oracle Fusion like Oracle’s Application
Development Framework (ADF), Oracle JDeveloper, Oracle BPEL Process Manager, and Oracle
Workflow.
ORACLE FUSION APPLICATIONS
Fusion Applications are the next generation of Oracle's Applications products. Rather than
"stitching together" the disparate technologies, Fusion will use a service-oriented architecture to
make the functionality of the various tools available. Rather than customizing applications,
business process modeling may be used to orchestrate existing functions to handle issues not
addressed by current applications. This builds upon a foundation of work begin at PeopleSoft. As
Oracle move the Applications products forward they want to take advantage of the best features
of each environment making future products better. Fusion is really a destination point.
Oracle is relying on SOA to develop the next generation of Oracle applications because it
provides a standard method of integrating and evolving business application functionality from
the Oracle E-Business Suite, PeopleSoft, JD Edwards, and other Oracle application products. The
industry-standard nature of SOA will allow third-parties to extend Oracle Fusion Applications
adding new functionality or customized services. Oracle chose the "Fusion" name to highlight
this synergy of components developed by Oracle and others.
Fusion Middleware is the key to Oracle’s Fusion Applications. Many of Fusion Middleware's key
components are the result of Fusion Application requirements. However, Fusion Middleware can
be used without Fusion Applications.
5 536
Middleware
FUTURE DIRECTIONS
This year (2006), Oracle intends to release the next versions of its various applications products:
Oracle E-Business Suite 12, PeopleSoft Enterprise 9, and JD Edwards 8.12. In addition, Oracle will
probably leverage the CRM technology obtained by purchasing Siebel as a cornerstone for Oracle
Fusion Applications. Each of the new products will provide some Fusion capabilities. Oracle E-
Business Suite will be delivered on the latest Fusion Middleware release and some applications
will begin migrating to the Fusion tools. Also scheduled for later this year is Oracle's service
repository allowing access to services currently available.
WHAT IS AN ESB (ENTERPRISE SERVICE BUS)?
Ask ten people, get ten answers. Some say that an Enterprise Service Bus (ESB) is simply
messaging applied to a service-oriented architecture. Some say it is Web Service management.
Here are some traits most commonly associated with ESBs:
• Routing Routing anywhere on the ESB
• Transformation Data transformed/translated anywhere on the ESB
• Security Unified security and access model
• Management Centralized local and remote ESB management
• Availability Software to ensure availability and reliability
• Others Service Location, Process Execution/Monitoring,
Monitoring,
Policy Management, and Subscription Management
Prime characteristics of an ESB include pervasiveness, emphasis on standards, security and
reliability, availability to multiple types of clients, ability to consume a service using standard
messaging even though the provider uses something else, and transformation of data from what
it currently is to what we need. Other important characteristics include extensibility even to non-
standard products, asynchronous event processing, security and reliability, abstraction of the
workings behind the contracts, and even though services might be autonomous and on different
systems they are federated into a cohesive set of services for us to use.
Oracle's ESB includes: enterprise messaging (OEMS), multiple transports, monitoring console,
request/response and EDA, native XML and Web Services, metadata Repository, UDDI
Repository, externalized process flows, real-time activity monitoring, and an integrated design.
The Enterprise Service Bus (ESB) is meant to be the backbone of SOA. An ESB is a standards-
based integration platform combining messaging, web services, data transformation, and
dynamic routing. ESB is a new approach to integration, improving on the Hub-and-Spoke
Integration Broker concept because of its standards-based orientation. The ESB provides a
“transparent pipeline” for SOA through which messages and events flow via multi-protocol
message bus routing dynamically across the available network. Applications and Event-Driven
Service components expose course grained loosely coupled interfaces to the ESB making them
reusable more-broadly to the enterprise. Like a passenger bus, an ESB collects a rider (Service
Consumer request) and takes it to a destination (Service Provider) without telling the driver
(ESB) how to get there. The Service Consumer and the Service Provider only need to know how
to talk to the ESB (usually using standards-based tools). Thus, the ESB is an improved
integration broker.
6 536
Middleware
CONCLUSION
Oracle's Fusion Architecture is a strong step into the future for Oracle and Oracle's customers.
Advances in Oracle Fusion Middleware will enable implementation of Service Oriented
Architecture (SOA) using industry-standard tools and methods even for shops that do not use
Oracle's application products. Oracle Fusion Applications will allow the graceful "blending" of
Oracle's various ERP and CRM products into a whole that is better than the sum of its parts.
Oracle Fusion Applications will be extensible using industry-standard tools eliminating much of
the costly "customization" so common in earlier installations.
7 536
Middleware
8 536