Michael Havey

Subscribe to Michael Havey: eMailAlertsEmail Alerts
Get Michael Havey via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Michael Havey

In most software topics, the boundary between theory and practice in software is clearly demarcated: theory is for academics who seldom descend from the ivory tower, practice is for industry professionals who have long forgotten the concepts and application of theory. In concurrency, for example, most developers either know or have programmed semaphores, but few remember the conceptual underpinnings devised by Dijkstra. But Business Process Management (BPM) - a key Web services technology with close ties to Web services choreography - belongs to a rarer category, in which theory informs practical design and theoretical jargon is part of the hype with customers. Somehow the abstruse terms "Pi Calculus" and "Petri net" - as impressive to the ear as database management's "relational calculus" or capacity planning's "Erlang formulae" - have permeated the consciousness of... (more)

Chopping Down Trees: How To Build Flatter BPEL Processes?

The natural visualization of a business process is of boxes and arrows arranged in a tree-like formation. A large process with numerous conditional paths forms a rather expansive tree that can't fir on a computer screen or printed page. If the process has loops, these are often represented as arrows pointing back to earlier boxes, resulting in an untidy graph structure. Although BPEL isn't a visual process language, its XML representation can form code trees that are no less cumbersome. A receive inside a sequence inside a flow inside a switch inside a pick, even if properly inde... (more)

The Flesh and Bone of SOA

Over the years business processes have become automated to the point that the BPM community now considers the SOA language BPEL, designed for the orchestration of Web Services, as the best platform for building contemporary processes. But many processes retain some level of human activity, and BPEL's support for human interaction is problematic. Most attempts to integrate human workflow with BPEL, such as BPEL4People (as well as proprietary task subsystems offered by the major BPM vendors), try to fit human activities into BPEL's execution model. Human tasks are simply special st... (more)

Calling Java From C

Though most Java developers think of the Java Native Interface (JNI) as a framework for developing native libraries that can be called from Java, relatively few know that JNI also supports communication in the reverse direction: it provides native programs written in C with the ability to call Java objects. However, the coding is thorny; logic that can be coded readily in a few lines of Java requires several times more lines of C, thanks to JNI's granular programming model and peculiar approaches to exception handling and garbage collection. This article explores the nature and t... (more)

Modeling Web Services Choreography with New Eclipse Tool

Choreography is the dark continent of Web services: few onlookers have traveled there, and many question whether there are any riches to be brought home from the trip. In the first place, choreographies bear such a striking resemblance to business processes that the novice might think that the two types of artifacts are indistinguishable. After all, isn't choreography just a way to describe what a business process does (i.e., it choreographs the actions of its participants)? And then there is the dearth of choreography tools; until recently choreography was a topic learned by re... (more)