Historically, Web Services have always been a fringe technology, almost a solution without a problem. Look deeper into application communication, though, and you will realize that there was a problem: Communication between applications was hard. Distributed applications often required complex configuration, were tightly coupled, and used proprietary protocols and data types. Windows applications couldn't communicate with open source applications, at least not without a great deal of work. Two applications that are communicating need to talk the same language, so a common protocol is required. The protocol needs to use a platform-independent language for data and for describing the data being exchanged. There also needs to be a way to describe the interfaces of the Web Service so that clients can find out what the entry points are. All of these problems are easily solvable and have evolved into a set of standards for use by all application types and platforms. If you are following standards development, the transfer of data takes place in XML format over HTTP, which allows Web Services to easily communicatewithin existing architectures and without requiring configuration of firewalls and routers to open additional ports. Standards and InteroperabilityThe use of standards has been a key point in the wider adoption of Web Services. Building services for your own use means you can use any protocol, but as soon as you need to extend your application, commonality becomes a requirement. Current standards in use are the following:
There are a variety of other standards, some not in widespread use, but these are the core ones. In many cases, you won't need to know anything about them in depth, because Visual Studio 2005 and ASP.NET abstract them away from you. |