Monday, April 18, 2005

A primer on messaging

Michael picked up on my workflow post and added some great points regarding messaging. I thought I’d do a light “primer on messaging” to round out the topic. Now I have to figure out how to explain this in 3 paragraphs.

Michael hits on the old CORBA model and compares it to XML. CORBA is simply a standard for object request brokers and there are other similar standards for ORBs as well. XML is a simple markup language that allows a simpler interface of data between data repositories. I’ll get back to this later, but let me first simplify and make our discussion a bit more generic.

When we talk about the “old” model of data interfaces, we’re really talking about “asynchronous” messaging. Async messaging really just means that someone has to push a data file out and the receiving database needs to actively receive it. So the good old days when you “created” the interface file (usually a push of a button somewhere) and the file would then upload to an FTP server or whatever. The receiving end then goes to that FTP server and loads the data into the receiving database. One simple advance in async messaging was the simple ability to schedule these push pull processes so that a human no longer needed to be around to kick off the process. Even then, it’s still async messaging. Why? Because it’s not real time. You can new hire a person into the database, but that person is not getting loaded to your medical insurer’s database until the interface file runs 3 hours later.

When we talk about the “new” model, we are talking real time, or synchronous messaging. This is what the HR-XML Consortium is all about. An example of this is you indicate that your applicant is now a new hire, the ATS sends a message instantly to your HRMS with employee data and status changes, your HRMS instantly sends data to your medical insurance provider with enrollments. Sounds cool, right?

The key to synchronous messaging is standardization. Old async models were a pain because every interface had to be programmed individually, and every time you upgraded one of the software applications, you had to rewrite the interface. In a sync model (like XML), you don’t really care about the interface file and how it’s formatted. Instead, the HR-XML consortium tells you what the format is supposed to be, you markup your file appropriately, and every sender and receiver of these files is supposed to be on board.

Up next, a primer on HRMS evolution and how messaging is the key behind this year’s advancements.