Top 3 Products & Services
Dated: Aug. 13, 2004
Related CategoriesXML (Extensible)
Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes...Once a Web service is deployed; other applications (and other Web services) can discover and invoke the deployed service.
Unlike traditional client/server models, such as a Web server/Web page system, Web services do not provide the user with a GUI. Web services instead share business logic, data and processes through a programmatic interface across a network. The applications interface, not the users. Developers can then add the Web service to a GUI (such as a Web page or an executable program) to offer specific functionality to users.
Web services do not require the use of browsers or HTML and are sometimes called application services.
Web Services are software components that are exposed to a network via a statically defined interface, allowing other applications to be developed that leverage that exported functionality. Although any one Web Service implements and provides useful functionality, their true value comes in composing together multiple Web Services into compelling applications and other Web Services. The composed application or service connects with each remotely hosted and -managed Web Service, and provides a single user touch point. The classical example of a Web Services-based composite application is an enterprise procurement system that connects to the inventory Web Services of a company's suppliers and makes purchasing decisions to optimize cost and lead-time.
Why do we need Web Services?
After buying something over the Internet, you may have wondered about the delivery status. Calling the delivery company consumes your time, and it's also not a value-added activity for the delivery company. To eliminate this scenario the delivery company needs to expose the delivery information without compromising its security. Enterprise security architecture can be very sophisticated. What if we can just use port 80 (the Web server port) and expose the information through the Web server? Still, we have to build a whole new Web application to extract data from the core business applications. This will cost the delivery company money. All the company wants is to expose the delivery status and concentrate on its core business. This is where Web Services come in.
Used primarily as a means for businesses to communicate with each other and with clients, Web services allow organizations to communicate data without intimate knowledge of each other's IT systems behind the firewall.
The Web Services Platform
The term Web services describes a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. XML is used to tag the data, SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI is used for listing what services are available.
The full-function web services platform can be thought of as XML plus HTTP plus SOAP plus WSDL plus UDDI.
Below is a brief description of the platform elements. It should be noted that while vendors try to present the emergent web services platform as coherent, it's really a series of in-development technologies. Often at the higher levels there are, and may remain, multiple approaches to the same problem.
XML stands for Extensible Markup Language, a specification developed by the W3C, short for World Wide Web Consortium, an international consortium of companies involved with the Internet and the Web. Tim Berners-Lee, the original architect of the World Wide Web, founded the W3C in 1994. The organization's purpose is to develop open standards so that the Web evolves in a single direction rather than being splintered among competing factions.
XML is a pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations.
SOAP stands for Simple Access Object Protocol, a protocol specification that defines a uniform way of passing XML-encoded data. In also defines a way to perform remote procedure calls (RPCs) using HTTP as the underlying communication protocol.
SOAP arises from the realization that no matter how nifty the current middleware offerings are, they need a WAN wrapper. Architecturally, sending messages as plain XML has advantages in terms of ensuring interoperability (and debugging, as I can well attest). The middleware players seem willing to put up with the costs of parsing and serializing XML in order to scale their approach to wider networks.
SOAP relies on XML to define the format of the information and then adds the necessary HTTP headers to send it.
SOAP was developed by Microsoft, DevelopMentor, and Userland Software and has been proposed to the Internet Engineering Task Force (IETF) as a standard.
Short for Web Services Description Language, an XML-formatted language used to describe a Web service's capabilities as collections of communication endpoints capable of exchanging messages. WSDL is an integral part of UDDI, an XML-based worldwide business registry. WSDL is the language that UDDI uses. WSDL was developed jointly by Microsoft and IBM.
Short for Universal Description, Discovery and Integration. A Web-based distributed directory that enables business to list themselves on the Internet and discover each other, similar to a traditional phone book's yellow and white pages.
UDDI provides a mechanism for clients to dynamically find other web services. Using a UDDI interface, businesses can dynamically connect to services provided by external business partners. A UDDI registry is similar to a CORBA trader, or it can be thought of as a DNS service for business applications.
CORBA shorts for Common Object Request Broker Architecture, an architecture that enables pieces of programs, called objects, to communicate with one another regardless of what programming language they were written in or what operating system they're running on. An industry consortium known as the Object Management Group (OMG) developed CORBA.
There are several implementations of CORBA, the most widely used being IBM's SOM and DSOM architectures. CORBA has also been embraced by Netscape as part of its Netscape ONE (Open Network Environment) platform. Two competing models are Microsoft's COM and DCOM and Sun Microsystems' RMI.
A UDDI registry has two kinds of clients: businesses that want to publish a service (and its usage interfaces), and clients who want to obtain services of a certain kind and bind programmatically to them. The table below is an overview of what UDDI provides. UDDI is layered over SOAP and assumes that requests and responses are UDDI objects sent around as SOAP messages.
Now that you've gotten free know-how on this topic, try to grow your skills even faster with online video training. Then finally, put these skills to the test and make a name for yourself by offering these skills to others by becoming a freelancer. There are literally 2000+ new projects that are posted every single freakin' day, no lie!