Core Components
The core components of the PTC Arbortext Content Delivery runtime architecture are the following:
PTC Arbortext Content Delivery Application Server
PTC Arbortext Content Delivery Viewer
PTC Arbortext Content Delivery Publisher
PTC Arbortext Content Delivery Data Layer
E3C Core servers
E3C Core CMI servers
E3C Disk Storage
Database server
LDAP
All of these components may operate on one server, as is modeled in the following image. These components may also perform on separate servers in order to meet any design, security, performance, and scale requirements. Examples of larger deployments are provided in Configuration Options.
PTC Arbortext Content Delivery Application Layer
The PTC Arbortext Content Delivery Application layer provides the two primary applications within PTC Arbortext Content Delivery, the Viewer application and the Publisher Application. Both of these applications work within an industry standard application server (JBOSS WildFly) to provide the dynamic capabilities of the application.
Server
Description
WildFly Application Server
WildFly is a J2EE application server, from the JBoss open-source application server offerings. It provides a standard runtime environment for running the applications.
PTC Arbortext Content Delivery uses WildFly to provide access to the application. The application server delivers static content (such as images, java script, style sheets, etc), provides access to the content published from the enterprise (Parts, Technical Information, etc), and it delivers dynamically created end user and administrative data via the business logic and E3C core servers.
Publisher Application
The E3C Publisher is a collection of tools that facilitate the permanent, one-way migration of data from Windchill Service Information Manager (SIM) and other Enterprise Information systems into a PTC Arbortext Content Delivery system for delivery to its consumer base. The tools work within an overall Publish, Extract, Transform, Aggregate, and Load migration approach where data is pushed from one or more source systems, mapped and transformed to for use within the PTC Arbortext Content Delivery application and then loaded into the PTC Arbortext Content Delivery delivery mechanisms.
The Publisher receives the bundles generated by the authoring applications, and periodically performs the publishing process to transform, aggregate, and load the authored content to associated delivery sites.
Viewer Application
To operate in conjunction with the E3C services to provide the container and implementation framework for the PTC Arbortext Content Delivery RESTful endpoints, services for end users (shopping carts, preferences, notes, etc.), services for administrators (user, dealer and offline systems management) and services for allowing offline systems to receive updates to published content and data synchronization.
PTC Arbortext Content Delivery Data Layer
The PTC Arbortext Content Delivery data layer maintains three data repositories; a proprietary XML-based solution comprised of the E3C core server processes and storage of content, a relational database server, and an LDAP.
Server
Description
E3C Core server
E3C core servers provide services for search, navigation, filtration of the XML and parsable PDF published content via a CORBA interface to the code in the WildFly servers. This content is primarily stored in the XML Repositories, although some information is stored in one of the PTC Arbortext Content Delivery Relational Database schemas.
E3C Load Balancer
Larger PTC Arbortext Content Delivery deployments will require multiple Core servers to meet security, high availability, performance, and scale requirements. When two or more E3C Core server processes are configured per application tier node, E3C load balancers are deployed to distribute application requests to the available core servers.
The E3C load balancer is a process that tells the business layer which core server is available for connection. There is one core server E3C load balancer for each viewer. Each E3C load balancer can route to any available core server in its data center.
You should configure only one primary E3C load balancer, usually on site 1. The primary load balancer is the active component to the passive core server load balancers.
The E3C load balancer enables a viewer to have access to all configured core servers. Note that this communication is between a viewer and a core server only. It is an internal communication and never interacts with the application load balancer.
E3C Core CMI server
The E3C core CMI servers is a special configuration of the E3C Core server that provides the functionality to perform updates to the published content, for example, provide new and revised XML and PDF content. The interface here is also CORBA-based performing data updates and indexing based upon requests from the Publisher server. Only one instance of the E3C Core CMI server runs on the application tiers serving/supporting the published content.
The E3C Core CMI server updates both the XML repositories and the RDB.
E3C Storage
PTC Arbortext Content Delivery maintains a XML-based ‘E3C Storage’ location of content as part of its overall solution. This file storage contains data-related files (embedded database, data images, search indexing, and other core repository content).
This storage is maintained by the E3C Core processes. The E3C Core CMI process loads new and iterated content into the E3C Storage. The E3C Core Server processes perform read requests for the Viewer engines.
The E3C storage location that receives the content from the Publisher is referred to as a “publishing site”. In some High Availability configurations, it’s appropriate to configure more than one publishing site. Such high availability configurations are provided in Configuration Options.
One E3C Storage location is established for each site (or data center) that makes up the overall PTC Arbortext Content Delivery solution.
Database server
Refer to the software matrix available from the PTC Reference Documents site for the information about database vendors and platforms supported by PTC Arbortext Content Delivery.
Within the database, the application stores all of the pertinent metadata for the two modules; Publisher and Viewer. Each Viewer and Publisher installation maintains a separate pool of connections to the database schemas.
There are following database schema used for the PTC Arbortext Content Delivery solution; E3C, CMI, Titan, and Titan2, all defined below.
E3C – Maintains E3C-based content such as workflow engine management data, the transaction state of running flows, and transaction data.
CMI – Every runtime site has a CMI (Content Manager Infrastructure). This schema holds the data for managed files and folders in the Publication Manager. These tables are used to calculate/generate update packages.
Titan – The schema holds the delivery data used by the Viewers, such as search results, term fields, and publication trees.
Titan2 – A mirror of the Titan schema. It is used in E3C’s content loading mechanism to load new content into the XML repository without disrupting user access to the current content.
The number of schemas used within a solution will depend on the overall deployment configuration of Viewers, publishing sites and Publishers.
A basic monolithic configuration (where both the Viewer and Publisher function on the same server) will need 1 of each schema for a total of 4 schemas,
A split configuration (where the Publisher functions on one server and the Viewer on another) will need 2 of each schema for a total of 8 schemas.
A split configuration with two sites (where the Publisher is on one server and each site operates on separate servers) will need 3 each schemas for a total of 12 schemas to get started.
LDAP
PTC Arbortext Content Delivery utilizes a v3 compliant LDAP directory service or multiple LDAP directory services for two purposes:
The first purpose is to provide user and group administration.
The second purpose is to store application specific configuration information for the Viewer.
PTC bundles the v3 compliant Windchill Directory Server (WindchillDS) as part of the PTC Arbortext Content Delivery installation. It is provided to primarily manage the Windchill configuration information used by the Viewer application. For this purpose, the WindchillDS is a required component of the PTC Arbortext Content Delivery installation.
WindchillDS can also be leveraged to perform user authentication tasks, and this is often the case for small development and test systems. But for production systems, it is expected that corporate LDAPs and SSO systems would be a preferred source for user authentication.