TINAG – This Is Not A Guide 2 Intalio

Just an attempt to Document & Decode the Intalio Platform for Non-specialists

Archive for April, 2008

Roles in the simplistic view of a BP-project

Posted by José D. De la Cruz on April 24, 2008

Grüezi,

In the last entry I explained 3 roles and the way they interact with the Intalio suite. In this entry, I will explain a bit more how the project starts and how the two first roles interact.

The Business Analyst (BA) is a functional specialist. She/he is responsible for creating a process specification. As this specification becomes very complex very rapidly, it is important to adopt an approach that I’ll baptize eXtreme Process Definition (XPD). Like eXtreme Programming, the idea is to make prototypes that are tested and validated very often, adding new functionality very quickly.

From the project management point of view, this corresponds to choosing a life-cycle named “Evolutive Prototyping”, where the previous core functionality is preserved, and new functionality is added; this has as advantage the capacity to always deliver a product, creating an optimal result for everybody at almost any situation (risk, cost, priority can make your project stop, and you always have something to deliver). A number of rules must be adopted, in order to make the evolution towards a final product agile.

The BPMS Designer enable this approach since the Rapid Prototyping of new functions is made possible even for non-technical guys. How? Well, the specification of Business Processes (BPs) is made by the business guys themselves:-O, using a language that is natural to them since it is just like flow diagrams: the Business Process Modeling Notation or BPMN. No programming (Zero Code) is the motto.

Besides the process itself, the BA must also create the screens that users of the system will see when they will interact with it. Of course, a bit of more technical knowledge is required here, but the path to a first prototype screenshot is really fast.

Just imagine, Intalio Designer makes possible to adopt agile methods at affordable or no cost in the Business Process dimension!!

The Process Assembler (PA) is the one that will make this specification ready-to-execute. His first task is to interact with the BA in order to verify the semantics, in what concerns conditional execution, iterations, the selection of one/many parallel paths (fork, rule-based execution, among many others) and for identifying the information required to compute each rule (for the conditions/predicates of each execution path). Next, the definition of contexts is required: sub-processes, transactional contexts, etc.

Concerning the screens for the users, the PA is responsible for adding the constraints that can be applied to the user interaction: the validation is automatic and declarative, only the predicates that should be respected are required.

A very particular duty of the PA is to connect the web-services and other providers to the BP specification. Now, this can be put off since the agile way does not compell the team to make the system fully executable. The most important issue here is to make a good spec. How to choose the good path towards a complete BP? by following the best-practices in the software engineering field, I propose you to do the pretty standard Work-Breadown Structure (WBS):

  • first, the normal case, where everything goes OK,
  • second, the alternative paths to the normal case, or the processing planned for special cases (starting by the 1-3 most common)
  • third, the error cases, i.e. the cases when things go wrong and special measures and even backtracking should be done

The core functionality is generally respectful of Pareto principles: it applies to 60-70% of cases, letting the remaining 20-30% pending. If your BP has a section with more than 3 alternative paths, you may start thinking about isolating it into a sub-process. We’ll see how to do that in the near future.

I’m aware of the fact that the approach as presented here is not necessarily applicable to many cases. I will soon give details about the document-centered approach that is normally required in order to deal with the complexity of exchanges. I will also then describe how the Process Data should be designed. Bis bald!

Posted in BPMN, Designer, Uncategorized | Tagged: , , , , , | 3 Comments »

A simplistic view of a BP-project using Intalio

Posted by José D. De la Cruz on April 22, 2008

Bonjour à tout le monde!

Well, after having dealt with some very specific problems of Intalio, I have to get back to the initial goal of this blog: to explain how to use the BPM suite. I’m sorry if I went a bit onto the specifics of some problems, but I have to document them before I forget them. Once done, let us be back on-the-track.

Since there is no specification about how to use the platform, I will dare to propose a sort-of-methodology in order to use Intalio. Hey! you know, I have not found any reference for this, so I had to create something by myself. Please consider it only as a personal reminder, and if you have elements to add, just write a comment. Thanks in advance.

The Project Roles

In my humble opinion, the Intalio suite is oriented towards 3 basic set of roles:

  • the Business Analyst (BA) or Process designer: a functional designer that models the process, its semantics (sequencing, loops, handling of special cases), the conditions that start the process (the triggers) and the conditions that should be satisfied in order to finish the process (the terminating conditions). She/he will interact with the assembler (next role) in order to guarantee that the semantics of the description are respected.
  • the Process Assembler (PA): a technical specialist. This role will –first– introduce a more formal semantics onto the business process specification created by the BA. Later, she/he will perform the connections assembly: integrate the set of BP-artifacts onto the process solution. Finally, she/he will interact with the deployer (next role) in order to perform the tests of the executable version.
  • the Solution Deployer (SD): the actor that actually makes the specification executable (Business Process + artifacts). This role should define a development/testing environment and a production environment; this last one requires that the SD documents the target IT architecture. This actor is highly competent on the technical issues.

The BP-artifacts that can be assembled by the PA are of three types:

  • the web services,
  • the user screens, and
  • the database connections that are available (lately, since Intalio 5 allows it).

The most critical task that this role must satisfy is the correct mapping of the messages as input/outputs of the process data. I sugggest to adopt an approach based on document-like artifacts. I will address this issue in future entries, of course.

I hope it is clear for the readers that this is a non-linear process. In practice, it becomes evident that the communication among the BA and the PA is actually an ongoing relationship, and may take longer than expected: each phase of the BP should go through specification, modeling, integration, testing, debugging, and validation… :-O

In order to deal with the incremental of my approach, I will soon start explaining a RUP-like approach that I’ve been thinking of. Sure, it won’t be perfect, just like this proposal.

The number of roles in a big project is –of course– higher than 3. My intention is to explain the vanilla approach, before introducing complexity. Bien sûr, this approach is far from perfect, and may not satisfy the requirements of some really knowledgeable guys, but it is a basic proposal that is better than having nothing as a reference. Besides, this is the first time I try to formalize it. I just hope it helps you.

Posted in BPMN, BPMS, Data Mapper, Debugger, Designer, Web Services, XForms | Tagged: , , | 1 Comment »

Installation: JDK incompatibilities and workspace conflicts

Posted by José D. De la Cruz on April 18, 2008

Intalio Designer and BPMS work nicely and smoothly.

Nevertheless, when it does not perform as expected, it is better to document it. I consider important to illustrate our experiences in this blog, and allow you to save time.

Yesterday one of my colleagues experienced a strange behavior with Intalio Designer… once again.

Problem #1

A few months ago, he could not even launch the Intalio infrastructure. No message was shown… how to deal with this? Well, the intalio forums gave him the solution: Intalio is compatible with JDK version 1.5 not with 1.6. This information appears in the correct place, but he was a bit too anxious to read all the information before installing. Please check the warning here.

Problem #2

The beast that challenged us yesterday is something different. The designer does not interpret the WSDL files as web services on the “Explorer Tab”…!!!
However, the same WSDL file appears OK on the Layout Tab… and you can even go through the Bindings, the Ports, the services…

When dragging and dropping the WSDL file into a pool, Designer asked whether implementations or invocations were required. Pretty much the normal behavior, but it did it for ALL the services, not for only one. I had to erase all the bad ones. The good one could not be correctly attached to a task via messages, because some problem blew out the translation to BPEL.

My colleague had already reinstalled several times during the last two months, obtaining each time some strange behavior from Designer. The only common element after each installation was that each time he found a number of projects already mapped in the Explorer Tab.

I was back in the city, so I could share his sufferings and give him a piece of my ignorance. He develops Java applications using Eclipse… (mmmhh)… The views that are normal in Eclipse appeared at the upper right corner of the IDE…(???)… something that does not happen in my environment.

A short diagnostic test showed that Intalio had mapped the workspace onto the same directory.

The solution? Just change the workspace (File->Switch Workspace) to a new directory, and relaunch Intalio Designer.
After importing the whole project from the old workspace (File->Import), everything worked correctly: I could finally drag and drop the services from the WSDL description.

The funny thing is that my colleague was the one who proposed the solution. Being a consultant, I have to ask the good questions; most solutions are IN you.

Hey! Do not try to import single elements of the project… it won’t work.

In general, you can trust Intalio forums for finding answers to many problems I’ll expose here. My goal is to follow a conversational style and give you contextual information from my experience; this is my grain of sand to the community. Nevertheless, Intalio Forums are THE reference. Please take into account that Intalio is actually two or more platforms and a philosophy of integration for the WHOLE enterprise. Thus, complexity is built in the forums. I hope this blog makes Intalio easier to understand to non-specialists.

Posted in BPMS, Designer | Tagged: , , , | Leave a Comment »

A mortal’s guide to initiation

Posted by José D. De la Cruz on April 18, 2008

Intalio is a wonderful, robust solution that is incredibly lightweight… but it also has a personnality, even a strong character sometimes.

One of the common difficulties is to convince people that something like Intalio exists, that it works, and that is Open Source. Then, they’re ready to try, but there is no guide to follow. I’m a strong believer of constructivism but I’m also aware of the lack of time (or of patience) of experienced people. Therefore, I’d like first to avoid the frustration of others with Intalio.

My goal is to decode bit by bit, in just several hundred blog entries how to find your way and become an Illuminati of Intalio. :-)

First of all, download the Intalio plaftorm. This normally requires registering onto their website. Just do it, and keep your password somewhere. I propose you to send yourself an e-mail with your password, using the same e-mail address that you used for registration. Then, you’ll find all Intalio-related information in the same place. Intalio people won’t annoy you and fill your Inbox; they will instead warn you 2-3 times per year if something important happens (new releases, a new feature like a screencast repository in their website).

You should download the Intalio Designer and the Intalio BPMS server. I’ll explain this better soon in another entry. Install them locally. They’re Java applications (mainly), so it should be straightforward to set them up and make them run on your machine.

In order to learn how to use it, please try to go through the Screencasts and Tutorials (basic) in the Intalio website. On the other side, you can suffer with me and follow the series of entries I will write; they are tagged as “Initiation” and/or “Start”. Just click on the Tag Cloud for finding out those articles. There will also be series on Project planning, Roles in the design of Business Processes, BP-Patterns, etc.

If you can, attend one of the courses taught by Intalio experts; the documentation given to you and the sharing of their expertise deserve the effort and the money. Besides, I guess Intalio follows the Enterprise 2.0 model, with the advantage of reactivity and tight links with their customers. The Intalio guys are really cool.

Later, try the Samples and the non-basic Tutorials. The forums are there to ask for questions. On this blog, I’ll try to focus on my daily experience with Intalio and give some hints on several issues related to the “Dark Side” :-)

Posted in BPMS, Designer | Tagged: , , , , | Leave a Comment »

Intalio for the masses

Posted by José D. De la Cruz on April 16, 2008

Hi,

I’m official evangelist of Intalio for a consulting company in Switzerland and at the Swiss Federal Institute of Technology (EPFL- Ecole Polytechnique Fédérale de Lausanne).

I’ll use this blog as the repository of all the basic issues that I know. I hope this will change soon, and it will be not only me but a small comunity feeding this blog very quickly.

If you need more information, please visit the links below:

www.intalio.com

My employer.

Posted in Uncategorized | Leave a Comment »