Opentext Whitepaper Opentext Process Suite Platform Architecture en
Opentext Whitepaper Opentext Process Suite Platform Architecture en
Suite Platform
Architecture
Learn how the platform enables customers
to improve their business operations
Design-Time Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Model driven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Integrated metamodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Anatomy of a modeler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Runtime Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Logical view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Deployment view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Node view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Multitenancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
About OpenText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Applicable Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 3
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Application
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 4
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 5
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Design-Time Architecture
This chapter drills a little deeper into the design-time architecture of Process Platform. It
introduces the model-driven approach and then describes the highlights of the integrated
metamodel, the approach to team development, and the anatomy of a modeler. A closing
section provides an overview of the standard facilities of the Process Platform Collabora-
tive Workspace (CWS).
Model driven
Process Platform takes a model driven approach to application development. A key prin-
ciple is "What you model is what you execute." All modeling activities are done in
the Collaborative Workspace (CWS), a browser-based integrated modeling environment
allowing definition of all kinds of models: business process, user interface, entity, WSDL,
and so forth. Model developers use a browser to create new models or optimize existing
ones. Most models are represented graphically, featuring a responsive, rich user interface.
Integrated metamodel
The models are all based on a single integrated metamodel. This model not only captures
the structure, but also information on the (graphical) visualization, constraints, the building
and packaging procedure, and so forth. A key objective of CWS is to guard consisten-
cy. An application that successfully passed the build step should be deployable. This is
particularly important during refactoring. Renaming a model should not cause an incon-
sistency where the referrer holds on to the old name while the referee has a new one.
Each model has an associated Java class that takes care of the runtime behavior inside
the CWS service. The XML document representing the models is stored in a relational
database through XDS (for more information see Repository).
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 6
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
BPM ACTIVITY
1 1
DEVELOPER DEVELOPMENT
STATION SERVER
File
Share
WORKSPACE
Programmer SVN
DEVELOPER
STATION
WORKSPACE
RDBMS
Modeler
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 7
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Anatomy of a modeler
Process Platform comes out of the box with several modelers for Business Processes,
User Interfaces, Entities, and so forth. This section looks at the anatomy of a modeler and
explains how to build one.
The first step is to define the class definition of the model (that is, the metamodel) along
with its view definition. The view definition defines the user interface for this model. Both
definitions are expressed in XML.
These two definitions form the input to a generator that produces classes such as view
extension, adapter extension, build plug-in, and so forth to use in the front end and back
end of CWS. The modeler developer adds the custom behavior as needed, and then
builds the modeler. The following illustration shows where the various classes are used
when running CWS.
Deploy Engine
Package Publish
Plug-in Plug-in
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 8
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 9
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Runtime Architecture
At runtime, Process Platform comprises a set of web service containers connected
through a SOA grid. This section provides a look at the logical view, followed by the
deployment view, an explanation of Process Platform multitenancy and an overview of
the runtime services.
Logical view
A logical view of the Process Platform architecture has a strong resemblance with the
illustration provided in the high-level overview of Process Platform, although there are a
few differences that do justice to the technical aspects.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 10
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Deployment view
All runtime components are linked through the Process Platform SOA Grid. The SOA grid
provides three main facilities.
1 Routing of SOAP messages
The SOA is entirely SOAP-based. The services deliver their XML messages to the
Enterprise Service Bus (ESB). Based on the service registry, stored in an LDAP7 direc-
tory called CARS, it knows the details of all the services. Given the required quality of
service and whether to use a reliable transport, it chooses a channel and delivers the
message to the recipient. The messages can be transferred over a variety of proto-
cols, ranging from plain TCP/IP sockets to message queues.
2 Load balancing
As the load increases, not everything can be handled on a single system, so multiple
systems might run the same service, thus sharing the load. The ESB has pluggable
load balancing algorithms to decide which service instance to address.
3 Failover
If one of the service instances fails, load should immediately be moved to other
instances and business should go on as usual. This is taken care of by the failover
features of the ESB.
Details of these features are discussed in Enterprise Service Bus. DEPICTED SERVICES
The following diagram provides a 'bus view' of Process Platform:
• Entity Runtime. This component
hosts the entities with their
building blocks. See Entity modeling
EXTERNAL SYSTEM and runtime.
• Web gateway. This actually is not a
service on the bus but just a client.
It provides an access point for users
Entity WEB GATEWAY and external systems using the
Runtime BPM SSO Process Platform web services.
• External web services gateway.
This service, often called the UDDI
connector, links external web
services to the bus.
• LDAP. Process Platform uses an
External Web Services CWS LDAP CRM Connector LDAP directory, called CARS, as the
Gateway
runtime repository for certain types
of information. This repository is
accessed through the LDAP service.
EXTERNAL SYSTEM CARS CRM • CRM connector. The Customer
Relationship Management
(CRM) connector is an example
All participants on the bus are equal, so there is no central bus coordinator or single of a connector to any Enterprise
point of failure. The web gateway is depicted with a different icon because of its special Information System (EIS) or legacy
role, it only acts as a bus client and does not have a role in requests between the peers. system. Using Process Platform,
The service icons in the diagram represent a random set of the service groups in a stan- connectors can be developed for
dard Process Platform system. A service group denotes a conceptual service. The actual the various enterprise information
implementation is through a service container. To provide load balancing and fast failover systems in an organization. This
one service group might be implemented through multiple service containers, most of the connector bridges the proprietary
time running on different systems. protocol of the EIS with the bus.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 11
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
BPM 1
CRM
Process Platform
Monitor
Apache TomEE
TM
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 12
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
The web application server (currently only Apache® TomEE8 is supported) acts as a front
end for the Process Platform node and it hosts a number of components:
• Web applications. A number of Process Platform components is implemented as
Java EE web applications. The most notable example is Entity Runtime.
• Service containers. Traditionally, all service containers were hosted in processes
managed by the so-called Monitor. More recent versions of Process Platform allow
running service containers in the web application server, thus enabling a transaction
scope that spans multiple web applications and service containers. The most notable
example is the Case/BPM engine, which works in close cooperation with Entity
Runtime, to support the Lifecycle building block.
• Web Gateway. All requests from browsers and external systems enter Process
Platform through the web gateway.
Service containers are managed by the Process Platform Monitor. This is a Linux® daemon
or Windows ® service responsible for the lifecycle of the service containers, both inside
and outside the web application server. For service containers, it is indifferent whether
they run inside the web application server or outside it. Both types of processes provide
an identical execution environment, as visualized in the following picture:
Entity Runtime
OS PROCESS 1 OS PROCESS 2
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 13
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Multitenancy
The Process Platform SOA Grid represents the physical or deployment aspect of the
Process Platform architecture. The organization notion represents a logical concept in the
Process Platform architecture. All functionality is invoked in the context of a user and the
organization of that user. The organization is not really located on a particular node. All
service containers, wherever located, can execute the functionality on behalf of a user in
the context of that organization. So, if a user starts a user interface it will be in the context
of an organization of which the user is a member. And if the user interface invokes a call
on a service container, it will execute in the context of that organization and user. Before it
is executed, the role of user is validated against the Access Control List of the service. If
the user does not have the required authorization, the logic will not be executed. A single
user can exist in multiple organizations and have different roles in each organization.
Service containers exist in the context of an organization. The functionality in a service
container is exposed via a SOAP or REST interface. When a SOAP call is initiated, it is
always done in the context of an organization. For efficiency and reuse, a common shared
organization called System acts as a fall back mechanism for other organizations. If the
service is not implemented in the current organization, the call is delegated to the service
container in the System organization and executed there, but still in the context of the
invoking user and organization.
SOA GRID
ORGANIZATION 110
SYSTEM APPLICATION
Call in context of SERVICE
organization & user CONTAINER
All Process Platform service containers are organization aware and use multitenant data
stores to persist their data. When an Independent Software Vendor (ISV) builds a new
application, two options are available to deal with multitenancy in the datastore:
• Support multitenancy as part of the database schema, as depicted previously. The
service container of the application can be deployed into the System organization to
allow all organizations to use this new application.
• Provision a separate database (schema) for each tenant. Entity Runtime and
WS-AppServer support per tenant database configuration, enabling segregation of
tenant data in separate database schemas. This is depicted in the following diagram.
The content of the application (for example, the business processes and user interfaces)
can be deployed for a single organization (or tenant), thus making it available within the
context of only that organization. This is called organization level deployment. It typically
happens when developing or customizing an application for just one organization.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 14
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
SOA GRID
ORGANIZATION 110
ORGANIZATION 267
APPLICATION
SERVICE GROUP
Database2 for
organization 267
SYSTEM APPLICATION
Call in context of SERVICE
organization & user CONTAINER
Database1 for
organization 110
Alternatively, an application can be deployed for all organizations. In that case, the applica-
tion content is stored in the so-called Shared space. This space contains content common
to all organizations. This is depicted in the following illustration. Although the Shared space
is drawn in the same fashion as an organization, it is, technically speaking, not an organi-
zation. Content (for example, user interfaces and business processes) is always stored in
the context of an organization, or the Shared space. Wherever a service container loads
its content from, the context is always based on the organization of the user on whose
behalf the logic is executed.
The following illustration provides an example where a business process of an applica-
tion is customized for one organization. The user of "organization 110" will be using the
business process defined in the Shared space, though it will be executed in the context
of "organization 110." A user in the "organization 267" will use a customized version of this
business process, stored in its own organization.
ORGANIZATION 110
ORGANIZATION 267
BPM customized
in Organization
SHARED SPACE
BPM defined
in shared space
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 15
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
PROCESS EXPERIENCE
Process Experience structures user interfaces through layouts with different types of
panels showing different information. For example, a layout can contain panels to show
forms, lists, web content, and so forth. List panels can list entities of different origin,
including entities from various business process management and content management
systems. Through this, it is possible to design good looking and informative user inter-
faces that enable users to access disparate systems and applications using a consistent
user interface.
Layouts
The user interface consists of layouts that organize a set of panels into a page to be
presented to a user. There are two types of layouts: entity and home page. Entity layouts
are used to display instances of a specific entity and may contain panels that display
various aspects of the current entity. Home page layouts are launched with no entity and
can only include panels that do not require an entity.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 16
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
A layout can contain any number of panels arranged as specified at design time. If multi-
ple panels are combined in a single zone in a layout, the layout manager presents tabs for
a user to select a panel to activate.
Layouts subdivide screen real estate to present information. However, the amount of
screen real estate available varies greatly, as the same layout can be accessed from
various displays ranging from a desktop with a huge monitor to a mobile device with a
small screen. While a modeling user could design separate layouts for different sized
screens, this is tedious and difficult to maintain. To simplify this, the layout manager uses
responsive design techniques to automatically rearrange the panels in a layout based on
the available screen real estate. The layout is designed for the largest sized screen and
the layout manager rearranges panels automatically for smaller screens.
Lists
The most common way for a user to interact with the system is by running a list. The func-
tion of a list is to filter and present a set of entities (see Entity modeling and runtime). Two
classes of entities are supported: native entities, defined through Entity Modeling, and
external entities, imported through an Enterprise Information System (EIS) connector. An
EIS connector makes data from an EIS available in the form of entities. The growing set of
EIS connectors includes connectors to OpenText legacy BPM products, thus enabling a
unified user experience across multiple BPM systems.
Forms
Typically, when you choose to present entities to a user, you present each entity's proper-
ties in a form. The form can present any property from the entity and its related entities.
This includes any property from any of its building blocks, not just the custom properties
that you define. For example, if an object includes a Title building block that provides a
Title property, that property can be added to a form.
A form consists of a set of form components. The types of form components follow:
• Properties. A property component presents one of the object's properties. Each
type of property has a set of alternative presentations called formatters that can be
used to display the property's value.
• Containers. Containers are used to add structure to a form. Examples of containers
include the tab, stack, and general containers.
• Decorations. Decorations can be used to make the form more usable or attractive.
Examples of decorations include text, image, and horizontal rules.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 17
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 18
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Inbox
The most common user interface for Process Platform users is the Inbox. The Process
Platform provides an advanced one, which is fast and highly configurable to suit every-
body's needs.
Case Management integration:
• The Inbox has a seamless integration with the Case Management solution
• Overview of all the tasks to which the user has access, grouped by case model and
case instance
• Case Task view providing a consolidated view of the active tasks for a particular case
instance
• Complete Case dashboard enabling the user to
• Plan follow-up activities
• Raise events
• Attach documents
• Perform administrative activities (for example, suspend, resume, forward, delegate)
• Case history view
Customization possibilities in Inbox:
• Visual customization (personal and on role/team/work list level)
• Behavioral customization
• User preference for language and date format
• User-selectable business data
• Extensible for application developers through custom JavaScript code supporting
events, such as onBeforeCommit and onBeforeFollowup
The Inbox interacts with the notification service on the back end to fetch work items and
update statuses.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 19
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 20
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
The earlier mentioned Rule Engine and Data transformation are all invoked from this
BPMN flow, not necessarily visible for the business end user, but visible for the functional
administrator or process analyst.
Case Management
BPMN is suitable for processes that are well defined and uniform. In day-to-day life,
however, processes often vary on a case-by-case basis and the knowledge worker
in the process wants to decide on the necessary next steps. This is the "sweet spot" for
Case Management. At the core, a case process is a state machine. Modeling users can
decide to express their case model as a set of interrelated states, but they can also opt
for a simplified model with just one implicit state. The activities of a case model are related
to each other through "follow-up relations." The build step of a case model produces
SCXML that at runtime is interpreted by the state machine of Case Management. Cordys
(now OpenText) is one of the submitters of the Case Management Model and Notation
(CMMN) standard.
Some key characteristics of the Case engine follow.
• Fully state machine-based. A case model is converted into a state model,
including aspects such as follow-up relations, which might not seem state-related at
first glance.
• Standard SCXML execution format. The state definition complies with the
SCXML12 standard as defined by W3C.
• Case data management. Case models define the data structure applicable for
that case.
• Case Instance Manager. The progress of a particular case, as well as any changes
to the case data, are tracked in the case instance tables. The Case Instance Manager
provides access to this data.
• Part of Business Process Management service group. In a default Process
Platform deployment, the case engine is part of the Business Process Management
service group, together with the BPM engine.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 21
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Following is a screenshot of the case model invoked from the main BPMN flow shown
previously. It demonstrates how the BPMN flows and case models can invoke each other.
This case model has four functional states and the arrows depict the state transitions that
are often event-based.
If you compare the main BPMN flow given on the last page with the one given above, you
can see that Process Platform has the option to collapse and expand groups of activities.
The embedded sub-process labeled Handle claim as an Exceptional Case is expanded
by the process designer into detail activities of which the last one, labeled Handle Excep-
tional Case invokes the case model.
The way this invocation works can even be configured via the properties boxes (using
Tabs) allowing process designers to tune runtime behavior exactly to their needs.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 22
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Administration
Designer
Archiving
CQL
Process
SCXML
Load
BPML/
Executor
Process
BPMN/
CMMN
Save Model
CQL Scheduler
Processor Thread Pool &
PROCESS Job Queue
Design-time
Monitoring Data
EXECUTOR
Repository
SQL
Publish
Case and BPM processes share a single runtime engine, for which the architecture is
depicted above:
Rules Management
Process Platform offers a powerful, high performing rule engine for expressing business
logic in the form of rules. Business logic (such as calculation of discount, calculation of
customer rating, and so forth) is well suited for expressing in business rules, as such logic
is subject to frequent changes. It should be easy for business users to modify and deploy
business rules. Part of the logic of business processes is often expressed as business
rules to make the business process less complex, more flexible and easier to maintain.
The following picture depicts the rule engine architecture.
• The rule engine is well integrated with WS-AppServer. Applications should decide
which logic should be part of Java code and which logic should be expressed as
rules. The rule of thumb is that any logic that is very dynamic and changes frequently
should be expressed as rules.
• Decision tables in Process Platform
are layered over the concept of RULE ENGINE
rules. They abstract a user from
the procedure of building a rule ACTION
from scratch. A decision table can HANDLER
be created based on a business
object. Each decision table can Database Invoke
XPath Process
contain one or more rules acting
Engine
on that business object. Decision Invoke
tables provide a concise, easy- XQY Web Service
to-read, highly maintainable,
and logically organized way of Assignment
NATIVE
representing and querying data. ENGINE
(CRML REPOSITORY Custom
CACHE Interpreter) Handler
Cache Management MANAGER
Framework Library LDAP
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 23
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 24
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
DASHBOARD
Inbox, Email, BPM, WS KPI Services Business Measure Services External Tools
Enterprise EDO
Apps
MDM
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 25
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Entity management
Though Process Platform is strongly service oriented, with SOAP and WSDL as the
common language between the different components, there is also a notion of enti-
ties. When building a user interface form, the user interface modeler recognizes certain
patterns in the interface contract and based on that, knows that a certain entity (for
example, an order) is dropped on the form. Process Platform supports entity manage-
ment in two ways:
• Low-code, through entity modeling and runtime
• Developer-oriented, through WS-AppServer
Both variants are described in subsequent sections.
ENTITY MODELING AND RUNTIME
The entity model concept brings a more pervasive and complete notion of Entity to
Process Platform, enabling an information first approach to application design and devel-
opment. An Entity represents an identifiable notion in the business domain. Entity model-
ing takes a compositional approach - entities are constructed by adding building blocks
until the desired result is achieved. The building blocks available include:
• Properties - various property types (such as Date, Integer, Text) are supported. An
Order entity, for instance, typically has properties such as deliveryDate (Date) and
orderAmount (Integer).
• Relationships - entities can have child entities and maintain peer-to-peer
relationships with other entities, supporting cardinality 1:1 and 1:n. An Order entity
for instance would have zero or more OrderLine child entities and a n:1 relationship
with Customer.
• Rules - business logic is added to an entity using declarative rules. Rules can be
used to do validation, calculate values, control form behavior, and to start processes.
• Actions - custom actions can be added to an entity. The action can calculate and
set the value of properties and start processes.. An Order entity for instance would
have an action plan.
• More - there are many more building blocks available including File, Content List,
Discussion, Security, Lifecycle, Mobile App, List, and Layout. An Order entity for
instance would have a Security building block to manage the authorization on the
entity, and a number of lists and layouts to represent the orders to the user. A Claim
entity would have a Lifecycle building block to manage the states of the claim, a
Discussion building block for threaded discussions, and a Content List to manage
the documents.
The entity modeler provides the option to expose SOAP web services on entities to read
and manipulate them (by adding the Web Services building block). This enables exposing
web services to external web service consumers (for example a .NET application) and
using entities from models that currently only support SOAP web services. The SOAP
request is routed to the Entity Runtime through the Application Server connector.
In the following sections, we zoom in on important building blocks and aspects of Entity
modeling and runtime:
• Entity Runtime
• Lifecycle building block
• File and content list building block
• Mobile app building block
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 26
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
ENTITY RUNTIME
The Entity Runtime is running as a web application inside the web application server, next
to Process Experience, which provides the user interface functionality related to entities.
As depicted in the following diagram, Entity Runtime exposes a set of RESTfull interfaces
to its clients and it stores its data and metadata in a relational database. In multitenant
scenarios, the relational database can be tenant specific or shared among tenants (while
still maintaining strict data isolation). The most common scenario is to define the entities
through the Entity Modeler and have the Entity Runtime create the database schema. In
scenarios where the database schema already exists, it is possible to import it and create
entities based on the existing database schema.
HTTP
Process Experience
USERS
REST
Entity Runtime
DEPLOY
Apache TomEE
TM
CAP
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 27
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 28
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
WS-AppServer
For a coding developer, WS-AppServer provides a way to define the application and UI
logic in a simple and structured manner. WS-AppServer pulls out database metadata
from a relational database and generates Java code. The generated code, along with the
WS-AppServer framework, provides the application with the following features:
• Persistence is completely taken care of by the framework and there is no need to
write code to perform CRUD13 operations.
• Object Lifecycle and Transaction management is handled by the framework.
• Event-based programming makes coding easier.
• WS-AppServer has a large number of object lifecycle and transaction related events
that are raised by the framework. Based on its specific needs, the application just
needs to fill in what it needs to do when a certain event is raised.
• Dynamic business logic is supported via an integration with the rule engine.
• Logic that is unlikely to change frequently is put inside the Java code.
• Logic that changes frequently is defined as business rules, thus ensuring that business users
can change the application behavior without having to bring in their developers to change
the code.
• Application logic can be easily exposed through web services.
• Table specific classes can be aggregated into user defined classes, called custom
classes, which map closely to the view the end user needs to see.
• Business logic of non-Process Platform systems can be extended by defining classes
over entities of external systems and using the WS-AppServer events to handle the
persistence and define the business logic.
Scheduling
In a real-time business environment, the ability to trigger processes or applications based
on specific system events or at a specific time is a critical requirement. Process Platform
facilitates modeling of schedules that can trigger time-based actions, such as processes
or web service invocations. Process Platform provides an intuitive UI-based schedule
modeler, enabling modeling of different kinds of schedules that can be integrated into
an application.
Schedules are generally of two kinds:
One-time schedule. These are executed only once
Repeating schedule. These are triggered at specified periodic intervals, ranging from
annually to hourly
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 29
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 30
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
The above screenshot shows the Process Platform User Interface used for one of the
tasks drawn from the previously explained insurance claims BPMN process model. The
user interface is shown in preview mode when clicking the user interface icon part of the
Process Activity Validate Claim in the grey swim lane. This exemplifies the model-driven
approach of the Process Platform: models for flows, cases, task user interfaces, and
so forth.
A service container called Notification Service manages the lifecycle of both tasks and
notifications. The following illustration shows the architecture of the Notification Service.
Tag Task
Server Server
INBOX
Notification Engine
DATABASE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 31
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
COMPONENT RESPONSIBILITY
INBOX Facilitates knowledge workers to effectively and efficiently work with
their tasks.
NOTIFICATION ENGINE Responsible for task management. Interacts with the ecosystem and
presents the details to Inbox. It is the core component of workflow.
PROCESS/CASE ENGINE Interacts with the notification component to deliver the tasks for the
human activities. Upon completion of the task, it takes the BPM or
case to the next step.
ORGANIZATION MANAGEMENT Responsible for team management.
IDENTITY MANAGEMENT The user information and the roles are stored in LDAP. The notifica-
tion engine interacts with LDAP to retrieve the user/role information.
TASK SERVER Every UI in Process Platform is represented as a task. Inbox inter-
acts with the task server to retrieve the URL of the user interface
associated with a human task.
TAG SERVER The Inbox interacts with the tag server to retrieve tasks associated
with user defined tags.
DATABASE CONNECTIVITY All tasks and associated models are stored in a database. The
AND PERSISTENCE STORE notification engine uses the XQY database connectivity layer for
persistence and retrieval of the task list content.
• Work list. A work list is a container of the tasks processed in a workflow, case, or
any other composite application and is displayed in the Process Platform Inbox.
Teams are associated with a work list. Users who are part of the teams assigned
to work list can view all the tasks assigned to their work list, the status of various
tasks in their work list, and so on. Depending upon the skill set and requirements,
users can claim tasks from the work list. Once the task is claimed, it appears in the
personal tasks folder of the user, which contains all the tasks assigned to or claimed
by the user.
• Escalation support. For tasks created from processes or cases that are not
completed in the stipulated time, as defined at design time (either statically or
dynamically through a variable), an escalation message is sent to the manager of the
case worker or to the manager of the work list to which the task is delivered. It is also
possible to transfer the task to some other user on escalation
• Open. It is not mandatory to have XForms as the user interface. It is also possible to
reuse the existing UI pages, developed in ASP.NET or JSP, as a UI task in Process
Platform for workflow integration and task delivery. It is possible to create an external
user interface document and link the existing user interface developed in ASP.NET or
in JSP by providing an interface contract in the form of XML schema. The JSP or ASP.
NET pages need to be enhanced to consume the data from Process Platform and
provide the data back to Process Platform, according to the XML schema provided.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 32
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
BUS
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 33
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
CONNECTIVITY FRAMWORK
DB ERP CRM GOOGLE APPS J2EE/.NET CUSTOM APPS LDAP XDS UDDI
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 34
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
STANDARDS COMPLIANCE
Process Platform uses universally accepted standards, such as WSDL, XSD, XML
and SOAP. All consumers of the Process Platform web services can use the "design by
contract" model for invoking these web services without having to worry about underly-
ing implementations. Process Platform is also WS-I Basic Profile17 compliant, so the
services hosted on Process Platform are completely compatible with different platforms.
Developers can base their functionality on the contract given by the WSDL and not worry
about implementations.
LOOSE COUPLING
All capabilities provided by Process Platform or built by customers using the platform are
delivered to the end user as services, and from a technology perspective as web servic-
es. Web services use WSDL and XSD and provide loose coupling because they formal-
ize the contract between the consumer and provider. The Process Platform messages
follow the paradigm of stateful objects and stateless connections, so all invocations for
the Process Platform services are completely decoupled and do not hold any information
about the client's prior interactions.
TRANSPORT TRANSPARENCY AND MULTIPROTOCOL SUPPORT
A critical capability of the ESB is to route service requests through a variety of commu-
nication protocols and to transform service requests from one protocol to the other
where necessary. Enterprise applications typically involve talking to different individual
applications that support different transport protocols, and the Process Platform ESB
provides physical transport protocol bridging to allow communication between services
using different transports. Process Platform provides a choice of configuring services on
sockets, Microsoft Message Queuing (MSMQ), Java Message Service (JMS), and also
offers the option to build custom transports. This gives flexibility to effectively integrate
disparate systems and manage complex communications at the transport level.
LOCATION TRANSPARENCY
The ESB acts as a layer of middleware through which a set of business services is made
widely available, but the client is not aware of where the service is hosted, as it breaks the
previously mentioned loose coupling strategy. All Process Platform services point to one
physical address and the Process Platform ESB locates the service when it is invoked,
providing a level of service virtualization and location transparency, so that if a node goes
down or a service provider has to be moved, individual service clients do not need to be
notified of the change.
CLUSTERING - LOAD BALANCING AND HIGH AVAILABILITY
The ESB acts as the middleware to host all services. It is also suited to perform load
balancing of service requests across services. The Process Platform services are config-
ured under a logical entity called service group. Each service is hosted in a service
container, which is the Java process providing the implementation. A service group can
be implemented through more than one service container of the same configuration,
each running on a different physical node. An administrator can choose the load balanc-
ing algorithm, such as simple failover or round robin for load balancing. Service contain-
ers can be added or removed on demand depending on the need. The Process Platform
clustering leverages a reliable broadcasting technology called Gossip. Service containers
broadcast their state and health information using the Gossip protocol18.
SECURITY INFRASTRUCTURE
As the ESB acts as the central mediator for service invocations, it is ideal for declaring
and enforcing security. The Process Platform ESB provides a comprehensive security
infrastructure for developers to create access control lists for specific roles/users on all
important components, such as service groups, web services, and metadata, which are
then enforced by the engine after authentication. Process Platform can integrate with any
enterprise domain authentication systems or integrate with external SAML providers, and
also provides the option of custom authentication.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 35
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
RELIABLE MESSAGING
Reliable messaging refers to the ability to queue service request messages and ensure
guaranteed delivery of these messages to their destinations. It includes the ability to
provide message delivery notification to the message sender/service requester. The ESB
supports distributed transactions and the Process Platform components are configured
for accepting requests on message queues. They can deliver and receive messages
reliably, even in case of component, system, or network failures. The Process Platform
reliable messaging uses distributed transactions through the XA19 protocol and supports
JMS and MSMQ message queues.
TRANSACTION
SCOPE DATABASE DATABASE
Update
Update
MANAGEABILITY
It is important to monitor the health of the ESB and the services hosted on it. The ESB
comes bundled with applications that provide comprehensive information about all the
services, health of the system in a dashboard view, and the ability to drill down to specif-
ics for any component. Process Platform has self-healing capabilities, where services
raise alerts and can take corrective actions automatically. Process Platform services can
be monitored using any JMX and SNMP compatible tools.
Manageability using JMX
Process Platform can be managed through the JMX APIs as exposed by the platform. JMX-
capable tools can directly interact through JMX. Other tools can use an SNMP adapter.
VisualVM Unicenter
SNMP ADAPTER
PROCESS PLATFORM
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 36
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 37
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
1
1 Service
Container
1
1
Monitor
2
2 2
Source
2
2
Intermediate
3
3
3 Node
3 4
3 4 Original Message
3 Propagation
Duplicate Message
4 Propagation
Process Platform
Cluster
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 38
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 39
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
The Process Platform connectors act as an interface between the ESB layer and a specif-
ic application, system or technology. It provides a two-way communication channel. That
is, requests or messages from the ESB layer are converted to a format that is under-
standable by the specific application or system and messages from the application are
converted to SOAP requests on the ESB.
The application connector framework leverages the rich functionalities and features
provided by Process Platform, which include:
• Logging
• JMX support
• Access control list (ACL)
• Problem Registry
• Localization support
• Transaction support
• Load balancing and failover support
The generic connectivity framework helps ISVs and application developers to develop
specific connectors with minimum effort, and also enables third party connectors and
adapters to be integrated with Process Platform.
The ready-made connectors provided by Process Platform and the community around it
provide instant access to most widely used systems in an enterprise. Some of the out-of-
the-box connectivity options provided by Process Platform are:
• Email connector. The email connector enables sending and receiving mails through
IMAP or SMTP and POP3.
• FTP connector. The FTP connector enables uploading and downloading files to/
from an FTP server.
• HTTP connector. The HTTP connector is commonly used to interact with RESTful
web services. It supports both JSON and XML.
• JMS connector. The JMS connector enables integration with JMS-based services.
It exposes web services to send and receive messages, and it allows defining a
trigger to invoke a web service upon receipt of a message over a JMS queue. The
latter feature is commonly used to execute a process upon receipt of a message.
• SAP® connector. The SAP connector provides connectivity to SAP back ends
through RFC and BAPI.
• Script connector. The Script connector enables web services to be implemented
in JavaScript.
A full catalog of the available connectors is available here25.
Repository
Process Platform consolidates storage of metadata in a single repository called XDS.
This repository is the underlying store for the Process Platform Collaborative Workspace
(CWS) but also stores tag definitions, tasks, business calendars, and so forth. XDS is
RDBMS-based and meets the high availability requirements of Process Platform.
The Process Platform repository contains different kinds of data:
• Application content developed in CWS. Stored in XDS via CWS.
• Data published from CWS. Certain deployed models are stored in XDS (example
business calendar, organization models, tasks, and so forth.)
• Runtime data. The platform and applications built on top of it can store metadata
and definitions in the repository (for example, XMLStore, which uses XDS to store the
content in the database).
• Platform metadata. Stored in repositories. Package installation details, for example,
are stored in XDS.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 40
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
REPOSITORY SERVICE
XML Tag Task Document
Store XDS Server XDS Server XDS Store XDS
DATABASE
The above diagram shows the architecture layer of the repository service.
Document Store
Documents are usually stored in a content repository. Process Platform provides Docu-
ment Store as the facility to work with any content repository. Any document, regardless of
the content, can be stored in these document stores. Documents can be added as attach-
ments and be retrieved later. Documents can also be viewed, uploaded or downloaded.
Document Store enables you to plug in a content repository so that any existing content
repository can be used. Process Platform can work with any content repository server
that has exposed its repository API according to JSR 17026 or CMIS27 specification.
Some repositories, such as Apache Jackrabbit™28, provide a true implementation of
JSR 170. Other repository servers exposing their repository service through a JSR 170
compliant wrapper can also be plugged into Process Platform.
The document store supports the following content repository types:
• Repository (based on XDS, not supported for production usage)
• Apache Jackrabbit
• OpenText Content Server
• OpenText™ Archive Center
• CMIS (any type of CMIS 1.1 compliant content repository)
• Custom plug-in implementation
To optimize memory consumption, a streaming-capable RESTful API exists. An integra-
tion with OpenText™ Brava!™ DWG Viewer enables viewing any type of document in
the browser.
Tagging
Many social networking sites allow their users to tag29 information. Tags are generally
chosen informally and personally by the item's creator or by its viewer, depending on the
system. Tagging is an easy way for end users to group or categorize their own tasks and
artifacts. Tagging abstracts the storage approach (for example, hierarchical) and enables
users to view the system in a more linear and self-managed approach.
The tagging service within Process Platform allows associating tags to any type of artifact.
Process Platform currently uses it to associate tags to tasks on the User Start Page, tasks
in the Inbox, and documents in the Process Platform Collaborative Workspace (CWS).
The design is extensible and allows tagging application artifacts (for example, orders,
products, employees) as well.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 41
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Auditing
Auditing is a well-known process of tracking changes to an object of concern in the
software world. Process Platform provides an auditing framework that is used internally
by many of its components and can be used for auditing of application events as well.
Process Platform provides an auditing framework to define artifact types and provides
needed abstraction to help developers audit the needed artifacts. Process Platform
stores all the audit information in the Process Platform database configured at installation.
Process Platform provides auditing capabilities to audit critical actions:
• Starting and stopping of service containers
• Deployment of application packages, BPMs, business calendars, schedules, and
so forth.
• Changes to LDAP and XMLStore
• Invocation of web services (this can be done on web gateway level and per
service container)
• User login and logout
What's actually audited can be configured through filters. The administrator can view and
search specific audit events based on:
• Artifact type or ID
• User who performed the action
• Date range
• Organization context
• Action performed on the audited artifact, e.g. deploy or undeploy
Gateway
The Process Platform web gateway30 is the HTTP interface of the Process Platform SOA
Grid. It is meant to be a lightweight component, hence its functionality is very minimal. In
brief, it is the HTTP end-point of all web services hosted by Process Platform. Besides
that, it also supports some security features31.
The primary functions of the web gateway are:
• Authentication (optional).
• Integrated authentication, for example, Microsoft® Active Directory®.
• Process Platform authentication, using Single Sign-On (SSO) service.
• Authorization: The set of accessible web services can be limited on web gateway
level.
• SOAP request/response validation (optional).
• Verify if request is according to the WSDL.
• Verify if response is according to the WSDL.
• Translate HTTP requests into SOAP requests.
• Translate SOAP responses into HTTP responses.
The gateway runs in the web application server.
User Interface (UI) tasks
UI applications in Process Platform are referred to as UI tasks. UI tasks facilitate fine
grained authorizations on different elements of the UI.
The UI task modeling environment allows identifying different elements as task parts. The
task parts may be linked to web service invocations, UI elements, or a combination of
both. The UI tasks are assigned directly to users or through roles. During this assignment,
fine grained authorizations can be granted by enabling or disabling different task parts.
The assigned UI task is called a configured task. It takes care of updating all access
controls for a particular user or role that are required to invoke the UI task.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 42
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
For example: An administrator can allow certain users to start and stop service contain-
ers, and limit other users to only view the status of service container. Both groups will
have the same UI with some options enabled or disabled. Enabling and disabling is done
through configuration, not during the development time. Bypassing the user interface
does not breach security, as the related back end authorizations are granted along with
the UI permissions.
It is possible to define composite UI tasks. UI tasks can be linked to workflow tasks
through the Inbox.
Security
Authentication
Authentication is about establishing the identity of the user within the Process Platform
system in a secure and trusted way.
Process Platform has multiple options for user authentication:
• Web server authentication
• Process Platform authentication
• SAML authentication
• OpenText™ Directory Services (OTDS) authentication
WEB SERVER AUTHENTICATION
With web server authentication, the responsibility of authenticating the user is put at the
web server. The web server handles user authentication and passes the user identity on
to Process Platform.
Web server authentication can be handled in different forms:
• Basic, Digest, Domain Authentication (NTLM)
• Certificate-based authentication.
Certificate-based authentication adds an extra level of security to the platform as Public
Key Infrastructure (PKI) is used to identify the user. Each user has a unique certificate,
which will be used for authentication in the web server. Only after the client certificate is
validated is the user identity passed on to Process Platform.
PROCESS PLATFORM AUTHENTICATION
With Process Platform authentication, user authentication is performed by the Process
Platform Single Sign-On service (SSO) instead of by the web server.
User authentication is based on a username and password and, after validating them, the
SSO generates a signed SAML 1.1 assertion that states the user identity. This SAML 1.1
Assertion includes a SAML artifact that can be used as a reference to the SAML assertion.
With each web service request from the front end, this SAML artifact communicates in
a web-browser session cookie. The web gateway looks up the corresponding SAML
assertion for the given SAML artifact and uses this internally in Process Platform.
When a user logs on to Process Platform, the username and password are entered in a
login form and sent to the Process Platform SSO service. The username and password,
by default, are validated against the Cordys Administration Repository Server (CARS).
Process Platform Authentication is an extensible system that allows custom login forms to
be used in the front end. The Process Platform SSO service also has an extension mech-
anism, so that one can also authenticate against other sources (e.g. Microsoft Active
Directory or a database).
As complete user authentication is done by Process Platform, authentication in the web
server needs to be disabled.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 43
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
SAML AUTHENTICATION
Another form of non-web server authentication is based on SAML. Here, authentication is
relayed to an external service or Identity Provider (IDP). Process Platform implements
the SAML 2 Web browser SSO profile32, which means the external IDP must support the
SAML 2.0 standard.
When Process Platform needs to authenticate the user, the browser is redirected in a
separate window to the configured external IDP that handles the authentication. After the
user is authenticated, the external IDP Posts a SAMLResponse back to the Process Plat-
form SSO service. The SAMLResponse contains a signed SAML 2.0 Assertion that states
the identity of the user. This external SAMLResponse is validated and matched with the
available users in Process Platform. After validating the external SAML 2.0 Assertion, a
new internal SAML 1.1 Assertion is generated. So the external SAML 2.0 Assertion is only
used once for user authentication.
The flow between the browser, Service Provider and Identity Provider is given below.
In this flow, Process Platform SSO is the Service provider and the User Agent is the
user's browser.
PROCESS PLATFORM
CLOUD
MY IDP
(OPENAM/ADFS)
ON-PREMISE
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 44
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
CONTENT SERVER
ACTIVE DIRECTORY®
PROCESS PLATFORM OPENTEXT
DIRECTORY FACEBOOK (OAUTH)
MEDIA MANAGER
SERVICES (OTDS) ....
....
OTDS supports synchronization of users, groups, and group memberships across the
connected products. With this, users and groups can be managed centrally, in OTDS or
its identity provider (for instance Microsoft Active Directory), across all OpenText products.
CARS
PROCESS PLATFORM
LDAP ....
ACTIVE DIRECTORY®
OPENTEXT ......
DIRECTORY SERVICES (OTDS)
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 45
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Conclusion
Process Platform offers a strong foundation to build business applications. This paper
describes the design goals of the platform and offers an insight into the design-time architec-
ture, as well as the runtime architecture of the platform.
We could only cover the highlights of the architecture here. To learn more, join the Process
Platform Community at http://community.cordys.com. You will find many articles about
various aspects of the platform, as well as an active community that can answer any question
you might have.
About OpenText
OpenText enables the digital world, creating a better way for organizations to work
with information, on premises or in the cloud. For more information about OpenText
(NASDAQ: OTEX, TSX: OTC) visit opentext.com.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 46
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
Applicable Standards
Process Platform plays in the domains of business process management, cloud computing, and web services. These domains are
being standardized by standards bodies such as W3C, Oasis, and OMG, each producing numerous standards. The following table
lists the most important standards supported by Process Platform.
E N T E R P R I S E I N F O R M AT I O N M A N A G E M E N T 47
OPENTEXT™ PROCESS SUITE
W H I T E PA P E R
PLATFORM ARCHITECTURE
References
1 http://en.wikipedia.org/wiki/Development,_testing,_acceptance_and_production
2 http://en.wikipedia.org/wiki/Service-oriented_architecture
3 http://en.wikipedia.org/wiki/Software_configuration_management
4 http://subversion.apache.org/
5 http://www.eclipse.org/
6 http://msdn.microsoft.com/en-us/vstudio/default.aspx
7 http://nl.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol
8 http://tomee.apache.org/
9 https://www.w3.org/MarkUp/Forms/
10 http://en.wikipedia.org/wiki/Right-to-left
11 http://www.bpmn.org/
12 http://www.w3.org/TR/scxml/
13 http://en.wikipedia.org/wiki/Create,_read,_update_and_delete
14 https://wiki.cordys.com/display/PI/2009/06/17/The+how+and+why+of+the+Cordys+XML+engine
15 https://wiki.cordys.com/display/PI/2009/05/22/Bringing+NOM+to+the+Java+Developer
16 https://wiki.cordys.com/display/PI/Using+DOM+APIs+Over+Cordys+NOM
17 http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicprofile
18 http://en.wikipedia.org/wiki/Gossip_protocol
19 http://en.wikipedia.org/wiki/X/Open_XA
20 https://wiki.cordys.com/display/PI/2009/12/22/Guidelines+for+building+distributed+applications+and+frameworks
21 https://wiki.cordys.com/display/PI/2010/02/11/SSU+Framework+highlights+-+1
22 https://wiki.cordys.com/display/PI/2010/03/19/SSU+-+Framework+highlights+-+2
23 https://wiki.cordys.com/display/PI/2009/11/10/Distributed+cache+invalidation
24 https://wiki.cordys.com/display/PI/2009/12/01/State+registry+in+Cordys
25 https://wiki.cordys.com/display/dsc/Connector+Directory
26 http://jcp.org/en/jsr/detail?id=170
27 http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html
28 http://jackrabbit.apache.org/
29 http://en.wikipedia.org/wiki/Tag_(metadata)
30 https://wiki.cordys.com/display/PI/2009/08/20/The+how+and+why+of+Cordys+HTTP+Gateway
31 https://wiki.cordys.com/display/PI/2009/09/10/Cordys+Web+Gateway+Security+-+Part+1
32 http://en.wikipedia.org/wiki/SAML_2.0#Web_Browser_SSO_Profile
33 https://wiki.cordys.com/display/SecMan/Security
www.opentext.com/contact
Copyright © 2016 Open Text SA or Open Text ULC (in Canada). All rights reserved. Trademarks owned by Open Text SA or Open Text ULC (in Canada). (05/2016)04761EN