Hi, Wojtek.
I have looked into the code to support binding.sca over CORBA (or RMI/IIOP).
There is one issue I would like to bring up. At this moment, we pass the
input/output/fault data based on the operation signature to/from CORBA. This
approach works well if all the data types are RMI/IIOP-friendly, such as
primitive types or Serializable classes. But it will have trouble deal with
XML-friendly data types such as JAXB or SDO which are not necessarily java
Serializable. By the SCA spec, the remotable interfaces should be mappable
to WSDL (which hints XSD). Favoring XML over Java as the wire format will
make more sense in the SOA world. In fact, that's why we initially implement
binding.sca over Web Service.
I suggest that we take a slight different approach to exchange data for
binding.sca over the CORBA transport. We will define a fixed CORBA operation
to exchange the input/output/fault data. For example,
public interface SCABindingService {
String invoke(String inputMessage) throws WrappedServiceException;
}
WrappedServiceException will be used to wrap a business fault (in XML String
format).
public class WrappedServiceException extends Exception {
private String faultMessage;
public String getFaultMessage();
public void setFaultMessage(String faultMessage);
}
All the data will be represented as XML strings in UTF-8 encoding following
the JAX-WS document-literal-wrapper style. For example,
Request:
<op1 ...>
<arg0>...</arg0>
...
<argN>...</argN>
</op1>
Response:
<op1Response ...>
<return>...</return>
</op1>
Fault:
<fault1 ...>
...
</fault1>
What do you think?
Thanks,
Raymond
--------------------------------------------------
From: "Wojtek Janiszewski" <[EMAIL PROTECTED]>
Sent: Tuesday, July 22, 2008 11:35 AM
To: <[email protected]>
Subject: Re: [DISCUSS] Next steps to develop CORBA support for Tuscany
Doing (2) sounds good to me as well, and one other thing as you've made
such great progress with the binding would be write some doc about it for
the wiki like we have for the other extensions. You could add a page in
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Home to work on it
and use the others as examples, eg [1], [2], [3].
...ant
[1] http://tuscany.apache.org/sca-java-bindingjms.html
[2] http://tuscany.apache.org/sca-java-bindingejb.html
[3] http://tuscany.apache.org/sca-java-bindingws.html
Hi,
I've just created first version of CORBA binding doc [1]. I'm wondering if
I should describe how user should provide correct Java interface - now I
just linked to mapping rules on OMG site.
Any comments and edits are appreciated!
Thanks,
Wojtek
[1] -
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/SCA+Java+binding.corba