Tuesday, March 17, 2009


Can't remember the exact date when I started listening to podcasts in my car, but that must be at least 5 years ago. It was ITConversations that triggered me into buying a small 256KB MP3 player (which ended up in the washing machine). Doug Kaye, the founder of ITConversations, has started a new initiative: SpokenWorld.org. This site is a directory that helps you find spoken-word recordingings.

When I did a search on some of my favourite topics - SOA and Cloud Computing - I immediately found a few new podcasts: OnSOA and The Cloud Computing Show.

Friday, March 6, 2009

Oracle Essentials - Oracle is old

Enjoyed 2 days off in the Ardennes in the woods around Saint-Hubert, I took a book along that was already a couple of months on my bookshelf: Oracle Essentials 4th Edition. Triggered also by a customer looking into Oracle Advanced Queueing (AQ).

Nice book, giving a good overview of all the features available in and around the Oracle database. Obviously the book doesn't go into every detail, but it does give a good overview or "refresh".

While reading the book, I came to realize that the Oracle database is 28 years old! I still remember starting my career in September 1987, developing with the Informix database and 4GL on NCR Unix servers. Informix, together with Progress, was a major competitor of Oracle at that time.

Only in 1995 I really worked with Oracle. Oracle 7 with ESQL/C (embedded SQL) in C on Sun Solaris.

At that time, I learned about the distinguishing feature of Oracle: multiversion read consistency. The fact that Oracle will not fail when reading a row updated by another transaction. Instead, Oracle will retrieve the row as it looked like when the transaction started from its transaction logs. This avoids locking all the rows being read, as opposed to all the other databases, including Informix. Obviously, an update of such row will fail as it was already updated by another transaction.

Monday, March 2, 2009


EDIINT AS2 is a very popular B2B protocol. Apart from file transfer, I think this is currently the most popular B2B protocol. Although EDIINT was initially meant to replace EDI over VAN connections by EDI over the INTernet (EDIINT), the AS2 protocol can transport any data in an asynchronous manner.

AS2 provides:
  • Firewall friendly as it uses HTTP(S) underneath
  • Straightforward: adds a number of HTTP header fields and MIME based message structure
  • Reliable: send message until you get a 200, duplicates are filtered based on message-id
  • Signing: based on S/MIME message structure and PKCS7 signing (self signed certificates are often used in practice)
  • Encyption: also leveraging the S/MIME message structure
  • Non-repudiation: signed acknowledgement or message receipt, called the Message Disposition Notification
  • Any payload: EDI, XML, binary, text
  • Many implementations: cheap commercial versions available at low price and one or two open source implementations

As is typical in B2B scenario's, AS2 servers are mostly located behind firewalls that only allow inbound connections from well know IP addresses.

AS2 and its family
AS2 has some family: AS1, which goes over SMTP. And a younger brother AS3 which uses FTP as its transport. And now a 4th child joins the family: AS4! AS4 uses uses ebXML messaging v3 as its transport. But what the heck is ebXML?

ebXML was an initiative to define *the* new B2B standard for the 21st century: new transport layer, new message definitions, XML schema building blocks, process layer, protocol profiles and so on. ebXML didn't really take off, mostly because it was considered some sort of threat to the Web Services story. A pitty that the WS-* world and ebXML world weren't able to come together in 2001. ebXML gained a bit of popularity in some European countries like the Netherlands and Denmark, where it is used on a limited scale.

Work continued very quiet and a new version of the transport layer was released in 2007: ebXML Messaging v3. ebXML Messaging v2 and v3 are actually SOAP over HTTP(s) with some extra whistles.

The most important feature of AS4 is pulling or polling. Polling is one of the reasons why file transfer is so popular: it is "asymmetric" and allows one side to stay behind a closed firewall. ebMS 3.0 supports polling and AS4 das well. Well done! WS-Polling was a similar initiative in the WS-* world to introduce polling.

AS4 will not become that popular in my opinion. The spec is rather "heavy" and ebMS 3.0 has very little traction. I'm not aware of any implementation. I would have preferred an extension of AS2 with support for polling, completely independent of the ebMS and WS-* specs. And so we'll simply continue using file transfer (SFTP, FTPS) as our most popular polling mechanism.

- Brik, thanks for pointing me to AS4
- Pictures are from a talk I gave on AS2
- Interesting link for those speaking Dutch: ebXML en ebMS: veilig en betrouwbaar berichten uitwisselen