Hi Dennis,

I am trying to expose existing EJBs as web services. What I want to do is as
follows:
1. Receive an EJB Remote interface and the related domain object classes,
and generate data binder classes for the Remote interface methods.
2. Generate wsdl for the EJB Remote interface.
3. When receives SOAP Request from a client, I convert the XML message into
domain object using the binder classes and invoke an appropriate EJB with
the domain object. Since the remote EJB and domain objects are fixed, the
generated binder must do binding for the existing domain object class
(without modifying the domain object class since they will be used in rmi).
What's the data binding tool I should use?

Regards,
Xinjun


On 3/27/07, Dennis Sosnoski <[EMAIL PROTECTED]> wrote:

Good summary, José, but I'll add that even with manual binding
definitions JiBX can't handle all aspects of schema correctly. Of
course, that's also true of most data binding frameworks. XMLBeans was
designed from the start to handle all of schema, and aside from some
quirks and peculiarities it does so pretty well. But schema is a mess,
and not all parts of it can be handled cleanly. The biggest downsides to
XMLBeans for Java developers are that (1) many people find the generated
data model API awkward to work with, (2) XMLBeans performance can be
relatively poor (both in terms of time and memory usage), and (3) schema
is being misused (especially in the web services world) in ways which
AFAIK XMLBeans cannot handle.

For (3), I'll point in particular at the use of "flexible"
unmarshalling. What this means is taking the schema as a base, but then
ignoring any elements which do not match the schema. This was the way
most of the first- and second-generation web services frameworks
operated, and some users now demand it. JAXB 2.0 operates this way by
default (over my objections), and I added support for it in JiBX due to
client requests. I personally think it's a bad way to go - why have a
schema at all, if you're not going to enforce it? - but can see the
appeal. It allows groups to use a common schema with ad hoc extensions
for individual needs.

JiBX was originally designed with the focus on providing fast and
flexible conversions between XML and Java. Schema was an afterthought
for JiBX, though it's become more of a driving force as developers using
JiBX have wanted to support different parts of schema. But some aspects
of schema are still not handled by JiBX, with type substitution probably
the most important. Because the binding definitions used by JiBX were
not designed with schema in mind there are also many things you can do
with JiBX bindings which cannot be represented in schema.

I'd like to improve JiBX support for schema in the future (not because I
like schema - IMHO it's an ugly monstrosity that never should have been
allowed to live - but because it's become impossible to avoid,
especially in the web services world). Short-term that involves a
replacement for the very outdated Xsd2Jibx tool that's currently the
only way to generate code and bindings from schema. I've been working on
a tool for this purpose, and should finally have an initial release in
April. Long-term there are some structural changes required for JiBX
which I've been hoping to do as part of a 2.0 rewrite of the JiBX code
generation. The 2.0 rewrite is going to be a low priority unless I find
a client who needs some of those features and is willing to pay for part
of the development effort, so I don't currently have any scheduled
completion date for that.

- Dennis

Dennis M. Sosnoski
SOA and Web Services in Java
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117



José Antonio Sánchez wrote:
> Not exactly. Xmlbeans can generate classes for every possible schema
> automatically. JiBX only generates both classes and mapping
> description for a limited set of schemas (for example, no xsd:anyType
> is allowed). For that schemas you have to define the mapping manually.
>
> On 3/26/07, Josh <[EMAIL PROTECTED]> wrote:
>> Just for my own knowledge, is this a true statement?: "This is because
>> XMLBeans implementation can understand all the XSD (i.e. schema)
>> constructs."  Does JiBX have mapping limitations?
>>
>> Regards,
>>
>> Joshua
>>
>>
>>
>> On 3/26/07, Nilesh Ghorpade <[EMAIL PROTECTED]> wrote:
>> >
>> >
>> >
>> > Hi,
>> >
>> > As per my understanding AXIS 2 uses AXIOM API's internally for any
XML
>> related activities. Hence as you have mentioned that you are confused
to
>> choose between POJO, AXIOM, JIBX, ADB or XMLBeans, the AXIOM is an
>> invalid
>> option here.
>> >
>> > Secondly in AXIS 2 you can create web services using either the
Spring
>> Framework or POJO.
>> >
>> > JiBX, XMLBeans and ADB are more related to the data binding
frameworks
>> which AXIS 2 supports. Hence it depends on your schema on which data
>> binding
>> framework you would want to select. As per my knowledge XMLBeans is
>> the best
>> when it comes to complex schemas. This is because XMLBeans
>> implementation
>> can understand all the XSD ( i.e. schema) constructs.
>> >
>> > To answer your second question, the answer is YES. If you want to
>> use the
>> wsdl2java command from AXIS2 for generating your stubs and skeletons
you
>> will need the WSDL. Generating a WSDL is also not a diccficult task.
>> YOu can
>> have your SEI defined i.e. the Service Endpoint Interface with all the
>> method signatures which you want to expose as web service operations.
On
>> executing the java2wsdl command from AXIS2 you would be able to get the
>> WSDL. And using this WSDL you can generate the remaining artifacts of
>> your
>> web service. WSDL is nothing but an interface and hence even if you
have
>> defined an interface in Java, you can generate a WSDL from it.
>> >
>> >
>> > Hope that answers your queries.
>> >
>> >
>> > Regards
>> >
>> > Niles
>> >
>> > ----- Original Message ----
>> > From: Martin Gainty < [EMAIL PROTECTED]>
>> > To: [email protected]
>> >
>> > Sent: Monday, March 26, 2007 3:15:01 AM
>> > Subject: Re: [Axis2] AXIOM or JBIX
>> >
>> >
>> > Anil-
>> >
>> > I found this whitepaper quite informative
>> > SAX2 processes fastest..with DOM bein
>> >
>>
http://www.mail-archive.com/[email protected]/msg01044.html
>>
>> >
>> > FWIW,
>> > M--
>> >
>>
---------------------------------------------------------------------------
>>
>> > This e-mail message (including attachments, if any) is intended for
>> the
>> use of the individual or entity to which it is addressed and may
contain
>> information that is privileged, proprietary , confidential and exempt
>> from
>> disclosure. If you are not the intended recipient, you are notified
>> that any
>> dissemination, distribution or copying of this communication is
strictly
>> prohibited.
>> >
>>
---------------------------------------------------------------------------
>>
>> > Le présent message électronique (y compris les pièces qui y sont
>> annexées,
>> le cas échéant) s'adresse au destinataire indiqué et peut contenir des
>> renseignements de caractère privé ou confidentiel. Si vous n'êtes pas
le
>> destinataire de ce document, nous vous signalons qu'il est strictement
>> interdit de le diffuser, de le distribuer ou de le reproduire.
>> > ----- Original Message -----
>> > From: "Anil" <[EMAIL PROTECTED]>
>> > To: < [email protected]>
>> > Sent: Sunday, March 25, 2007 4:37 PM
>> > Subject: [Axis2] AXIOM or JBIX
>> >
>> >
>> > > Hi,
>> > >
>> > > I'm new to Axis2, what is the criteria to choose
>> > > between POJO, AXIOM, JIBX, ADB or XMLBeans. How do we
>> > > decide architecture wise.
>> > >
>> > > My second question is, is wsdl file mandatory to
>> > > create stub and skeleton interfaces or can we use just
>> > > skeleton file to create wsdl file.
>> > >
>> > > Thanks.
>> > >
>> > >
>> > >
>> > >
>>
____________________________________________________________________________________
>>
>> > > Bored stiff? Loosen up...
>> > > Download and play hundreds of games for free on Yahoo! Games.
>> > > http://games.yahoo.com/games/front
>> > >
>> > >
>> ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> > > For additional commands, e-mail: [EMAIL PROTECTED]
>> > >
>> > >
>> >
>> >
>> > ________________________________
>>  TV dinner still cooling?
>> > Check out "Tonight's Picks" on Yahoo! TV.
>>
>>
>
>

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


Reply via email to