Hi there!

In the context of the recent discussion on how a more "javaish" UNO java language binding and API could look like I would like to present the idea of using annotations to develop UNO components in java.


Java API for XML Web Services (JAX-WS)
http://java.sun.com/webservices/jaxws/index.jsp

the newly rearchitected API stack for Web services which is part of project glassfish and will be included in Java SE 6 offers a very nice method to develop Web Services by using the java annotation mechanism introduced in Java SE 5 and special ant tasks.

Basically what you can do is to write an MyWebServiceImpl.java Implemenation class for your WebService where you do need to know almost nothing about how webservices work at all and add a line "import javax.jws.WebService" and a line "@WebService" to it and than create a ant task in your build.xml which calls the java apt utility to generate a derived class that adds all the stuff needed to integrate a service into the web services framework, generates a WSDL file from the java class etc.

I was wondering if something similar could be done for UNO Services to be developed in java.

That would mean that when a developer wants to create a simple UNO service ::com::mycompany::openoffice::MyService he/she would not need to know that much about UNO and it´s IDL language etc. but could just create a MyServiceImpl.java source code in package com.mycompany.openoffice which would be using some special annotations and than we´d have apt working on that (via apt ant task) generating a derived class providing all that XServiceInfo stuff etc. needed by UNO services, generating an IDL file from the java source, generating type registry information etc. automatically and so on. This would be done by providing special Annotation Processors which would do all this magic things within the Development Kit.

It would offer an alternative development method to the method of starting by writing IDL files and generating stubs and interface classes for it by using idlc, javamaker & friends.

This alternate method would be more "javaish" and lower the entry barrier to providing OpenOffice.org extensions in java if it is feasible.

Of course special AnnotationProcesser would not only be needed for services but also for interfaces, exceptions etc. which should be offered to UNO from java.

What does the UNO team think is this idea feasible, do you like it?


See also:

https://jax-ws.dev.java.net/nonav/jax-ws-21-ea3/docs/UsersGuide.html#3.1.1_Starting_from_Java_
http://developers.sun.com/prodtech/javatools/jsenterprise/nb_enterprise_pack/reference/techart/jax-ws2.html
http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html
http://java.sun.com/j2se/1.5.0/docs/guide/apt/GettingStarted.html


Kind regards,
Bernd Eilers




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to