While there are many BPM tools available today, fitting one pattern of usage or
another nicely, a long-term strategic investment in BPM requires a product built
on a robust architecture that can evolve with changing requirements and scale as
deployment matures. Selecting the best product for current needs and making a
strategic choice should not be a trade-off, and that is Oracle BPM's promise.
Guiding principles
• BPM's success is greater and realized sooner when business users are
empowered to drive BPM initiatives. Empowering business users not only
requires easy-to-use, user-centric tools, but also standards-based skills.
• Collaboration is essential in all phases of the BPM lifecycle, spanning from
process discovery, to implementation, to change management.
• Over time business processes do not fit within a silo of system-centric,
human-centric, document-centric, or decision-centric. To achieve continued
success with end-to-end process management, a comprehensive and unified
BPM product is needed.
• A well-unified stack delivers lower total-cost-of-ownership (TCO), as well
as enables taking on more complex projects.
www.it-ebooks.info
Product Architecture
Design environment
Oracle BPM includes two design tools—JDeveloper-based BPM Studio and
web-based Process Composer.
These two design tools work on the same metadata artifacts (that is, no generation or
translation) that are shared between the two using Oracle Meta Data Store (MDS).
BPM Studio also integrates with Source Code Control Systems (SCCS) leveraging
JDeveloper framework's rich capabilities in this regard. The following figure shows
the BPM Tooling Architecture:
[ 28 ]
www.it-ebooks.info
Chapter 3
As we can see, a BPMN process may invoke a human task, business rules, BPEL
process, mediator, adapter services, and various other service references. These
other components can in turn invoke each other; for example, a human task can
invoke business rules for rules-driven routing. A BPMN process may also be
invoked by other BPMN processes, BPEL processes, and mediator services; the
latter is particularly interesting as it allows BPMN process to subscribe to events
through mediator.
A composite project is also deployed and versioned as one, simplifying the lifecycle
management of a complex BPM project. However, as business rules are expected to
change more often than other process models, business rules can be changed for a
deployed composite without requiring the full composite to be versioned; these are
referred to as Design Time at Run Time (DT@RT) changes.
[ 29 ]
www.it-ebooks.info
Product Architecture
Runtime architecture
Oracle SOA and BPM products leverage a Service Component Architecture (SCA)
server that provides a unified services and events infrastructure. Various service
engines plug into this infrastructure.
In addition to the unification accomplished through SCA Server, the BPMN 2.0 and
BPEL service engines share a common process core that handles common process
infrastructure activities such as service invocations, instance dehydration, alarm
scheduling, and so on. This also means that the two service engines share APIs, and
customers using BPEL APIs, in most cases, should be able to use them with BPMN
as well.
[ 30 ]
www.it-ebooks.info
Chapter 3
Workflow architecture
In accordance with WS-Human Task architecture, Oracle BPM separates handling
details of human task activities such as managing deadlines, access, and presentation
to a separate service engine. In addition to achieving the right separation of concerns,
this architecture also means that same human task components may be used by
BPMN 2.0, BPEL, or stand-alone (for example, when the use case is an approval
workflow). The following figure shows the workflow architecture:
As shown in the preceding figure, Human Workflow Service (HWF) may be invoked
by a BPMN (or BPEL) process; once the task is completed, HWF notifies the invoking
process through call-back. The call-back mechanism may also be configured to
notify the invoking process or the Java handler about finer grained state changes
of the task.
Human tasks may be exposed as a service from the composite and invoked directly.
As human tasks in Oracle BPM can be complex multi-step tasks, this allows
for applications that need to manage approvals to use human tasks without a
surrounding process.
[ 31 ]
www.it-ebooks.info
Product Architecture
HWF is tightly integrated with business rules and can invoke business rules to
determine both assignment and routing. This is more powerful than invoking
business rules in the process and then using the outcome within the task because
when rules are used directly from human tasks, they are invoked each time an
assignment or routing decision needs to be made or when different participants
act on their tasks.
The workflow service engine exposes a rich set of APIs for accessing and interacting
with the tasks. These APIs are abstracted and wrapped in an Oracle Application
Development Framework (ADF) Data Control (ADF DC). The ADF DC allows
drag-and-drop binding of user interface elements to human task data within the
ADF designer (in BPM Studio). The ADF DC is also exposed through ADF Desktop
Integration for creating Excel interfaces in a zero-code fashion. Customers who need
user interface technologies other than ADF or Excel use the underlying APIs, which
are available both in Java and as web services.
Process analytics
Achieving the promise of continuous process improvement requires robust process
analytics. Oracle BPM includes standard dashboards, native custom dashboards,
process STAR schema, and seamless integration with Oracle BAM.
The process STAR schema, called Process Cubes, provides storage of standard and
process-specific metrics—measures and dimensions. The standard and native custom
dashboards are built on top of the process cubes. Process cubes may also be used
with Oracle Business Intelligence (BI) or other business intelligence tools.
The BPMN audit engine, which is responsible for maintaining audit, pushes the
needed process analytic data to the process cubes. It can also push these events
to Oracle BAM by using BAM Adapter. Oracle BAM Process Monitor provides
dashboards for standard process metrics out-of-the-box. For process-specific metrics,
BAM Data Objects are set up to receive these events. Business users using Oracle
BAM Studio can create their own dashboards. The following figure shows the
architecture of process analytics:
[ 32 ]
www.it-ebooks.info
Chapter 3
Deployment topology
Oracle BPM follows Oracle Fusion Middleware's scalability and high availability
architecture. It can scale both horizontally and vertically. Horizontal scaling is
achieved by grouping different managed servers together to share a workload.
Oracle Fusion Middleware provides great vertical scaling by allowing multiple
managed servers to the same node based on its hardware specs.
[ 33 ]
www.it-ebooks.info
Product Architecture
In the figure above, two nodes—BPM1 and BPM2—run the WebLogic server
configured with managed servers for running SOA/BPM, BAM, and WebCenter.
The managed servers are configured in an active-active manner.
[ 34 ]
www.it-ebooks.info
Chapter 3
Security
Oracle BPM uses a two-tier architecture for managing user identities
and authorization.
Oracle BPM relies on Oracle Platform Security Services (OPSS) for integrating with
identity directories, including Oracle Identity Manager, Oracle Access Manager,
Netscape LDAP, and Active Directory among others. Configuration of identity
providers for authentication and authorization is therefore done at the OPSS layer.
[ 35 ]
www.it-ebooks.info
Product Architecture
Oracle BPM supports process roles, which are BPM-specific application roles.
(Application roles are an OPSS concept for applications such as BPM to better
manage granting of privileges.) These process roles are then mapped to actual users
and groups by a process administrator from Workspace (or BPM Studio). A swim
lane in a BPMN model is a process role.
Organization roles are a special type of process roles that are mapped using query
specifications (also sometimes known as parametric roles).
Approval groups are another special type of process roles that allow specification of
sequencing in addition to membership. For example, a process admin may specify
that Tier3ApprovalGroup requires wfaulk and cdoyle, and in that sequence.
Policy-driven security
An enterprise-grade BPM deployment requires that security policies on processes
and other services can be specified, enforced, and audited. Moreover, this needs to
work in a heterogeneous environment.
Oracle BPM and SOA products support WS-* standards for security and security
policies. Some examples of concerns addressed are: who can access which service,
how credentials are passed between services, and what data needs to be encrypted.
[ 36 ]
www.it-ebooks.info
Chapter 3
Management
Oracle Enterprise Manager (EM) is the single unified technical monitoring and
management tool for Oracle products. While this provides significant TCO savings
for customers using multiple Oracle products, its cutting edge management features
provide even pure BPM customers significant value beyond most other products in
this space.
End-to-end monitoring
The Oracle BPM and SOA console within Oracle EM provides end-to-end instance
(or transaction) tracing. A process instance may traverse multiple components in a
composite; the audit trail traces the instance's path through all the components. The
following figure shows an end-to-end audit trail:
[ 37 ]
www.it-ebooks.info
Product Architecture
In addition, an instance is assigned an ECID tag that is unique across the deployment
and can be used to trace an instance spanning multiple composites.
[ 38 ]
www.it-ebooks.info
Chapter 3
[ 39 ]
www.it-ebooks.info
Product Architecture
Deployment
BPM projects are SOA composites and follow the same rules for deployment. Three
options are provided for deployment:
Test–to–production
To facilitate moving projects from one environment to another, typically from
development to test to production, Oracle BPM and SOA features support
Configuration Plans to modify environment-specific values easily, such as JDBC
connection strings and host names of servers. Configuration plans enable the
changing of any composite, service component, reference, service, and binding
properties in the composite from environment to environment. These include
attribute values (such as locations) for binding, schemaLocation of an import in a
WSDL or XSD, location attribute of a WSDL, and properties in the JCA adapter files.
[ 40 ]
www.it-ebooks.info
Chapter 3
metadata"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"
xmlns:edl="http://schemas.oracle.com/events/edl"
xmlns="http://schemas.oracle.com/soa/configplan">
<composite name="FileAdaptorComposite">
<service name="readPO">
<binding type="*">
<property name="inFileFolder">
<replace>/mytestserver/newinFileFolder</replace>
</property>
</binding>
</service>
</composite>
<!-- For all composite replace host and port in all imports wsdls
-->
<composite name="*">
<imports>
<searchReplace>
<search>myserver17</search>
<replace>test-server</replace>
</searchReplace>
<searchReplace>
<search>8888</search>
<replace>8198</replace>
</searchReplace>
</imports>
<reference name="*">
<binding type="ws">
<attribute name="location">
<searchReplace>
<search>myserver17</search>
<replace>test-server</replace>
</searchReplace>
<searchReplace>
<search>8888</search>
<replace>8198</replace>
</searchReplace>
</attribute>
</binding>
</reference>
</composite>
</soaConfigPlan>
[ 41 ]
www.it-ebooks.info
Product Architecture
In addition to moving the project from one environment to another, it may also
be desired to move configuration such as role mappings, view definitions, flex
field mappings, and so on, from environment to environment. As all such runtime
configuration is stored in MDS, they can be easily migrated. Oracle BPM includes a
tool, Data Migrator, to do this migration. Data migrator is available as an ant target
(ORACLE_HOME/bin/ant-t2p-worklist.xml) and uses a properties file, migration.
properties, for specifying the parameters for migration.
Summary
Oracle BPM Suite provides a comprehensive and seamlessly unified BPM platform
that is built on an enterprise-grade platform providing superior manageability,
scalability, and reliability. While providing business friendly features such as BPMN
2.0 and business rules modeling complemented with a high-degree of collaboration, it
also provides robust features for application management such as test-to-production
migration that are useful not only for enterprise-grade deployments, but also for
departmental projects.
[ 42 ]
www.it-ebooks.info