Fwd: Re: [cddlm] deployment API
Steve Loughran
steve_loughran at hpl.hp.com
Mon Nov 29 11:40:28 CST 2004
esmith4 at inf.ed.ac.uk wrote:
> Hey all,
>
> Our client/server implementation is largely complete (in the loosest
> sense of the word - much of the client code is of abysmal quality due
> to the tightness of the deadline at the end).
>
> One feature that struck me as potentially useful in the CDDLM standard
> would be support for querying the deployment descriptor that the
> application came from. With all the security caveats aside, this is
> a fairly useful feature for long running services from a usability
> issue. Having just completed our client, I shied away from providing
> this functionality out of band or through one of the xsd:any loopholes
> CDDLM provides for various reasons. But it would be very useful to
> be able to query the deployment descriptor, perhaps through an optional
> element in the application description. Having that element strongly
> typed and available in WSDL would make it all a lot easier to code.
strongly typed to the extent that we let you submit arbitrary XML anyway.
Maybe something an app needs to get when it is deployed is access to the
bit of the graph that concerns it. Maybe as XML, maybe as a service that
you talk to do resolve bits of the system. Which is essentially what
smartfrog components do all the time, reading and writing back bits of
the graph.
>
> I am also somewhat converted to the magic of application names having
> written a moderate client now. Its easy to forget how horrific URIs
> are from an end user perspective and "friendly" names are probably a
> must. It'll be useful to have the server track them. I suggest that
> they should just be labels rather than rating at the same level as
> references: having the server return them in the application info
> is quite sufficient from the perspective of a client developer, and
> doesnt raise all the problems that I worried about before.
ah, so you've come round to the option of user-centred names now :)
>
> I'm still working with the API from 10/11/4 so I'm not sure how far the
> API has progressed since then. A destroy operation in addition to
> terminate would've been nice, although in the end I didn't have time
> to implement terminate anyway, infact the only two meaningful operations
> on our server are "create" and "serverStatus". Its probably useful
> to support that kind of cut down approach though, as it broadens the
> scope to include people like us who are more interested in dynamic
> deployment of static configurations.
>
I havent done much to that API; still thinking about how to do a WSRF
version.
I am just setting up a sourceforge repository for all the schemas and
some of the docs, so that they are under revision control; maybe even
move the spec for the deployment API from .DOC to docbook for easier
diffing and PDF/HTML generation. I'll add you as a developer, so you can
fiddle with the stuff if you want.
Its good to get feedback on what works, what doesnt. and interesting to
see how you have applied the API to a slightly different lifecycle.
For the curious, I've just been writing distributed JUnit; I can deploy
Junit tests on different nodes in a network, then correlate the results
into XML files (or other listeners), before XSLTing them into readable
content. After test suites run they update their properties with #tests,
#errors, #failures, and can be told to enter the failed state if they
finish tests with an error/failure; or terminate normally if they
fiinished happily. Maybe I'll add a scheduled rerun, though that is
arguably a higher order feature for another component.
One thing I will say, it is exceedingly painful trying to debug
distributed objects, especially when they start doing things like exit
when they fail.
A troublespot is actually dynamic code loading itself; java doesnt let
you easily set breakpoints on unloaded libraries. I know Stuart,
MSVisual studio does, but it does need the full path to the DLL; if your
deployment framework copies the libraries to a temp dir after validating
the signatures, you don't know that full path either.
-steve
More information about the cddlm-wg
mailing list