Foss 2009 Joget Workflow Presentation V1.0e

Preview:

DESCRIPTION

Presentation slides used for the Joget Workflow session at FOSS 2009 (http://foss.my/2009/schedule/julian-khoo/)

Citation preview

MALAYSIAN OPEN SOURCE WORKFLOWFOSS 2009

AGENDA Joget Workflow in a Nutshell Quick Demo Technologies

Platform – Java, GlassFish, Tomcat, MySQL, Ubuntu Frameworks and Libraries –Spring, Felix, Hibernate, Enhydra Shark,

JQuery

Development Methodology Continuous Integration –Subversion, Hudson, JUnit Tools – Maven, Archiva, Trac, Netbeans, Eclipse Agile - Scrum!

Open Source Business Models? Challenges and What’s Next? Summary and Q&A

JOGET WORKFLOW IN A NUTSHELL

What’s Joget Workflow?

Open source, people-driven, form-based workflow management system.

JOGET WORKFLOW IN A NUTSHELL

Why Joget Workflow?Development started about a year agoStarted as a requirement to incorporate

workflow into an enterprise projectCurrent open source products (or even

expensive commercial ones) do not fully solve human workflow problems in a simple enough manner

Opportunity to apply latest technologies and development methodologies

A Malaysian project :)

JOGET WORKFLOW IN A NUTSHELL

What’s in Joget Workflow?

Joget Workflow

Workflow Designer

Workflow Management Console

Workflow Monitor

Inbox/Task Manager

Workflow Engine

Form Builder

User Manager

System Settings

WORKFLOW DESIGNER

• Graphical tool to visually design process flows

• Launched directly from the web browser using Java Web Start technology

WORKFLOW DESIGNER

• Define participants, activities, business rules

• Identify integration to external systems

WORKFLOW ENGINE

• Executes processes deployed from the Workflow Designer

• Supports XPDL• Plugin architecture to

extend functionality

WORKFLOW MANAGEMENT CONSOLE

• Web-based console consists of the following:• Inbox• Form Builder• Workflow Monitor• User Manager• System Settings

INBOX

• Allows users to view relevant process tasks

• Can be embedded into external applications

FORM BUILDER

• Graphical tool to design forms

• Vast range of dynamic form elements

WORKFLOW MONITOR

• Monitor Running Processes• Monitor Completed

Processes• Real-time Audit Trails• Data Capture for Reporting

and Service Level Monitoring

USER MANAGER

• Manage organizational charts, groups and individual users

• Integration to external directory services using Directory Manager plugins

JOGET WORKFLOW IN A NUTSHELL How to use Joget Workflow?

JOGET WORKFLOWQuick Demo

JOGET WORKFLOWTechnologies and Development Methodology

WHAT DO ALL THESE HAVE IN COMMON? Java Spring Hibernate Felix Shark JPeD JQuery GlassFish Tomcat MySQL

Ubuntu Maven Archiva Subversion Hudson Ant JUnit Trac Netbeans Eclipse

PLATFORM Open Platforms!

Java Vendor neutral, platform independent

Linux Primarily using Ubuntu Linux for development servers. But

Windows is a big focus as well (well, we live in a Windows world like it or not)

MySQL Primary database, evaluating use of embedded Apache

Derby network server as well. Database independence using Hibernate

Tomcat Using Apache Tomcat as the primary web application

server for distribution. GlassFish

Using Sun GlassFish app server as the development build and test server.

FRAMEWORKS AND LIBRARIES No need to reinvent the wheel!

Spring Framework One of (if not the most) popular Java development framework. Using

core framework plus modules like Spring MVC, Spring Security, etc. Why Spring? Very powerful using Dependency Injection (DI) and

Aspect Oriented Programming (AOP) Hibernate

Most popular Java persistence framework, using ORM (Object-Relational Mapping)

Why Hibernate? Stability, database independence Felix

OSGI - Dynamic module system for Java, used to implement plugin architecture

Why OSGI? True plug and play! Shark

Enhydra Shark workflow engine Why Shark? Supports XPDL 1.0

JPeD Workflow Editor based on Enhydra JaWE Why JPeD? Supports XPDL 1.0

DEVELOPMENT METHODOLOGY How are we doing it?

CONTINUOUS INTEGRATION What is CI?

Software development process that rebuilds, integrates and tests applications frequently

Why CI? Reduce risks and improve quality Reduce repetitive manual processes

Practices? Single Source Repository

Source code management system - Subversion Automate Builds

Hudson Automate Testing

JUnit Commit Frequently

Smaller chunks and changesets Keep Builds Fast

Full build in 5-10mins Automate Releases

Maven Ant Plugin, NSIS Windows Installer System, linux packages .deb, .rpm?

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.

Trac Project management and bug/issue tracking system. Why Trac? Integrated to Subversion, wiki, issue tracking - all-in-

one Netbeans

Great IDE Good integration to Maven and Subversion A bit slow in certain areas e.g. locating files

Eclipse Equally great IDE Maven and Subversion integration not as good. Seems faster and more responsive

AGILE DEVELOPMENT WITH SCRUM What is Scrum?

Great iterative framework for managing product development

Why Scrum? Adapt to changing requirements Visibility of progress Happier developers!

AGILE DEVELOPMENT WITH SCRUM Sprints

JOGET WORKFLOWBusiness Models and Challenges

OPEN SOURCE BUSINESS MODELS Open Source License?

GPL Business Models?

Licensing Dual Licensing: A single code base is licensed to different users using either an

open source or a commercial license. Open-core Licensing: The core code is available using an open source license,

but enterprise or professional versions include open source code and closed source extensions and are licensed commercially.

Training Services Public scheduled and ad hoc training

Support Subscription Annual, repeatable support and service agreements — effectively an insurance policy

against the need for ad hoc service and support, which may also provide updates and other services.

Embedded Software The open source software is embedded within a larger commercial software

package. Software as a Service (SaaS)

Users pay to access and use the software via the Internet. Advertising

The software is free to use and is funded by associated advertising. Other Services

Ad hoc support calls, service, training and consulting contracts.

http://blogs.the451group.com/opensource/2009/03/12/a-classification-of-open-source-business-strategies/

CHALLENGES AND WHAT’S NEXT

Challenges Going Forward Community building Ongoing innovation Open source as a sustainable business Balancing community and commercial needs

Q&AThank You

www.joget.orgJulian Khoojulian@joget.org