In real terms what does this mean?
Cheers,
Naren
(OCEEJBD6, SCWCD5, SCDJWS, SCJP1.4 and Oracle SQL 1Z0-051)
Naren Chivukula wrote:Hi Luke,
In real terms what does this mean?
JAX-WS overcomes few shortcomings and incompatabilities of JAX-RPC to make web services more platform independent(platform independence doesn't really sound as it is, as if we dump the web service archive created in Java platfrom on to .NET to make it work. But, to state web service created on one platform can be invoked from another, thus making it more interoperable among various programming languages). This IBM link has a good amount of information on the differences.http://www.ibm.com/developerworks/webservices/library/ws-tip-jaxwsrpc.html
Cheers,
Naren
(OCEEJBD6, SCWCD5, SCDJWS, SCJP1.4 and Oracle SQL 1Z0-051)
Luke Murphy wrote:One of the advantages of JAX-WS over JAX-RPC is that has increased platform through the use of dynamic proxies. In real terms what does this mean? ...
Professional Senior Crap Manager & doing Livestrong
Ulli Hertlein wrote:
Luke Murphy wrote:One of the advantages of JAX-WS over JAX-RPC is that has increased platform through the use of dynamic proxies. In real terms what does this mean? ...
rtfm-snippet:
The static client programming model for JAX-WS is the called the Dynamic Proxy client. The Dynamic Proxy client invokes a Web service based on a Service Endpoint Interface (SEI) which must be provided. The Dynamic Proxy client is similar to the stub client in the Java API for XML-based RPC (JAX-RPC) programming model. Although the JAX-WS Dynamic Proxy client and the JAX-RPC stub client are both based on the Service Endpoint Interface (SEI) that is generated from a WSDL file , there is a major difference. The Dynamic Proxy client is dynamically generated at run time using the Java 5 Dynamic Proxy functionality, while the JAX-RPC-based stub client is a non-portable Java file that is generated by tooling. Unlike the JAX-RPC stub clients, the Dynamic Proxy client does not require you to regenerate a stub prior to running the client on an application server for a different vendor because the generated interface does not require the specific vendor information.
The Dynamic Proxy instances extend the java.lang.reflect.Proxy class and leverage the Dynamic Proxy function in the base Java Runtime Environment Version 5. The client application can then provide an interface that is used to create the proxy instance while the runtime is responsible for dynamically creating a Java object that represents the SEI.
Cheers,
Naren
(OCEEJBD6, SCWCD5, SCDJWS, SCJP1.4 and Oracle SQL 1Z0-051)
Luke Murphy wrote:I have read that before. That's really the "how" , I am looking more for the "What"? What does it mean by platform independence? I don't care they use dynamic proxies under the hood. What does "platform independence" mean in the big picture?
Professional Senior Crap Manager & doing Livestrong
Naren Chivukula wrote:Hi Luke,
To be honest, I can't say I comprehended well. However, as referred in the article JAX-RPC uses stub generation model for most of its web service clients. This is mainly due to the fact the IDEs provided an easy way to deal with stub generation. Though, Dynamic Proxies are little used in JAX-RPC (because of manual programming and thereby lengthy development times), it seems usage of Dynamic Proxies are exploited in JAX-WS following "Java 5 dynamic proxy functionality", which comes under JRE rather than any dependency on the server library APIs. Thus, making JAX-WS platform independent to generate Dynamic Proxies over JAX-RPC.
Ulli Hertlein wrote:
Luke Murphy wrote:I have read that before. That's really the "how" , I am looking more for the "What"? What does it mean by platform independence? I don't care they use dynamic proxies under the hood. What does "platform independence" mean in the big picture?
...the Dynamic Proxy client does not require you to regenerate a stub prior to running the client on an application server for a different vendor....
it seems to be that a jax-ws client is portable across platforms, e.g. a swing client (or applet) which contains a jax-ws based client for c/s communcation should run OOB on several OS
and for a jax-rpc client some artefacts has to be build/provided for the client to work on another platform.
I want to know what difference from a black box perspective the platform independence makes?
Cheers,
Naren
(OCEEJBD6, SCWCD5, SCDJWS, SCJP1.4 and Oracle SQL 1Z0-051)
The Dynamic Proxy client is dynamically generated at run time using the Java 5 Dynamic Proxy functionality, while the JAX-RPC-based stub client is a non-portable Java file that is generated by tooling. Unlike the JAX-RPC stub clients, the Dynamic Proxy client does not require you to regenerate a stub prior to running the client on an application server for a different vendor because the generated interface does not require the specific vendor information.
Consider Paul's rocket mass heater. |