[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]Message passing between webservices
From: |
Chris Smith |
Subject: |
Re: [DotGNU]Message passing between webservices |
Date: |
Mon, 13 Jan 2003 19:00:11 +0000 |
You're pretty much hitting all the good bits about webservices here Peter,
and I think we're just crossing terminology a bit :o)
I like the property exposure thing if we can make it automatic.
Let's see ...
On Sunday 12 January 2003 16:53, Peter Minten wrote:
> I've looked into the DGEE code, DGEE uses the following 2 attributes:
>
> WebMethod with arg Description.
> WebService with args Description and Namespace.
>
> The WebMethod attribute seems to be a bit like the PublishedMember
> attribute I use (the one with description="foo", :-), but PublishedMember
> is meant for variables too.
Ok. Think we're almost talking about the same things really, except that
you've the idea of exposing properties too.... could be good, but we'll need
some trickery.
This email has just got quite long. Sorry. Lots of things to put on the
table!
> * Webservices are not defined by putting [Webservice] above a class but by
> creating an webservice object.
You need to put the attribute in so you've something to reflect over.
> * A class becomes accessible as part of a webservice when you put
> [PublishedClass(ws="webservicename")] above it. The description can also be
> set in the PublishedClass attribute.
The WebService attr currently defined is there to expose the class, and to
give it a more appropriate name (the existing class name may be very
inappropriate). ie to publish it.
WebService <=> PublishedClass. No difference (apart from spelling :o) )
The WebMethod attr is there to expose methods of published classes.
> * A member of a published class becomes automatically part of a webservice
> unless [UnpublishedMember] is put above it. The description of a published
> member can be set using [PublishedMember(description="foo")]
You can't just let the method be exposed by default because the name of it
will probably not be appropriate for a webservice method. Also when you
write a class it generally has a lot of methods in it, but only a handful are
publishable. You should force the author to explictly publish what they
intend to publish.
To be truthful, WebService and WebMethod have been leeched from .net because
I wanted the API to resemble all the documentation and books out there.
Their webservice API (attributes etc) has been very well thought out and is
pretty much generic - though it does contain much that is SOAP specific,
granted. If there is no reason to discard their naming conventions then I
strongly suggest that we don't, otherwise webservices for .net will not run
under DotGNU.
I'm thinking that we basically want to derive from MS's attributes as much as
we can, and then add our own functionality etc on top. Thus .net services
have a chance of running under DotGNU, but not the other way round, which was
our baseline anyway.
So is the following not true?
> PublishedClassAttribute
= WebService
> PublishedMethodAttribute
= WebMethod
> UnpublishedMethodAttribute
Not required. If you don't explicitly expose a method - it won't be seen.
Now the interesting bit!
> > Except for one major difference ... XmlRpc does not allow you to call
> > instance methods that well ... So the get_Property,set_Property does
> > not work very well ...
XmlRpc was only used 'cos it was quick to implement. It got us going and
started this discussion :o)
However, as the protocol stuff is (or will be....) handled by the inherited
interface classes. we can provide whatever transport protocol we like as the
above (attributes) will sit on top.
- [DotGNU]Message passing between webservices, Peter Minten, 2003/01/11
- Re: [DotGNU]Message passing between webservices, James Michael DuPont, 2003/01/11
- Re: [DotGNU]Message passing between webservices, Gopal V, 2003/01/11
- Re: [DotGNU]Message passing between webservices, Chris Smith, 2003/01/11
- Re: [DotGNU]Message passing between webservices, Peter Minten, 2003/01/12
- Re: [DotGNU]Message passing between webservices, James Michael DuPont, 2003/01/12
- Re: [DotGNU]Message passing between webservices,
Chris Smith <=
- Re: [DotGNU]Message passing between webservices, Gopal V, 2003/01/14
- Re: [DotGNU]Message passing between webservices, Chris Smith, 2003/01/14
- Re: [DotGNU]Message passing between webservices, Peter Minten, 2003/01/15
- Re: [DotGNU]Message passing between webservices, Chris Smith, 2003/01/16
- Re: [DotGNU]Message passing between webservices, Gopal V, 2003/01/16
- Re: [DotGNU]Message passing between webservices, Chris Smith, 2003/01/16
- Re: [DotGNU]Message passing between webservices, Peter Minten, 2003/01/15
- Re: [DotGNU]Message passing between webservices, Chris Smith, 2003/01/16
Re: [DotGNU]Message passing between webservices, Chris Smith, 2003/01/11