Showing posts with label WEB SERVICES. Show all posts
Showing posts with label WEB SERVICES. Show all posts

WHAT IS A WEB SERVICE?

9

Posted by mady | Posted in , | Posted on 9:48 PM

Technically speaking, a Web Service is "a component of programmable
application logic that can be accessed using standard web protocols".
That is, it's quite similar to the components we considered earlier
on, but let us access all its functionality via the Web. In principle,
anyone who can browse the Web can see and use a web service.

Think of a Web Service as a black box resource that accepts requests
from a consumer (some kind of program running on the web client),
performs a specific task, and returns the results of that task. In
some respects, a search engine such as Google (www.google.com) is a
kind of Web Service – you submit a search expression, and it compiles
a list of matching sites, which it sends back to your browser.

Currently the term, Web Service, is something of a buzzword within
the sphere of software development, thanks to a number of new
protocols that have opened up the scope of what we can expect Web
Services to do. XML plays a central role in all these technologies.

There's a very important distinction between a web service like
Google and the kind of XML Web Service that we're going to be talking
about: on Google, you submit the search expression, and you read the
list of sites that gets sent back. Okay, the browser provides you with
a textbox, and parses the response stream so that it looks nice – but
it doesn't actually understand the information you've submitted, let
alone the HTML that Google sends back.

If you are using an XML Web Service, you can assume the results will
be returned as some kind of XML document, that's explicitly structured
and self-describing.


It's, therefore, quite straightforward to write a program that
interprets these results and
perhaps even formulate a new submission.

As we're going to see, ASP.NET makes it very easy to build XML Web Services,
and just as easy to use them – ultimately you need only to reference
the Web Service in your code, and you can use it just as is it were a
local component. As with normal components, we don't need to know
anything about how the service functions, just the tasks it can do,
the type of information it needs to do them, and the type of results
we're going to get back.


1. KINDS OF WEB SERVICES

Practical applications of web services technologies fall into three groups:

1.1 PLUG-IN FUNCTIONALITY.
The simplest and most prevalent web services in use today add
third-party functions to web pages and portals. Common examples
include external news feeds and stock quotes, banner ad serving, and
search boxes. Few use XML and SOAP, relying instead on HTML based
technologies such as JavaScript, CGI calls and Java.

1.2 REMOTE INFRASTRUCTURE SERVICES.
Third-party providers use web services technologies to deliver
behind-the-scenes functionality for commercial websites, such as user
authentication, payment processing and visitor traffic analysis.

1.3 ENTERPRISE APPLICATION INTEGRATION.
Web services technologies are rapidly finding favour as a solution to
the complex integration challenges of linking applications within the
enterprise, or across a value chain. EAI implementations are the most
likely to use formal web services standards.

2. REQUIREMENTS OF WEB SERVICES

The original Internet made it possible to send and receive email and
to share access to files. The World Wide Web added a software layer
that made it easier to publish and access other content. The final
development has been the emergence of web
services, enriching the software layer with application functionality.
The task of the web services infrastructure is to support
commercial-grade application functionality.

The difference between content and applications comes from the
addition of process — the sequence of events that need to happen in
order to produce a result. When participants in the application are
distributed across the web, the need to complete processes adds some
important new operating requirements:

2.1 CONSISTENCY
Each separate component must act within certain parameters, such as
response times and availability.

2.2 AUTHENTICITY
There must be some way of assuring the identity of each of the
participants in the process.

2.3 TIMELINESS
Each step in the process must execute in the correct order, and
promptly — especially if a user is waiting on the result in order to
continue with their work

2.4 INTEGRITY
There must be mechanisms to avoid data becoming corrupted as it passes
between participants

2.5 PERSISTENCE
Each participant in the process must maintain a permanent record of
their part in the transaction.
The web services infrastructure must provide a platform that supports
these requirements and more. That demands an array of tools and
services to enhance, monitor
and maintain quality-of-service.

WEB SERVICES

2

Posted by mady | Posted in | Posted on 5:47 AM

Web services are a natural consequence of the evolution of the Web into an open medium which facilitates complex business and scientific application interactions. Web services are concerned with the problems of enabling systematic application-to-application interactions over the Web, and the integration of the existing network computer infrastructure into the Web. The key components of this work are a focus on interoperability, support for efficient application integration, and the creation of a uniform representation of applications within heterogeneous distributed systems.

The Web services model builds upon existing industry standardization efforts centered on the Extensible Markup Language (XML), and proposes a two pronged approach to deal with the interoperability requirements associated with heterogeneous systems: enable base interoperability using a small set of common protocols, and develop a uniform representation of network applications which are accessible using multiple communication protocols.

The goal of Web services is to provide a flexible framework where universal interoperability does not preclude efficient integration.

Imagine that you are a printer-reselling tycoon. As a printer-reselling tycoon, you require constant information on the state of your suppliers in order to get the best price and to meet the demands of the printer retailers who purchase your product. Your suppliers are your lifeline, so you must always know exactly what price they are asking, whether or not they have stock available for immediate shipping, the general quality of their product, and their timeliness in fulfilling orders.
You used to do your business by phoning your sales contacts at each supplier, but you found you were losing excruciatingly large opportunities, because Bob at Acme Printers used to drone on for 20 minutes about last weekend's football game before he would take your order. As the printer commodity market moved to the Internet, you were able to quickly visit Web sites for your different suppliers and immediately get their price and on-hand stock quantities. The problem was that each supplier had their own unique Web site with different approaches for getting at the data you needed—and even more differences in how they actually took your orders.
You longed for consistency. You dreamed of a world where a single application would query all the different printer manufacturers for their information, and you could place your orders (using the same application) from the manufacturer of your choosing, based on product price, shipping costs, quantity on hand, and your personal knowledge of the quality of the manufacturer’s service in handling orders. With an application like that, you would make millions of dollars by being the quickest, most efficient printer-reselling tycoon in the industry.
When Web Services came along, you knew your dream application would soon be a reality and your millions were as good as in the bank.


The margins for printer reselling may not exactly make millionaires overnight, but one of the more compelling opportunities for XML Web Services is certainly the ability to create common, well-defined interfaces that can be shared across an industry and make business flow competitively and easily.
Web Services provide a simple, flexible, standards-based model for binding applications together over the Internet that takes advantage of existing infrastructure and applications. Web applications can be easily assembled with locally developed services and existing services, irrespective of the platform, development language, or object model used to implement any of the constituent services or applications.

The Microsoft .NET Framework provides an application model and key enabling technologies to simplify the creation, deployment, and ongoing evolution of secure, reliable, scalable, highly available Web Services while building on existing developer skills.