For some time now, Web Services have been the buzzword technology that everyone is scrambling to support. For good reason Web Services expose the inner workings of any application so they can work with external forces. Think of Web Services as a self-contained set of methods that can reside anywhere on the Internet and can be invoked remotely.
Web Services also bridge the technology gap. They offer a way for distributed applications to communicate from any platform or geographical location with any other platform or geographical location. Web Services are built on open protocols and standards. This makes it possible for any vendor to provide their version of a Web Service, and because they must follow the standards for their product to be classified as a Web Service, everyone can interact with it. For instance, communication is done over HTTP, a well-known, open protocol for communication. The method call and its parameters are done using SOAP, a well-known, open protocol for remote procedure calls based on XML, a well-known, open language for exchanging structured data. Since XML is just plain ASCII text, it can be generated and consumed by any platform regardless of programming language, Web server choice, or operating system. Web Services do require an HTTP (port 80) or HTTPS (port 443) exposure to the World Wide Web, also commonly, albeit inaccurately, referred to as the Internet (the Internet includes a much broader set of technologies, like FTP and SMTP). That global network is what makes Web Services compelling and is quite commonplace today in nearly every workplace and even most homes.
The World Wide Web also allows a Web Property's content to frequently be part of a much larger ecosystem with local, regional, and even global reach. Each partner uses different hardware and software enabled by disparate technologies and programming languages using diverse data stores. Trying to get tab A to squarely fit into slot B is a time-tested challenge. But the Internet introduced the world to connectivity unlike anything that preceded it. However, rampant use of that connectivity was hampered because of the unprecedented threat that same connectedness provides. Through it all, HTTP (port 80) remains the most ubiquitous stronghold for information exchange between parties anywhere, anytime. Out of that, Web Services emerged as a compelling means to allow the quasi-secure exchange of data throughout the global ecosystem.
This chapter explores how Web Services can be used by MCMS sites to exchange information. An entire alphabet soup of acronyms associated with Web Services is listed in Table 33-1, but we are not going to discuss them in depth.
Fortunately, we don't have to become experts in all these technologies to create a Web Service, because VS.NET and IIS handle much of the dirty work for us. For instance, although we will be using WSDL, SOAP, and XML in our code sample, we will hardly even know that they were needed. Anyway, much has been written about these standards and can be easily found on the Internet, should additional information about them be required.