Clearly software that delivers various types of functions has been in existence for decades. So what is unique about the recent push towards SOA?
The answer is that SOA is designed to operate in a heterogeneous computing environment. In other words, it is based on modern technologies that are designed to work with many types of computer hardware running many types of operating systems. Rather than (again) the huge batch of code that is designed for one specific kind of computer running one kind of operating system, an SOA-based application will have all these different modules that can be easily adapted to whatever hardware or software a company happens to have.
This allows many companies to leverage their investments in existing hardware and software without having to incur the huge expenses that often come with upgrading or replacing their current systems. In many cases, SOA can provide a solution to businesses that are using Windows-based PCs in their accounting group, a Unix server in the back office, Macintosh systems in their design/marketing department, and need all of these systems to communicate with each other. Making this kind of cross-platform enterprise function smoothly is called interoperability, and it is one of the primary goals of SOA.
What Makes SOA Work?
Perhaps the single biggest reason that SOA is growing in popularity so quickly is because of the ever-improving state of the Internet.
Decades ago, large companies would often spend millions of dollars developing WANs (wide-area networks) in order to provide channels over which their various business software systems could communicate. Today, the rapid development and deployment of DSL, cable, wireless and fiber-based Internet technologies provide far greater transmission capacities for far less money. This means that relatively inexpensive SOA solutions are within the reach of small businesses and other organizations with limited financial resources.
Web services, the most common form of SOA, make use of two other industry standard technologies that contribute to interoperability.
The first is the eXtensible Markup Language, more commonly known as XML. XML is a text-based technology that can be created on virtually any type of computer system, and transmitted to any other type. XML allows computers to define data they are sending to a "service" in a platform-independent way, and the service can respond with XML data of its own.
The means by which these XML data transfers occur is the second standard technology, and is called the Simple Object Access Protocol, or SOAP. (A protocol is simply a pre-arranged method of communication on which both the sender and the receiver of data must agree.) SOAP gives one system the ability to make a request from another system, and receive a response in a standard format.
Who Can Use SOA?
Some SOA services are made available to the general public. Anyone who knows how to access them (who knows the right number for their systems to "dial") can use them. Other SOA modules restrict their services to clients who present the right credentials when they make a request. Any request that does not include the appropriate information is either denied or ignored. (This is a process known as authentication.)
Authorization to use a particular service is typically granted to businesses that pay a licensing or subscription fee to do so. The cost of using an SOA service must be considered by any business that wishes to remain profitable. However, paying any such fee is usually many times less expensive than developing a software solution from scratch.
Interested in learning more about SOA? Check out www.SOA-Pipeline.com, a sister publication to Small Business Pipeline.