OpenSubsystems

Business Components for Java Applications

Subsystems

OpenChronicle

Documentation
Download
Last modified

$Author: bastafidli $
$Date: 2007/03/24 08:35:38 $
$Revision: 1.9 $
$RCSfile: index.html,v $

OpenChronicle

Open Chronicle is a real world blogging application with basic functionality similar to websites such as Blogger, WordPress, LiveJournal and MySpace. Its purpose is to demonstrate how to use individual subsystems available as part of OpenSubsystems project when developing Java applications. It is an excellent learning resource for those who want to master the available subsystems or maybe just want to quickly lookup how to use some particular feature. The detailed tutorials document every step of design and development process that is required to quickly create fully featured application that is portable and easily maintainable. Each successive version expands the previous one with desirable features that are implemented easily by integrating another available subsystem or some aspect of its functionality.

Who is it for

OpenChronicle is aimed at developers who want to learn how to create their Java applications faster and easier and make them more maintainable and portable. We expect that developers who use this tutorial are familiar with Java programming language but since the documentation follows the development of OpenChronicle completely from scratch, it can be also used as an excellent resource for those who want to learn how to develop software in Java.

How to use it

The supplied demonstration packages allow you to run your own blogging server and chronicle your life from anywhere with the Internet access.

The demonstration distribution package blog-app-xxx.zip (or chronicle-app-xxx.zip) contains ready-to-deploy web application in two file formats, blog-app.war and blog-app.ear, in the webapps folder. You can just copy one of these files to the deployment folder of your server or use the management application supplied with your server to deploy the demonstration application. If you encounter error related to missing classes or class cast issues and you are using servlet container rather than full J2EE server you may need to include files jts.jar and jta.jar found in the external folder into folder on your server designated for shared libraries. In Tomcat this is \common\lib folder and in Jetty \ext folder is suitable for this purpose.

Alternatively you can use blog.war from the lib folder of the binary distribution package blog-bin-xxx.zip (or chronicle-bin-xxx.zip). You will also have to copy all libraries from the external/runtime folder to a location, where your server will find them and make them automatically available to the installed web applications.

Once deployed, you can access the application using one of these URLs depending on the server you use, for example

Content

V1 - Open Core tutorial

First version of OpenChronicle demonstrates how to quickly create fully featured web application exclusively using Open Core.

  • 1. Overview - overview of the functionality that OpenChronicle v1 should provide and discussion about how to easily setup project and build process using Open Core.
  • 2. Data model - design and implementation of a data model that allows users to maintain multiple chronicles and record unlimited number of entries for each one of them.
  • 3. Persistence layer - detailed Open Core persistence layer walkthrough. The result is an implementation that supports 9 different databases and features such as connection pooling. It takes only 2 lines to implement many of the required operations such as creation or modification of chronicles or entries using utility classes provided by Open Core.
  • 4. Business logic - discussion about implementation of business logic using Open Core. The implemented business logic provides services to the user interface tier, coordinates the persistence tier implemented in the previous steps and can be deployed either as a POJO or as EJB in one of the supported J2EE application servers.
  • 5. Web application - demonstration of web user interface design and implementation using templating engine integrated with Open Core.
  • 6. Security - final step of OpenChronicle implementation encompasses design and implementation of very lightweight authentication and authorization logic using the security features of Open Core.
  • 7. Deployment - example of how to configure, package and deploy web application built using Open Core so that it functions without requiring any additional setup.
  • 8. Summary - review of the previous steps summarizing the different aspects that made the implementation of OpenChronicle using Open Core easier and faster.

Next: Open Core Tutorial