open source workflow & CMS & issue tracking projects

来源:互联网 发布:鸢尾花数据集 编辑:程序博客网 时间:2024/04/29 15:49

 这篇文章汇集了最近对一系列开源工作流(引擎)、内容管理系统CMS、问题跟踪系统进行调查得到的备忘材料和一点点试用的印象。这些系统侧重方向各有不同,统称为工作流系统,因为都面向协同工作。

Open source Java Workflow Projects

WfMOpen

这个project有一个和scarab集成的应用实例,但没发现它本身以及所述实例的demo,不知道什么效果。

WfMOpen is a J2EE based implementation of a workflow facility (workflow engine) as proposed by the Workflow Management Coalition (WfMC) and the Object Management Group (OMG).

The workflow component is based on a set of JAVA interfaces that define an API for a workflow management facility. The basic "omgcore" interfaces follow OMG's Workflow Management Facility Specification, V1.2 very closely, while making some modifications to adapt the CORBA service to the established design practices for a Java API.

Workflows are specified using WfMC's XML Process Definition Language (XPDL) with some extensions.

Although WfMCore has its roots in the above mentioned workflow standards, the actual implementation transcends the traditional domain of workflow engines. By design, WfMCore provides excellent scalability and supports commodity integration technologies, including – but not limited to – SOAP. The workflow component may therefore be used as the core for any process based application implementation and is well suited to provide solutions for BPM (Business Process Management) related jobs.

Editing Process Descriptions

Any XPDL 1.0 compliant process editor may be used to create process descriptions. As XPDL is XML, actually any XML editor (and thus any text editor) is sufficient.

It has, however, turned out that a graphical representation of the process is quite helpful. We provide a graphical process editor called "JPEd". See the file download page for more information.

 

OpenWFE

OpenWFE is an open source workflow engine. It is implemented in Java, and is available under the BSD license.

OpenWFE not only features a workflow engine, but also a full fledged Business Process Management Suite. OpenWFE contains these features and many more:

  • a worklist component for storing workitems (tasks) for participants,
  • an APRE component, allowing you to implement automated agents into your work flows,
  • Droflo, our web-based flow designer,
  • and a well-documented REST interface and several libraries to access it, with more on the way.

OpenWFE can run completely standalone without any Application Server, requiring only a Java SDK (1.4.x) or better.

OpenWFE also includes several external access libraries to facilitate access to the REST interface through a variety of languages, including:

  • OpenWFE-dotnet, A .NET library written in C# which allows you to access all of OpenWFE's REST functions through one easy-to-implement .NET API.
  • OpenWFE-pyya is the equivalent written in Python, and it includes a python version of the OpenWFE APRE (automated participants runtime environment).
  • OpenWFE-perl, a module currently in development, which will allow for integration with the power of OpenWFE through your own custom Perl applications or web services.

Process definitions are expressed in our own language, which is extensible.

Open Source Workflow Engines Written in Java

another collection:

Open Source Workflow Engines in Java

JBoss jBPM

JBoss jBPM is a powerful workflow, BPM, orchestration (BPEL) and web application pageflow platform that enables the creation of business processes that coordinate between people, applications and services.
Designed for the mass market as well as supporting enterprise scale applications, jBPM opens up process automation to a much wider market.
With its modular architecture, JBoss jBPM combines easy development of workflow applications with a flexible and scalable process engine.
The JBoss jBPM process designer graphically represents the business process steps in order to facilitate a strong link between the business analyst and the technical developer.
Since JBoss jBPM is packaged as a simple Java library, it can be used standalone in a Java program or with an application server like JBoss Application Server for highly scalable enterprise applications.
By providing a flexible and robust framework for creating, coordinating, and monitoring business processes, JBoss jBPM makes changing complex business processes dramatically easier - significantly enhancing business agility.

Bossa

Bossa is a workflow engine written in Java. The engine is very fast and lightweight, uses a very expressive Petri net notation to define workflows, does not require a RDBMS and is very simple to use and to integrate with java applications.

Actually, it was designed to be embedded. Therefore, Bossa is organized as a library to be used by server side applications (especially web oriented ones) that need workflow services. We plan, in the future, to implement a shell over the current library to offer workflow services as a stand alone server.

 


 

from http://java-source.net/open-source/workflow-engines

JFolder

JFolder (formerly PowerFolder) is workflow server and development studio. It can be configured to work on J2EE application servers and a variety of persistance stores (databases).

Go To JFolder

Taverna

The Taverna project aims to provide a language and software tools to facilitate easy use of workflow and distributed compute technology within the eScience community. As a component of the EPSRC funded myGrid project, Taverna is available freely under the terms of the LGPL.

Go To Taverna

Freefluo

Freefluo is a workflow orchestration tool for web services initially developed by IT Innovation but now available to all from the Freefluo Sourceforge Site. It can handle WSDL based web service invocation. It supports two XML workflow languages, one based on IBM's WSFL and another named XScufl that is under development as part of the Taverna Sourceforge project.

Go To Freefluo

Micro-Flow

The micro-workflow framework targets developers who want to separate the control and logic aspects in their programs, thus making them flow independent. A well-factored flow independent application facilitates change because the most frequent business changes translate into process changes, thus leaving the code intact.

Go To Micro-Flow

JFlower

JFlower is a very light workflow handler. You can write complex flow, with conditions and other flow invocations, and JFlower evaluate each step of the flow to the end of the flow.

Go To JFlower

YAWL

YAWL (Yet Another Workflow Language), an open source workflow language/management system, is based on a rigorous analysis of existing workflow management systems and workflow languages. Unlike traditional systems it provides direct support for all of the workflow patterns (http://www.workflowpatterns.com). YAWL supports the control-flow perspective, the data perspective, and is able to interact with web services declared in WSDL. It is based on a distributed, web-friendly infrastructure.

Go To YAWL

Syrup

An adaptive workflow engine based on simple concepts. It offers full persistence, so that work is never lost, and deals with partial failure in a distributed setup. Syrup is also used reliably as a distributed scheduler to replace cron.

Go To Syrup

PXE

PXE (short for Process eXecution Engine and pronounced like "pixie") is a runtime component for executing processes defined by the BPEL4WS 1.1 specification.

Go To PXE

ActiveBPEL

ActiveBPEL engine is a robust runtime environment that is capable of executing process definitions created to the Business Process Execution Language for Web Services (BPEL4WS, or just BPEL) 1.1 specifications.

Go To ActiveBPEL

Antflow

AntFlow is a tool for the automation and scheduiling of data system tasks, including those with complex dependencies and workflow logic. Antflow represents a new approach to simplifying system automation that leverages pipelines of hot folders chained together to perform a given task. Using XML, Antflow associates an automated task, such as data transfer, compression, or encryption, with a directory on the local system. Whenever a file is copied or written into the hot folder, the associated task is executed and the file is moved to the next hot folder in the pipeline for further processing.

Go To Antflow

Dalma

The heart of the engine is an ability to capture the execution state of a thread and resume it later. Many applications of today need to have a part of the program that waits for other entities. . Often there are multiple conversations running concurrently. Those are what we call "workflow" applications. Today, those applications can be written, but one can't write it very productively. Dalma makes it very easy to write those workflow applications by letting you write it as an ordinary procedural program without any boilerplate.

Go To Dalma

Swish

Swish is an open source web services-based workflow API/Engine. The name Swish is an acronym derived from the phrase Simple Web services Interface to Shark. Swish provides a convenient web services layer on top of Enhydra Shark, offering two key benefits: 1. It opens Shark to a wider range of developers by supporting both Java and non-Java clients. Java clients are supported natively and can use Swish in 'embedded' mode in addition to the web services alternative. 2. It greatly simplifies access to the more commonly-used features of Shark.

Go To Swish

BpmScript

BpmScript is a continuation based scripting platform for Business Process Management. Features include:

 * Clustered processes
 * Worklist Support
 * ServiceMix JBI integration
 * Web Management Console
 * Versioned Processes
 * Child Processes
 * Remote API
 * Half Async Processes
 * Parallel Processes


Scarab(http://scarab.tigris.org/servlets/ProjectDocumentList)
demo(http://www.solitone.org/scarab-demo/issues)

这是一个问题跟踪系统,对其进行了构建评估,它是由servlet+tomcat+mysql构成的B/S系统,具有较强的定制性,但比较晦涩,尚未掌握其应用。项目仍处在发展中,有粗糙感。

The goal of the Scarab project is to build an Artifact tracking system that has the following features:

 * A full feature set similar to those found in other Artifact tracking systems: data entry, queries, reports, notifications to interested parties, collaborative accumulation of comments, dependency tracking
 * In addition to the standard features, Scarab has fully customizable and unlimited numbers of Modules (your various projects), Artifact types (Defect, Enhancement, Requirement, etc), Attributes (Operating System, Status, Priority, etc), Attribute options (P1, P2, P3) which can all be defined on a per Module basis so that each of your modules is configured for your specific tracking requirements.
 * Built using Java Servlet technology for speed, scalability, maintainability, and ease of installation.
 * Import/Export ability via XML allowing for easy migration from other systems (e.g. Bugzilla).
 * Modular code design that allows manageable modifications of existing and new features over time.
 * Fully customizable through a set of administrative pages.
 * Easily modified UI look and feel.
 * Can be integrated into larger systems by re-implementing key interfaces.
 * Is a ready to use issue management system
这是一个问题跟踪,类工作流程序。

JTrac(http://jtrac.info/)

JTrac is a generic issue-tracking web-application that can be easily customized by adding custom fields and drop-downs. Features include customizable workflow, field level permissions, e-mail integration, file attachments and a detailed history view.

jTrac是一个基于Web的issue追踪系统内置工作流.你可自定义字段来追究项目和分配任务等.jTrac采用Spring MVC, Spring AOP和Spring JDBC/DAO框架,JSP/JSTL作为视图.

对其做了构建评估,这个项目采用的技术比较先进,但目前尚处在中期发展阶段,结果比较粗糙,可用性较差。文档基本是设计阶段的。


Plone(http://plone.org/)

A user-friendly and powerful open source Content Management System

web application server and development system. To use Plone, you don't need to learn anything about Zope; to develop new Plone content types, a small amount of Zope knowledge is helpful, and it is covered in the documentation.

Zope itself is written in Python, an easy-to-learn, widely-used and supported Open Source programming language. Python can be used to add new features to Plone, and used to understand or make changes to the way that Zope and Plone work.

By default, Plone stores its contents in Zope's built in transactional object database, the ZODB. There are products and techniques, however, to share information with other sources, such as relational databases, LDAP, filesystem files, etc.

Plone runs on Windows, Linux, BSD, Mac OS X, and many other platforms; easy click installers are available for Windows and Mac OS X, and RPM packages are available for Linux.

原创粉丝点击