• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

[ To Authors ] : Encoding Style

 
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Authors,
In your book, you almost don't speak of the encoding style, except in Chapter 5 (wsdl section).
In the two samples you give in Chapter 4, scenario 1 is RPC-encoding and scenario 2 is Messaging. But no sample with RPC/literal.
Ramesh, in your webservices presentation (I only read the 47st pages so far), it sounds like you don't speak about RPC literal neither.
Does this mean you discouage the use of RPC-Literal ?
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jean-Louis Marechaux:
Does this mean you discouage the use of RPC-Literal?


There is an article at IBM DeveloperWorks about the performance of different encoding styles (the article was discussed in this thread). Document-oriented scaled the best, RPC the worst. However, using the literal RPC encoding came pretty close to the document-oriented encoding.
So, this might indicate that RPC Literal is not at all discouraged. However, using RPC Literal might be considered not-as-standard-as due to the fact that marshalling is "implemented" by the application developer.
[ May 08, 2003: Message edited by: Lasse Koskela ]
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes Lasse, I know about this article...... 'cause I'm the one who posted it in that thread
[ May 08, 2003: Message edited by: Jean-Louis Marechaux ]
 
Author
Posts: 159
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jean-Louis Marechaux:
Hello Authors,
In your book, you almost don't speak of the encoding style, except in Chapter 5 (wsdl section).
In the two samples you give in Chapter 4, scenario 1 is RPC-encoding and scenario 2 is Messaging. But no sample with RPC/literal.
Ramesh, in your webservices presentation (I only read the 47st pages so far), it sounds like you don't speak about RPC literal neither.
Does this mean you discouage the use of RPC-Literal ?



As per JAX-RPC specification, although support for RPC-Literal exists it is clearly mentioned that to avoid usage unless you have an extreme situation of sending encoded literals.
Also, take a look at SOAP 1.2 specs !
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ramesh Nagappan:

As per JAX-RPC specification, although support for RPC-Literal exists it is clearly mentioned that to avoid usage unless you have an extreme situation of sending encoded literals.
Also, take a look at SOAP 1.2 specs !


Ok Ramesh, I'll read both the specs.
But let me ask a further question then, because there's something is puzling me.

I understand the RPC-encoing model is useful if I ave to obtain the price of a book, the quote of a stock or the temperature in a town.
But if my request is complexe, I don't want to send 100 arguments in a RPC call, because of marshalling/Unmashalling process, and because each argument could be of a complexe type not supported by the SOAP implementation
In that situation, I feel that it is more "elegant" to send a XML file, with a xsd to validate its grammar.
Lasse, Ramesh, do you think RPC-LITERAL is stupid in that situation ?
Is there a better approach ?
 
Lasse Koskela
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, JLM, I would also fall for passing documents. It may be plain lack of knowledge, but I tend to prefer the document approach (which probably shows in my posts) over RPC (literal or not). This is exactly due to the fact that I (seem to) have more freedom in designing the application "protocol", i.e. the message structures.
 
Ramesh Nagappan
Author
Posts: 159
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jean-Louis Marechaux:

Ok Ramesh, I'll read both the specs.
But let me ask a further question then, because there's something is puzling me.

I understand the RPC-encoing model is useful if I ave to obtain the price of a book, the quote of a stock or the temperature in a town.
But if my request is complexe, I don't want to send 100 arguments in a RPC call, because of marshalling/Unmashalling process, and because each argument could be of a complexe type not supported by the SOAP implementation
In that situation, I feel that it is more "elegant" to send a XML file, with a xsd to validate its grammar.
Lasse, Ramesh, do you think RPC-LITERAL is stupid in that situation ?
Is there a better approach ?



Use SAAJ API and handle them as documents ! It helps.
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ramesh Nagappan:

Use SAAJ API and handle them as documents ! It helps.


Why should I use SAAJ ?. I don't understand the advantage over RPC-LITERAL
(Note : I only send 1 document, the XML, which contains a reference to a XSD. I DO NOT send both the xml AND the xsd)
 
Ramesh Nagappan
Author
Posts: 159
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jean-Louis Marechaux:

Why should I use SAAJ ?. I don't understand the advantage over RPC-LITERAL
(Note : I only send 1 document, the XML, which contains a reference to a XSD. I DO NOT send both the xml AND the xsd)


The major advantage of using SAAJ and JAXM is to provide Document oriented Webservices. Yes, absolutely the document can be tied to XSD.
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ramesh Nagappan:

The major advantage of using SAAJ and JAXM is to provide Document oriented Webservices. Yes, absolutely the document can be tied to XSD.


Ok, sounds like I have to read chapter 9 of your book.
Btw, as I'm using Apache SOAP 2.3 riht now, I'm stuck
 
Ranch Hand
Posts: 56
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jean-Louis,
You can certainly do message-oriented communication via Apache SOAP (even with xsd).
Check the API further. Or else there are other custom alternatives.
Gavin
 
Ramesh Nagappan
Author
Posts: 159
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Gavin Bong:
Jean-Louis,
You can certainly do message-oriented communication via Apache SOAP (even with xsd).
Check the API further. Or else there are other custom alternatives.
Gavin


You may not agree ...Apache SOAP is going away soon ! If at all you think about Open source API then better choose Axis, which supports JAX-RPC and SAAJ.
 
Gavin Bong
Ranch Hand
Posts: 56
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Ramesh,
Actually I am using Axis currently. I believe Jean-Louis has a substantial codebase written in Apache SOAP and is just not ready to upgrade.
Cheers,
Gavin
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am ready to upgrade to Axis, but IBM WebSphere and WSAD are NOT
As I am using WSAD and WebSphere 5, and as right now, both of them are delivered with Apache SOAP,
I'm aware there is a WAS WebServics Tech Preview which allow the use of AXIS and Jax-RPC, but I guess this is not a release to use in production
Thus, I don't really know how I could use AXIS and still be supported by IBM.
[ May 09, 2003: Message edited by: Jean-Louis Marechaux ]
 
Ramesh Nagappan
Author
Posts: 159
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jean-Louis Marechaux:
I am ready to upgrade to Axis, but IBM WebSphere and WSAD are NOT
As I am using WSAD and WebSphere 5, and as right now, both of them are delivered with Apache SOAP,
I'm aware there is a WAS WebServics Tech Preview which allow the use of AXIS and Jax-RPC, but I guess this is not a release to use in production
Thus, I don't really know how I could use AXIS and still be supported by IBM.
[ May 09, 2003: Message edited by: Jean-Louis Marechaux ]


IBM Websphere may have a migration path from Apache SOAP to Axis. Did you look/ask at the Web sphere support forum at IBM or their Redbooks.
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've opened an IBM PMR at Tech Support a few days ago. No answer yet.
I'll post any valuable information from IBM to the JavaRanch for those who are interested in IBM products.
As far as I know, the next WebSphere release (5.1 ?) is suppose to include Axis instead of Apache SOAP 2.3. So I hope WSAD (the IDE), will include it too asap.
 
author
Posts: 3892
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sigh. OK, here's the scoop.
As you've pointed out, Jean-Louis, currently we provide support for JAX-RPC and SAAJ in the Web Services Technology Preview, which (although wonderful for development) is not recommended for production.
We will fully support JAX-RPC and SAAJ in a production-ready environment in WebSphere Application Server version 5.02, due out later in the year (probably early fall-ish, but that's only a guesstimate -- we cannot be held to this date -- it might be earlier or later). We will support that same level of technology in WSAD in version 5.1 which will come out at roughly the same time.
And actually, no, neither release will be based on Axis. That's why you should program to the JAX API's and NOT the "unofficial" Axis APIs.
So our recommendations to customers on how to proceed depends on when your deployment date is. If your deployment date is 3Q or 4Q, then we would advise you to develop with the JAX-RPC API in the tech preview. If it is before then, we would recommend you use Apache SOAP instead.
Kyle
(Yes, your friendly neighborhood bartender, but also Senior Technical Staff Member with IBM Software Services for WebSphere)
[ May 10, 2003: Message edited by: Kyle Brown ]
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Kyle !
Thanks a lot for sharing your IBM information with Javaranchers. It's really valuable.
What about JAXM is WebSphere future release ?
Any hints ? Will it be supported as JAXM is not supposed to be mandatory in a J2EE 1.4 App Server ?
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic