672329 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 16 Messages: 16 Messages: 16 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

BEA and IBM submit joint white paper on BPELJ

Posted by: Fred Bloggs on March 24, 2004 DIGG
BEA and IBM have released a white paper on their proposal for BPELJ. BPELJ is a fusion of BPEL and Java that allows these two programming languages to be used together to build complete business process applications. By enabling BPEL and Java to work together, BPELJ allows each language to do what it does best.

Introduction
The Web Services Business Process Execution Language (BPEL) is a programming language for specifying business processes that involve Web services. BPEL is especially good at supporting long-running conversations with business partners. Even before the standard is formally released it is becoming clear that BPEL will be the most widely adopted standard for business processes involving Web services. BPEL is geared towards 'programming in the large', which supports the logic of business processes. These business processes are self-contained applications that use Web services as activities that implement business functions. BPEL does not try to be a general-purpose programming language. Instead, it is assumed that BPEL will be combined with other languages, which are used to implement business functions ('programming in the small').

"This white paper proposes a combination of BPEL with Java, named BPELJ, that allows these two programming languages to be used together to build complete business process applications. By enabling BPEL and Java to work together, BPELJ allows each language to do what it does best."
The white paper is here:
BPELJ: BPEL for Java technology

There’s also an interesting opinion piece on this over at the register:
IBM moots BPEL-Java fusion

Threaded replies

·  BEA and IBM submit joint white paper on BPELJ by Fred Bloggs on Wed Mar 24 07:59:02 EST 2004
  ·  Deja Vu by vince kennedy on Wed Mar 24 12:14:36 EST 2004
    ·  Deja Vu by Jesper Joergensen on Wed Mar 24 12:40:32 EST 2004
      ·  Language independence can be achieved through tools by Alexander Krapf on Fri Mar 26 16:37:34 EST 2004
        ·  envex xflow customization expert by Periyannaswamy Durairaj on Tue Jan 17 07:55:45 EST 2006
    ·  BPML by Jim Greer on Wed Mar 24 15:17:07 EST 2004
      ·  BPML is DOA, long live BPEL by Doron Sherman on Wed Mar 24 21:49:52 EST 2004
      ·  BPML/BEPL - whats in a name? by vince kennedy on Thu Mar 25 11:35:57 EST 2004
  ·  A step in the right direction, may be not by Edwin Khodabakchian on Wed Mar 24 12:36:37 EST 2004
    ·  A step in the right direction, may be not by Brian Miller on Wed Mar 24 23:35:06 EST 2004
    ·  A step in the right direction, may be not by Amit Gupta on Mon Mar 29 02:20:04 EST 2004
  ·  Problem with embedded Java in XML by Sean Garagan on Wed Mar 24 14:16:52 EST 2004
    ·  Problem with embedded Java in XML by Sean Garagan on Wed Mar 24 14:39:17 EST 2004
  ·  BEA and IBM submit joint white paper on BPELJ by rory Winston on Thu Mar 25 18:25:56 EST 2004
  ·  BEA and IBM submit joint white paper on BPELJ by Derek Miers on Mon Mar 29 05:11:04 EST 2004
    ·  BEA and IBM submit joint white paper on BPELJ by Shekar N on Tue Apr 06 04:05:04 EDT 2004
  ·  BEA and IBM submit joint white paper on BPELJ by Brian Miller on Sat Apr 03 22:34:21 EST 2004
  Message #115102 Post reply Post reply Post reply Go to top Go to top Go to top

Deja Vu

Posted by: vince kennedy on March 24, 2004 in response to Message #115064
Reading the white paper, I get a feeling that I have seen the concepts before.
A company called Intalio already provide similar features and has a nice GUI tool ('Designer') to specify your BEPL, transactions, mappings, functions etc. They have their own app server that then runs your BEPL for you too.

I don't work for Intalio, but had to use their tools on a project for a client last year and the Designer product was a little flakey at the start of the project, but was vastly improved by the end. I guess by now it will be bug free and working well. The server component worked really well throughout.

Definitely worth a look if you need the aforementioned features today. (And I really dont work for them!)

  Message #115108 Post reply Post reply Post reply Go to top Go to top Go to top

A step in the right direction, may be not

Posted by: Edwin Khodabakchian on March 24, 2004 in response to Message #115064
This proposal is a step in the right direction but it suffers from a few flaws.

A step in the right direction because there is a high need to be able fragments of procedural code within a BPEL process (((for those who are not familiar with BPEL, BPEL is a specification submit by Microsoft, IBM and bunch of others to OASIS for addressing the need for Web service composition/Workflow coordination in a Web services world. BPEL is a language that allows a developer to define a flow for sending and receiving messages across a network of services))): As you implement a flow, you might need to perform small computation, call a session bean, validate some piece of data. As suggested by the proposal, those requirements are better addresses by inline fragment of Java codes as a step in the process rather than having to wrap the fragment as a full blown external service.

But this proposal has also a lot of flaws and seem immature. As context, Collaxa worked about 3 1/2 years on a concept called ScenarioBean that tried to bridge the gap between BPEL and Java. ScenarioBeans suffered from a lot of the same shortcomings so nobody should get defensive about this.

Shortcoming #1: What ever solution the community develops for procedural embedding within BPEL should be language neutral. As a developer, I should be allowed to embed within a BPEL process a code fragment in Java, JavaScript, C#, etc using the same concepts and syntax.

Shortcoming #2: The essence of BPEL (and its power) is that data is modeled as document and messages and XML Schema provides metadata about the structure of those documents. This unification is very powerful because it allows for better tooling. Introduction of serializable Java object into the BPEL type system is a big step backward as it allows people to mix and match documents with object and does not constraint developers to clearly separate orchestration logic and other type of business logic. This will open the door to a lot of spaghetti code.

Shortcoming #3: JAXB mapping. XML/Java mapping is a though problem. It works well for simple XML documents (mostly the ones that vendors ship as demo with their products) but quickly hit the wall when you try to develop any real world application that usually entails more sophisticated data structure (STAR BODs, etc.). This is not a shortcomings of Java. It is simply related to the fact that an object tree is not a good representation of a document structure. This is why XML was created, this is why languages like XPATH, XQuery exist. Given that this is a tough problem, we should assume that things are going to evolve in the coming years. BPEL procedural embedding should not be dependent on this moving target.

Shortcoming #4: JAXB mapping. Another very common use case that is not well addressed with this proposal is that BPEL process often deal with large XML documents. In that context, streaming is an important aspect of the solution. Representing XML document as Java Objects again falls short at addressing this requirement and will entail significant performance problems.

Shortcoming #5: Java Annotation. BPEL is complex enough. Embedding BPEL into a Java comment just so that a BPEL process can call a functions seems an awfully complex solution to a very simple problem. It would so much simpler to encapsulate the Java code in a stateless session bean and call out that session bean when needed...or even a simple Java static class.

Shortcoming #6: Procedural invocation. This again mixes the boundary between orchestration logic and simple business logic fragment! This is just so inconsistent!

If I had to summarize, the biggest shortcoming of this proposal is that it blur the boundaries between orchestration logic and traditional procedural language/business logic. This is BAD because it will result in a lot of spaghetti code and makes BPEL more complex than it needs to be while damaging some of the key concepts, patterns and value proposition of BPEL (every thing is a document (data decoupling), everything is a service (interaction decoupling), orchestration logic is declarative (visualization and adaptability, bridging the bap between business analyst and developer).

A better solution would be to ....address this requirement by adding a single activity (<exec>code fragment</exec> and NOT mess around with the other parts of the BPEL language and ...make sure that the same activity can be used to embed a fragment of C# code or Java code ((<execute language="C#|Java">code fragment</execute>) so that BPEL keeps its portability.

  Message #115110 Post reply Post reply Post reply Go to top Go to top Go to top

Deja Vu

Posted by: Jesper Joergensen on March 24, 2004 in response to Message #115102
If you want to design processes today that are deployed as J2EE components, you can use WebLogic Workshop. In the current version (8.1), Workshop uses the JPD file format, which is different from BPELJ, but the next major version will support BPELJ and will be backwards compatible and allow you to migrate your work.

Jesper

  Message #115128 Post reply Post reply Post reply Go to top Go to top Go to top

Problem with embedded Java in XML

Posted by: Sean Garagan on March 24, 2004 in response to Message #115064
Good day,

I am not an XML expert but I thought that if data could be recognized as markup, it needed to be put into a CDATA section? For Java, this is definately true when you look at the JDK 1.5 support for generics, which denotes the type of a container with <...> such as

ArrayList<Integer> list = new ArrayList<Integer>();
   list.add(0, new Integer(42));
   int total = list.get(0).intValue();

Now, in Java, the following is also valid syntax:

int[] a = {1,2};
int[] b = {3,4};

if (b[a[0]]>4)
   ///do stuff

The "]]>" denotes the end of a CDATA section (assuming one was started). This means that the BPELJ document will either fail validation because the examples do not show it wrapping the code in CDATA and the code could contain markup syntax or it could fail validation if CDATA is used and the above example appears in the character data. Remember that the spec states that a '>' "need not (and cannot) be escaped using "<""

Any thoughts on this?
Sean

  Message #115129 Post reply Post reply Post reply Go to top Go to top Go to top

Problem with embedded Java in XML

Posted by: Sean Garagan on March 24, 2004 in response to Message #115128
Oops...answered my own question. The '>' must be escaped if it appears in the string "]]>" and that is not the end of the CDATA.

I will assume that in the final spec the character data fields will be XML compliant.

  Message #115137 Post reply Post reply Post reply Go to top Go to top Go to top

BPML

Posted by: Jim Greer on March 24, 2004 in response to Message #115102
Vince,
Perhaps you are thinking of Business Process Modeling Language (BPML), a standard proposed by the Business Process Management Initiative, of which Intalio is a member.
Regards,
Jim Greer

  Message #115184 Post reply Post reply Post reply Go to top Go to top Go to top

BPML is DOA, long live BPEL

Posted by: Doron Sherman on March 24, 2004 in response to Message #115137
Unfortunately for Intalio, BPML became DOA as soon as IBM and Microsoft published the BPEL specification and consequently submitted it to OASIS for standardization.

Doron.

Organic BPEL

  Message #115195 Post reply Post reply Post reply Go to top Go to top Go to top

A step in the right direction, may be not

Posted by: Brian Miller on March 24, 2004 in response to Message #115108
Embedding BPEL into a Java comment just so that a BPEL process can call a functions seems an awfully complex solution to a very simple problem.
Agreed. I wonder if a Groovy binding would be easier to use. Groovy could help in two ways: its DOM syntax for easy document loading, and its command interpreter for defining logic on demand.
It would so much simpler to encapsulate the Java code in a stateless session bean and call out that session bean when needed...or even a simple Java static class
I wonder which is easier to use, BPELJ or IBM's BPWS4J? The BPWS4J container sounds very appealing:

"The BPWS4J engine supports the invocation, from within the process, of Web services that have a SOAP interface, that are EJBs, or that are normal Java classes." http://www.alphaworks.ibm.com/tech/bpws4j

  Message #115291 Post reply Post reply Post reply Go to top Go to top Go to top

BPML/BEPL - whats in a name?

Posted by: vince kennedy on March 25, 2004 in response to Message #115137
Vince,Perhaps you are thinking of Business Process Modeling Language (BPML), a standard proposed by the Business Process Management Initiative, of which Intalio is a member.Regards,Jim Greer
Hi Jim,

well BEPL and BPML are very, very similar. In fact, I belive that BEPL heavily 'borrowed' from BPML as Microsoft and 'add your own other big company' like to do ;-).
I also know that Intalio were converting their products to run with BEPL, and that most of the changes were simply in name only.

Vince.

  Message #115343 Post reply Post reply Post reply Go to top Go to top Go to top

BEA and IBM submit joint white paper on BPELJ

Posted by: rory Winston on March 25, 2004 in response to Message #115064
Has anyone got any experience with JBPM (www.jbpm.org), or XFlow, etc?

  Message #115504 Post reply Post reply Post reply Go to top Go to top Go to top

Language independence can be achieved through tools

Posted by: Alexander Krapf on March 26, 2004 in response to Message #115110
Once you have it in Java, you can get it in C++ or .NET by using third party tools. Personally, I prefer our own (JunC++ion and JuggerNET), but there are plenty of competing products on the market that make Java a great starting point for connectivity.

  Message #115591 Post reply Post reply Post reply Go to top Go to top Go to top

A step in the right direction, may be not

Posted by: Amit Gupta on March 29, 2004 in response to Message #115108
A better solution would be to ....address this requirement by adding a single activity (<exec>code fragment</exec> and NOT mess around with the other parts of the BPEL language and ...make sure that the same activity can be used to embed a fragment of C# code or Java code ((<execute language="C#|Java">code fragment</execute>) so that BPEL keeps its portability.
That's precisely what the BPEL activity in Fiorano latest ESB 3.5 version
can do!

Thanks,
Amit Gupta
Fiorano Software Inc.

  Message #115605 Post reply Post reply Post reply Go to top Go to top Go to top

BEA and IBM submit joint white paper on BPELJ

Posted by: Derek Miers on March 29, 2004 in response to Message #115064
There seem to be two camps involved – those who see this as something necessary to ease the burden on the poor Java programmer. For them, something like BPELJ sounds much easier to deal with than having to jump through hoops to work with BPEL. Here, ‘loose coupling’ is a pain in the butt. BPELJ lets them insert a ‘work around’ to get by a whole raft of difficult situations.

At the other end of the scale are those folks who (like me) are looking at BPEL as an execution language for ‘Business Processes’ (and there are still many issues there). Here, the engine can read the definition and execute. The semantics of the process need to be separated out from detailed programming of functional calls. If we can do that then there is a chance to close the gap between business users (who dream up new ways of working) and the systems that are used to support their operations. With the right tools, they can envision a process and then ‘make it so’, without resorting to an army of programmers – modern BPM environments are already enabling just such an approach. Here, ‘loose coupling’ is what enables re-use, flexibility and adaptability.

The idea should be that these sorts of languages (BPML and BPEL) should pursue the old truism - that if it can be abstracted into the semantics of the approach, then it should. By introducing a change like BPELJ, IBM and BEA are taking things firmly back in the other direction - into the realms of programming that requires deep technical skill.

I used to have an adage that I used when looking at workflow engines. If you asked about something a little more difficult, they would say something like "that's easy, you have to write a program to do that". You'd get that answer for all sorts of questions - like asking how you would ensure the same actor received the work item if it navigated back to that role, or integrating even the simplest application.

All that this (BPELJ) shows is that the Application Server vendors and integration centric players have difficulty meeting the semantic needs of true BUSINESS PROCESSES. "How things get done around here" is full of all sorts of subtleties, and if you cannot represent it at the semantic level, then you have to resort to programming.

For those of us, who see a future where an executable business process language can enable a whole new approach to computing, the introduction of Java programming extensions within BPEL is a very retrograde step. Quite simply, it will ensure that the ‘standards’ end up having very little to do with the business and a lot to do with programming – thus sustaining the Business-IT divide. To me, the key point is not one of portability on platforms (one could argue that Java is portable). Instead, it is whether the engine can externalize the logic embedded in the Java.

The BPEL TC should resist this sort of attempt to divert its activities and focus their attention on solving the problems of the business process at the semantic level – giving the BPEL specification the sorts of process-oriented capabilities needed by business. At least then there is a chance for a whole new raft of software platforms that can present these semantics in an end-user accessible environment.

The TC should very explicitly reject the antics of vendors who want to divert its activities back towards developing yet another irrelevant guideline for IT programmers. BPELJ seems (at least to me) to serve only the needs of the existing application server and programming tool vendors – those who are most threatened by the emergence of business accessible computing environments.

  Message #116524 Post reply Post reply Post reply Go to top Go to top Go to top

BEA and IBM submit joint white paper on BPELJ

Posted by: Brian Miller on April 03, 2004 in response to Message #115064
One of the things that amazed me about deploying without UDDI a container of interdependent web services was how many URLs needed to be calculated and copied before execution began. But now I see there's JmDNS on SourceForge implementing standards defined by the Internet Engineering Task Force. I could easily forsee SOA embracing p2p and leveraging JmDNS or JXTA or Jini or WS-Discovery or WS-Resource, etc. In which case URLs are discovered. Can BPEL describe workflow that relies on discovery other than "the little-used UDDI"?

  Message #116772 Post reply Post reply Post reply Go to top Go to top Go to top

BEA and IBM submit joint white paper on BPELJ

Posted by: Shekar N on April 06, 2004 in response to Message #115605
Derek

I could not agree more with your recommendations. For a change, we were starting to see standards emerge that were vendor independent, technology independent, platform independent, and protocol independent. What IBM and BEA are doing is just to protect their investments in their application server and integration platforms and lock the customers to the same. This should be strongly rejected by BPEL TC as an attempt to vendorize the standard. Is there a way we can create a campaign against this move?

N. Shekar

  Message #197448 Post reply Post reply Post reply Go to top Go to top Go to top

envex xflow customization expert

Posted by: Periyannaswamy Durairaj on January 17, 2006 in response to Message #115504
Hi.

We are here . http://www.genisofttechnologies.com

Use the Request a Quote Form in our HomePage.

We have already done xflow customization for many customers.

contact us , and we could give you reference of our customer list.

Thanks and Regards.

We are also expert in Visual Basic , Crystal Reports 3 tier Application Development .
Cheap ERP Development
etc.,

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 2

Reza Rahman continues to explore the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (January 21, Article)

Ted Neward Q&A: What you must know about JavaScript, Scala and more

Ted Neward is an independent consultant specializing in high-scale enterprise systems, and an authority in Java and .NET technologies. He is the author and co-author of several books, including Effective Enterprise Java. At TheServerSide Java Symposium in March, he will be presenting sessions on pragmatic architecture, ECMAScript and Scala. (January 15, Article)

Developers split on open sourcing Java

Now that Oracle is absorbing Sun Microsystems, there mixed views on what should come of the Java Community Process (JCP). While some say Oracle should become the new steward of Java and keep the JCP much as it was, others argue that it may be time to open-source this widespread language. (November 24, Article)

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Free Book: Jakarta-Struts Live

Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map