I'm reading about packaging on pg. 391 of EJB3 in Action.
It mentions "Enterprise Java applications need to be assembled into specific types of JAR files before they can be deployed to an application server." and then goes on to list the various types of archive, including CAR - Client Application Archives.
It then shows an example EAR, which includes a packaged CAR.
My question, is that if CARs are for Clients, and contain thick clients, why would you be packaging them inside an EAR? I understand that putting it in the EAR might keep everything together, however what does the Application Server do with it (presumably nothing as the code is for clients)?
I see. It's different from what I thought. It uses a client application descriptor (application-client.xml). I didn't remember that. This is described here. That page explains that it is convenient to have everything in one ear, so that the server uses only what it needs, and the client also uses only what it needs. It's fully described in the J2EE specification, Chapter EE.9 Application Clients.
I'm not sure that you need to know about it for the SCBCD exam. (I don't think you need to). It's out of the EJB spec.
Joined: Nov 11, 2006
Thank you very much for your time and very useful reply.
I think the key sentence is here: "However, it is also possible to include a client module (a JAR file) in an EAR file. This JAR file is only used on the client side; you configure this client module using the application-client.xml deployment descriptor. This scheme makes it possible to package both client and server side modules together. The server looks only at the parts it is interested in (based on the application.xml file) and the client looks only at the parts it is interested in (based on the application-client.xml file). " taken from your link here: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/client/appa.html
That makes perfect sense - thank you for your help,