Beruflich Dokumente
Kultur Dokumente
xPression ®
Version 4.6
System Overview
EMC Corporation
Corporate Headquarters
Hopkinton, MA 01748-9103
1-508-435-1000
www.EMC.com
Legal Notice
Copyright © 2003-2016 EMC Corporation. All Rights Reserved.
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change
without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS IS.” EMC CORPORATION MAKES NO REPRESENTATIONS
OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY
DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicable software license.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com. Adobe and Adobe PDF
Library are trademarks or registered trademarks of Adobe Systems Inc. in the U.S. and other countries. All other trademarks
used herein are the property of their respective owners.
Documentation Feedback
Your opinion matters. We want to hear from you regarding our product documentation. If you have feedback
about how we can make our documentation better or easier to use, please send us your feedback directly at
ECD.Documentation.Feedback@emc.com
Table of Contents
Preface ................................................................................................................................ 5
3
Table of Contents
4
Preface
This guide provides an overview of the xPression system, and discusses the xPression applications,
components, publishing engines, and server infrastructure.
Intended Audience
The guide is intended for all xPression users who wish to gain a general understanding of the
xPression application suite.
Conventions
The following conventions are used in this document:
xPressionHome
The term “xPressionHome” refers to the location where xPression was installed on your server. On
Windows servers, the default location is C:\xPression.
Revision History
The following changes have been made to this document.
5
Preface
6
Chapter 1
Introduction
xPression is a suite of applications that provide universal content processing for your enterprise. The
system was designed with an open, component-based architecture based on standards like Java EE,
Web Services, JMS, MS .NET, and XML.
xPression’s multi-tiered Web architecture enables real-time, high volume delivery of your critical
business communications. xPression’s end-to-end capabilities enable you to design, test, approve,
produce, and rapidly deliver your documents through a variety of e-mail, archive, Web, and print
methods.
7
Introduction
3. Time to market: speed up the design and implementation of your business communications
by using the best productivity tools like Microsoft Word, Adobe InDesign and Dreamweaver,
combined with powerful rule-based logic and best-of-breed document generation engine.
8
Chapter 2
xPression Infrastructure Overview
This chapter introduces you to the xPression administration system. We will review the xPression
architecture and design components from the perspective of a system administrator.
The xPression Server components interact to provide a seamless document design environment. This
section describes how each of the key components performs their functions within the document
design and production processes.
Document Assembly
Document assembly is accomplished by an Enterprise Java Bean (EJB) component that runs in a
container provided by the application server. Multiple instances of the xPression Assemble EJB can
be invoked to process simultaneous document assembly requests.
This component handles the creation, personalization, and customization of documents. It reads and
executes the instructions in a Business Document Template (BDT) that is created by xDesign. The
component then queries the xPression database and customer data sources, and creates an assembled
document based on the BDT’s instructions.
Batch Processing
xPression’s batch capabilities enable you to take full advantage of xPression’s production speed and
scalability to print and distribute high volume customer communications. xPression processes the
9
xPression Infrastructure Overview
instructions in an XML job definition (created in xDashboard) to determine which documents and
which customer records to process. It then assembles and publishes the document to complete the
batch job. It can be scheduled to run at specific times using the standard scheduling services of your
operating system or third party batch scheduling software package. xPression executes the directives
specified in a batch job definition, which are maintained from xAdmin.
When processing a batch job, xPression accepts optional command line arguments and communicates
primarily with three server components: the Customer Data Reader, xPression Assembly, and the
Output Profile Controller. Batch Job Definitions generated by xDashboard are stored in the xPression
database; manually composed Job Definitions are stored in a file passed to the batch process from the
command line.
For more information on how xPression Batch works, see the xPression Batch Processing Guide.
Customer Data
Customer data is the information stored in a customer’s database that enables a document designer to
personalize documents. Customer data is provided to xPression in XML format or from a relational
database. xPression can read any XML structure using XSD (XML Schema Definition) to define the
schema and xPath to the data’s location within the XML tree. The Customer Data Reader component
reads and extracts the data from the customer data files.
Poorly designed data sources can inhibit xPression’s performance. Ensure that you use sound data
design practices when creating your customer data.
Note: Field length limitations for string-type fields are determined primarily by the database.
Current relational databases supported by xPression provide for up to 4,000 characters. XML
supports much greater field lengths than relational databases, up to 64k characters, but the specific
limit depends on usage.
It is possible to place up to 64k characters in an XML field for xDesign documents, OP field for
a generic index, and variables for xEditor, but fields with this much data will probably impair
performance so caution is recommended. Extremely long OP fields should be avoided in any case.
10
xPression Infrastructure Overview
information: xPression data objects, rules, text objects (documents), and binary objects (images). The
xPression database is hosted on a relational database.
Assembly List
The Assembly engine is a stateful EJB that runs within a container provided by the Java application
server. It interfaces with other xPression components (xPression Batch, the Output Profile Controller,
the Customer Data Reader, and the xPression database) to gather the data necessary to personalize,
assemble, and format your documents.
The Assembly List is an XML file produced by the Assembly engine after reading and executing the
instructions found in a BDT for a given customer record. It contains all the instructions needed by
xPression to produce your personalized output.
An assembly list is always specific to one and only one input record of data. A BDT is a template
for producing many assembly lists, one for each record of data. xPression creates assembly lists by
applying one and only one record of input data to a BDT.
Output Profiles
Output profiles contain the instructions used to define how a document is formatted and distributed.
The output profile container associates output streams with distribution and format or output
11
xPression Infrastructure Overview
definitions. An output stream defines what is included within a stream and how that stream is
produced. A distribution definition provides device-specific information based on the intended
output (for example, an e-mail distribution definition contains information for the To, From, and
Subject fields). A format definition provides formatting-specific information such as font files and
designated output format selections (for example, AFP, PostScript, PDF, Metacode, or PCL).
Assembled Documents
An assembled document is output generated by the Assembly engine containing the personalized
content for the customer. It functions as intermediate code that is read and executed by xPression to
generate the final document for delivery to the customer.
12
xPression Infrastructure Overview
Archiving
The Distribution service uses a thread pool to process archive output concurrently. You can configure
the maximum and minimum thread number through the DistributionController.properties file
located in your xPressionHome directory (C:\xPression by default).
The DistributionController.properties file uses the following two properties to control the minimum
and maximum thread number.
Element Description
ArchiveMaximumPoolSize The maximum number of threads in the thread pool. By default,
this value is set to 10.
ArchiveMinimumPoolSize The minimum number of threads in the thread pool. By default,
this value is set to 4.
13
xPression Infrastructure Overview
Composition Engines
xPression has two composition engines, CompuSet and xPublish. The composition engines create the
final layout and formatting of the assembled documents and produce the personalized documents
in the format specified by the OPC.
The composition engine consists of two primary components: an output processing engine and an
emitter for each supported output format. The xPression composition engines support different
features and different output formats.
Batch Runner
The Batch Runner is a Java component responsible for the unattended processing of large volumes of
documents. It can be started manually from the command line, from xDashboard, or scheduled to
start at a specified time through the operating system’s scheduling services.
Batch Runner can execute in either single-threaded or multi-threaded mode, depending on the server
configuration and composition engine. It manages the processing of multiple documents by invoking
one or more threads of the customer data reader and the Assembly engine to execute batch jobs in
parallel threads. It interfaces with the output profile controller and the distribution controller to
deliver the requested output to the desired channels.
Processing instructions are delivered to the xPression batch through an XML job definition. The job
definition can be generated either manually or through xDashboard.
xFramework
xFramework is the Application Programming Interface (API) for xPression. It enables you to build
a custom interface to xPression assembly and distribution related services. The xFramework
components are: fastpath, the Web services API, and the xPression DevKit.
The xFramework web services are a series of WS-I Basic Profile Version 1 compliant web services.
xPression uses two tiers of web services. The first tier is called QuickDoc, and it contains the simplest
and most common web service methods used for integrating with xPression. These web services
do not contain complex types and can be processed by any SOAP toolkit implementing WS-I Basic
Profile.
The second tier of web services is more complex and add considerable power to the assembly, editing,
and publishing of documents. It also enables you to return data about the documents you publish
and enables external systems to query, and in some cases, update information in xPression without
accessing the xPression database.
These WS-I compliant web services are new as of xPression 4.0. In prior releases, we used web
services based on AXIS 1.3. As of xPression 4.0, the AXIS 1.3 web services are considered deprecated.
14
xPression Infrastructure Overview
They are still supported for users who have previously implemented them, but support is scheduled
to end with the next major xPression release. We recommend that users upgrade to the new WS-I
compliant web services.
xPression DevKit
xPression DevKit is an extension of the xFramework web services for solution specific capabilities.
These web services enable you to create custom correspondence applications using xPression
components. You can implement the components you need and skip those you do not need.
xPression DevKit also includes the xEditor, a standalone component that enables document editing
through Microsoft Word.
The vision for xPression DevKit is that it enables you to easily build your own applications with the
following capabilities:
• Allows users to easily find the best document template appropriate for the current customer
communication
• Displays any relevant information passed from the front end system
• Displays a preview of the correspondence document after template selection and data input
• Allows the user to edit the document and apply optional paragraphs
xPression DevKit integration enables you to enhance your own custom application with xPression
technology. This type of integration is superior to Fastpath integration, which requires you to
hand-off control from your application to a prebuilt xResponse or xRevise web application. xPression
DevKit requires you to build your own application with several points of integration with xPression
instead of a simple Fastpath hand-off.
Fastpath enables you to integrate your applications with a prebuilt xResponse or xRevise web
application. This type of simple integration is the exact opposite of the approach used in xPression
DevKit. It requires that you hand off control from your application to a prebuilt xPression
correspondence application.
15
xPression Infrastructure Overview
The Migrate utility can be executed manually from xAdmin or scheduled to run at a specified date
and time using the operating system’s scheduling services. Input to a scheduled migration is an XML
Migrate Definition which can either be generated manually or through xAdmin.
16
xPression Infrastructure Overview
Very complicated, compliant, highly customized and personalized documents, such as:
• Proposals and quotes
• Policies and contracts
• Explanation of Benefits (EOBs)
• Claims correspondences
• Member kits and marketing collateral
Documents that require multi-channel distribution, such as:
• Personalized print documents like policies and contracts in large volumes
• On-line self-service mechanisms for quotes and e-bills
• Archived copies of regulated documents
• Email, regular mail, or web portal correspondences
Also, Documentum integration supports the ability to re-use enterprise content fragments used in
these documents, such as:
• Images
• Logos
• Signatures
• Text content
• Marketing messages
17
xPression Infrastructure Overview
FileNet Integration
FileNet can be used to archive images and PDF documents that you can use as external content in your
documents. You can use multiple FileNet archives, and you can use FileNet along with Documentum.
xPression does not directly support online archiving with FileNet. xPression supports exporting
archive index files in the FileNet Capture, FileNet HPII, and Generic Index formats. FileNet provides
robust utilities that allow you to capture content from xPression using these archive outputs. Refer
to the xAdmin User Guide for more information on archive output formats, and to your FileNet
documentation for more information on the FileNet utilities.
18
Chapter 3
Application Components
This chapter introduces you to the xPression applications. We will introduce each application
and also explain how these components work together to enable you to create and publish your
personalized documents.
Transactional Applications
xPression contains two transactional applications that enable you to produce documents for your
customers on-the-fly. The two transactional applications are xResponse and xRevise.
xResponse
xResponse is a web-based application that provides secure online transactional services for creating,
editing, and publishing personalized xPression documents from Web browsers.
xResponse enables you to respond quickly to customer inquiries with personalized, fully-compliant
communications. It easily integrates with your CRM system and enables you to assemble and
distribute approved documents. For more information, see the xResponse User Guide.
xRevise
xRevise is a browser-based application that enables swift production of custom documents through a
searchable library of customized text and attributes. It enables you to modify the text of standard
documents to reflect your negotiations with specific customers. It also provides secure access
to preview and edit the content of an assembled xPression document with xEditor, a Microsoft
Word-based editor that enables users to modify or build documents from approved content created
in xDesign. This editor adds Microsoft Word’s powerful editing and composition features to xRevise.
For more information, see the xRevise User Guide.
19
Application Components
Administration Applications
xPression administrative applications are browser-based applications that enable you to administer
all aspects of the xPression system.
xAdmin
xAdmin is the browser-based administration console that enables you to easily configure and
maintain all aspects of the xPression system from any Web-enabled client connected to your
network. As the system administrator, xAdmin will be the tool you use to administer your xPression
environment. xAdmin organizes administrative tasks into six sections located on the xAdmin menu.
xAdmin does not support concurrent users. While more than one user may log in to xAdmin, it is
not recommended because changes made by one user could overwrite the changes made by another
concurrent user.
xDashboard
xDashboard is a thin-client application that enables you to run and administer the batch capabilities
of xPression and manage the xPression Server. For more information, see the xDashboard User Guide.
xDesign
xDesign is a Microsoft Word-based authoring tool for xPression. It enables you to design, create,
and test your document. You use xDesign to define business logic, or business rules, that include or
exclude portions of content based on the information contained in your customer data. xPression
stores the content, images, and other document information you create in a single xPression database.
With xDesign, you build your structure in the xDesign application and design your document in
Microsoft Word.
Through its interface with Microsoft Word, you’ll create and maintain the document structure,
content, page layout, and other items that affect the overall “look and feel” of your documents. For
more xDesign information, see the xDesign User Guide.
20
Application Components
21
Application Components
xPressForms
xPressForms is a Web-based administration interface used for the creation, management, and
composition of forms. xPressForms supports prebuilt forms from the most popular bureaus: NCCI
and ISO. It enables the authoring or customizing of forms of all types, using a standardized, flexible
XML schema. xPressForms can be easily integrated with a variety of administration systems. Along
with the xPressForms interface, you get a well-defined process for initial and maintenance deliveries,
including monthly delivery of all new and updated forms.
22
Chapter 4
Server Configurations
This chapter introduces server configurations and includes some configuration recommendations
that are based on your processing requirements.
The UAT environment is optional, but recommended. You may host the UAT and Test content
repositories on a test database server. The diagram above shows the UAT and Test content
repositories on a single database server for simplicity. Each environment requires their own xPression
database hosted on the xPression database server.
In a standard tiered development model, all documents are developed first in test, then migrated to
UAT with xPression Migrate. When testing is completed in UAT, use xPression Migrate to move the
application to production.
23
Server Configurations
EMC Document Sciences recommends that you have at least two production servers horizontally
clustered to support fail-over and fault tolerance on commodity hardware.
Clients will vary based upon each deployment. The clients shown above are just examples.
xDesign Deployment
xDesign runs as a thick client executable on document designer workstations. It is used heavily in
the development environment, lightly in the testing environment, and not typically used at all in
the production environment.
Most of the functionality of xDesign is performed on the server side, for example document assembly,
xPression database access, and search. xDesign communicates with the server either through HTTP
using servlets (recommended) or through RMI over TCP/IP. RMI communication does not go
through proxies and firewalls and thus is less universally available. RMI mode also requires a small
WebSphere or WebLogic client application to run Java on the client machine.
If configured for HTTP/Servlet mode communications, xPression only needs to load a DLL that
contains the xFramework COM API. See Connectivity to Other Components, page 28.
In the development and UAT environments, the xDesign client application requires frequent,
high-bandwidth, and (most importantly) low latency network access to the xPression server. Network
connectivity between the xDesign desktops and the server must be fast and reliable.
If there are proxy servers inserted in the connection between client applications and the server, you
should test your connection because the software may need to be configured to handle the specific
proxy.
It is important to take into account performance when designing document templates in order to
avoid excessive access to the xPression database or data manipulation, for example multi-Joins.
Server Deployment
The xPression server runs within a Java EE application server (see operating requirements for full list
of supported application servers). The server components run within the application server process
on the application server machine.
The batchrunner application also runs as a separate Java process on the application server machine.
xPression uses one Java server for each batchrunner instantiation. The Java process communicates
24
Server Configurations
with the application server Java process to execute batch jobs. Depending on the nature of the batch
job, the batch runner may also execute the composition engine directly.
25
Server Configurations
26
Server Configurations
27
Server Configurations
28
Server Configurations
run, it must support the Java EE standard for HTTP session state, the standard xPression supports
for client session state.
Server Affinity
xPression requires server affinity for session state as described above. Session requests from the
various xPression client applications must be directed to the same application server JVM instance.
xPression uses several stateful session beans to improve performance. xPression Web-based and thick
clients (for example, xDesign) call these stateful session beans.
These stateful session beans maintain various pieces of information in memory in order to speed up
processing. This requires the client sessions to use the same stateful bean instance and the connection
to the same server.
29