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)
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)
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)
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)
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)