Upload
joget-workflow
View
4.966
Download
2
Embed Size (px)
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 [email protected]