xpression Enterprise Edition System Overview Version 3.0 SP1
EMC Corporation, Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2005-2009 EMC Corporation. All rights reserved. The copyright protection claimed includes all formats of copyrightable material and information governed by current or future statutory or judicial law. This includes, without limitations, any material generated by the software programs that display icons or other screen interfaces. You may not copy or transmit any part of this document in electronic or printed format without the express written permission of EMC Corporation. xpression, CompuSet, and all other EMC Corporation products mentioned in this publication are trademarks of EMC Corporation. For complete copyright information, please see the file xpression Licensing Document.pdf located on your ebook Library CD.
TABLE OF CONTENTS 1 Introduction... 5 Boxes and Revision Bars... 5 Solution Support... 5 2 Introduction to xpression... 6 What is xpression?... 6 Where Does xpression Fit?... 6 Top Three Business Challenges xpression Solves... 6 3 xpression Infrastructure Overview... 7 The Server Components... 7 Document Assembly... 7 Batch Processing... 8 The Data Components... 8 Customer Data... 8 The xpression database... 8 The File Components... 9 Business Document Templates (BDT)... 9 Assembly List... 9 Output Profiles... 9 Assembled Documents... 9 xpression Software Components... 10 The Distribution Controller... 10 The Security Controller... 11 Customer Data Reader... 11 Output Profile Controller... 11 Composition Engines... 11 Batch Runner... 11 xframework API... 12
Table of Contents The Migrate Utility... 12 Enterprise Content Management (ECM) Integration... 13 Documentum Integration... 13 Filenet Integration... 14 4 Application Components... 15 Transactional Applications... 15 xresponse... 15 xrevise... 15 Administration Applications... 16 xadmin... 16 xdashboard... 16 The xpression Document Design Applications... 16 xdesign... 16 xpresso for Adobe InDesign... 16 xpresso for Dreamweaver... 17 xpresso for Microsoft Word 2007... 17 xpressforms... 17 5 Server Configurations... 18 xpression Deployment Overview... 18 xdesign Deployment... 19 xpresso for Adobe InDesign Deployment... 19 xpresso for Dreamweaver Deployment... 19 Server Deployment... 20 xpression Database Deployment... 20 Planning Your xpression Configuration... 20 Suggested Server Configurations... 21 Moderate-Sized Batch Volumes... 21 Large Batch Volumes with Moderate Transactional Processing... 22 Large Batch Volumes with Large Transactional Processing... 22 xpression Database Recommendation... 22 Connectivity to Other Components... 23 xpression Client Session State... 23 Server Affinity... 23
Introduction 1 Introduction This guide provides an overview of the xpression Enterprise Edition system. We will discuss the xpression applications, components, publishing engines, and server infrastructure. Boxes and Revision Bars The following colored boxes alert you to special information in the documentation. CAUTION The caution box warns you that a fatal error, unsatisfactory output, or loss of data may occur if you do not follow the directions carefully. Tip A tip offers suggestions to simplify a task or describes a useful shortcut. They may also describe an alternate way to use the techniques described in the text. Note A note offers information that emphasizes or supplements important points of the main text. Revision bars help you locate new or changed information. Look for these revision bars in the right margin of each affected page. Solution Support For more information or to solve a problem, contact Document Sciences Solution Support: Telephone: (760) 602-1500 Fax: (760) 602-1515 World Wide Web: http://support.docscience.com E-mail: support@docscience.com 5
Introduction to xpression 2 Introduction to xpression This chapter introduces you to the xpression administration system. In this chapter we will review the xpression architecture and design components from the perspective of a system administrator. What is xpression? 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. Where Does xpression Fit? xpression s service oriented architecture (SOA) was designed to integrate easily into enterprise solutions, such as ECM, CRM, ERP and BPM. xpression provides dynamic content publishing services for the generation of personalized, high quality documents within an enterprise solution, as shown in the diagram below. What enables the ease of integration is xpression s Java EE architecture, its extensive XML support, its comprehensive set of web services, its Java API, and its messaging interface. Top Three Business Challenges xpression Solves 1. Drive customer loyalty: increase customer retention with real-time, interactive customer communications, allowing field agents to respond to customer requests immediately. 2. Technology consolidation: Replace the myriad of legacy document generation tools with a single, standards-based and comprehensive solution that can integrate with your enterprise CRM, ECM, ERP systems and cover all 4of your document generation needs. 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. 6
xpression Infrastr astructur ucture Over erview 3 xpression Infrastructure Overview This chapter introduces you to the xpression administration system. In this chapter 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. The Server Components The xpression Server is the core of the xpression suite. It consists of the components required for assembling, formatting, and distributing personalized documents. These components are written in Java and are hosted on your Java application server. The use of Java in both the xpression components and the application server enables xpression to deliver a multi-platform compatible application that runs on several different operating systems, including: Windows, UNIX, and Linux systems. For a full list of supported operating systems and servers, see your installation documentation. Two of the main server functions are document assembly and batch processing. 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. 7
Batch Processing Chapter 3 xpression Infrastructure Overview 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 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 Enterprise Edition Batch Processing Guide. The Data Components There are two xpression data components, the customer data xpression uses as input to your personalized documents (customer data), and the resulting content and images stored by xpression document design tools (xpression database). 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 There is a limit to the lengths of individual String type data fields from your customer data. For relational databases (RDB), the character length limitation is 255 characters for most RDB vendor databases. For XML data, xpression supports up to 4000 characters in an individual data field. The xpression database The xpression database is a fully indexed relational database that holds content, images, document templates, rules, and internal xpression data. In an unclustered environment, there is one xpression database in each xpression installation. For a clustered environment, one xpression database is used by all xpression Servers participating in the cluster. The xpression database holds different types of information: xpression data objects, rules, text objects (documents), and binary objects (images). The xpression database is hosted on a relational database. 8
The File Components Chapter 3 xpression Infrastructure Overview xpression uses a variety of files to define content inclusion, gather items for assembly, define the specifics of the output, and store the assembled documents. The File Components are: Business Document Templates (BDT) Assembly List Output Profiles Assembled Documents Business Document Templates (BDT) The Business Document Template is an XML document produced by xdesign when you create a document. It consists of a set of instructions that tells xpression what content to include in a document, how the document should be formatted, and how to personalize each customer s output. The BDT is based on the business logic you defined while creating a document in xdesign. The BDT queries the customer data and xpression database using statements, logical operations and arithmetic functions. A BDT can also be thought of as a scripting language and is sometimes referred to as BDT syntax. 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 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. 9
xpression Software Components Chapter 3 xpression Infrastructure Overview In addition to the core components of the xpression architecture discussed in previous sections of this chapter, a number of other software modules provide functionality in various areas of xpression. This section briefly explains the software components that complete the xpression architecture: The Distribution Controller The Security Controller Customer Data Reader Output Profile Controller Composition Engines Batch Runner xframework API The Migrate Utility The Distribution Controller The distribution controller interfaces with the supported distribution channels in xpression, including SMTP e-mail, print, and archive output formats. The distribution controller is a stateless session EJB which operates asynchronously through a queuing mechanism to ensure reliable delivery of output to channels that do not reliably support multi-threaded input. This controller determines the appropriate distribution channel based on information received from the output profile controller. Note In a vertically clustered environment, only one Distribution service may run at any given time. 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 ArchiveMaximumPoolSize ArchiveMinimumPoolSize Description The maximum number of threads in the thread pool. By default, this value is set to 10. The minimum number of threads in the thread pool. By default, this value is set to 4. 10
The Security Controller Chapter 3 xpression Infrastructure Overview The security controller is a stateless EJB responsible for setting and controlling access rights to xpression as well as interfacing with network security systems for authentication services. Additionally, this controller uses EJB protection to ensure that only authorized components and users can access the public interfaces of certain EJBs. Customer Data Reader The customer data reader is a multi-threaded Java component used by the Assembly engine, Batch Runner, xdesign, xrevise, and xresponse to query and retrieve customer data. It is the single interface for accessing the customer data stored in an RDB or XML document. It translates Java objects into SQL code customized for the vendor s adaptation of SQL, as opposed to executing raw SQL statements directly against the database, allowing xpression to be database independent. The customer data reader creates an in-memory database that stores the retrieved data facilitating XML queries. This functionality also enables the document designer to develop a single document that can be used with a variety of data sources depending on the business need. Output Profile Controller The output profile controller (OPC) is a Java component that reads and processes the information located inside an Output Profile in order to determine how a document should be formatted, composed, published, and distributed. The OPC is responsible for a variety of tasks, including but not limited to the generation of output streams, bar codes, archive files, and indices. Composition Engines xpression has two composition engines, CompuSet and xpublish. The composition engines create the final layout and formatting of the assembled documents and produces 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. 11
xframework API Chapter 3 xpression Infrastructure Overview 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, the JAVA API, and the EAI Adapter. Fastpath to xresponse and xrevise Fastpath enables you to integrate xpression web applications with client web applications. WebServices API xpression ships five Web services targeted for different API usage needs. In order to utilize a Web Service, you must obtain a description of the Web Service interface via the WSDL. The Web services API is a platform independent API callable by Java code and.net Visual Studio. Java API The Java API is available for Java client code only. In order to use the xpression Java API, you must precisely match the Java client program you write with the xpression Server you will connect to by copying the Java Archive (JAR) files. xpression supports near-time messaging through the JMS standard. EAI Adapter Used for enhanced integration scenarios, for example, JMS and file loading. xpression Web Services Web services enable you to run programs on remote computers over the Web. However, unlike traditional distributed applications, Web services can be invoked across different hardware and software platforms. The technology that makes invoking remote components possible is called Simple Object Access Protocol (SOAP). The client application constructs a SOAP message in XML format that includes the name of the service, the method the client is invoking, and all required parameters. It then sends the message over the Web to the remote computer. The remote computer processes the request and sends back a SOAP response, indicating whether the call completed successfully and including attachments, if necessary. xpression Java API The xframework Developer s Guide helps you write xpression applications using the xpression high-level Java API. The Migrate Utility The Migrate Utility provides an easy method of transferring documents and their related objects from one xpression server to another. This ability is useful in situations where one xpression server is being used in a development environment and another is being used in a production environment. With the Migrate utility you can retrieve documents created in development and import them into production. Migrate also enables you to separate export and import into individual functions. To alleviate the process of recreating your output profile and batch job settings on the server you migrate to, xpression Migrate enables you to migrate these settings in the same fashion. 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. 12
Chapter 3 xpression Infrastructure Overview Enterprise Content Management (ECM) Integration xpression supports two ECM systems, Documentum and Filenet. Both systems require special installation and configuration steps. Documentum Integration Documentum is an enterprise content management system. It is a popular platform and repository used to create, manage, deliver, and archive content. Documentum excels in managing the entire content life-cycle processes from content creation, management, to content aging and eventual obsolescence. EMC Document Sciences excels in the creation, automated assembly, and delivery of highly personalized documents for high-volume batch and scalable online access. Together, these two solutions provide a powerful end-to-end solution to the financial services industry for automating and streamlining dynamic content creation, personalization, management, repurposing, and publishing. To learn how to configure your xpression environment for Documentum, see the xpression Enterprise Edition Installation Guide. Documents Best-Suited for Documentum Integration 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 How Does xpression Use Documentum? xpression supports Documentum Content Server version 5.3. With Documentum integration, you can: Archive your xpression-generated documents in a Documentum docbase. For more information about Documentum archiving, see the xadmin Enterprise Edition User Guide.for xpublish Distribution Definitions 13
Chapter 3 xpression Infrastructure Overview Pull images and PDFs from your Documentum docbase for use in your xpression documents. This feature applies only to xpublish documents. You can import Documentum images into your xpression document through two different methods. One method inserts an image reference in the document, which enables xpression to retrieve the most recent version of the image from the docbase each time the image is used. The other method enables you to import the Documentum image into the xpression database, where it will be treated as an xpression image. For more information about Documentum images, see the xdesign Style and Formatting Guide. Filenet Integration xpression supports FileNet P8 verions 3.5 and 4.0. 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 Enterprise Edition User Guide for more information on archive output formats, and to your FileNet documentation for more information on the FileNet utilities. 14
Application Components 4 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 The xpression Enterprise Edition contains two transactional applications enable to you 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 uses 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 xresponse. xresponse offers the option of using either xeditor or the editors used in previous versions. During the installation of the xpression server there is an option to install a version of xresponse that uses the editors provided before xeditor was released. 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. 15
Administration Applications Chapter 4 Application Components The xpression Enterprise Edition 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 Enterprise Edition User Guide. The xpression Document Design Applications The document design applications enable you to build your document structure and layout. 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. xpresso for Adobe InDesign xpresso for Adobe InDesign uses your existing digital assets to help you quickly design, compose and publish personalized communications for print or electronic channels. Because it is easy to use, you can craft rich, effective marketing collateral and campaigns, without sacrificing other marketing priorities. With xpresso for Adobe InDesign you can transform your existing static documents into highly-creative, dynamic customer communications right at your desktop. Our dynamic content publishing solutions use variable data and assembly logic to generate templates for producing personalized collateral, offers, catalogs, and other customer communications, ready for delivery. For more information, see the xpresso for Adobe InDesign User Guide. 16
xpresso for Dreamweaver Chapter 4 Application Components xpresso for Dreamweaver is part of the xpression product suite, and is designed to help you create graphical, customized, and personalized HTML Web pages or e-mail messages that contain a variety of content. Content can range from correspondence that contains graphical marketing content and brand images, to account alerts or statements that drive the recipient to a personalized Web site also created in xpresso for Dreamweaver. For more information, see the xpresso for Dreamweaver User Guide. xpresso for Microsoft Word 2007 The widespread use of Microsoft Office provides every user with the ability to create client facing documents, from letters to proposals to contracts. However, personalizing these documents and customizing them for thousands or millions of recipients can be a challenge. xpresso for Word 2007 enables you to use your variable data to create professional, highly customized and personalized proposals, contracts, invoices and correspondence. Additionally, xpression can format and distribute these documents for print, web, e-mail or archive, without needing to change the document template. xpression s intelligent rule-based logic automatically customizes each document for each recipient, producing unparalleled 1:1 customer communications. xpresso for Word 2007 adds variability to new or existing Word documents. It also makes it easy to define assembly logic that controls content and style variability at any level of granularity. When finalized, xpresso templates are packaged for publishing on the xprs server. Key benefits include: Supports a breadth of native, flow-based composition features created using the Word 2007 interface, such as, tables, columns, numbered lists, bulleted lists, TOC s, page numbering and more. Leverage the power of XML to enable interoperability with a wide range of systems. Subdocuments to enable you to include one document within another. SEQ field support for complex numbered lists. Column balancing Fillable PDFs that enable check boxes, text boxes, and combo boxes. Enhanced tab settings, widow and orphan control. Scaling of external images. Streamlined licensing process. For more information, see the xpresso for Microsoft Word 2007 User Guide. xpressforms xpressforms is a Web-based administration interface used for the creation, management, and composition of forms. xpressforms supports pre-built forms from the most popular bureaus: NCCI, ISO, AAIS, and ACORD. 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 bi-weekly delivery of all new and updated forms. 17
Server Configurations 5 Server Configurations This chapter takes a look at server configurations and includes some configuration recommendations that are based on your processing requirements. xpression Deployment Overview The following diagram shows xpression deployed in a typical configuration. This diagram shows xpression running with three separate environments, Production, User Acceptance Test (UAT), and a Test environment. 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 18
Chapter 5 Server Configurations 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. EMC Document Sciences recommends that you have at least two production servers horizontally clustered to support failover 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 a VB6 application 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. 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. xpresso for Adobe InDesign Deployment xpresso for Adobe InDesign is a plug-in for Adobe s InDesign CS2 or CS3 software that enables you to create dynamic documents driven by variable data. For deployment instructions, please see the xpresso for Adobe InDesign Installation Guide. xpresso for Dreamweaver Deployment xpresso for Dreamweaver enables you to use Macromedia Dreamweaver to design dynamic, rule-based documents. xpresso for Dreamweaver is part of the xpression product suite, and is designed to use your existing digital assets to help you quickly design, compose and publish highly targeted and segmented communications. You can also easily create well designed relationship statements and billing notices that combine transactional data with targeted marketing messages. For deployment instructions, please see the xpresso for Dreamweaver Installation Guide. 19
Server Deployment Chapter 5 Server Configurations The xpression server runs within a Java EE application server (IBM WebSphere, BEA Weblogic, or Redhat JBoss). 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 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. xpression Database Deployment The xpression database stores all internal content (text, images, and meta data). External images and PDF attachments remain outside the xpression database. Each xpression environment requires a separate xpression database. However, the xpression database for the development and the UAT can be deployed on the same database server. The production xpression database must be deployed on a separate machine to avoid any performance problems or inadvertent corruption during testing or development. xpression database is impacted by indexing and so the customer must ensure that proper indexing is performed based on the installation guidelines that will be provided. In addition, indexing of customer data may be needed to improve performance if the customer data comes from a relational database system. Planning Your xpression Configuration The xpression installation program installs all the server components. Before you install the server, you should determine how to best deploy your xpression software. The main decisions you need to make are the following. Will you run batch processing and online transactional processing on the same set of computers? You can use this approach unless you want the server to process very high volume batch jobs at the same time as handling a large number of concurrent online/transactional users. xpression Batch can consume many processor threads for each batch job and can quickly consume the CPU resources of your system. Running xpression Batch at the same time as online/transactional requests can significantly delay the response time of those requests if you do not have sufficient CPUs available on your server. Will you run the application server with all the xpression Server components on the same computers as the xpression database? We recommend that you separate the installations of the application server and the xpression database. Typically, you should run your xpression database on a single large machine (perhaps with another failover redundant machine) and optimize that machine for processing as many connections to the database as possible. The application server should run on a single large machine or a farm of medium-size machines in a cluster to take advantage of failover and load balancing facilities offered by the application server. 20
Chapter 5 Server Configurations If the application server and xpression database reside on different sets of machines or networks, we recommend that these machines or networks be connected with a high-speed connectivity of at least 1GBps with a maximum latency of 1ms. A slow or over-utilized network connection between the xpression Server and the xpression database may impact performance significantly. Suggested Server Configurations The issues discussed in Planning Your xpression Configuration have a large effect on your xpression server hardware choices. The amount of memory available to the xpression Server greatly impacts the performance of that server. Ensure that your xpression Server machine has ample memory and that other memory intensive applications are not run on the same server. You must also ensure that the server contains sufficient disk space to support output management. Document formats like Postscript tend to produce large files which can eventually deplete your server disk space. Ensure that you set up a process for deleting these documents after they have been distributed through print, archive, or e-mail. Moderate-Sized Batch Volumes If your volume needs are moderate (processing less than 50,000 pages an hour) and processing your batch jobs typically does not coincide with running your online processing (for example, running batch jobs at night or on weekends, and handling online requests during the business day), you can install all components of xpression Server on a single medium-large size machine and the xpression database on another medium-large size machine. We recommend the following configuration for Microsoft Windows and Linux systems: One Windows 2003 or Linux Server running 2 Dual Core or 1 Quad Core CPU (using the highest CPU processing speed available) with at least 4 GB or more of RAM to run xpression Server with the application server. This hardware should be completely dedicated to xpression, no other applications should be run on this server. If the hardware is virtualized using a technology like VMWare, then you must dedicate these resources to the xpression Server VM such that other VMs on that hardware cannot utilize those CPU and memory resources. A second Windows 2003 Server running 1 Dual Core or Quad Core CPU with at least 4 GB of RAM to run the xpression database with your choice of relational database server. For Sun Solaris server or IBM AIX: One 4-CPU server running the highest CPU speed possible with at least 4 GB of RAM for xpression Server. This hardware should be completely dedicated to xpression, no other applications should be run on this server. If the hardware is virtualized using a technology like VMWare, Solaris containers, or AIX virtual LPARs, then you must dedicate these resources to the xpression Server VM such that other VMs on that hardware cannot utilize those CPU and memory resources. One 2-CPU server with at least 4 GB of RAM for xpression database. 21
Large Batch Volumes with Moderate Transactional Processing Chapter 5 Server Configurations If your batch volume needs are large (processing more than 50,000 pages an hour) and batch job processing does not coincide with running your online processing (for example, running batch jobs at night or on weekends, and handling online requests during the business day), you can install all components of xpression Server on a single large size machine and the xpression database on another large machine. We recommend the following for Microsoft Windows or Linux systems: One to two servers with 4 Dual Core or 2 Quad Core CPUs (highest processor speed available) with at least 8 GB of RAM to run xpression Server with the application server. One 4-CPU Windows or Linux Server (500 MHz or faster each) with at least 4 GB of RAM to run the xpression database with your choice of relational database server. For Sun Solaris server or IBM AIX: One or two servers with a sum total of 8-16 CPUs and 8 GB of RAM. One 4-CPU enterprise server with at least 4 GB of RAM for xpression database. Large Batch Volumes with Large Transactional Processing If both your batch and transactional volume needs are large and processing your batch jobs typically coincides with running your online processing, you should separate your batch installation from your online installation. The two installations can be similar. We recommend the following for Microsoft Windows in Linux : Two or more servers with at least 2GB of RAM 4 Dual Core or 2 Quad Core CPUs (highest processing speed available) and at least 8 GB of RAM to run the xpression Server with the application server. One 4-CPU Server with at least 4 GB of RAM to run the xpression database with your choice of relational database server. For Sun Solaris server or IBM AIX: One or more servers with a total of 12-24 CPUs available and a combined 16 GB of RAM for xpression Server. One 4-CPU enterprise server with at least 4 GB of RAM for xpression database. xpression Database Recommendation In a typical xpression environment, the xpression database should be configured according to the following guidelines. 4 GB of available RAM 2 CPUs running at 2 GHz or higher 10 GB of hard drive space for the database instance 22
Connectivity to Other Components Chapter 5 Server Configurations We provide two mechanisms for xpression s web-based and fat client applications to communicate with the xpression Server: HTTP through servlets and Remote Method Invocation (RMI). The servlet method is more portable and universally applicable, but tends to be slower. The RMI method can only operate if no firewall exists between the client and the server. RMI tends to be faster than the servlet method, but requires installation of the Websphere or WebLogic client software on the client machine. xdesign connects to xpression Server components and xpression database components through a COM to EJB bridge. We recommend that all xpression Server and xpression database components run within the same local area network (LAN) with no firewalls between them. xpression Client Session State This section applies to customers deploying xpression to more than one xpression application server connected to the same xpression database. xpression Enterprise Edition maintains a session state for most xpression Server clients. Should you decide to load balance xpression Server clients (like xdesign, xresponse, xrevise) you must use a mechanism which preserves session state across multiple calls between the client and server. Typically this is done for you by your application server, web server, and/or load balancer of choice and through the use of HTTP cookies. Whatever infrastructure you choose to 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. 23