Imixs-Workflow

Last updated

Imixs Workflow is an Open-Source-Project, providing technologies for building Business Process Management solutions. The project focus on human based workflows used to execute and control workflows in organisations and enterprises. In difference to task-oriented workflow engines, which focus on automated program flow control (tasks), Imixs Workflow is a representative of an event-based workflow engine. Here, the engine controls the status of a process instance within a defined state-diagram. By entering an event, the state of a process instance can be abandoned or changed. In human-centric workflow engines, events usually occur by an interaction of the actor with the system, for example by approving or rejecting a business transaction. They can also be triggered by scheduled events. An example of this is an escalation of an unfinished task.

Contents

The goal of the open source project is to reduce the complexity of business applications by providing a flexible framework to implement business logic based on the BPMN 2.0 standard.

Naming

The name Imixs is derived from the word Imix. Imix means the first day in the so-called Tzolkin calendar from Aztecs and Mayas. In this respect the word Imix is also used for the terms Earth, abundance, water lily and alligator.

Project Structure

The open source project provides a framework for various aspects of workflow technology. It aims to provide a flexible architecture for the general requirements of workflow management systems. Overall the project is separated into the following areas:

The project uses the configuration and build framework Apache Maven and publishes all artifacts into the Central Maven repository.

Technology

The project is based on the Java Enterprise Architecture (JEE) and represents a scalable and transactional framework for workflow management solutions. A major goal of the technology is to simplify the software build process in modern business applications. The project takes advantage of the JEE component model, and allows to reuse all components without limiting the capabilities of the Java EE architecture.

The technologies used includes:

The reference implementation is based on the GlassFish application server. JBoss and WildFly application servers are supported. By Using the Java Persistence API (JPA), the workflow engine is database independent and can be used with any relational SQL database.

Philosophy

The Imixs-Workflow project focuses on Human task-centric workflows. This means that a business process is typically controlled by the user (actor). Imixs-Workflow manages the state of business objects and provides the user with information during a business process. For Example:

A Human task-centric workflow system assists users in starting a new process, finding and processing open tasks and helps users to complete current jobs in the defined way. The Workflow Engine automatically routes processed tasks to the next actor and notifies users about new tasks depending on the current process definition. The following illustration demonstrates the typical flow of a document or datasheet from one user to another controlled by a Workflow Management System.

Licence

Imixs-Workflow provides the results of the project under the GPL with a dual-license model, to meet the usage and distribution requirements of different types of users.

History

The Imxis workflow project was founded in 2005 by Imixs software solutions GmbH. In the year 2016 the open source BPM platform Imixs-Office-Workflow [5] was published. The project sources are hosted on GitHub. [6]

Related Research Articles

<span class="mw-page-title-main">Jakarta EE</span> Set of specifications extending Java SE

Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, that can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.

Camunda provides a workflow and decision automation platform offering process orchestration capabilities to organizations of any size. Camunda Platform comes from years of research and development including open source initiatives.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">BEA Systems</span> Defunct American software corporation

BEA Systems, Inc. was a company that specialized in enterprise infrastructure software products, which was wholly acquired by Oracle Corporation on April 29, 2008.

<span class="mw-page-title-main">Business process modeling</span> Activity of representing processes of an enterprise

Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typically performed by business analysts, who provide expertise in the modeling discipline; by subject matter experts, who have specialized knowledge of the processes being modeled; or more commonly by a team comprising both. Alternatively, the process model can be derived directly from events' logs using process mining tools.

Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by The Apache Software Foundation, where it was formerly part of the Jakarta Project.

<span class="mw-page-title-main">XPDL</span>

The XML Process Definition Language (XPDL) is a format standardized by the Workflow Management Coalition (WfMC) to interchange business process definitions between different workflow products, i.e. between different modeling tools and management suites. XPDL defines an XML schema for specifying the declarative part of workflow / business process.

jBPM is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0. jBPM is a toolkit for building business applications to help automate business processes and decisions. It's sponsored by Red Hat, part of the JBoss community and closely related to the Drools and OptaPlanner projects in the KIE group. It is released under the ASL by the JBoss company.

JBoss Developer Studio (JBDS) is a development environment created and currently developed by JBoss and Exadel.

Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business processes is BPM. Processes can be structured and repeatable or unstructured and variable. Though not required, enabling technologies are often used with BPM.

<span class="mw-page-title-main">Spring Roo</span> Open-source software tool

Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software. The resulting applications use common Java technologies such as Spring Framework, Java Persistence API, Thymeleaf, Apache Maven and AspectJ. Spring Roo is a member of the Spring portfolio of projects.

This article provides a comparison of Business Process Model and Notation (BPMN) tools.

Bonita is an open-source business process management and low-code development platform created in 2001. Bonita technology was developed originally in 2001 by Miguel Valdés Faura, at the French Institute for Research in Computer Science and Automation, and subsequently transferred to Groupe Bull. In 2009, the Director of the BPM division, Miguel Valdes Faura, founded Bonitasoft, which is a French open-source software vendor.

The JBoss Enterprise SOA Platform is free software/open-source Java EE-based service-oriented architecture (SOA) software. The JBoss Enterprise SOA Platform is part of the JBoss Enterprise Middleware portfolio of software. The JBoss Enterprise SOA Platform enables enterprises to integrate services, handle business events, and automate business processes, linking IT resources, data, services and applications. Because it is Java-based, the JBoss application server operates cross-platform: usable on any operating system that supports Java. The JBoss SOA Platform was developed by JBoss, now a division of Red Hat.

<span class="mw-page-title-main">Activiti (software)</span> Open-source workflow engine

Activiti is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0. Activiti is the foundation for Alfresco's Alfresco Process Services (APS) and Alfresco is the Activiti project's leading sponsor.

<span class="mw-page-title-main">Enterprise Architect (software)</span> Visual modeling and design tool

Sparx Systems Enterprise Architect is a visual modeling and design tool based on the OMG UML. The platform supports: the design and construction of software systems; modeling business processes; and modeling industry based domains. It is used by businesses and organizations to not only model the architecture of their systems, but to process the implementation of these models across the full application development life-cycle.

References