Rubicon Red Reference Architecture

Our Reference Architecture represents the wealth of our combined enterprise integration knowledge and is fundamental to delivering consistent, predictable and agile solutions for our customers.

The Rubicon Red Reference Architecture is based on decades of experience working with Oracle’s SOA Suite and Middleware technologies, enabling enterprise wide deployment of business services and capabilities. It defines a set of standards, guidelines, best practice and patterns for ensuring the consistent architecture and implementation of SOA solutions deployed to the Oracle SOA Infrastructure. In it's latest version, the Reference Architecture has been refactored for the cloud, specifically for Oracle Cloud Platform and the Oracle PaaS Services.

There is a further module dedicated specifically to BPM to define conceptual and logical best practice for building BPM solutions. It is closely aligned with the SOA Reference Architecture and expands upon the Business Services layer of the SOA Reference Architecture.

The SOA Reference Architecture covers 10 specific areas of best practice - these are applied both across a Service Oriented and Event Driven Architecture.

Top 10 Best Practices

Architecture Blue Print This provides the basis of the reference architecture. It introduces key concepts used across all other sections, and outlines the objectives and goals of transitioning an organization from a system oriented to a service oriented architecture. This section presents the multiple layers of services that are available to the solution architect when developing capabilities. The reference architecture defines each layer, identifies the criteria for determining the right layer, and suggests ways of keeping capabilities and services at the right level of granularity.

SOA Suite Composite Architecture This section provides details on the SOA Suite Components including BPEL, OSB, Business Rules, EDN, JMS and other key parts of the product suite. The purpose of this section is to align the Logical Architecture to the Physical components.

XML Resources Defining metadata and representing key SOA Suite artifacts requires a detailed understanding of XML and the impact certain design decision has on the agility and reusability of a service. This section details XML Resource Naming and Namespace strategies as well as incorporating some of Oracle’s best practices including the use of the Metadata Services for deployment of XML assets.

Canonical Data Format This section provides a comprehensive look at how to develop a CDF leveraging existing system formats and taking into account industry standards. The section focuses on Data Modelling, Partitioning the Canonical Data Form Design Pattern and specifying Attributes and Annotations to support the goals and objects of a Service Oriented Architecture using Oracle’s SOA offerings.

Validation This section outlines the benefits and costs of validating messages. It discusses risks and rewards through re-usability, flexibility and performance. The role that validation plays in the multi layer architecture is highlighted along with the various implementation options offered through Oracle’s SOA Suite. The use of Schematron, Business Rules and Conditional Elements like branching and switch statements is evaluated to identify the best fit for your solution.

WSDL Standards An important part of the Reference Architecture is the design and development of the service contracts between service providers and service consumers. This section looks at the most important principles of good WSDL design. This includes an introduction of Enterprise Business Messages (EBMs), how to reference Enterprise Business Objects (EBOs) and designing an abstract WSDL first before looking into any implementation specific details. The section covers WSDL elements including types, messages, portTypes and more. The capability of Oracle’s Service Bus in exposing these services through an abstraction layer is a critical component of the logical architecture and is explored in some detail. It also details the versioning and governance of the WSDL contract, including the use of Web Services extensions like WS-Addressing and SOAP Headers.

Exception Handling If every process and service executed the ‘happy’ path then projects would complete early and stay well within budget. We all know that the most complicated aspect of development is exception handling. This section details exactly how to leverage all the capabilities in Oracle’s SOA Suite to provide a simple and intuitive Fault Management Framework for all your services.

This is one of the most valuable sections of the reference architecture and includes concepts like Fault Policies, Business and System exceptions, Message Exchange Patterns, Fault Combinations and Propagation and much more. All interactions are identified and classified as either idempotent or non-idempotent services. This determines the best course of fault management.

Security Policies This section is important for customers looking to secure their web services from accidental or malicious attack. Whether the services are exposed at the internet, extranet or intranet level, there are different Security Integration Patterns to support all forms of security requirements. The use of Security policies is detailed, along with options available to secure, authenticate or encrypt web services.

Management Policies Management policies are an important part of ensuring success with SOA. This section details all operational considerations including monitoring, auditing, logging and general maintenance of the SOA platform in line with the core objectives and goals of the reference architecture.

Design Patterns Finally, in preparation of the reference implementation, the key design patterns are discussed providing a very practical set of principles to building SOA composites and services. These design patterns include Service Patterns, Composite Services, Virtual Services and more. Human worklfow services and Events are of particular importance as they differ greatly from traditional web service patterns and can have the most impact on versioning, performance and overall use.