There are many definitions of Web services, but almost all of them contain the following elements:
Web services is a distributed computing architecture that features the use of loosley coupled applications.
Web services are designed to enable application modules (objects) to communicate with other application modules. Once connected, service applications provide messaging, transactional, or computational services.
Web services make use of a common data-presentation/information-formatting scheme known as eXtensible Markup Language (XML) to share data.
Web services applications make use of certain Web standards (UDDI, WSDL, and SOAP) for registry and program-to-program communications purposes.
Web services use the Internet as the common network backbone.
This author personally defines Web services as a traditional form of cross-vendor program-to-program communications that uses the Internet as a common network to enable applications to communicate with each other. Only Web services uses a loosely coupled approach, as opposed to hard-coding applications together.
Web services can be quite simple and straightforward (programs that request content or information to be shared over a common network); or quite complexincluding business process management, personalization, systems integration, and other aspects related to creating large, secure, manageable networked environments. Business managers need to understand that Web services are:
A common agreed-to format that applications can use to exchange information and data;
A means for applications to be published, found, and bound such that applications can find each other and work cooperatively together;
A way to network multiple, sometimes disparate systems together to share data, information, and services (the Internet provides this).
But these are just the basic elements for building Web services. Large enterprise environments, wishing to make use of many services and support hundreds or thousands of users, must also consider other elements such as business process management; cross-platform integration; Web and application development tools; and other programs, tools, and utilities. A broader view of Web services architecture includes much more.
Building a complex Web services environment that includes business process management, personalization, security, and other integrated products can prove to be a daunting task, especially for many small and mid-sized businesses. Fortunately, several companies including IBM, Microsoft, Sun, and others build complete "application server" environments that integrate other important software with Web services software.