dotgnu-general
[Top][All Lists]
Advanced

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

Re: [DotGNU]Defining Web Services


From: Daniel E Baumann
Subject: Re: [DotGNU]Defining Web Services
Date: Wed, 7 Nov 2001 18:18:52 -0600
User-agent: Mutt/1.3.23i

On Wed, Nov 07, 2001 at 07:22:28PM +0100, Norbert Bollow wrote:
> Here is the part of the article which is IMHO closest to
> containing a useable definition:
> 
> : First, web services are reusable software components. Web
> : services continue the long ascension of object-oriented design
> : in software development. Rather than requiring programmers to
> : write one start-to-finish set of instructions after another, the
> : component-based model allows developers to reuse the building
> : blocks of code created by others to assemble and extend them
> : in new ways.
> 
> That doesn't say much... every chunk of GPL'd code meets this
> definition of reusability.

What they mean is you write reusable components that can be used in any
application and that have a specific use, i.e. a bonobo component that
renders html. Cool thing about OO is you do not just link to something
but extend the object or component interface via inheritance thus not
adding your new functionality without changing their code. No code
pasting or anything...then again libraries also do the same thing.
 
> : Second, these software components are loosely
> : coupled. Traditional application design depends upon a tight
> : interconnection of all subsidiary elements. The complexity of
> : these connections requires that developers thoroughly understand
> : and have control over both ends of the connection; moreover,
> : once established, it is exceedingly difficult to extract one
> : element and replace it with another. Loosely coupled systems, on
> : the other hand, require a much simpler level of coordination and
> : allow for more flexible reconfiguration.
> 
> This text does not propose any way through which it could be
> decided in a specific example whether it is "loosely coupled" or
> not.  This notion of "loosely coupled" is therefore not useful
> in a definition.  (It may be useful however in an _explanation_ of
> why there may be a business benefit of "webservices":  *Because*
> in a "webservice model" different components of the application
> talk to each other via standard protocols, chances are that it
> will be reasonably easy to make certain kinds of modifications to
> the system, and debug them, and a notion like "loosely coupled"
> may be introduced to phenomenologically describe that kind of
> situation.)

heheh! I had an interview once where they said define loose coupling and
high cohesion. Loose coupling is very descriptive it basically means you
communicate at arms length and that the pieces can stand on their own.
if Loose coupling can be defined then why would it not be good in a
definition? Why would they ask me to define it if it could not be
defined?
 
> : Third, web services semantically encapsulate discrete
> : functionality. A web service is a self-contained "applet" that
> : performs a single task.
> 
> What is a "single task"?  I don't think that this can be made
> precise.

An html component renders html, an ftp component does the ftp protocol,
etc. How is this confusing?
 
> : The component describes its own inputs
> : and outputs in a way that other software can determine what it
> : does, how to invoke its functionality, and what result to expect
> : in return.
> 
> That expectation is totally ridiculous IMHO.

How do you figure? A bonobo component has a specific interface and
provides a specific output. You can interrogate it to figure out what it
does, etc.
 
> : Fourth, web services can be accessed programmatically. Unlike
> : web sites and desktop applications, web services are not
> : designed for direct human interaction
> 
> What is "direct human interaction"?  I don't think that this can
> be made precise in any way that allows software to be "not
> designed for direct human interaction" and still be useful.  

He means that components do not have to have a UI, although you can make
UI components too. 
 
> : and they do not have a graphical user interface. Rather, web
> : services operate at the code level;
> 
> Huh?  "Operate at code level", what's that?  (A program which
> will modify its own source code???)

I agree don't agree with the author as you can have bot UI components
and non-UI components....maybe the majority of web services would be
non-UI component based, but making that assumption is sorta naive.

Dan
-- 
Daniel E Baumann      address@hidden 

***Free Dmitry Sklyarov! Boycott Adobe! Repeal DMCA!***

And if cynics ridicule freedom, ridicule community...if ``hard nosed 
realists'' say that profit is the only ideal...just ignore them, and use 
copyleft all the same.
      -- RMS


reply via email to

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