Browse Prior Art Database

Data Model driven Code Transformations for Content Management Disclosure Number: IPCOM000021982D
Original Publication Date: 2004-Feb-18
Included in the Prior Art Database: 2004-Feb-18
Document File: 4 page(s) / 73K

Publishing Venue



The core idea of the invention is to auto-generate Java and EJB accessor beans from a particular CM data model dynamically, with functionaloty including the basic Create/Read/Update/Delete (CRUD) and querying, rather than having the programmer develop these manually. The generated accessors can then be used in custom third-party CM client solutions. Generated accessors provide clean packaged interface to a particular CM data model, exposing CRUD and other relevant CM functionality, and abstracting the intricacies of the CM API away from the solution developer. Using these generated accessors in the custom solution enables the developer to minimize the time and learning curve needed to understand CM usage, and concentrate on business logic instead. This initial rapid start can effectively shorten the CM application development cycle significantly permitting the developers to focus on application business logic and customized UIs.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 39% of the total text.

Page 1 of 4

Data Model driven Code Transformations for Content Management

Main Idea

The invention seeks to alleviate the complexity involved with development and customization of content management applications. At a high level, content management applications encompass complex data modeling, versioning, access control and search functionality to allow applications to manage their "documents" in specific contexts like insurance claims processing or web content management. These are significant enhancements that extend the current functionality provided by relational databases. However, the added functionality can result in a complex and extensive API set that needs to be supported by each content management vendor. Application vendors and customers constantly seek application tooling to enable rapid application development of content management applications that allow rapid application development with the subsequent ability to customize as needed. This problem is compounded by web based applications where the user interface frameworks and standardization efforts are constantly evolving over very short periods (6 to 18 month cycle). It is very difficult for a content management solution provider to keep up with the rapidly changing web UI models that effectively interface with the proprietary content management APIs to provide rapid application development tooling for their customers.

Known solutions include working with out-of-the-box data model independent clients which typically provide limited functionality and customizability, or developing one's own client from scratch which involves considerable time and labor investments. Figure 1 below shows the spectrum of CM applications where the left most arrows show the functionality provided by out-of-the-box clients and the rightmost shows the custom clients. An answer to alleviate the customizable application enabling environment in the face of rapidly changing web UI models is to have an intelligent code transformation layers that can generate the necessary code that calls proprietary content management APIs based on the defined data model and provides basic Create/Read/Update & Delete functionality. Such functionality is needed to address the wide gap in figure 1 between the out-of-the-box clients and custom clients. An intelligent code transformation layer is one of the component technologies that directly addresses this requirement.

A further consideration in this are the proprietary content management API's developed by different vendors which prevent a standardization of content management programming interfaces unlike relational databases which are standardized around ODBC and JDBC. For example, Open DataBase Connectivity (ODBC) is an Application Programming Interface (API) that allows a programmer to abstract a program from a database. When writing code to interact with a database, you usually have to add code that talks to a particular database using a proprietary language. If you wa...