|
Joe, > Okay, this is my major point: The J2EE deployment model is a flawed beast. > In fact, it's really pretty lame. It is nothing more than cramming > everything from your directory into a ZIP file. There's no reason to do it > this way, and no reason to use the directory names that they do (WEB-INF? > Who came up with THAT name?). Except for the WEB-INF part, which I think came from Tomcat, I do not agree. The deployment model is designed to make it easy for an application vendor to package up a complex application (using the deployment descriptors) in a way that makes it easy for the recipient of the application to install it. Because the format is standardized, the application servers are able to provide very easy to use wizards that walk the user through installing the application and connecting up the things like "roles" to "users" or the application to resources it needs like connection pools. The architecture works exceptionally well at this. What it is not particularly well suited for is the sort of internally developed applications that are commonly seen in the iSeries world. Also, in a simple JSP/Servlet application there is a degree of overkill to it, but the architecture was clearly designed at a point in time when it looked like EJB's were going to be more widely used. It would be extremely difficult to install an app containing EJB's without this architecture. > Not only that, but you can only redeploy the entire directory > structure! There's no concept whatsoever of partial updates! Wrong. WebSphere and every other app server I know of absolutely support this. Once the application is installed the first time it can then be updated by simply copying in the changed files. There are some exceptions, such as major changes to the JNDI resource assignments that are best handled by going through the wizard install again, but most changes, and I would venture to say all changes in a JSP/servlet app can just be copied to the server. > Or shared resources between WAR files, or any of a number of other things > that are required for real application development. At least in 5.0 (which might be a newer J2EE version) there is a place in the EAR file structure to put common code in the form of JAR files. > WebSphere 3.5 didn't use this silliness - it allowed me as a programmer to > set up the directory structure I needed. I will admit that when WebSphere 4 first came out I didn't understand the change, but it is about standards and compatibility. I can take an application that I develop for WAS 4 or 5 and very easily package it in an EAR file and deploy it on Tomcat, WebLogic, Sun One or any other J2EE-compliant server. I think that is a good thing, especially when I want to use apps that others have developed. I remember wanting to use some Java-based forum software called Jive. jivesoftware.com. I could not have installed it on WAS 3.5 if I had not been as experienced as I was. On WAS 4 it was as simple as taking their WAR file and using the wizard. I consider that progress. > So, how do you deploy something without useing a WAR/EAR file? You copy the > pieces into the directory structure! It's not all that difficult. I assume you are talking about how you would have designed it, not the reality. Because, at least with WebSphere, you cannot in fact deploy your application this way. Even a PSC/400 app must be packaged as a WAR or EAR. > PSC/400 deploys the objects automatically as an integrated part of the > CNVPGM command. If WebFacing did it that way, then I'd be okay with it. I do not know the fine details of your architecture, but I will bite. What if I want to do some customizations to the JSP? How do I then deploy my changes from QA to Production? Eventually, whether it is WebFacing or PSC/400 or homegrown, I need to know the files I changed so they can be managed properly. Mark
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.