JBoss and Deployment

After a rocky start trying to determine the scope of a few projects my colleagues and I would be working on, we set to working on a few projects using the JBOSS stack. Is there a word for the nightmare you get when you try to develop production grade material with beta software?

I spent my entire day mucking around with Eclipse trying to put together an IDE + Build system set up in an all in one package for everyone else on the team. Last summer, when I worked for Krones AG, they used a three level system for their database design. From what I got out of their thinking is that they prefer to think in database terms over object oriented terms. They treated web development as the icing on top of their databases, and the testing and QA processes revolved around this. First the database developers would develop their stored procedures and setup the tables into an SAP database called KE. Once tested to work, they would deploy them to a testing stage KQ, where we, the web applications department, would setup our pages to work on top of what ever disasters were created. Finally we would declare our stuff done, deploy the Java, Oracle, and SAP apps to their respective servers, and the devs would redeploy from KE to KP, where all the users got their data from. Once a month, they would copy the data from KP back to KQ, so we could have fairly good test data to work with, but there would be no worries that we would clobber any of the production data.

This is what I'm thinking for our purposes. Since testing JSF sites along with all the rest of the Java Junk requires a running server, it's best for basic development to run that locally, until the app coalesces into something usable. There is also a fairly decent SQL server written in Java that can be run along side the server, so we can make sure persistence works between deploys of the app. But when I run seam-gen, the build.xml files I get out of it seem to understand that there is only one server this app will ever be deployed to. So I'm left with a very tough layer to implement. For testing/QA and production, I want to create two more layers named exactly that. (Actually I like the idea of Mr. and Mrs. so I can be totally ambiguous.) The production AFAIK is going to be running JBoss proper, with MySQL. Or Postgresql, but I don't think that matters much. So naturally, I want the testing to be running the same thing. The tricky bit, is I want to be able to pick up the latest nightly, and run a single command that deploys it directly to testing. This would be simple, but it means changing all the deployment config files. As it stands, they are single mindedly set up for one type of server, at one address, etc... I'm thinking an ideal situation would be a command that took a JBoss server address, port, SQL server, and port, and type, and could flexibly deploy anywhere. Superideally would be a screen in Eclipse to do the same thing.

Or maybe I'm just wasting my time with eclipse, and I should learn how to do this all on the command line, like Chuck Norris would.

1 flames:

Avi zei

Use JBoss and Eclipse RPMs from the JPackage.org project.