Java.net Article on Separation of Concerns and BPEL

Discussions

News: Java.net Article on Separation of Concerns and BPEL

  1. Stephen A. Morris has written "Separation of Concerns and BPEL," published on Java.net. The article discusses how web services can be coordinated, and why that's important - from a coding standpoint and from an organizational standpoint, as BPEL is able to control exception conditions (through fault handlers) as well as offering flow control.
    Globalization has resulted in overcapacity in a number of core industries, such as telecom, IT services, retailing, and car manufacturing, among others. The price transparency offered by the Web has enabled customers to extract maximum value, a trend that has led to unprecedented price competition. It seems unlikely that profits will rise dramatically in the years ahead, even as the world pulls out of what some commentators reckon was the first "global" recession. This may well result in cost cutting on an ongoing basis, and there's no reason to suspect that IT won't be hit. I think that IT should endeavor to become as streamlined as possible and BPEL/web services suggests itself as a possible path to take.

    By removing business process logic from code, we would see the potential emergence of generic software for web services use. Business process logic would then reside in a BPEL layer that would orchestrate the required service calls. This would help to reduce the growing complexity of software and systems.

    Other resources:
  2. By removing business process logic from code, we would see the potential emergence of generic software for web services use. Business process logic would then reside in a BPEL layer that would orchestrate the required service calls. This would help to reduce the growing complexity of software and systems.

    I actually disagree with such a conclusion. Business logic is not "removed", it is just expressed in a different way (using a high level workflow language, rather than a general programming language).

    Even if you use only Java, you will still have a separation between generic reusable components/services + code/application that glues together these components/services into a useful business process sequence

    While working with a workflow language might be easier in some cases (compared to a general programming language) it is still far from trivial - expressing complex control flows and data flows will be beyond the layman level for quite some time and, mind you, verification and monitoring of such business processes is still an art, rather than a commodity

    Otherwise, I like the main message of the article - the separation of concerns is very important and may make it easier for an organisation to focus on its core expertise