On Jan 18, 2006, at 3:14 PM, Jeremy Boynes wrote:

Frank Budinsky wrote:

Ultimately though it would be good if people could use SDO2 without
needed to generate any code at all. Wouldn't it be possible to provide
implementations of user interfaces using Java Proxies (perhaps with
codegen using ASM or something to boost performance)?



Well, a big part of SDO is the DataObject (reflective API). Dynamic SDO already provides a full implementation for that, so I suspect that what you're asking for would be to 1) dynamically load the metadata given a Java interface, and then 2) Bind a Java Proxy for the interface to the dynamic impl. It all sounds possible, but isn't currently part of the
spec we're implementing.



Something like that - have the proxy implement the user's interface and
DataObject and delegate invocations to the dynamic SDO implementation.
If the performance of dynamic SDO is acceptable the the proxy overhead
is easy to fix.

That would be helpful. An further step would be to allow for full POJO support where people could provide their own implementations which could be "turned into" SDOs (through subclassing or some other mechanism with the caveat this would only work for non-final classes). Perhaps there are some corner cases which limit this but it seems like it would be a very useful capability.


The spec talks a lot about the generation of Java interfaces but nothing
about the associated implementation beyond it having to implement
DataObject. It does, however, describe the compatibility for
applications used to using JavaBeans. It may help build adoption if we
provide ways that make it easy for people coming from that environment
to migrate without having to regenerate their code.

There are lots of things we should be doing that are not part of the
specifications - this value add is what makes the difference between a
useful implementation and an RI, or between a successful project and one
that fades to obscurity.




are there directions some place for using the
command line tool?



It's described in contrib/java/trunk/docs/ SDO_Java_Project_Overview.doc.



I'll check it out,thanks
--
Jeremy


Reply via email to