Welcome!

Michael Havey

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


Top Stories by Michael Havey

Developers of workflow-based applications with the Business Process Modeler (BPM) component of BEA WebLogic Integration Version 7 use a powerful, feature-rich, graphical editor, called Studio, to design workflow templates and to monitor the progress and state of runtime instances of templates. As Figure 1 shows, Studio is an online tool: it calls the WebLogic Integration server application to retrieve information about workflows or to commit changes. This information is ultimately stored in a database; internally, much of what the WLI application does is converse with the database.   But what if the server goes down? Studio is rendered inoperative. Developers and other users can no longer monitor workflows; no such tools are provided with WebLogic Integration. The obvious solution is to look directly in the database for relevant workflow information. But the Integr... (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)

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)

JavaCaller: The Last Session Bean

Most Enterprise JavaBeans (EJBs) serve a definite purpose, performing a specific set of actions on behalf of client applications. The ubiquitous Bank Account bean, which supports basic account transactions such as withdrawal and deposit, appears in almost every J2EE tutorial. Students are persuaded that real-life EJBs, though more advanced, are as practical and particular as those developed in the classroom. This article presents an unusual stateful session bean called JavaCaller, whose interface is entirely general, providing client applications with the ability to run arbitrar... (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)