Friday, 16 November 2007

Intalio as a complete development environment?

Virgil Green, a contributor to the Intalio forum posed a question which approaches my own reason for studying Intalio

I've been considering BMPS in general and Intalio specifically as a development platform. I'm wondering if I'm expecting too much from this technology. I'd like to replace a complete software system including Contract Management, Claim Management, Invoicing, Letter Generation, etc.

My question is (rather broadly) whether the combination of Intalio Community edition (or any higher level edition), a database for which there are adapters, and a reporting tool such as BIRT provide sufficient tools to develop a complete enterprise system.


Business rules? Are they covered/enforceable in Intalio? User Inquiry and Data Entry? Are XForms enough? Am I expecting too much or should I continue to think of this software as middleware for moving data between other systems that handle those functions?

At present the answer is probably that you are asking too much of Intalio alone and that you are being very ambitious. However, the underlying ideas of Intalio and its open-source, and standards basis mean that there is likely to be a way of working with Intalio as a core to deliver a reasonable enterprise architecture.


I think it is a good idea to consider BPMS as the centre of an execution platform. Intalio then provides a good implementation of the BPEL engine and a corresponding designer. Because BPMS does not work well without people somewhere in the end to end operation, there is an element of human workflow required to complete the picture. Intalio adds to the BPMS a web application that implements the human workflow using a standard form expression BPEL4People. This is the TEMPO component. The Intalio Designer integrates this for you automatically. If you are happy to express your workflow with the BPEL4People constructs, and there are plenty of for and against arguments, that covers your business processes very well.


Either side of the business process management system you will require technology components that interact with people (the human interface) and services (the IT systems components for you Contract Management, Claim Management etc.).

Let us consider the services first. My observation of organisations which are not unduly tied into technology (a retailer or small manufacturer rather than a national Telco) is that when you manage the Business Process independently of the business services, the both the services and the business process implementations will become much simpler than if they are combined in say a customer management suite.


Intalio itself does not provide much in the way of application development of the kind you might find in IBM's Websphere or Microsoft Visual Studio. However, once the business processes are managed there may be little left to worry about other than the persistence layer of simple create, read, update and delete of data (CRUD). Of course there are a number of development tools that would work alongside Intalio to deliver the services components.



The user interface components of Intalio are designed for the workflow alone. This will not be sufficient for a complete software solution for many organisations. Although Intalio makes use of a generic user interface product (ORBEON ) which itself is a server implementation of the XFORMS standard, the method of development of user interface in Intalio does not allow the full capabilities of either to be used.

  • There is no direct control over the presentation within the designer. The view of the form is defined by CSS , but the CSS scripting has to be unpacked from the Intalio distribution and modified independently of the forms designer component.
  • The form input and output messages are defined automatically from the form components (widgets) which precludes the use of standard schemas common in business and government circles (for example the XNAL standard used for names and addresses).
  • Fundamental XFORMS presentation controls are not available within the designer (for example, Appearance, which is used by XFORMS implementations to decide how the input/output should be presented)
  • There is no control over XFORMS submission. Submission is limited to the messages to TEMPO.

However, the presentation layer of the architecture can be readily replaced with anything else that can communicate with SOAP (doc-literal) messaging. A commercial organisation might even consider using Microsoft Office as the presentation layer. Organisations with an architectural bias to Open Source and standards might still choose XFORMS but with a different development tool.



Whether Intalio is sufficient to develop for the enterprise will ultimately depend on the complexity of that enterprise. There will be plenty of businesses that perform their functions within Microsoft Office and Access environments. Intalio and a database would be a step up from that. MySQL and JDBC seems to fit well with Intalio. There are some samples of providing data access services through MySQL in Intalio.


At first glance, BIRT for reporting looks a good companion for Intalio in the development area as it is also based on the Eclipse development platform. However, the Intalio distribution seems a bit hostile to other Eclipse plug-ins. This may be resolved as Intalio matures.



Explicitly calling a business rules engine within the BPMS seems to be a reasonable approach and is readily achieved in Intalio provided the BRE provides a web service interface. Intalio provides a sample implementation with OpenLexicon.




Intalio could not be classed as a general development environment in its current incarnation but it is certainly capable of becoming one.

Thursday, 8 November 2007

Health Information Privacy

IT managers often fail to do their best work in delivering security to the information within the health sector but they certainly do better than the health managers themselves.
A recent audit of the Wellington region's health service revealed patient records being stored in public corridors with no controls on access

The audit [Telarc] underlines that the organisation is bordering on dysfunctional. It records grave failings, such as leaving patient records in public corridors where anybody passing can take a peek,.... Dominion Post 8 Nov 2007
There are plenty of things that can be done technically to meet the required standards of privacy but if the underlying organisation has an irresponsible attitude to security we will see ill-considered technical 'solutions' that compound the problem.

As Blindside comments on one mobile health care device
Let’s see. Wireless transmission of sensitive information–yeah, we’ll get to that right after we take care of those pesky ergonomic and battery life issues. And preventing hacking and malware to ensure that the information is accurate? Hmm. Let’s put that on the list of things to do after we make sure it doesn’t add to the weight of the tablet device
I suspect that the subject of healthcare privacy needs a shake up from top to bottom. A few questions ...
  • Is it clear what the customer (that's us, not the health managers) wants?
  • What 'need' do these 'wants' reflect?
  • Do the legislation and ethical requirements reflect this underlying need?
  • Is there suitable compliance and enforcement of the legislation and ethical requirements?
  • Should we get anaesthetists and paediatric cancer specialists before worrying about privacy and security?
When we have a good answer to those, we may be able to evaluate the technical questions about encrypting data at point of entry; securing information over wifi; ensuring that laptops and tablet devices are not attractive to thieves of information, identity or property (because they certainly will be available to all of those).

Wednesday, 31 October 2007

Intalio Components

It may be worth clarifying the relationships between the standards and open source components of Intalio. From my perspective as an architect :

The central feature of the Intalio run-time is a business process engine implementation of BPEL 2.0.
Human interaction with the business process is termed workflow and in Intalio is an implementation of loose standard specification BPEL4PEOPLE. This is packaged as an application TEMPO. There is a form-based user interface for this workflow which relies on the XFORMS W3C standard. Note that XFORMS is a device-independent standard which does not define the presentation form, only the function. ORBEON is used to present the user interface in HTML. This is a server-based implementation of XFORMS with the transformation from XFORMS to HTML taking place at the server.
The Intalio Designer component for forms design is specific to workflow and not a generic user interface designer nor even a full-function graphical XFORMS designer.

An advantage of the open source approach is that components can be bypassed or supplemented to extend the capabilities.

If your organisation has adopted XFORMS as a standard, it is likely that the limitations of the Intalio Designer will force you into a development method that delivers the XFORMS by other means. You could use the Intalio ORBEON implementation for your separately developed XFORMS or use the browser implementations of XFORMS (eg XFORMS Plugin in Mozilla Firefox or Formsplayer for IE). Designing a user interface with XFORMS is not necessarily a job for a graphical design tool. Unfortunately, the Intalio Designer does not provide a source editor for the XFORMS XML and may loose edits that you make externally to forms.

There is a reasonable application design/development approach in which a business analyst uses Intalio Designer with the included workflow to develop a working model of the business process. Then the user interface could be replaced with a house style anywhere in the range from all singing and dancing Silverlight down to plain text forms.
Developers asking how to add buttons or improve the look and feel of Intalio forms for production quality applications would be advised to look at their forms as a separate piece of design rather than attempting to work within the constraints of the Intalio implementation. The interface between the presentation layer and the TEMPO and BPMS components is fully defined and implemented in standards.

Monday, 1 October 2007

Intalio - A usable and accessible BPMS

Ismael Ghalimi is justly proud of the current incarnation of Intalio.
Intalio provides a useful development and runtime environment for initiatives centred on the business process. There is a real opportunity for analyst and business subject matter expert to explore a target business process and deliver a functioning solution with human workflow and integration with legacy applications. Based on standards with an active development path (BPMN, BPEL, SOAP, XFORMS ...) and open source components (Apache Geronimo, Derby, Orbeon, Eclipse... ), it is a development platform with low cost of entry and little risk of being left with an unsupported orphan. Low cost of entry? - I have managed to work through a proof of concept using the free community edition on my laptop. Many small organisations would be able to develop and run exclusively in the community edition while government and corporates may be happier with the support and connector technology (for SAP, Oracle, DB/2) from an enterprise edition.

For organisations, large and small, now exploring the BPMS world, Intalio provides a useful means of developing practical end to end solutions that can be used as the proof of concept, prototype and initial production. Fitting with enterprise standards for user interface and database can come later when the business design is fully explored.

Saturday, 29 September 2007

I need a Redux Model/1!

Ismael Ghalimi has developed an idea of a need into a specification for a practical product in a few days. I really want one of these devices .

I will be looking for this to be the email interface for HF/SSB radio when ocean sailing ... I will not want to be running expensive power hungry pc/laptop computers. I will be happy to leave browsing the internet to download charts etc until I reach port. Any chance of ruggedising Redux Model 1? Protecting it from the salty element can't be much more of a problem than the exposure to coffee and worse around the meeting rooms, planes and lounges of its natural habitat.

Thursday, 6 September 2007

A Universal DNA matching database?

Andreas Busch summarises developments in the DNA identification debate arising from
One of the United Kingdom's most senior judges, Lord Justice Sedley, today demanded that every UK resident and every visitor to the country should have their DNA recorded on the national DNA database ...
The judge has logic on his side. Britain has the largest DNA database in the world covering 7.5% of the population. Mathematical techniques can extend the range of matching further by detecting relatives of people on the database. So the brits are well on their way to achieving the judge's goal.

However consider,
  • Outside of CSI and similar TV programs, how many crimes are solved through DNA matching? Is there a reasonable value proposition to extend this collection because of the current success rate?
  • How often is unknown DNA (not on match database) available as a pointer to an otherwise unknown perpetrator?
My guess is that a universal DNA database (relatively simple to achieve by diverting sample collected at birth) does not add much to detection or prevention of crime because there is generally a small set of persons of interest around a particular crime not the whole population.

But as matching technology improves, what a great resource for control of the population at large ... no need for pesky ID cards, passports, fingerprints at airports ... just a bit of sweat or saliva as you pass myriad control points.

Information Commissioner, Richard Thomas, warned that it raised serious issues around the criminal justice system: "if you get the knock on the door saying 'we’ve found your DNA’, you’ve got to start proving your innocence"
If the British justice system has descended to that level then a dna database does not make much difference. There is a risk at present that relying on DNA for more than supporting evidence introduces the defence that other (unidentified) DNA indicates reasonable doubt that the identified person is the guilty party. It seems to me that the only clear benefit of a universal DNA database is to avoid such a defence.

As an aside, why stop at the border? why not share the DNA database worldwide and track fugitives as they supply dna at the border?

I think the debate lies outside the technology arena and more in the political and philosophical area. Do I have right not to be identified?

Are you safely backed up?

Sean McBreen highlights the potential for information loss in our multi-gigabyte stores at home.
I guess that some assumptions had been made about the use of RAID arrays.

...terror as I cam home to hear my Maxtor Onetouch III 1TB external HDD clicking away and no longer in explorer... SCARY!

A few quick searches on the web and looks like I'm toast - so ironic as we have had a few HDD failures in our team over the last month. I just knew I should have backed up all those new baby photos we had been taking (I'm a dad now for 3 months).

After looking on-line and deciding that a fee of up to $2,000 and a distinct lack or warranty cover from the vendor I decided that I should take my chances and pop off the lid...

...I had the 2x500Gb drives configures in a Raid 0 set-up so ...

Unfortunately, RAID 0 does not provide any fault tolerance from disk failure, just better performance. In this case it doubles the chance of loss of data because either disk failing destroys the array. The RAID 1 option available on the Maxtor unit is preferable for resilience with marginal loss in write performance.
I think this takes you into the forensic data recovery area and having to re-build the entire 2 disk array sector by sector (assuming that some forensic geek can read the sectors off the dead drive). I recommend that you do not write to the remaining drive of the array as you may increase the rebuild effort.