1 / 14

Cofax 1.5 Design Document

Cofax 1.5 Design Document. What is the product Cofax?. Cofax is a framework. It is a set of realized ideas core to the MarketLeader product. Cofax is a collection of modules that do different things. Some of these modules are developed by us. Some of them are off-the-shelf.

irenesmith
Download Presentation

Cofax 1.5 Design Document

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cofax 1.5 Design Document

  2. What is the product Cofax? • Cofax is a framework. It is a set of realized ideas core to the MarketLeader product. • Cofax is a collection of modules that do different things. Some of these modules are developed by us. Some of them are off-the-shelf. • Cofax is not a single application. The Cofax modules can be integrated into an application using a control module. CofaxServlet and The Editors Tools are examples of this.

  3. J2EE Model 2 Java Server Pages Architecture Enterprise Servers & Databases Business Logic (Java Components/Beans) Controller(Servlet(s)) Presentation(JSP, WYSIWYG, DSP) Users (Web Browsers, PDAs, Cell Phones)

  4. J2EE Model 2 Java Server Pages Architecture • Industry standard overall architecture. • Designed for integration with enterprise systems. • Cofax’s design modularizes & separates the following: • Business Logic • Integration Code • Presentation • Content • Site Management

  5. CofaxServlet • Example of a Controller Module • Employs the various Cofax modules to maintain an interactive web site. • Interacts with the user via Application Server • Is able to take advantage of the application server • Under Apache-Tomcat, CofaxServlet is to be used. • Under ATG Dynamo, CofaxDynamoServlet is to be used which takes advantage of ATG Dynamo functionality. • Under Dynamo, this will comprise mostly of off-the-shelf modules from ATG. There will be about 10% custom code in this.

  6. RequestHandler • Analyzes the request the user has made. • Determines what content to serve, what presentation template to apply to it, and what medium to serve it to. • Gives Cofax its ability to support configurable URLs. • Enables Cofax to intelligently serve a variety of platforms ranging from Personal Computers to Cell Phones. • This uses functionality provided by components of the application server.

  7. UserAgentAnalyzer • Determines the capabilities of the user-agent • Determines properties like: • What web browser it is. • Whether it is a search engine crawler. • Whether it is a Palm Pilot or Cell Phone. • Whether it can display graphics. • Uses off-the-shelf browser detection components.

  8. DataStore • Contains all the code that interacts with the data storage system, usually a Relational Database Management System (RDBMS). • All Database interaction is done via this module. • No other module may contain any database-specific code or logic. • Once a module is ready, it makes it easy to plug-in another database engine. E.g. MS SQL Server or Oracle.

  9. ConnectionPool • Makes the interaction with the database faster and more efficient. • This module is only known to the DataStore module. • Current implementation is ours. It will be replaced with a commercial off-the-shelf component in the next release. • This replacement will be possible because our module is compliant to Sun’s JDBC 2.0 Optional API specification.

  10. TemplateLoader • Contains business-logic about what template to use for presentation of a certain content object. • This module gives Cofax part of its’ edge. It allows a very flexible web site architecture. • It allows sharing of templates across sites. (E.g. Palm Pilot or Cell Phone WAP Templates) • It allows small sites to serve an entire publication using just two templates of their own. • Is able to locate and load a variety of templates: Our own WYSIWYG, JSP, ATG Dynamo DSP.

  11. TemplateProcessor • This handles the application of the template (I.e.look-and-feel) to the content. • In case of a J2EE (.JSP) template or an ATG Dynamo DSP (.JHTML) template, it internally forwards the actual processing to the application server. • In case of our WYSIWYG templates, the TemplateProcessor called WYSIWYGTemplate is used. WYSIWYGTemplate is great for small newspapers that need to get up and running fast. It allows an easy migration to JSP later.

  12. CofaxCache • Handles the caching of frequently used objects for Cofax. • Is one of the very few modules available that is capable of caching dynamic web pages. • Is currently used to cache dynamic web pages, templates, common requests, database results. • In the next release, the caching of dynamic web pages will be handled by a commercial off-the-shelf module or external server.

  13. CofaxPage • Is the content-object used by Cofax to represent content in an object-oriented form. • Results from the database are converted to and stored in this object.

More Related