Raymond Feng wrote:
Your proposal looks good. It should be able to deal with most of the cases.
There might be some tricky things on the road:
* How to check if two data types are compatible. For java types, we can
check if two classes are the same. For XML types, we need to deal with
element as well as types.
>
(Minor clarification) For Java interfaces we need to look at the individual
methods and not just whether it's the same interface class.
* How to make a remotable Java interface into WSDL 1.1. I'm not sure if
all the remotable interfaces can be mapped into WSDL 1.1 though, for
example, JAX-RS annotated interfaces, RMI or EJB interfaces.
If they can't be mapped to WSDL then they can't be used in SCA to
interoperate with a different interface definition language.
Simon
Thanks,
Raymond
/________________________________________________________________
Raymond Feng
[email protected] <mailto:[email protected]>
/Apache Tuscany PMC member and committer: tuscany.apache.org
Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com
Personal Web Site: www.enjoyjava.com
/
________________________________________________________________/
On Jul 6, 2010, at 12:24 AM, Simon Laws wrote:
Through looking at BWS_2007 I've discovered that our contract matching
tests are not correct. The code as it stands always returns true
rather than matching operation types for remote interfaces. The TODO
in the code says that this is because it's potentially hard to match
the source and target types when the source and target contracts are
described using different IDLs. The Assembly spec states that WSDL1.1
should be used as the IDL for matching remote interfaces of different
IDLs.
I'm starting down the road of providing generated interfaces as
required and I proposed the following approach.
source target match action
===== ==== ==========
interface.java interface.java match as interface.java
interface.java interface.wsdl convert source to interface.wsdl
and match
interface.wsdl interface.java convert target to interface.wsdl
and match
interface.wsdl interface.wsdl match as interface.wsdl
I have some code that works for matching endpoints and endpoint
reference but I now realize that this isn't enough as matching is
applied up and down the implementation hierarchy before endpoints and
endpoint references are generated. So I'm looking at some surgery to
make generated interfaces available within the service and reference
model objects.
If anyone has previously started down this route and has comments I'd
be glad to hear them.
Regards
Simon
--
Apache Tuscany committer: tuscany.apache.org <http://tuscany.apache.org>
Co-author of a book about Tuscany and SCA: tuscanyinaction.com
<http://tuscanyinaction.com>