dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]Defining Webservices


From: Gopal.V
Subject: [DotGNU]Defining Webservices
Date: Sat, 10 Nov 2001 17:11:27 +0530
User-agent: Mutt/1.2.5i

Hi 
        From all the discussion I have been going over , I get the 
impression that most guys confuse webservices with webservice 
components. 
        A webservice is an abstract term used to denote a network
transparent , standard protocol service. It may be as simple 
as a webmail service, but at dotGNU we are more concerned with
making the tools for producing webservices.

        A webservice component on the other hand is a well defined
peice of reusable code which performs a specific service in a 
network transparent method.

> The problem is with the requirement that the webservice performs
> "a single task".  So something which fetches a text file by ftp
> can be a webservice, and something which converts the text file
> from DOS to Unix conventions can be a webservice, but something
> which does both cannot be considered a webservice, because it
> performs two tasks and not one???

        A single task may comprise of "retrieving a text file in unix format".
Does that answer this ?. The joke apart, isolating service into basic
peices and assembling them later into self sufficent components is better. 
For example a HTML rendering component and a HTTP fetch object may be 
combined to get a minimal browser. The rendering component in itself may
itself be composed of text,link, and image renderers. So in the end this 
code benifits , the programmer who is writing an image viewer. This was
however a code reuse approach followed by BONOBO. The component can be
queried about the services (yes I said services) offered by the component
using CORBA (as per IDL). This ensures that the components can be used
in a black box method. 

        But following the successful paradigm of *nixes ( and !*nixes), a
number of peices, which when joined with the right glue, is worth more
than the sum of its peices, we have to find the right glue as well as
make the peices according the glue. Pipes,Unix Sockets,TCP,IPC etc form
the glue in GNU. We have a number of options like XMLRPC,SOAP,WSDL,CORBA
etc to use as the glue. We have to choose the glue on the basis of the 
webservice. Since we don't want to lose any quarter to .NET, we have to 
provide support for maximum interfaces. We have to start with the most 
popular glues CORBA for local and SOAP for network communication. Since 
we have ORBIT we have really to strive to integrate SOAP to CORBA.

        Speaking of browser based webservices, the *BEST* browser based example
is the XVnc java applet client. It literaly bring the X-desktop to the 
browser (at least) in a very interactive way.

Gopal.V
-- 
 //===<=>===\\
|| GNU RULEZ ||
 \\===<=>===//


reply via email to

[Prev in Thread] Current Thread [Next in Thread]