Nuxeo workflow engine VS dedicated workflow engine (like Activiti) - workflow

I use Nuxeo for content management purposes on a project.
I know I'll also need to support "workflow" scenarios, which I currently know very little about.
For example: I'll need to support a workflow scenario for approving a release of a software component.
Such an approval may be composed of several different stages, and in every stage I may need to trigger some kind of an automatic interaction with certain users of the system.
What may be considered some good/valid considerations for not "settling for" the workflow engine provided by Nuxeo, and using a dedicated engine such as Activiti or jBPM instead?
I know the question is very (perhaps too) broad, but still:
What could be some points to consider before I choose one over the other?
Are there other tools I should consider?

Yes, your question IS too broad. every workflow tool has its own cons and pros. why don't you list down all of your needs then compare each of the tools. mainly: Alfresco Activiti, Camunda, jBPM or Nuxeo

Related

Activiti and Drools ... is one enough?

I have been asked to start exploring a Activiti tool for some client demo.
The demo will also have JBoss Drools with which Activiti will be integrated.
I am new to both of these tools and business process world, so excuse me if the question is dumb.
The question is why do you need Drools? Isn't Activiti enough for the job?
Both of them have conditional elements so why do you need Activiti on top of drools?
This question doesn't quite fit the purpose of StackOverflow, so don't be surprised if you get a few flags. But I'll try to give a short answer.
Activity is a workflow engine, Drools is a business rules engine. They serve two different purposes.
Workflow engines are useful when you have a flow of actions of different actors that need to be controlled programmatically.
Rules engines are useful when you have business rules for executing some task automatically that you want to describe in a declarative way.
Both purposes are orthogonal to each other, meaning that the problem you have to solve may require none, just one, or both of them.
Imagine a workflow where a customer reports an incident, some experts have to work on it, and finally a bill gets produced, but no heavy algorithms are behind those tasks. That might be supported by a workflow engine without a rules engine.
Imagine a complex price model for a product, like cars having all sorts of special features that may be ordered. (Hifi speakers cost 400 €, except if the executive version of the car is ordered, where they only cost 200 € if ordered in combination with smartphone adapter...) Here a rules engine may be useful, although nobody talked about a workflow, so no workflow engine is needed.
Imagine the first example (incident workflow) together with a complex billing scheme. Here both tools may be used.
I wonder why these two types of tools are in some places described as perfectly fitting together. (Maybe this kind of claim motivated your question.) They serve two different purposes, and whether you need them both depends on the problem you have to solve.

Windows Workflow Foundation in modular application

I have a question about WWF, I'm working on a webbased ERP project which is a modular application ofcourse.
I'm looking for a way to create an engine for wokflows in the framwrok so modules can rely on it and based on this engine create their workflows.As I see there should be 3 kind of workflows (Human for confirmation of info among the organization, Business for handling business flows such as calculating personnel income based on the different factors and UI workflow for handling chain of usercontrols based on a cartable (dashboard) )
I need some help on handling this and if there is any problem in my insight I wonder to be informed.
This is extremely broad and without more context hard to answer.
WorkFlow can be used in conjunction with e.g. SharePoint to take care of the Human part of a workflow such as creating a document or marking it as OK.
WF can be deployed as a service and supports the interaction with other (web)services to support modularity.

Integrate Sitecore with External Workflow engine

Is it possible to integrate Sitecore with external workflow engine (K2, Skelta), and if so, how to connect external workflow with Sitecore content item, and do i need to implement new interface in Sitecore (like workbox).
The reason why i need this, because current Sitecore workflow does not have all features that other workflow engines have, like escalating workflow items or parallel approval steps.
There are at least two ways. The most common way is to use Sitecore workflow actions to hand items off to the external workflow system. Another way is to implement the IWorkflowProvider and possibly related interfaces to abstract the external workflow engine completely. I personally have never tried either approach, so I can't provide any detail.
According to the sitecore website they list open architecture as a benefit. They even go so far as to say.
"Integrate with third-party systems: Sitecore CMS provides a full data integration and
abstraction layer that allows you to connect to any database, web service or other external systems"
So theoretically it is possible. (Full disclosure, I do work for K2) I will ask around to see if anyone internally has done this before.
Anyone else out there done anything similar?

How do I put some meat onto my Release Process?

I look after the merging, deployment and release of Products & Services in the Company I work for. I've slowly moved to this position from development so a lot of this is new to me (I guess!)
We have a deployment process, but no real Release procedure other than telling stakeholders and members of staff about these new services/features/bug fixes shortly before release.
I've heard things about ITIL Release Management, CMDB, versioning and other mumbo jumbo, but are they actually needed or am I going to end up being weighted down in by a load of crap.
The question I guess I'm trying to ask is: what's my first step? Am I making a mountain out of a molehill? How do I shape this department?
Steve
In my opinion following ITIL practices or implementing a CMDB are not necessary but best practices. The most important thing, and first step, in your case, is developing or documented sound processes about what you do. For documentation you can use "programmer friendly" tools like a wiki (MediaWiki, TikiWiki), but if you do not document your practices it is very difficult to implement continual improvement.
If you have already implemented and documented your processes you can study standards and best practices related to your department. ITIL and ISO 20000-1 are standards focused on the quality of services you offer. Services, not ongoing operations. ITIL can provide you with some useful (but not necessary) good practices like implementing a CDMB. If you implement a CMDB correctly your department will have in a database the configuration of the assets you use to provide your services. You will be able to store the configuration of the systems on your clients or what you want. The CMDB can associate its elements with incidents or known errors so the support department could provide the best service to your clients.
CMMI or CRUM are other standards/frameworks that will probably interest you.
About versioning, I think some sort of versioning is a must. GIT or Subversion are good options.
Other tools very interesting in my opinion is some kind of continuous integration, like Jenkins and some ticketing system like Trac or Mantis.

Workflow Tools Comparison?

There is a pretty strong need for us to design some workflows around various processes. The problem is none of us actually know any workflow technology yet, and finding good data to compare the available options has been tedious and not entirely fruitful.
So I figured I'd ask you guys.
The main technologies we are looking at are Windows Workflow Foundation and eDocs Workflow. What other options are there? Sharepoint 2007 has workflow functionality too, right? Is that just based on WF?
What are the pros and cons of the various technologies? How do they compare?
EDIT: Also, one feature the administrative types like with eDocs Workflow is that it provides a method for them to edit it themselves. I believe Sharepoint '07 does as well. Is there some other way to allow that with a straight WWF implementation?
Sharepoint and WF more like complementary technologies, designed as two different workflow authoring tools in the same ecosystem. There's a Sharepoint workflow designer, and a WF (Windows Workflow Foundation) workflow designer.
The Sharepoint designer is meant to be an Office-like workflow editing experience, easier to get started with, geared for non-technical types, and generates all the web forms automatically.
The 'WF' workflow designer on the other hand is actually a component of Visual Studio (by default - as Bernie says you can rehost it), and designed to allow programmers to be able to fully customize workflow, and integrate it with any other code/systems desired. Building and deploying sharepoint sites this way is still possible, through the use of 'Sharepoint Activities', but more complex.
If you take the former route, you can hopefully let the administrative types do their own basic customizations (up to the limits of that environment) without causing total chaos.
It is possible to 'rehost' the WF designer (the one from Visual Studio) in your own application, so that users can author workflows. There are a number of code examples on the web, the most important one from MS itself: http://msdn.microsoft.com/en-us/library/aa480213.aspx).
At some point, when evaluating WF, I implemented a demo application that did this and added some features and found that although it works, not everybody can understand and use the more difficult activities (like the policy activity) that require understanding of how the rules engine works.