Skip to main content

Web Services Tutorial


Introduction to Web Services




Web Services became a hot new technology in 2002.

Microsoft first coined the term "Web Services" in June of 2000 when it introduced Web Services as a major component of its .NET technology aimed at revolutionizing distributed computing. I see it as a new vision for using the Internet in the development, engineering and use of software.

Web services standards are emerging. Several technologies combine to make up "Web Services". The main standard is Extensible Markup Language, XML.

XML was developed by the World Wide Web Consortium (W3.org) It is a meta-language for describing data and creating additional markup languages. XML tags form individual pieces of data. An XML document is text-based and is made up of XML tags. XML is portable and has been rapidly adopted throughout the industry, thus making it the preferred choice for enabling cross-platform data communication in Web Services.

XML provided the basis for many core Web services standards:
  • SOAP = Simple Object Access Protocol
  • WSDL = Web Services Description Language
  • UDDI = Univsersal Description, Discovery and Integration specificiation
The term "XML vocabulary" means an XML-based markup language developed for a specific purpose or a specific industry. Example: Math-ML for including math equations on Web pages.
  • SOAP is an XML vocabulary standard to enable programs on separate computers to interact across any network. SOAP is a simple markup language for describing messages between applications. SOAP provides a way for developers to integrate applications and business processes across the Web or an intranet, by providing the platform and programming language independence needed to create the business integration of Web Services.
  • WSDL is an XML vocabulary standard created just for Web Services. It allows developers to describe Web Services and their capabilities, in a standard manner. WSDL helps to expose the Web Services of various businesses for public access--a desirable exposure helping to create more business
  • UDDI is just a framework that defines XML-based registries in which businesses can upload information about themselves and the services they offer. An XML-based registry contains names of organizations, services provided, and descriptions about the capabilities of the services provided. XML registries based on the UDDI specification provide common areas through which businesses can advertise themselves and their Web Services
  • .NET Web Services - The .NET platform of Microsoft is one of the most complete environments for building, deploying and accessing Web Services. The .NET development environment has support for multiple programming languages and tools for reusing code. Using Visual Basic.NET is one way of implementing Web Services.
  • Java Web Services - The Java2 platform has good support for the Web Services technologies. Java is portable. Java has support for XML and standard networking technologies. This makes Java ideal for building Internet applications, including applications based on Web services.
  • DIME - Direct Internet Message Encapsulation. DIME is a lightweight binary message format (not a protocol) used for moving data into the SOAP message packets. On the DIME page, I linked to an article also comparing DIME and MIME message formats.
Web services are software applications (programs)that use XML to exchange data (information) with other applications on other computers by using Internet protocols. Web services operate over any network (the Internet or a private intranet) to achieve specific tasks, called methods or functions, that other applications can invoke and use. Requests can be sent and responses received between two differing applications on two separate computers belonging to separate business enterprises or small businesses. Small businesses to global enterprises will benefit enormously from Web Services. Privacy issues will need to be addressed.
Java and Web Services

WSDL (Web Services Descriptive Language)


Web APIs


W3C Web Services Activity


Web Services Platforms


XML Schema

Understanding XML Schema (Microsoft.com)

XML Namespaces

Understanding XML Namespaces (Microsoft.com) Namespaces in XML (W3.ORG)

XML Web Services


Comments

Popular posts from this blog

Asynchronous Vs. Synchronous Communications

Synchronous (One thread):   1 thread -> |<---A---->||<----B---------->||<------C----->| Synchronous (multi-threaded):   thread A -> |<---A---->| \ thread B ------------> ->|<----B---------->| \ thread C ----------------------------------> ->|<------C----->|

WebSphere MQ Interview Questions

What is MQ and what does it do? Ans. MQ stands for MESSAGE QUEUEING. WebSphere MQ allows application programs to use message queuing to participate in message-driven processing. Application programs can communicate across different platforms by using the appropriate message queuing software products. What is Message driven process? Ans . When messages arrive on a queue, they can automatically start an application using triggering. If necessary, the applications can be stopped when the message (or messages) have been processed. What are advantages of the MQ? Ans. 1. Integration. 2. Asynchrony 3. Assured Delivery 4. Scalability. How does it support the Integration? Ans. Because the MQ is independent of the Operating System you use i.e. it may be Windows, Solaris,AIX.It is independent of the protocol (i.e. TCP/IP, LU6.2, SNA, NetBIOS, UDP).It is not required that both the sender and receiver should be running on the same platform What is Asynchrony? Ans. With messag

Advantages & Disadvantages of Synchronous / Asynchronous Communications?

  Asynchronous Communication Advantages: Requests need not be targeted to specific server. Service need not be available when request is made. No blocking, so resources could be freed.  Could use connectionless protocol Disadvantages: Response times are unpredictable. Error handling usually more complex.  Usually requires connection-oriented protocol.  Harder to design apps Synchronous Communication Advantages: Easy to program Outcome is known immediately  Error recovery easier (usually)  Better real-time response (usually) Disadvantages: Service must be up and ready. Requestor blocks, held resources are “tied up”.  Usually requires connection-oriented protocol