The Source for Java Technology Collaboration
User: Password:



John Reynolds

John Reynolds's Blog

PD4J - Is Process Driven Design the next big thing?

Posted by johnreynolds on January 24, 2004 at 01:29 PM | Comments (6)

According to the published schedule, the final specification for JSR-207, Process Definition for Java (PD4J), will soon be released.

If you haven’t followed the circus of Web Services standards for the last year or so, you may have missed the significance of PD4J to the Java universe. PD4J will introduce a standardized set of extensions to the J2EE platform that will make it easier to write Business Process (BP) applications.

For those who now work with BPs on a daily basis, this is going to be a godsend, but why should all Java developers take note? The answer lies in the philosophy that is guiding PD4J and the closely related BPEL and BPEL4WS.

PD4J makes it easier to transform business logic into working applications.

Business Analysts are generally not programmers so they express their ideas in terms of graphs and prose. Efforts are underway to standardize this graph notation, most notably the Business Process Management Initiatives’ BPMN which can directly generate BPEL4WS XML notation. These graphs are similar to UML activity graphs in appearance, but they were spawned from a very different mindset. Business Process Managent is inspired by the Pi Calculus, a relatively new way of modelling communication that treats computers and their programs as themselves built from communicating parts.

Howard Smith, the co-char of BPMI, has published a paper that contrasts Business Process Modeling (BPM) with the Object Management Group’s Model Driven Architecture (MDA). In the following quote, Smith is responding to an article by David Frankel entitled “BPM and MDA: The Rise of Model-Driven Enterprise Systems,” published at www.BPTrends.com.

"…when using UML designers have to corrupt the model to better represent processes."

"I say UML is just fine for software engineering, but is a distraction for process engineering. BPM, not UML, provides the required formalism, the process calculi.
Object practitioners respond to BPM by asking how the advantages of object-oriented systems can be realized in the world of processes?
What we face here are two entirely different worldviews, one built on objects as “first-class citizen” and one built on processes as “first-class citizen.” The two do not sit together comfortably, and from a computer science perspective, we are only now learning how to formally represent “objects,” in the world of processes. "
In an earlier blog I confessed that I’ve never been drawn to UML and I believe that Smith has expressed the source of my ambivalence. Much of my career has involved gathering user requirements and developing user interfaces. Both of these activities are heavily dependent on documenting, understanding and implementing processes. UML’s primary concern is the composition of software components; my primary concern is the documentation and implementation of processes. Processes are the first class citizens of my “community”. No wonder I feel like I’ve been using a screwdriver as a hammer.

With the advent of PD4J, the Process will become a first-class citizen of the J2EE community and in the following months we will see a deluge of Process Driven Design tools (following the lead of BEA’s Weblogic Workshop 8.1).

PD4J’s immediate impact will be on the development of Web Services, but I predict that a wider secondary impact will occur. Once Java developers become exposed to Process Driven Design, I think they are going to like it, and I think the paradigm will be applied to many problem domains.

For a good introduction to the various efforts underway, check out Carol McDonald's blog Orchestration, Choreography, Collaboration and Java Technology-based Business Integration.

For more information about Pi Calculus and BPM, follow this link.

Update: See my later thoughts on BPEJ.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • OO & PDD
    While OO is a paradigm which just "works" for me -- it's in synch with the way my brain is wired -- I have always found a solid object model to be only part of the design solution in the case of every large project in which I've been involved. Whether by design (proactively) or necessity (reactively), most object-oriented systems seem to end up as what I term "Objects awash in a sea of Process". Of course, my vision may be colored by early exposure to Hoare's CSP and Yourden's Structured Design approaches. But, in my opinion, any practical work being done to reconcile these two world views will only bring benefits to working architects and developers. And the fact that some of this work is being done in the context of the Java community is a good sign that this is practice oriented, rather than strictly academic, research.

    Posted by: sourcerer on January 26, 2004 at 11:26 AM

  • tools/books?
    This actually looks pretty interesting. Perhaps a much better way to document use cases/requirements. What I'm not clear about is if/how this translates to architecture/design and implementation.

    Are there tools and books available that talk about using PDD? The link page is all for research papers.

    Posted by: ckessel on January 27, 2004 at 12:27 PM

  • tools/books?
    The best free tool I know of at the moment is the developer's version of Weblogic Workshop 8.1. You will only be able to get a flavor for PDD in the context of Web Services, but it's a start.

    Posted by: johnreynolds on January 27, 2004 at 03:20 PM

  • BMPL does not seem to be very healthy
    Is this a way to standardize API of work-flow engines build on top of J2EE?

    I so then from my little investigation held about a half of year ago I do not think that using BPEL and BPEL4WS as a base for PD4J is wise.

    The BMPL4WS is strongly webservice oriented and it is a bit outside of the world of BPM - pure Business Process Modeling. And the BPEL seems to be starving because it competes with XPDL from WfMC. The XPDL is adopted and supported by the big players (IBM,...)

    To much of acronyms in a single paragraph ;-)

    Posted by: vtec on January 28, 2004 at 12:23 AM

  • Another good link
    Here's a BEA summary of efforts underway

    Posted by: johnreynolds on January 28, 2004 at 07:25 AM

  • Another good link
    http://dev2dev.bea.com/technologies/webservices/articles/Goland.jsp

    Posted by: johnreynolds on January 28, 2004 at 07:27 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds