TINAG – This Is Not A Guide 2 Intalio

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

Archive for the ‘Data Mapper’ Category

Using the Data Mapper included in Intalio Designer

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 »

Process Logic & Process Data

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

When the modelers create a Business Process they must specify two things: the process logic and the process data.

The process logic is the description of the activities and events that take place during the execution of one instance of the business process. For example, for an imaginary BP:

when a fax arrives, the customer should be validated before going on. If the user is valid, then… ; at the end a fax should be sent back to the client.

In terms of executable business process, we should rewrite the process logic in a more structured fashion, as follows:

  • when the event fax arrives is detected, then the process is launched.
  • The first task is to determine what is the customer number
  • then the customer number is used to validate the customer,
  • then… ;
  • at the end, a fax should be generated;
  • the user must print it and
  • sent the printed fax back to the customer.

Of course, the final form depends on the level of granularity and of detail of the (web) services that should be used, as well as of the information that the users of the system should introduce. In this case, the rewritten process logic can be easily translated to BPMN.

Ideally, the description of the process logic should satisfy the business needs. However, the resulting description cannot be executed because some elements are not there, as explained here. This is what happened with our first model. We must then complement this description with another layer of description.

The second level of specification is the process data. The current description of the process logic does not indicate more than the sequencing of both tasks and events. However, nothing has been said about how to use data for making decisions (if-else scenarios). Another important issue is data manipulation.

Nevertheless, in real life, every time that some event happens during a business process, some data is taken and sent to other systems, transformed into some useful result, and those results are communicated back to the process in order to use them some time in the future of the execution of the process.

This is what we do using forms, notebooks, post-its, IT systems. This information is resilient and many of the future decisions of how to handle the processing will be done on the basis of these data. That’s why they are called process data. In most cases, these data are simply transferred to a new system without any transformation.

Let us see un example of a very ordinary dialog over the phone:
- Carlos : Hi Susan, I just received a fax from a customer, could you help me validate him?
- Susan: Of course. Just give me the customer number, and the family name.
- Carlos: His customer number is: CN-CNCNCN-CN, and his last name is LNLNLN.
- Susan: OK. Give me a second. The customer FNFNFN, LNLNLN, identified with the number CN-CNCNCN-CN is valid. You can go ahead.
- Carlos: Thank you. Excuse me one more time, but: do you know how to make a claim in this new system?
- Susan: I’m not sure, but I think you should press the button “Customer Is Valid” in order for the system to know that I validated the customer for you.
- Carlos: Yeah, I see. Something new appeared on the screen. It asks me to print a response letter for the customer.
- Susan: Just do it. It will print a model reply letter with the reference number of the claim.
- Carlos: It’s done. But it’s also printing something on the sticker printer. It’s a sticker with the reference number and some barcode.
- Susan: You’re done. You stick the barcode to the incoming fax. Then you put it in the binder that is marked “Claims Dpt.”. The system will send them a message immediately so they know they have something pending in your office.
- Carlos: Yeah, I see. Before I had to call them all the time so they could come take it. It was not really effective with these guys.
- Susan: It’s improving. You’ll see. Don’t forget to take the other half of the sticker and put it on your logging book along with the date.
- Carlos: OK. Thanks for all your time and comprehension. Sorry if it took too long.
- Susan: Don’t care. Bye.

All these data: fax, “Customer is valid”, sticker, reference number, customer number, customer last name, customer first name, nature of the fax(claim), date, etc. are stored temporarily in order to perform a series of tasks. Some of these are physical data, other are just logical data and data references. The most important feature of those is that they are local and private to one instance of the business process:

  • The fax is unique (one instance in paper, received at a time/date),
  • the reference number is unique (the system should guarantee a sequential number for each request),
  • the validation is unique (the customer is valid at the date/time of the request, but it might not be the case before or after),
  • etc.

Therefore, the process logic is now complete: We know what event to expect or what activity should take place, and also what it takes to perform each activity.

We didn’t have enough space to cover the manipulation itself, and how to transform data. This will be done in a series of entries labeled “Process Data”.

Posted in BPMN, Data Mapper | 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 »