Improve company productivity with a Business Account.Sign Up



Posted on 2004-10-21
Medium Priority
Last Modified: 2006-11-17
1. What is workflow ?
2. I have been asked to study J2EE workflow.
   What's J2ee workflow and where can I get information on it ?

3. What is JMS used for ?
Question by:thomas908
LVL 37

Assisted Solution

zzynx earned 120 total points
ID: 12368675
LVL 13

Assisted Solution

petmagdy earned 80 total points
ID: 12368852
Workflow is a software that provides IDE to design a business process flow, an example product is Oracle workflow it is a J2EE workflow check this:

JMS is a J2EE standard for messaging to be used in Assynhronouss applications like the url zzynx provided

Accepted Solution

sbockelman earned 1800 total points
ID: 12369768
Workflow is not software.

Software can be used to facilitate or automate workflow.

Essentially workflow is some ( usually business ) process involving multiple steps, possibly some parallelism, conditional steps, information routing, etc.  

An atypical example might be something like getting an employee's birthday card signed by all members of a department.  In an ad hoc fashion, this is usually done by passing around a folder with the card in it and having everyone just "pass it on"; a more efficient version of this workflow would be to include a list of the people in the department in the folder, and as each person signs the card, he or she checks off his or her name, so someone won;t try to pass it on to him or her again.  But, ah...what to do if someone leaves it on someone's desk who is on vacation, or someone follishly passes it on to the actual birthday boy or girl.  These are the kinds of responsiveness and security issues that can occur in more mission crtical workflows.

More typical examples of workflow might be a sophisticated telecommunications order and fulfillment process.  A customer makes a request for some new service; several steps and several people are involved in setting up (or provisioning) the service components, modifying billing system data, communicating status to the customer, etc.  Some of these things can be done in parallel (say, entering billing data while routers are being configured -- different people in different places doing independent tasks).

For more in-depth discussion of workflow, try:


As for J2EE Workflow; there is nothing specific in the platform that provides workflow (that's a higher-level concept), but the building blocks are there.  One of these is JMS, which provides for asynchronous messaging.  Message Oriented Middleware (MOM) is a huge topic all its own, so... I won;t try to go into that here, too.  But the gist is that independent systems or parts of systems can publish messages to a queue, where another system or systems is "listening".  The publisher doesn't wait around for the listeners, it just deposits its message and goes on.  Listeners repond to messages as they see fit and may in turn leave a new message of their own, in which the orginal sender may be interested.  Again, if the orginal sender is a listening (subscribed to the queue), at some later time, it will respond to the message.  (This is only one form of MOM, known as publish/subscribe, but it is probably the most common.)

I suggest googling for J2EE Workflow and checking with to see if there are open source J2EE workflow products.

Above all, don't expect to learn and evaluate workflow capabilities in less than 3-6 weeks.  If you are new to the topic area, you may not appreciate some of the features or claims of the various competing products in the market... or you may not yet see how workflow solutions can benefit you or you customers.  

Good Luck!


Author Comment

ID: 12387253
That was a nice explanation. I'll wait for a couple of more days before closing this thread,  just in case anyone else wants to post a comment.
LVL 37

Expert Comment

ID: 12397848

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question