TINAG – This Is Not A Guide 2 Intalio

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

Archive for the ‘BPMS’ Category

Intalio BPMS

Infoworld prize & Intalio|BPMS 5.2 Released

Posted by José D. De la Cruz on August 7, 2008

Salut à tout le monde!

I’m sorry for having abandoned my blog for so long, but I’ll soon have exciting examples that I’ll include here. I have been working in a couple of projects (ITIL, e-Government) that have allowed me to exercise a bit more on the art of BPM.

You’ll see short examples on those domains in the next weeks. I’ll also discuss about portals (Liferay, eXo, and even Sharepoint) and JCR (Java Content Repository), and how to integrate BPs with them.

My entry today is related to the prize that Infoworld awarded to Intalio a couple of days ago. This shows that
the effort pays, and that the product is mature and really outstanding in what concerns quality. More information here.

The second issue today is the newest release of Intalio. The official information is here. Now, some information is missing regarding the technical features. I hope they will correct that missing link.

You’ll see some changes, in particular in what regards the look&feel (3-D is nice!) and about layout. Deeper in the functionality, you’ll see that the menus are much more contextual (“intelligent”) when you change views. This allows modeler to concentrate on the taks at hand.

I had used the enterprise version a couple of months ago, and it seems that the just released community (CE) version integrates even newer features. For example, when in the mapper you can apply filters that reduce the overwhelming amount of items on input/output. The filter icon is a bit bizarre, but easy to spot (it’s the green one) and it explains the principle: only an arrow from three goes through. The other two menus on the right have also been improved.

Intalio mapper 5v2 new contextual menus

Intalio mapper 5v2 new contextual menus

There are other new features related to connection to service registries, improved Web-service imports, etc. Since my goal is to remain in the domain of the community version only, I will not talk about them here.

Once I’ll have tested some new CE features (native support for REST web services, enriched XForms, enhanced DBC connector) in some real-world project, I’ll keep you informed.

さようなら

Posted in BPMS, Data Mapper, Designer | Tagged: , | 3 Comments »

What the Intalio Suite provides to each Role

Posted by José D. De la Cruz on May 17, 2008

The Intalio suite is made up of 2 basic sets: the Intalio | Designer and the Intalio | BPMS Server.

The first one is the platform for modeling and preparation for deployment. The second is the platform for execution. I will now list very succinctly the features that satisfy the specific needs of each role, without being exhaustive.

(The roles and the general project approach –xPD– are explained here and here)

  • The Intalio | Designer is intended to be used by the Business Analyst and the Process Assembler.
    • BA-oriented functionality:
      • Process specification (BPMN designer) and validation
      • Screen designer (XForms designer)
    • PA-oriented functionality:
      • Data mapper (connecting input/output messages to the Process Data)
      • Pool specification (internal or external to the system)
      • Process-role assignment (for interactions)
      • Generator of BPEL and BPEL4People
    • SD-oriented functionality:
      • Deployment server parameters
      • Target URL namespace
  • The Intalio | BPMS is intended to be used mostly by the Process Assembler and the Solution Deployer.
    • BA-oriented functionality:
      • Portal-like interface (XForms, authentification)
    • PA-oriented functionality:
      • Administrator interface
        • Process administration
        • Instance execution debugger (data, events, correlations)
      • Interface for testing Web-services
    • SD-oriented functionality:
      • Administrator interface
        • Process administration (deployment/undeployment, archiving)
        • Instance execution debugger (data, events, correlations)
      • Other administration portals

I will soon explain the diversity of platforms that make up the Intalio Suite, in particular the forest on the side of the Intalio | BPMS Server.

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

Creating a first BP-model

Posted by José D. De la Cruz on May 11, 2008

Guten Tag,

Let us create a simple description of the process from the original one that the BA has before starting.

How? Well, you open Intalio Designer. Create a new Project, by selecting File->New->Intalio|BPMS Business Process Project; write down the name of the new project and configure the environment (by default, just say OK on this part). Then, you have an empty project with a single sub-directory named “build” ( 8-O “DO NOT TOUCH!!!” 8-O ).

In Intalio Designer you identify several zones of the screen: the menus at the top, the Process Explorer on the left, the drawing or working area (empty) at the center and up to the right margin; at the bottom you’ll also find two small windows with detailed descriptions, and at the bottom margin you’ll see the tabs chooser (on the left) and the status of the compiler/ deployer (on the right).

Bottom Menu

In each project, you can create as many process descriptions as you want. The idea is to create one diagram per process description, so let us do it: Right-click on the name of the project, and a menu will appear. Choose New->Business Process Diagram. Then, write down the name of the BP (it can be the same than for the project, no problem).

A new process diagram is created, opened in the drawing area, and a couple of default elements have been pre-built: a default pool, and a default task.

Diagram initial of BP diagramWhat is a pool? very briefly, it is the representation of the space of action of a given role/actor; it is used as a graphical container of all the tasks that are performed by such a role.

And, what is a task? well, a task is an action or activity performed by a role. It must be put inside a container (pool) in order to be assigned to that role. Tasks are what is listed in our original process description.

Making the system more comfortable for Business Process Modelers

The default perspective in Intalio is the Intalio|BPMS Designer perspective, , that contains the detail needed by the IT specialists. In order to change it, please choose the view menu (top right corner, or go to Window->Open Perspective->Intalio|BPMS Modeling or Window->Open Perspective->Other->Intalio|BPMS Modeling ). This view will allow the BA to use the whole space for the process diagram.

Perspective Fast Menu

Choose a Perspective by menu

Choose the Palette tab (behind the Project Explorer). The palette offers you the whole set of BPMN symbols you need in order to create your graphical process description. If you want to put a task symbol in the pool, then you click on the Task symbol, and then you click on the drawing (do NOT drag it, please). That’s it.

You must set a name. You may either double-click inside the task, or do the modification using the Properties tab (Click on Properties, then at each task in the drawing. You can edit the content of Properties->Process Execution->Label)

(If you want a full description of this step, please go and visit the Intalio Tutorials and Screencasts in order to understand how to introduce the symbols. My goal with this blog is not to replace the documentation that is already there.)

Specifying the causal relationships: what comes after what

Continue introducing as many tasks as you have in the list of the original process description. Put the next task always to the right of the preceding one. Try not to be too generous, since screen real-state is scarce. You can also zoom out from the menu bar (the only option with the % sign in it :-) ).

Fast Zoom

You will get a long “chorizo” of tasks. They’re not a network of consecutive tasks yet. This is why a red error symbol appears at the left margin of the pool when you save the file (CTRL+S).

Flow ConnectorFlow ConnectorIn order to connect the tasks, choose the Flow Connector from the Palette, and then draw it in the working area: click once on one task and click once on the destination task, the arrow will appear indicating the correct direction. The Flow connector is actually a transfer of the control flow among tasks, not a transfer of the data flow.

As you see, by default, the tasks are done in linear-sequence. However, most interesting processes are made up of a non-linear sequence patterns (parallel, one task-or-the-other, a-minimum-of-iterations-of-a-task, a-minimum-of-instances-of-tasks, etc.). For the moment, we will not address these issues.

Once you finish entering the tasks in sequence, we have a first version of the process. Isn’t it difficult to change the control flow later? NO!! :-) That’s the good thing of BPMN and Intalio. It is actually pretty easy, as we will see in a future entry.

Error MessageNow you’re notified of an error when you save the project. Mmmmmhh… if you put the mouse over the error symbol on the first task of your process, you should read “The first task of an executable pool must receive a message” … :-? ? It is not that terrible, but we have to go back to the original process description:

  • what is the event that can trigger this process? what makes the organization to launch a process like this?
    • Is it a request/claim made by the person herself or by indirect means?
    • If it is the person: can she do it by mailing a letter? can it be done by phone? by fax? by e-mail? via a form in a website?
    • If it is done indirectly: what is the kind of system and of information that is received? what are the rules that enable the detection of a certain condition?

Event Message StartVery often, we can represent the launch of a process as an event, one that arrives or that is detected. This is represented by a Starting Event. The Intalio Palette proposes three events: Empty, Message, and Rule. Please select the Message Start. Put it as the first element in your process timeline.

Specifying the causal relationships: connecting to an external trigger

As the message must come from somewhere external to the orchestrator, you should draw another pool. Select the Pool from the Palette, and then draw it in the working area. It should be a non-executable pool, as explained here, since it is an external actor or system the one who initiates the process. It is not an element under the control of the orchestrator. Click once with the right-button of the mouse, and choose the last option of the list, Set pool non executable. As a result, the left margin of the pool becomes dark.

Put a task in this new, external pool: choose the Task from the Palette, and then draw it in the working area. This time no error is notified, since the non executable pools do not require an external starter.

Message ConnectionIn order to connect the tasks from different pools, choose the Message Connection from the Palette, and then draw it in the working area: click once on the origin task (the new task) and click once on the target task (the message start event of your process), a dotted arrow will appear indicating the correct direction. The message connection is actually a transfer of the data among tasks that is used as a synchronization point by the control flow.

Save the project. Both the error symbol and the error messages have disappeared.

BPMN is very zealous about well-formedness: please close every opening element, and start and end every process explicitly. I know! I know! Intalio is not telling you anything, but it will surely if you don’t correct the situation early. Pls listen to me: avoid the problems and save time. In this case, the orchestrator should include an explicit termination, and End Event. Please select the Empty End from the Palette, and then draw it in the working area, at the right of the chain of tasks. Insert a Flow Connector from the preceding task. We’re done.

The first iteration of our BP-model is complete. It is not possible to generate an executable description from this first model. We will see why very soon.

Vaarwel !!

Posted in BPMN, Debugger, Designer | Tagged: , , , , , | 1 Comment »

What is too often tacit and that should be know by both IT-guys and Biz-people

Posted by José D. De la Cruz on May 9, 2008

Konichiwa,

There are several aspects of the interface between the theory and practice of BPMS (and of the more general
workflow-systems) that are just never explained.

They are not necessarily present in the minds of non-specialists. I prefer to avoid the tacit understanding of such aspects. This often results in undeterministic and conflicting views of BPM, BPMN, and of the process descriptions that you create with it. It is also fundamental to grasp the essence of the architecture of BP-based systems (what is the place of BPMS and of workflows, of BPEL, BPEL4People, User Interaction, and others in the equation).

I won’t cover everything here but the main issues that help you understand the reasons that I consider most important to understand how to tackle a BP-project using Intalio and other BPMSs:

  • The designer must clearly specify two logical sets:
    • the portions of the workflow (set of tasks) that can be performed automatically, and
    • those portions of workflow that require human intervention.
  • The BP designer will generate an orchestrator that will be executed on a BPMS server. An orchestrator:
    • is an entity that guarantees that the execution of the business process follows the specification;
    • is external to the systems that will actually execute many of the actions, but it is the orchestrator who will command them to do those actions;
    • is not the owner of most of the information that is required for future actions, so it should grab and store that information for future use.
  • The designer will then obtain two kinds of BP-pools (representing the coarse roles that participate in the process):
    • non-executable: each of the IT systems that the orchestrator must talk to, as well as every user interaction (web-based in most of cases)
    • executable: the orchestrator itself.
  • The BPMS server:
    • provides an environment where to execute the orchestrator. Such environment is a virtual machine for BPEL and BPEL4People
    • provides a portal for managing the User-Interactions in synchrony with the BP-description
    • talks to security components, in order to authenticate and authorize BP-consumers

I hope this will make it easier to understand the structure of the resulting specification. More details on this subject will be discussed later.

Tchau!

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

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 »