Jeremy Boynes wrote:
Jean-Sebastien Delfino wrote:
- The whole interface definition space, like you said we need a nice way
to deal with Java and WSDL interfaces, we also need to understand how
somebody can extend Tuscany to provide support for additional interface
definition languages (e.g. a ruby base class or a ruby module).
We originally had a logical representation for this and changed part way
through M1 to using Java interfaces (bytecode generating them from the
WSDL definition when necessary).
Do you think we should stick with the pure-Java approach (with addition
annotations if necessary) or are you thinking of going back to a logical
representation?
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
What I like about the pure Java approach is that it integrates well with
a Java runtime and is "executable" (you can invoke these methods).
What I don't like about it is that generating the Java interfaces is
complicated (I don't want all the extensions that contribute new
interface types to have to mess around with bytecode generation), and
generating a Java representation of the data flowing through the
interfaces assumes a specific Databinding technology, and may not even
be possible in some cases. Also we'll have to define annotations to
carry any metadata that cannot be represented natively in a Java
interface (namespaces for example).
A logical model representation of interfaces is a simpler solution IMO,
but requires to translate the Java interfaces naturally exposed by Java
components to this logical model. And with this approach we also need to
pick a canonical type representation system to model the data flowing
through the interfaces, so extensions will have to handle that the
conversion of their particular type system to the canonical one.
Right now I'm pretty open to any suggestion... I'm currently
experimenting with the pure-Java interface approach, trying to see if we
can design high level utility APIs to make the generation of the Java
interfaces easier for Tuscany extensions to use.
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]