Appworks Architecture - SAR1
Appworks Architecture - SAR1
2.................................................................................................... Disclaimer 6
3.2 Scalability..................................................................................................... 7
3.4 Integrations................................................................................................... 8
3.4.1 OpenText Extended ECM...............................................................................8
3.4.2 Oracle EBS integration..................................................................................8
3.4.3 Email Integration..........................................................................................8
7............................................................................................... Environments 23
8.3 Patches....................................................................................................... 35
9................................................................................................... Conclusion 35
Term Description
SAR Saidy Railways Company (Customer)
AppWorks Opentext AppWorks
xECM OpenText Extended ECM
OTCS, CS OpenText Content Server
OTDS OpenText Directory Services
OTAC, AC OpenText Archive Center
OTSC, SC OpenText System Center
EIM Enterprise Information Management
HLD High Level Design
TDD Technical Design Document
LMM Low Memory Mode
ENTERPRISE INFORMATION MANAGEMENT 6
Term Description
AD (Microsoft) Active Directory
EC Enterprise Connect
VM Virtual Machine(s)
HTTPS Hypertext Transfer Protocol (Secure)
TLS Transport Layer Security
IWA Integrated Windows Authentication
SSO Single Sign-on
BWS Business Workspace
CWS Content Web Services
HA High Availability
Glossary of Terms
2 Disclaimer
This is a living document that should be updated regularly as requirements are clarified, added or
changed. Therefore, it is important to monitor early usage to acquire precise usage patterns and to
consequently resize the architecture accordingly.
The information used to produce this estimate is constantly being updated and is subject to change
without notice. Some of the updated information may directly impact this architecture design.
OpenText makes every effort to ensure the accuracy of this information according to the information
available; however, some empirical data is used in various calculations, which is not specific to SAR
environment, and therefore actual results may vary.
3.2 Scalability
To facilitate the development and roll-out of the system for the immediate needs, this document set
proposes an architecture that will support the resources required for the deployment of the solution.
OpenText will also outline what the scaled-up architecture for the solution beyond the initial known
goals of the project will look like and will take into consideration the aspects of scaling up from the
initial architecture to a larger solution if needed. However, the primary driver identified for this
design decisions are based on these platforms, any challenges will be called out accordingly.
Any other software components that will be involved in SAR OpenText based system are expected to
SAR has expressed their preference to use VMware virtual servers wherever possible..
3.4 Integrations
SAR has indicated that following integrations will be part of the scope.
Oracle EBS
Email integration
AppWorks ECM will be used to store all the processed documents from AppWorks . Opentext
extended ECM will be used to connect and store all the documents.
SAR uses Oracle EBS as their back end ERP , AppWorks can connect to the functions of Oracle
EBS with required web services . AppWorks exposes the required services to be consumed by Oracle
EBS and Oracle EBS has to expose required web services to consume at AppWorks .
Opentext AppWorks uses the standard Appwork Email connector to send / receive emails to SAR
users .
expecting the AppWorks will be used by about 200 users. The following tables summarize the user
metric information.
Phas Estimated
e Users
Phase 1 200
Phase II TBD
Total 200
Named End Users for the application
considered active..
Concurrent Concurrent users (concurrent use) that are requesting
OpenText AppWorks has the power and flexibility to digitize, automate and integrate
processes across functions, systems, machines and clouds. These processes can be
structured, or unstructured – giving you ultimate control to optimize your business’
performance and expand its reach. This innovative platform supports tight integration
between content and process to connect the right person, system or thing with the content it
needs at the right time.
OpenText AppWorks offers a single platform for process automation, case management
and low-code application development in the cloud. With less IT involvement, AppWorks
automates complex business processes, enables better decision-making and improves the
customer experience. It creates opportunities to re-engineer processes around customer
needs, deliver seamless customer experiences and adapt to changing customer expectations,
while improving operational efficiency and managing risk.
Key Features
• Automate and optimize complex, structured and ad-hoc processes for efficiency
Benefits
• Design - Allow business users to create applications and define, modify and use embedded
processes
• Automate - Define, optimize and automate well-defined, structured and repeatable business
processes
• Manage - Integrate rules within business processes to standardize operational decisions and
ensure consistent execution of business policies
• Optimize - Gain visibility into real-time operations data to optimize activities to meet
business objectives
The AppWorks Platform is unique in that it has been designed as a single platform capable
of bridging three different approaches to digital process automation (see the three platform
• SOA-based integration
The AppWorks Platform takes a model-driven approach to application development. A key principle
is that what you model is what you execute. All modeling activities are done in the Collaborative
kinds of models: data domain (entities), process, user interface, web services and so forth.
Application developers use a browser to create new models or modify existing ones. Most models
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 Lightweight Directory Access Protocol (LDAP)
directory called CARS, which 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 protocols, ranging from plain TCP/IP
As the load increases, not everything can be handled in a single system, so multiple systems might
run the same service, thus sharing the load. The ESB has pluggable load balancing algorithms to
Failover
If one of the service instances fails, the 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.
The following illustration shows schematic view of a typical AppWorks Platform node:
platform capabilities:
• Entity modeling
• User interfaces
• WS-AppServer
• Scheduling
• Standard compliances
• Security
approach. The application developer starts by modeling the application’s domain and identifying
what the application needs (e.g. invoices and vendors). Then the developer adds properties to
describe each entity and define the relationships between the entities (e.g. each invoice would relate
to one vendor). Note that while defining an application domain does not require coding, it can get
process.
The AppWorks Platform extends this definition of an application’s domain to modeling the entire
application using a compositional approach of adding properties and relationships to an entity and
adding a large variety of building blocks to that entity. Each building block adds functionality to an
entity until the desired result is achieved. In practice, this aligns well with an agile/incremental
approach to application development.
The AppWorks Platform provides multiple options for coordinating user and system activities.
Application developers will use the tool(s) that best fit the needs of their application. In many
cases, a single application will use more than one. The Activity Management tools provided by
the AppWorks Platform include:
Business process management: AppWorks provides standard BPMN functionality, enabling the
creation of business processes that address well-defined, structured processes that include both
system and human activities.
Lifecycle building block: The Lifecycle building block enables an application developer to add
state-oriented activity management to an entity. This form of activity management is often referred
to as case management, and it works well in situations where the underlying business process is not
well-defined or must support user driven, ad-hoc, use cases.
Activity flow building block: The activity flow building block provides a tabular representation
of business processes, which is visually more intuitive to business users. It enables business users
to model simple processes.
The AppWorks Platform supports user interfaces of different kinds and technologies. This section
describes the low-code application runtime UI technology. In addition to this technologly,
developers can use any technology to create custom user interfaces.
The application runtime UI 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, etc. 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
appealing and informative user interfaces that enable users to access disparate systems and
applications using a consistent user interface.
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
Every enterprise uses one or more business applications and IT systems to manage the business of
the enterprise. Solutions developed with the AppWorks Platform nearly always integrate with
existing enterprise information systems, including ERP, content management, CRM and databases.
The AppWorks Platform provides two integration mechanisms, the entity oriented EIS mechanism
described above, and a generic API-oriented connectivity framework to connect to various systems
and applications. Based on this framework, the AppWorks Platform and the community around the
AppWorks Platform have developed a set of ready-made connectors for some of the most
commonly used IT systems.
The AppWorks Platform connectors act as an interface between the ESB layer and a specific
application, system or technology. It provides a two-way communication channel, which means
requests or messages from the ESB layer are converted to a format that is understandable by the
specific application or system and messages from the application are converted to SOAP
requests on the ESB.
ENTERPRISE INFORMATION MANAGEMENT 19
4.5.5 Document store:
Documents are usually stored in a content repository. The AppWorks Platform provides Document
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 attachments and retrieved later.
Documents can also be viewed, uploaded or downloaded.
Document store enables users to plug in a content repository so that any existing content repository
can be used. The AppWorks Platform can work with any content repository server that has exposed
its repository API according to the JSR 170 or CMIS specification.
4.5.6 Scheduling :
Type of
schedule Description
Repeating
schedule: These are triggered at specified periodic intervals, ranging from annually to hourly
4.6.1 Authentication:
Authentication is about establishing the identity of the user within the AppWorks Platform system in
a secure and trusted way. The AppWorks Platform has multiple options for user authentication.
Web server authentication
With web server authentication, the responsibility of authenticating the user is at the web server.
The web server handles user authentication and passes the user identity onto the AppWorks
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 the AppWorks Platform.
AppWorks Platform Authentication is an extensible system that allows custom login forms to be
used in the front end. The AppWorks Platform SSO service also has an extension mechanism, so that
one can also authenticate against other sources (e.g. Microsoft® Active Directory® or a database).
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) . The AppWorks Platform implements the SAML 2
Web browser SSO profile, which means the external IDP must support the SAML 2.0 standard.
OpenText Directory Services (OTDS) authentication
OpenText Directory Services (OTDS) is a product for user authentication and identity management
across OpenText products. OTDS provides the user with single sign-on across various OpenText
products. Users can be managed in OTDS and information about the identity of a user can be
exchanged between products that support OTDS.
OTDS supports various authentication methods, including Active Directory and two-factor
authentication. Given an authentication proof for a user in one product, OTDS can provide the
authentication proof of that same user for another product.
Advanced authentication features, such as password policies, strong authentication and one-time-
passwords (OTP), are supported through the external IDP.
When an SSO user experience is needed, this can be implemented by configuring multiple
applications with the same identity provider. When all involved applications share an identity
provider, the user only needs to authenticate once at the identity provider and not on a per application
basis.
4.6.2 Authorization:
The AppWorks Platform has a role-based access system. By assigning roles to users, they get the set
of privileges as defined in entity security policies and service access control lists (ACLs) of these
roles. Roles can be composed of other roles.
Roles
A package role is defined during application development. It defines access to web services, data and
tasks. This is packaged as part of an application package and loaded to the Shared space. A call
handling application could, for instance, introduce an Escalation Manager role. The following role
types exist:
Is functional: Indicates whether the role is to be shown in organization model
Is internal: Indicates it should be skipped in the organizational modeler and user manager
Is technical: Indicates it should be skipped in the organizational modeler but shown in the user
manager
An organizational role is defined during runtime. It is created on an organization level and normally
aggregates package roles. An organization could define the roles Project Manager and Development
Manager and assign the application role Escalation Manager to both.
ENTERPRISE INFORMATION MANAGEMENT 24
Access control lists
The ACL contains a set of authorizations or permissions that are added to a role or user. Each time a
user accesses a protected resource (e.g. a web service), an access control request is formulated and
matched against the complete set of ACLs for this user.
5 High Availability
Following are the expectations from High Availability perspective.
The system will be available 24 hours per day, seven days per week the except maintenance
windows.
High Availability is expected for OTDS, AppWorks, LDAPand Database in the Production.
The following table presents the core components involved in each activity.
will be able to load balance across servers in the primary data center. This is to be used to provide
SSL configuration will be applied on prouction environments only as development and Test
environment does not have any NLB.
6 Backup Considerations
Opentext AppWorks has the following main components to take the backup :
3. DB server
up. The logs directories can be excluded but it is up to SAR to use their discretion to back up the
log's directories. OpenText does not provide any recommendation on backing up the application logs
or how long should they be retained. The exact install directory paths and logfile folders will be
1. DEV
2. Test/QA
3. PRODUCTION
be functionally equivalent. The QA environment will mirror the Production environment topology
but will be scaled down due to fewer user base. Production environments will include HA (High
Availability)
Environme Commen
Description Features
nt ts
7.1.1 Architecture
OpenText recommends allocating dedicated resources (CPU, RAM etc.) to the virtual machines hosting
the OpenText applications.
C: 97.1GB
SQL Server 1 8 16GB
D: 97.6GB
The below table provides the information of the hostname of the servers using.
The below table contains the details of the server in where Process Platform was installed.
Field Value
Server Name ITEDMSAPPFDEV03
Host name (FQN) ITEDMSAPPFDEV03.sar.com
Domain sar.com
IP Address 10.18.2.153
Server OS Windows Server 2016
Server Processor Intel(R) Xeon(R) CPU E5-2697 v4
Server Processor
Speed 2.30 GHz (2 processors)
RAM Size 32 GB
System Type 64 bit operating system, x64 based processor
7.1.3.1.2 Database
The below table contains the details of the server in where Database was installed.
Field Value
Server Host Name ITEDMSDBDEV
Host name (FQN) itedmsdbdev.sar.com
Domain sar.com
IP Address 10.18.2.32
Server OS Windows Server 2016
DB Version MSSQL 2019
Field Value
C:\Users\tulasiramk\Desktop\AppWorks
Software location
Installation
Install Folder C:\apps\Java
Java Version Open JDK 11
JAVA_HOME C:\apps\Java\jdk-11
Path C:\apps\Java\jdk-11\bin
7.1.3.2.2 TomEE :
Field Value
C:\Users\tulasiramk\Desktop\AppWorks
Software location
Installation
Install Folder C:\apps\TomEE
TomEE Version apache-tomee-8.0.6-plus
Oracle JDBC driver
Version mssql-jdbc-8.2.2.jre11.jar
Windows Service
name TomEE
TomEE User
Credentials
(Domain) TomEE / AppWorks@212
TomEE User
Credentials (Local) TomEE / Te@Sar@2030
Port 81
CATALINA_HOM
E C:\apps\TomEE
7.1.3.2.3 CARS
Field Value
Customer Name SAUDI ARABIAN RAILWAY
Site Name SAR AWP Dev
Host ITEDMSAPPFDEV03.sar.com
bf3b5eb9-6eab0b6e-cc39bf32-587a99af-
License Key
3320af85-f56061b6-32276e02-6b9cd717
Field Value
Software location C:\Users\tulasiramk\Desktop\AppWorks Installation
Installation Folder C:\apps\OpenText\AppWorksPlatform\
7.2.1 Architecture
OpenText recommends allocating dedicated resources (CPU, RAM etc.) to the virtual machines
Disk(s)
AppWorks –
1 4 32 50 30
Dev
iHub 1 4 8 50 50
The below table provides the information of the hostname of the servers using.
The below table contains the details of the server in where Process Platform was installed.
Field Value
Server Name TBD
Host name (FQN) TBD
Domain TBD
IP Address TBD
Server OS TBD
Server Processor TBD
Server Processor
Speed TBD
RAM Size TBD
System Type TBD
The below table contains the details of the server in where Database was installed.
Field Value
Server Host Name TBD
Host name (FQN) TBD
Domain TBD
IP Address TBD
Server OS TBD
DB Version TBD
7.2.3.2.1 Java
Field Value
Software location TBD
Install Folder TBD
Java Version TBD
JAVA_HOME TBD
Path TBD
7.2.3.2.2 TomEE
Field Value
Software location TBD
Install Folder TBD
TomEE Version TBD
Oracle JDBC driver
Version TBD
Windows Service
name TBD
TomEE User
Credentials (Domain) TBD
TomEE User
Credentials (Local) TBD
Port TBD
7.2.3.2.3 CARS
Field Value
Software location TBD
Install Folder TBD
Instance Name TBD
Current Version TBD
Server Port TBD
Suffix TBD
Directory Manager TBD
Installation Type TBD
CARS Password TBD
LDAP Configuration
Management TBD
LDAP Configuration
Management
Password TBD
Field Value
Customer Name TBD
Site Name TBD
Host TBD
License Key TBD
7.3.1 Architecture
OpenText recommends allocating dedicated resources (CPU, RAM etc.) to the virtual machines
hosting the OpenText applications.
The below table provides the information of the hostname of the servers using.
The below table contains the details of the server in where Process Platform was installed.
Field Value
Server Name TBD
Host name (FQN) TBD
Domain TBD
IP Address TBD
Server OS TBD
Server Processor TBD
Server Processor Speed TBD
RAM Size TBD
System Type TBD
7.3.3.1.2 Database
The below table contains the details of the server in where Database was installed.
Field Value
Server Host Name TBD
Host name (FQN) TBD
Domain TBD
IP Address TBD
Server OS TBD
DB Version TBD
7.3.3.2.1 Java
Field Value
Software location TBD
Install Folder TBD
Java Version TBD
JAVA_HOME TBD
Path TBD
Field Value
Software location TBD
Install Folder TBD
TomEE Version TBD
Oracle JDBC driver
Version TBD
Windows Service
name TBD
TomEE User
Credentials (Domain) TBD
TomEE User
Credentials (Local) TBD
Port TBD
CATALINA_HOME TBD
7.3.3.2.3 CARS
Field Value
Software location TBD
Install Folder TBD
Instance Name TBD
Current Version TBD
Server Port TBD
Suffix TBD
Directory Manager TBD
Installation Type TBD
CARS Password TBD
LDAP Configuration
Management TBD
LDAP Configuration
Management Password TBD
Field Value
Software location TBD
Installation Folder TBD
Instance Name TBD
Current Version TBD
DB Connection Type TBD
Installation Type TBD
Process Platform Port
Number TBD
JMX User credentials TBD
Cordys Setup User TBD
Service Account User TBD
Process Platform URL TBD
Process experience
URL TBD
Process experience
Admin URL TBD
8.3 Patches
OpenText will install the latest patch set at the time of implementation and patches applied will be
detailed in the relevant build guides. OpenText will do a formal handover of the solution post
implementation where this will be fully explained. Patching is deployed using AppWorks deployer .
ENTERPRISE INFORMATION MANAGEMENT 44
9 Conclusion
This document provides OpenText AppWorks architecture related requirements for SAR proposed
OpenText AppWorks environment to scale and size according to their probable needs. These
architecture requirements are based upon several assumptions and data provided by SAR.
The common theme throughout this document is one of providing additional factors of safety in
changing system, especially with new users and new business process introduced on a regular basis;
As the systems evolve and usage patterns are further refined, or user requirements change, it may be
necessary to tweak any architecture accordingly. The flexible architecture presented here will allow
for further direct scaling and easy configuration to be conducted transparently, whilst maintaining
10 Acceptance of Deliverable
This approval represents that this document is an accurate representation, to the best of the approver's
SAR:
________________________________ _______________________________
Date
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.
www.opentext.com/contact
Copyright © 2017 Open Text SA or Open Text ULC (in Canada).
All rights reserved. Trademarks owned by Open Text SA or Open Text ULC (in Canada).