Service-Oriented Architecture (SOA) has emerged along with blogging and RSS as one of the hot buzzwords of 2005. Although critics see SOA as a hyped reworking of older, component-based technologies, you shouldn't let criticism of SOA hype keep you from considering its benefits.
The acronym SOA has emerged from a sea of related terms - XML, ESB (enterprise service bus), web services, B2B - to describe a way for computer systems from different organizations to work together.
Here's an example from TempWorks; We offer staffing companies products and services, including a portal product that allows the staffing company to act as a job board. Although we think we've done a great job of providing a code-free, customizable interface for candidate entry, we're far from being able to deal with all of the different candidate interfaces our clients might want. Try as we might, we need to constantly deal with a client's desire to create its own apps and interfaces.
A travel nurse staffing client came to us wanting to write their own applicant apps to interface with their enterprise database that we provide and host for them. Without SOA, we would have had to either say no or require them to pay us consulting services for us to make the modifications for them. With SOA, we provide them a computer to computer interface between their applicant app and our systems. The two computers communicate using a defined way of describing applicant data (HR-XML).
The net result is a good relationship all around. The nurse gets a customized applicant interface, our client gets new candidates and a sense of control over their recruiting processes, and we get a happy client.