Fog Creek Software
Discussion Board




j2ee installer

Hi,

Do any of you familiar with any kind of "j2ee installer" that will take an application .ear and will deploy it on AppServer X with DB Y ?
Much like InstallShield installs the regualr applications on Windows by updating the registry, copying dlls, etc and etc ..

I still didn't see or hear about anything like that but it seems to be a highly required application those days. Take, for example, Liferay portal (http://www.liferay.com) - they have a separate
installation procedure for every combination of server X and DB Y (http://www.liferay.com/documentation/installation.jsp) ! How easy life could be if some j2ee installer could take their .ear, find my server and DB, deploy and test it. And all of it could take, say, 5-10 minutes.

In case we'll consider developing one - do you think it'll be profitable ?

Thank you !

Evgeny Goldin
Monday, May 26, 2003

I know Websphere has its proprietary admin console to do this, you point this at the ear, tell it where to deploy, and wha-la (like molasses on a cold day).

I believe bea does too, but don't remeber since its been a while since I had to deploy with WL, bea though I remeber it was easier to just update the descriptors by hand.

Silverstream has a UI but it takes about 3 days to get it right avoid silverstram.

The J2EE reference implementation has this.

Not sure about J-Run and JBoss

Daniel Shchyokin
Monday, May 26, 2003

Daniel, yes, I've worked with both "deploytool" from j2ee reference implementation and WebSphere admin application (it was good!) . But my original thought is a *generic* (that's the main word) j2ee installer which installs a pure spec-based .ear (otherwise, if it contains some proprietary additions, it's not possible, of course) on all major servers (WebSphere, JBoss, Oracle9i, Weblogic, .. ) and DBs (MySql, Oracle, PostgreSQL, .. )

Evgeny Goldin
Monday, May 26, 2003

Btw, JRun has also a very nice Web-based admin panel. As well as Tomcat. Almost all of them have, in fact.

But moving some complex application (Liferay is a good example, I think) from one server to another is a pain in the ass, since there are 1000000 of xmls to edit and other things to do. In the end, after couple of nights I didn't suceed to deploy a clean .ear of Liferay on JBoss.

Evgeny Goldin
Monday, May 26, 2003

Yeah, but does JRun even take .ears? I know tomcat doesn't.

I think an installer would be nice, but then there will be problems installing the installer, for instance the only way to create an installer on WS is to use their command line tools but on AIX, you wouldn't neccessarily know where the tools and the required libraries to put in lib and class paths are

Daniel Shchyokin
Monday, May 26, 2003

Right, Tomcat takes only .wars. I don't remember what JRun takes ..

But still, my main question to the respectful j2ee community on JOS is following: supposing *there is* such a product that is capable of installing clean, spec-based J2EE applications (be it .ear or .war) on a wide variety of servers (say, JBoss, WebSphere, WebLogic, Tomcat) and DBs (say, Oracle, MySQL, PostgreSQL). It does it the same way as InstallShield or Wise installs a standalone application on your PC - by editing the xmls, tinkering the DB, copying jars, etc, etc and etc.

The users of such a product won't be the end-users but developers creating j2ee applications (authors of Liferay and JIRA). They will allow you to download a package that all you have to do is run some setup.exe which will do the rest - locate your servers and DBs, deploy and test an application on it.

Like I said, this looks exactly as today when developers packing their installation inside InstallShield and users run setup.exe without knowing (or caring) what really happens with their PC.

So, supposing such a product already exists.
Here is the question - would you or your company buy/use it ? Or you prefer distributing pages of installation documents where every xml to edit and table to create is detailed ? And if you're building a truly portable j2ee application - you need to have those installation pages for every combination of server X with DB Y.

The reason I'm asking this question is because we might consider developing such a product.

I thank you all for any comment on the issue !!

Evgeny Goldin
Tuesday, May 27, 2003

There's probably not really a sufficient market for such a product. Most projects don't create completely generic J2EE Applications, but will develop and deploy on the same brand of app-server and never truely care whether it works on other App-Servers.

Also, the InstallShield-like installer exist for Windows, because a user is supposed to be spared knowing the details of the installed programs and general environment on his or her computer. Apps developed in an enterprise environment are/should be installed and supervised by a trained admin who knows his environment, probably doesn't work with more than a handful of appservers and knows how to deploy J2EE Applications on those Appservers.

Apart from that you could argue the .ear format itself is the generic installer. If you really manage to create a completly conforming  .ear archive with no DB-etc-specific code, you can drop it onto any application server, all you need to know is how to deploy...

  -tim

a2800276
Tuesday, May 27, 2003

tim, I thought that most j2ee developers don't intend to produce a really portable applications. But what if installer could set a list of limitations - say, "I can install this app only on server X (probably, version X.X) and DB Y (probably, version Y.Y)".

So when launched - it won't install the app on any server but only on those limited by the original developers. But still, it will make an installation on even those specific servers a matter of minutes by taking care of all the details.

Sorry, I'm protecting my idea a bit too hard, probably :)

Evgeny Goldin
Tuesday, May 27, 2003

As about admins, willing to know exactly what happened during the installation - the most detailed in the world :) log could be specified. With uninstall/undeploy options, of course.

Evgeny Goldin
Tuesday, May 27, 2003

Portability is an issue in commercial J2EE products for instance actuates Active Portal, but also keep in mind J2EE products are not meant for, "Bob in Marketing", they are meant for developers/admins who will know how to use the tools provided with their App Server, and modify deployment descriptors and Web-Inf's.

However at least in one instance I know, such a product would have been useful, it depends how long it would take to create!

daniel shchyokin
Tuesday, May 27, 2003

J2EE code that does not use vendor-specific APIs is usually portable without making changes to the java code; however the deployment descriptors and other configuration files almost always require significant changes, and files have to be placed in different directories and so on.  That's why I don't believe a generic J2EE installer exists that works for all or most J2EE servers.

T. Norman
Tuesday, May 27, 2003

T. Norman,

[[ I don't believe a generic J2EE installer exists  ]]

It doesn't exist because it seems complex to build one or because nobody needs it anyway ?

Evgeny Goldin
Wednesday, May 28, 2003

It probably doesn't exist because the servers are so different when it comes to configuration issues, which would make it expensive to build.  That combined with the fact that server admins already know how to deploy web applications, even though it may be tedious.

Not to mention that many development teams or managers just aren't interested in creating portable apps -- they make use of vendor-specific extensions to make certain things easier, but it kills their portability.

T. Norman
Wednesday, May 28, 2003

*  Recent Topics

*  Fog Creek Home