Business Summary of the Solution:
The goal of the solution was to provide the sales team of EMC Global Services with a tool that would dynamically generate a Level of Effort for all of the EMC Global Services engagements. This tool would dynamically create all engagement-supporting content and share the same Content Architecture within Documentum, DITA and other business critical enterprise applications. This project will also allow EMC management a means to compare the estimated LOE against actual hours.
Global Service’s goal in the first phase of the project is to provide a robust, interview-based field user interface that would capture engagement information and requirements and generate the appropriate content including Level of Effort (LOE), Statement of Work, Work Breakdown Structure, and other overview, technical and configuration information. This will be based on EMC’s overall DITA-based XML content model, and will leverage the approaches developed in EMC’s User Personalized Documentation (UPD) pilot. The additional complexity (and probable specialization) for Global Services lies in the need to attach base time values and calculations to content that can dynamically generate time estimates used for pricing the individual engagements.
Technical Summary:
The EMC Global Services application customizes a substantial amount of Webtop using WDK, Dojo and EJS Treegrid, which are used together to provide an interface to the end user so that they may generate engagements. The customizations also include several services and engines within the application that provide methods for calculating, setting and retrieving user inputted values to questions, and building XML based content. AJAX, Prototype.js, Dojo and the EJS Treegrid are integrated to provide a highly interactive and user friendly user interface. The core of the EMC Global Services application is the ability to calculate an engagement’s level of effort (LOE). This calculation is provided by a custom calculation engine that evaluates functions to profile and to determine LOE. This engine was built using Aspose Cells.
Custom Documentum jobs were created to do bulk translations, bulk publishing, and cleanup of data. To give the Content Providers the means to maintain their documents, we have provide a clean looking and easy-to-use customized XML editor, XMetaL. XMetaL was further customized to interact with Documentum through Web Services and a Microsoft COM Control.
Almost all the content is stored as XML documents, and to that end we used the MarkLogic XML Database to help us with searching and transformations. The functional language XQuery is what is used to interact with the content stored within MarkLogic.
Tech Stack:
Documentum Technologies
- WDK – Documentum Web Development Kit
- DFC – Documentum Foundation Classes
- DFS – Documentum Foundation Services (Web service)
- JMS – Java Method Server
- CTS – Content Transformation Services
- XTS – XML Transformation Services
- Documentum XML Application
- Xforms
Web Technologies
- WebLogic Application Server 9.2
- AJAX
- EJS TreeGrid
- Dojo
- JSP
- Javascript
- JScript
Customized Content Editor
- Xmetal
- XML Technologies
- MarkLogic XML Database
- XQuery
- XSLT
Other Technologies
- Java
- C#
- Apache XML Beans
- Aspose Cells – Java API to interact with and emulate Excel docs
- Oracle Database
Deployment Platforms
- Windows Server 2003
- Linux – Red Hat Enterprise 4
- Solaris