Michael Havey

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

Top Stories by Michael Havey

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 typical use of the C-to-Java JNI interface and presents the design of a framework that eases the programming effort. The JNI Architecture As Figure 1 illustrates, JNI is actually a pair of APIs: "JNI Proper" supports the manipulation of Java objects and classes, such as the ability to call o... (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)

BPM Theory for Laymen

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 ... (more)

State Machines and Workflow

The state machine is one of the most successful ideas in the history of computing. Alan Turing built a model of computability around the concept, and in doing so became the father of computer science. Mealy, Moore, Harel, and other theorists expanded the idea, influencing engineers of digital logic, real-time, and embedded systems whose designs are peppered with state machines and diagrams. The concept of the state machine is also a natural fit for many contemporary enterprise applications, particularly those that are process-oriented. The distinguishing characteristic of a proc... (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)