Though I've delivered a product with JBOSS already, I'm still confused enough 
about the whole web services world that I have to consider these beginner 
questions.  Confused enough that I'm not sure exactly what questions to ask, so 
that's why I'm in here.  Please forgive the long winded post.

What I've currently got is a JBOSS based web services product that uses 
Middlegen to generate (based on the MySQL schema I defined) what I believe are 
EJB2.1 Local and Home classes that handle db access for me.  I have server side 
code that calls those classes that is instantiated via a web services (actually 
two) IMPL class.  The IMPL classes are accessed via remote stand-alone Java 
clients (not browsers) using WSDL interfaces (and JAX-RPC) that are generated 
for me using java2wsdl and wsdl2java.    All this works and actually works 
quite well.  The product is a grid system (poorly architected) for the 
government.  The next version (much better grid architecture) is about to begin 
development.

The problem for me is that the build system (partially inherited) generates 
code for me.  I come from C/Linux/Unix and have never had anything generate 
code for me.  I hate it cuz I don't understand what it's generating, even if I 
do understand how to use the generated code.  This becomes more of an issue now 
as I try to migrate off of Middlegen - which I understand is being abandoned 
and does not support EJB3, correct? - and move to Hibernate - which I 
understand offers similar functionality but for EJB3.  

I guess the first question would be do I really want to migrate from Middlegen 
to Hibernate?  It would seem I do if I want EJB3, which it would seem I need to 
keep up with current technologies (I already deteremined that EJB's are 
*necessary* based on the criteria in the [EMAIL PROTECTED] text).  So will 
Hibernate generate classes for me like Middlegen did?  I've read a few dozen 
web sites and a bunch of books and I'm still not sure how to map the Home/Local 
api's to whatever Hibernate's generated classes will provide.  I sort of know 
*how* to use Hibernate (a legacy snippet of code in the Ant build that existed 
before I inherited this project points me in that direction), but I'm not 
really sure *what* hibernate will do when I use it.  I'm also concerned that 
I'll have to rewrite all the Home/Local code to use a new API for EJB3, but 
that's mostly busy work once I learn the API.

WSDL is another problem.  It's a bunch of XML configuration stuff that defines 
how I can pass data via the RPC calls I use.  At the moment, since it's 
generated for me, it's limited to the shape of the db schema.  I can't, for 
example, define a new class that lets me embed multiple rows from different 
tables and pass it in a single call (which would save roundtrip transfers).  I 
know it *can* be done.  I just don't know how to do it.  I'm also wondering if 
WSDL will be of much use if I switch to asynchronous communication using only 
JMS since many of the requests posted to the server from the clients can take a 
long time to complete, including things like file transfers.  JMS (directly, or 
possibly via Mule) is expected play a much bigger role in the next version of 
the product.

I'm coming to grips with terminology though it seems "framework" is heavily 
overused and poorly defined.  I can build JARs, WARs (which we no longer need 
since we don't provide a browser based interface) and EARs.  RARs popped up 
recently and I'm trying to figure out why those need their own format.  I'm 
completely comfortable using Javadoc API documentation and taught myself Java, 
Ant and SWT (for the clients) enough to build both ends of the product.  (Side 
note:  I use cscope and vi for development - IDEs give me a headache).  I'm 
still trying to find documentation on which parts of the stock JBOSS 
distribution I *should* remove (there are lots of examples that I don't think I 
should be shipping with the product, right?) when packaging thought that's 
slowly getting clearer to me.  XML configuration is a pain - not because of the 
format but because there is far too much configuration before you can even get 
applications running (the WSDL stuff is probably the worst example!
 ).  I guess writing config files doesn't seem like writing code to me.  I'll 
get over that eventually.  It would appear that EJB3 is supposed to address 
some of that issue.

Another thing: Spring.  This seems to be very popular and I'm wondering if I 
should consider it.  I don't know what part of our current product Spring would 
replace (if any).  It appears to work with EJB3 and Hibernate.  So if it works 
*with* them, then what does it provide that they don't?  Apparently it's not an 
alternative to either.  I have a lot more reading to do in this area.

I'm currently going through the EJB3.0 Trailblazer pages.  This is helpful and 
fairly easy to follow but it's not really telling me how to get from A to B 
(middlegen to hibernate, for example).  

I know that's a lot of rambling and I appreciate anyone who reads through it 
all.  Any pointers, big or small, on how to keep moving forward will be greatly 
appreciated.





View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4114321#4114321

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4114321

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to