Read the Original Article at http://www.informationweek.com/news/showArticle.jhtml?articleID=191601673
Anyone who has been an active reader of computer trade magazines or online publications over the past few years has seen a steady increase in the number of references to things called "Web services" and "SOA." Indeed, more and more businesses are turning to these technologies to help improve their bottom line.
But what do these technologies mean to small businesses and sole proprietors? Can small organizations stand to benefit from SOA as much as Fortune 500 companies? The answer is difficult, if not impossible, for people to ascertain if they do not understand what the Web services and SOA technologies are, and what potential benefits they provide. This article will attempt to explain SOA in terms that a small business owner or manager can easily understand.
What is SOA?
SOA is an acronym for Service Oriented Architecture. SOA promotes a software development technique for creating modular components that perform very specific tasks, or services, within a software application.
For example, an "insurance eligibility" service would be a software module that a doctor's office would use to determine if a particular patient was eligible for a specific medical procedure. That "service" would be combined with other services--say, a software module that verifies a patient's current address when he or she checks in for an appointment. Or one that automatically updates a patient's medical record with the results of his or her latest lab tests.
To follow our example through, although individually, these services would just perform small, discrete functions, together they would automate every aspect of managing a small medical practice.
In other words, instead of software applications being huge, monolithic bunches of code--as they tended to be in the past--under an SOA they would be made up of all these different modules, each of which had its own, particular function.
The term "Web services" is often used interchangeably with SOA, but strictly speaking it is not exactly the same. "Web services" defines the most common type of programming techniques used to create SOA applications. Web services are implemented with Web-based technologies, including such things as HTML, HTTP, and SSL--yes, you couldn't get away from a discussion of Web services and SOA without the acronyms!--but you don't really need to worry about them. The important thing to know is that SOA is a more general term that includes, but is not limited to, Web services.
The benefits of SOA
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.