Tuesday, November 29, 2005

SOA Challenged

According to Alice LaPlante: SOA implementations are taking longer than expected, raising more challenges than anticipated, and returning ROI later than desired!!

Are we reaching the “Trough of Disillusionment” phase of the Hype Cycle or are we already reaching the “Slope of Enlightenment”?

Friday, November 25, 2005

BPEL

I really think that people are speaking about BPEL without knowing what it is exactly. So here is a good definition that comes from a Cape Clear doc.
Business Process Execution Language for Web Services (BPEL4WS, or BPEL) is an XML Schema-based standard for defining process flows. It enables the composition of multiple synchronous and asynchronous Web services into an end-to-end business flow.
A BPEL script is an XML document that conforms to the BPEL schema. The BPEL script is interpreted at runtime by a BPEL processor that identifies keywords or activities and executes them as defined in the BPEL script.
BPEL is a programming language. Its programming statements enable developers to build robust processes that can:
  • Communicate by exchanging messages with other Web services using receive, reply, and invoke activities.
  • Control execution flow using while, switch, sequence, pick, flow
  • Handle faults that can occur during processing using catch and catchall fault handlers.
  • Model event-driven programming using onMessage and onAlarm event handlers.
  • Roll back transactions using compensation handlers.

Tuesday, November 15, 2005

Malta



I am back form Matla where we had our corporate yearly seminar. We had two days of intensive work and one free day.

On the work level it was good to spend time with people. This helps discovering with whom you are working. The presentations were excellent. At least I now know who is doing what. Most importantly I have got a good idea of how the knowledge is spread within the company.

Speaking about Malta, I have not been impressed. I read somewhere in a tourist guide that Malta is the place to fall in love with the Mediterranean sun. Hum, it was rainy and I don’t like the sun that much! The food was not that good, it is very polluted (280 000 cars and an airport on a small island), they are plenty of ugly buildings and they don’t even have a proper golf! So, Malta is not the place I would go for my next holidays.

But if you love the Mediterranean sun it is a good place for you! Moreover, it is designed for English people, they drive on the right side of the road, they use UK plugs and they have excellent Indian food.









I should say also that I have discovered carting racing! It was very cool. Even if I finished last because I broke my transmission.

Tuesday, November 01, 2005

WS Extension

There are two ways in which a service can be extended in a backward compatible manner:

  • Adding new operations
  • Updating existing operations: Changing service input or Changing service output

If adding new operations is obviously a backward compatible extension, updating existing operations is more challenging.

For extensibility purpose, Web Service parts should be defined as XML complex type elements. This pattern of document/literal is named document/literal wrapped. When using document/literal a WS can be extended as follow:

Extending Input
The XML complex type that defines the Web Service input can be updated by creating a new data type that is a subset of a base data type by either:

  1. Adding new optional elements
  2. Increasing the range of value of some base type elements
  3. Redefining base type elements to have more occurrences

Those rules do not rely on specific schema design patterns. Note that document/literal wrapped style must be used.

Extending Output
To insure backward compatibility, extension made to a Web Service output XML complex type must be done as follow:

  • Add new elements to extend complex data types. This requires the base complex type to contain the extension element “”.

  • Create a new data type that is a subset of a base data type by either:
  1. Redefining base type elements to have a restricted range of value
  2. Removing optional base type elements
  3. Redefining base type elements to have more restricted number of occurrences