Joget Workflow incorporates a multitude of open source and open standard technologies:
Open Platforms
Java
Vendor neutral, platform independent implementation that will work on Windows, Linux and various flavours of Unix
MySQL
Primary database, database independence using Hibernate framework
Apache Tomcat
Using Apache Tomcat as the primary web application server for distribution
GlassFish
Using Sun GlassFish application server as the development build and test server
Frameworks and Libraries
Spring Framework
One of the most popular and powerful Java development frameworks
Using the core framework features such as Dependency Injection (DI) and Aspect Oriented Programming (AOP) plus modules like Spring MVC, Spring Security, etc
Hibernate
One of the most popular Java persistence frameworks, using ORM (Object-Relational Mapping) for stability and database independence
Apache Felix
Open source implementation of OSGI, a dynamic module system for Java; used to implement plug-in architecture for true plug-and-play support
Enhydra Shark
Embeds the Enhydra Shark workflow engine that supports XPDL 1.0
JPEd
Open source workflow editor based on Enhydra JaWE , supports XPDL 1.0
JQuery
Popular lightweight JavaScript library for presenting a dynamic user interface
Development Tools
Joget Workflow is being developed using the following development tools:
Maven
Popular tool for Java project management and build automation
Project Object Model (POM) defines project, dependencies, etc
Similar to Ant, but different; embraces “Convention over configuration”
Archiva
Maven repository management software
Used as a local proxy
Redmine
Project management and bug/issue tracking system
Integrated to Subversion, wiki, issue tracking - all-in-one
Recent switch from Trac to Redmine to from Trac previously
Sonar
Open source quality management platform, dedicated to continuously analyze and measure source code quality
Development Methodology
Continuous Integration
Continuous integration (CI) is a software development process that rebuilds, integrates and tests applications frequently. CI is used to reduce risks and repetitive manual processes to improve quality.
Some of the CI practices being used:
Single Source Repository : Source code management system – Subversion
Automated Builds : Using open source Hudson continuous integration server
Automated Testing : Using the JUnit testing framework
Frequent Commitment : Commit smaller chunks and changesets frequently
Fast Builds : Full build in 5-10mins
Automated Releases : Maven Ant Plugin, NSIS Windows Installer System. Linux packages (.deb, .rpm) in future
O'Reilly OSCON Open Source Convention 2010 Date: July 19-23, 2010 Location: Portland, Oregon, USA