[SAGA-RG] Service Discovery
Andre Merzky
andre at merzky.net
Tue Aug 21 15:20:25 CDT 2007
Quoting [Fisher, SM (Steve)] (May 07 2007):
>
> The point of service discovery is to locate a service. Any SAGA call
> which needs to connect to a remote service and that makes this explict
> can make use of SD. For example the RPC of 3.13 requires the URL of the
> service provider. Also the job_service requires as input the contact
> string for the resouce manager. Servide discover provides these URLs. I
> haved added a sentence or two explaining this.
Yes, that is what I meant. Having that statement in the doc
helps to understand the relation between the documents.
Thanks!
> > > - we do have an attribute interface (doh! ;-) in the SAGA
> > > core API spec. I think it would be best to use that
> > > interface for the service interface/class.
> > >
> > > Yes - there seems to be no problem with that in principle for the
> > > service attributes.
> > >
> > > - why is get_attributes on discoverer, but get_values on
> > > service? That seems inconsistent?
> > >
> > > Discoverer has get_attribute_names() method which will
> > return an array
> > > of all possible standard names deliverable by the existing
> > information
> > > system adapters. All services have the same set so associating this
> > > data with the discoverer rather then the service seems to
> > make sense.
> >
> > If the attribute set is fixed, then using the
> > saga::attribute interface in the service (or
> > service_description) instances would be easy. The document
> > should specify what attributes are available IMHO. Again,
> > technically this looks more and more like the
> > saga::job_description class, and IMHO it would be good to
> > design the service(_description) class the same way.
>
> If we want to use the attribute interface, and I agree that we should,
> perhaps the best way is to have two extra classes both of which
> implement the Attribute interface. Then you can say, where s is a
> service_description:
>
> s.get_data().get_attribute("some key value in the key value pair")
>
> or
>
> s.get_glue().get_attribute("some predefined 'glue' attribute")
>
> This avoids the name clash problem - though we need a better name than
> get_glue()
>
> I would like people's agreement that this is the right way to go before
> doing this. It makes things simepler but adds 2 trivial classes. I think
> I like it!
Interesting point! Its a tradeoff, as you say. I am not
sure if I like it personally, but it looks like a clean
solution, and if others are ok with it we should go that
route I guess.
> > 3. given the two (possibly minor) disadvantages above, and
> > no percieved need for additional name spaces, we decided
> > against their use.
>
> I think it was a bad choice - but I can live with these rules
:-)
> > > The API specification document and the language bindings L&F are
> > > different things. In the document we have a more C style
> > > coding. When the implementation is done we should use language
> > > specifics:
> > >
> > > - list_services() -> in C: list_services()
> > > - list_services() -> in C++: ListServices()
> > > - list_services() -> in Java: list ()
> > >
> > > Sometime rather soon we should define these styles.
>
> So are we free to add namespaces - like all other large packages ;-)
:-P
Yes, but should be done in sync with the language bindings
for the saga core spec...
Thanks! cu tomorrow, Andre.
> Steve
--
"XML is like violence: if it does not help, use more."
More information about the saga-rg
mailing list