[SAGA-RG] python bindings

Andre Merzky andre at merzky.net
Mon Sep 5 05:27:29 CDT 2011


On Sat, Sep 3, 2011 at 12:21 PM, M.A. Santcroos
<m.a.santcroos at amc.uva.nl> wrote:
> Hi Sylvain,
>
> On 9/2/11 10:40 , "Sylvain Reynaud" <Sylvain.Reynaud at in2p3.fr> wrote:
>>Andre, I think you're right about the reason for the create() method ;
>>it can indeed return a Task object that will contain the created object.
>
> I don't really understand that. So how does that differ from the LSU
> functionality?

Well, at least in C++ we do the same: 'normal' constructors for the synchronous
operations, factory like create methods for the asynchronous ones.  There are
other ways to render that in an API, for example a two-step initialization,
but that seemed to be easiest back then.  I don't think the LSU SAGA bindings
expose the async factory methods.


>>Mark, FYI you can configure JSAGA's "local://" adaptor to be mapped to
>>URL scheme "fork://"... but anyway, there are many other differences
>>between URL of various SAGA implementations (independently of the
>>implemented binding). The other main difference between SAGA
>>implementations is between the security contexts.
>
> How come? Was there too much room for interpretation in the spec?

You cannot sensibly standardize the URL name space - that will get
quickly out of sync with that 'reality' thing ;-)  The same holds for
security contexts, which at the end are also just pointers into some
(backend defined) namespace.


>>So if you want to develop an application that uses several SAGA
>>implementations, creating URLs and security contexts will require
>>implementation-specific code anyway.
>
> I don't consider that a feature obviously.
> It kind of defeats the purpose of having a standard API.

Well, the URLs are pointers to endpoints.  A GRAM endpoint,
for example, will in general have a well defined https URL,
which should be valid for all SAGA (and non-SAGA) implementations
which want to  use that endpoint (unless the implementation does
strange things).  The problem only arises where endpoint have no
well defined URLs associated (fork:// versus local://).

Similar for security contexts: the spec specifies a set of attributes
which seem to map to most security tokens known to us - unless the
SAGA implementation does strange things, you should always be able to
use the 'UserProxy' attribute to point to an X509 certificate, etc.
But SAGA cannot sensibly anticipate all possible security token
attributes, as some of them are even deployment-dependent.  That is
why the security context attributes are extensible...

Cheers, Andre.


> Cheers,
>
> Mark
>
>



-- 
Nothing is ever easy...


More information about the saga-rg mailing list