Skip Headers
Oracle® SOA Suite Developer's Guide
10g (10.1.3.1.0)

Part Number B28764-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1.3 Using Oracle SOA Suite to Adopt SOA

Oracle SOA Suite provides a comprehensive suite of key best of breed SOA technologies that plugs into heterogeneous IT infrastructures and enables enterprises to incrementally adopt SOA. The components of the suite benefit from common capabilities including a single deployment and management model and tooling, end-to-end security, and unified metadata management. Oracle SOA Suite is unique in that it provides the following set of integrated capabilities:

At the same time, Oracle SOA Suite provides support for existing middleware technologies, such as third party J2EE application servers, development tools, message queues, and ESBs. Hence, enterprise IT departments can adopt the whole suite, which benefits from an integrated set of capabilities, or, adopt pieces individually.

The components of Oracle SOA Suite are shown in Figure 1-1.

Figure 1-1 Oracle SOA Suite

Image shows Oracle SOA Suite components

1.3.1 Creating Services

Oracle JDeveloper, Oracle Application Development Framework (Oracle ADF), and Oracle TopLink are development components of Oracle SOA Suite that together form a comprehensive ISE to develop, compose, and orchestrate services into business processes that can be deployed, registered, and consumed from several types of user interfaces, including desktop clients, browsers, and mobile and telnet devices.

Oracle JDeveloper enables developers to model, create, discover, assemble, orchestrate, test, deploy, and maintain composite applications based on services. Oracle JDeveloper supports SOA principles and XML Web services standards, as well as traditional Java, J2EE, and PL/SQL component and modular code mechanisms.

Oracle ADF is a model-driven SOA framework that automates and manages business and data services and provides a standard data-and service binding layer based on the JSR 227 specification. This binding layer can be used with process flows, page flows, and service invocations. Oracle ADF also implements SOA design practices, and makes user interfaces as loosely coupled as services themselves.

Oracle TopLink is a data services framework that allows access to relational and XML data. It provides visual mapping tools for facilitating object to relational and object to XML mapping. Oracle TopLink and Oracle ADF frameworks simplify creation of business and data services that can be invoked from rich web interfaces of service-oriented applications.

Oracle JDeveloper, Oracle ADF, and Oracle TopLink together provide a comprehensive integrated services environment and framework that allows developers to build model-driven applications and business processes which can then be deployed and registered as applications, services, or business processes into Oracle SOA Suite components.

Key capabilities include:

  • Creating business services: Oracle JDeveloper supports web services invocation framework (WSIF) bindings that allow for the publishing of Java, Enterprise Java Beans (EJB), Java Message Service (JMS), and enterprise applications that are connected using Java Connector Architecture (JCA) adapters, as natively invoked services. Oracle JDeveloper also features support for REST (Representational State Transfer)-based services and for developing J2EE 1.4–compliant Web services, with the ability to create JAXRPC clients and services, and WS-Security, WS-Reliability, and WSManagement. Support for developing bottom-up services using metadata tags and contract-driven development using the WSDL editor is also included.

  • Creating business and user interface logic: Oracle JDeveloper includes support for EJB 3.0 that simplifies back end business logic and persistence mapping aspect. Oracle JDeveloper wizards generate EJB 3.0 components, and property editors support the incremental development of business methods and mapping annotations. Support for building web applications using JavaServer Faces (JSF) technology enables rich user interfaces. Oracle JDeveloper provides several tools such as visual UI component editing using JSF WYSIWYG editors, drag-and-drop capabilities for JSF components onto pages, and visual diagrammer for rapid development of JSF navigation.

  • Binding user interfaces to services: Oracle JDeveloper includes support for the JSR 227 specification that facilitates binding user interfaces to data sources and services. Support for drag-and-drop attributes, collections and operations from the Data Control Palette that exposes back end business systems, and for services and business process is also included. Also featured is support for data-binding Oracle ADF Faces components to back end business services and business processes.

1.3.2 Using an Enterprise Service Bus

As the ÒglueÓ for the enterprise application infrastructure, your integration platform provides the basis for gathering information that drives the organization from all types of data sources. Oracle ESB is the realization of the SOA and event driven architectures (EDA) whereby distributed applications are integrated in a loosely coupled paradigm. At their core, ESBs implement messaging to enable services to be integrated in a message-based paradigm: both synchronous and asynchronous styles. They also incorporate routing so that messages can be routed to the appropriate services based on rules governing both the message content and any external factors. Thirdly, ESBs also embody message transformation. Since ESBs enable routing and transformation logic to be changed at runtime, they enable more maintainable applications to be built, since service connections are less brittle.

Key capabilities for Oracle ESB include:

  • Reliable multi-transport bus: Oracle ESB provides a flexible real-time enterprise backbone capable of supporting industry standard protocols such as SOAP, HTTP(s), or JMS. A special in-memory optimization is automatically used for service calls within the same virtual machine. It provides fast, scalable, guaranteed once-and-only-once message delivery using both point-to-point and publish/subscribe patterns. Oracle ESB can use Oracle's own JMS or Oracle Advanced Queuing (AQ) as a message transport; it is also certified with other messaging providers such as IBM MQ, SonicMQ, and Tibco.

  • Complex business data transformations: Businesses require flexibility in combining data models from disparate systems. Oracle ESB utilizes standards-based data mapper functionality within Oracle JDeveloper to create transformation templates in the XSLT language for reuse across the enterprise. The auto-mapping feature increases user productivity by remembering and reusing common mappings from previous transformations.

  • Comprehensive management and deployment infrastructure: At design time, Oracle ESB allows you to create virtual service names into lookup repositories, such as UDDI, that are later bound to real or physical application URLs defined during deployment. Oracle ESB Control allow you to build and visualize relationships between services and graph dependency charts or impact analysis for proposed changes to your systems. The viewer includes an ESB-wide search facility to locate components such as adapters, messages and active process instances based on unlimited input criteria. Centralized management of distributed applications is a key component of Oracle ESB.

  • Pervasive enterprise system connectivity: Adapters provide key connectivity and discovery into enterprise and legacy system metadata to enable mapping of objects to real-time events in your ESB. Oracle provides built-in adapter wizards for Database, Oracle AQ, JMS, email, FTP and files, as well as enterprise applications such as the Oracle E-Business Suite, PeopleSoft, JDEdwards, SAP and legacy systems such as CICS, IMS and even TPF. All adapters conform to the J2EE Connector Architecture (JCA) open standard adopted by all major integration vendors.

  • Flexible content based routing: The ability to filter and route data based on message content is critical to optimal management of your ESB. Oracle ESB enables routing in design time deployment descriptor definitions that can be modified at runtime for adjusting application efficiency. This minimizes the overhead of redeployment. For example, as system demand increases and you add servers to your cluster, you can dynamically route traffic based on content such as currency, region, product name, or any other contextual data. Oracle ESB supports a variety of rules capabilities for filtering including Oracle BAM, Oracle Business Rules and external providers. Content filtering can also be implemented in messaging systems such as JMS using configurable filter based subscriptions and message selectors.

1.3.3 Composing and Orchestrating Services

Oracle BPEL Process Manager enables business processes to be modeled, automated, and monitored. Unlike code-generation techniques for automating business processes, Oracle BPEL Process Manager includes a native BPEL engine that executes the processes. This approach not only enables reuse, but also enables visibility into in-flight business processes at the individual and aggregate levels (the latter being provided by Oracle BAM), and lays the foundation for close-loop business process management, process improvement, and compliance.

Oracle BPEL Process Manager provides a comprehensive, standards-based and easy to use solution for creating, deploying, and managing cross-application business processes with both automated and human workflow steps. It provides high-performance, reliable execution of service-oriented business processes defined with the BPEL standard. Its native support for standards such as BPEL, XML, XSLT, XPATH, JMS, JCA and web services makes it an ideal solution for creating integrated business processes that are truly portable across platforms. It also provides audit trails for both completed and in-flight processes, and process history that enables process improvement.

Finally, the Oracle BPEL Process Manager is a 100% native BPEL engine that coexists happily with existing middleware technologies and platforms, and provides an unrivaled process portability and vendor flexibility.

Key capabilities of Oracle BPEL Process Manager include:

  • Rich tooling for integration: Oracle BPEL Process Designer within the Oracle JDeveloper environment, provides a unified design time environment to develop user interfaces and orchestration services. Built-in integration services enable developers to easily leverage advanced workflow, connectivity, and transformation capabilities from standard BPEL processes. These capabilities include support for XSLT and XQuery transformation as well as bindings to hundreds of legacy systems through JCA adapters and native protocols using WSIF. The extensible WSDL binding framework enables connectivity to protocols and message formats other than SOAP. Bindings are available for JMS, email, JCA, HTTPGET, POST, and many other protocols enabling simple connectivity to hundreds of back-end systems. This approach gives unparalleled performance, while maintaining ease of development. User-friendly wizards to set up simple and complex human workflow steps, configure adapters, and define complex transformation maps are provided as standard services. Human workflow services such as task management, notification management, and identity management are provided as built-in BPEL services to enable the integration of people and manual tasks into BPEL flows.

  • Comprehensive monitoring and management: Oracle BPEL Control provides a user-friendly web-based interface for management, administration, and debugging of processes deployed to the BPEL server. Audit trails and process history/reporting information are automatically maintained and available through the Oracle BPEL Control. The workflow task lists and historical process analysis reports are also integrated into the same console.

  • Un-paralleled scalability and availability: The core BPEL engine provides the most mature, scalable, and robust implementation of a BPEL server available today. The Oracle BPEL Process Manager executes standard BPEL processes and provides a ÒdehydrationÓ capability so that the state of long-running flows is automatically maintained in a database, enabling clustering for both fail-over and scalability. The BPEL server leverages Oracle Containers for J2EE as an underlying J2EE application server, but also supports most major commercial application servers such as BEA WebLogic and JBoss.

1.3.4 Automating Business Policies with Business Rules

Agility is one of the biggest promises of SOA and BPM: the ability to make rapid changes to processes in step with the changes that occur inside of your business. Such changes are not always changes to the process. Often they are changes to the rules that drive the process. A typical business process often includes a number of decision points. These decision points generally have an effect on the process flow; for example, someone's credit rating may determine whether he/she requires manual approval of an order. These decisions are evaluated based on certain conditions and facts, which may be internal or external to the business process, and predefined company policies or rules. Oracle Business Rules Rules Engine allows architects to easily define, automate, manage, and update the decision logic that directs enterprise applications from a single location without needing to write code or change the business processes calling them.

Rules engines are naturally of interest to enterprise architects building out SOAs, since they contribute to agility by enabling reduced time to automate, easier change, and easier maintenance for business policies and rules.

BPM technology and rules engines naturally fit together: BPM enables automated and flexible business processes; rules engines enable automated and flexible business policies.

Key capabilities of Oracle Business Rules:

  • Capturing business policies across all applications: In the past, rules engines were primarily used as a technology to solve highly complex problems requiring a great degree of inferencing. More recently, the rules market has evolved such that rules are now being used for the implementation of business policies. Oracle Business Rules enables business policies to be abstracted out of any application, not just applications that are designed to SOA. It is based on the Jess Rules Engine, but conforms to the JSR-94 specification and enables facts to be defined in Java.

  • Automation of business policies in business processes: Business processes typically involve decision steps. Oracle Business Rules enables decisions and business policies to be abstracted out of the business process, providing a single location for policy management and change. Oracle Business Rules enables facts external to the business process to be asserted in the evaluation of business rules, unlike monolithic BPM Suites. The rules are separated from the process logic and can be changed independently without impacting them. This makes business processes less brittle; rule changes can be deployed without modifying or rebuilding rule-enabled processes and applications.

1.3.5 Securing and Managing Services Using Oracle Web Services Manager

Oracle Web Services Manager (Oracle WSM) enables IT to effectively monitor, manage and secure services and interactions between these services in an SOA. It provides tools for building security and operations policies that can be layered over new or existing applications and web services; runtime facilities for intercepting calls to and from an application or service and then executing these policies; dashboards for monitoring these policies as they execute, to ensure service levels and potential problems; and, alerting to enable corrective actions to be taken in a timely fashion.

Oracle WSM can centrally define policies that govern web services operations such as access policy, logging policy, and content validation, and then wrap these policies around services, with no modification to existing web services being required. Also, Oracle WSM collects monitoring statistics to ensure service levels and security, and displays them in a web dashboard. As a result, Oracle WSM brings enterprises better control and visibility over web services.

Key capabilities for Oracle WSM include:

  • Policy management: The Oracle WSM Policy Manager is a graphical tool for building new security and operations policies, storing policies and managing distribution and updates to runtime agents and gateways. Policy Manager supports both client-side and service-side policy enforcement, and allows administrators to configure operational rules and propagate them to the appropriate enforcement components across an application deployment of any scale and complexity. Oracle WSM has out-of-the-box support for authentication and authorization using HTTP basic authentication, COREid, Netegrity, LDAP, and X.509 Certificates. It leverages Oracle COREid, LDAP, and Netegrity for role-based invocation access, and supports Security Assertion Markup Language (SAML) for interoperability between different security systems.

  • Enforcement - To ensure maximum deployment flexibility, Oracle WSM provides two kinds of enforcement components: policy gateways and policy agents. Policy gateways are deployed in front of a group of applications or services. Policy gateways can intercept inbound requests to these applications in order to enforce policy steps, adding application security and other operation rules to applications that are already deployed. Policy agents provide an additional, fine-grained level of security by plugging directly into an application or service. Oracle WSM enforces true end-to-end message-level security, supports WS-Security for authentication and message-level security including encryption and signing, and supports full and partial encryption and decryption step.

  • Monitoring: Oracle Web Services Manager Monitor collects data from gateways and agents as they execute policies and display results in a graphical format. This allows administrators to set quality of service levels for each application. The monitor displays alerts when the application exceeds established targets. It also provides IT operations staff with real-time visibility into the health, performance, security and utilization of crucial web services, including end-to-end monitoring of business processes. By harnessing the real-time data collection capabilities of the enforcement components, the monitor enables administrators to analyze discrepancies between expected and actual performance and to monitor compliance with IT operational best practices in real-time, such as audits on security violations on a per-web service, per-operation and per-client basis. The result is best-practice security and operations across all applications and services, and across an enterprise and its partners, regardless of the how these applications and services were developed.

  • Comprehensive support for protocols and third-party platforms: Oracle WSM works with multiple web services platforms, and providers including BEA Systems, IBM, Microsoft, Netegrity, TIBCO, and VeriSign. For example, sites using TIBCO BusinessWorks can install Oracle WSM agents to act as SOAP interceptors that enforce web service policies. Oracle WSM provides out-of-the-box, native support for multiple transports, including HTTP, HTTPS, JMS, and IBM WebSphereMQ and multiple messaging models, including synchronous and asynchronous messaging. Furthermore, it provides content-based routing and built-in failure handling, including message queuing, fail-over routing, and configurable message retry capabilities.

1.3.6 Deploying SOA Applications

The Oracle SOA Suite deploys to leading application servers as well as Oracle Application Server 10g Release 3 (10.1.3.1.0), which includes several new features to support very high performance, scalability and high availability in a grid computing architecture. Dynamic workload management, enhanced clustering, automated back up and recovery, automated disaster recovery, and a new JMX-based management console are some of the new features designed to make it one of the industry's only grid-ready middleware solutions.

Oracle Application Server is certified with open source software including Spring, Apache Struts, Apache Axis, Apache MyFaces, Hibernate, Tapestry, JUnit, CVS, SubVersion, Ant, Eclipse and Log4J. Oracle Application Server 10g features support for a host of standards required to build next-generation SOAs, including WS-Reliable Messaging, WS-Security, WS-Federation, Web Services Metadata, WSIF and REST web services.

1.3.7 Benefits of Oracle SOA Suite

Oracle SOA Suite can help you achieve the best total value of opportunity by means of:

  • Develop and deploy applications faster: As the market's only integrated SOA suite, Oracle SOA Suite greatly reduces the overall cost of architecting, developing, deploying, and managing applications. Applications are built faster, they can be put into production sooner, and their associated benefits can be realized sooner. You save money, and you can reassign software engineers and funds to other projects

  • Reduce application deployment costs: Oracle SOA Suite is the only SOA suite designed to leverage grid computing to lower costs by deploying enterprise applications on modular, low-cost hardware and storage.

  • Reduce maintenance and management costs: Oracle SOA Suite lowers management costs by automating software provisioning across groups of systems and by centralizing systems monitoring and administration. It lowers security administration costs by centralizing identity and access management.

Oracle SOA Suite can help you achieve the best total value of opportunity by reducing your development costs, by reducing your deployment costs, and by reducing ongoing maintenance costs, thus providing you with the fastest return on your investment.