This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
How do you guys deploy applications into a WebLogic 6.1/7.0 environment with an admin server and multiple managed servers without running into namespace problems? For example, let's say I have an EJB called MyEJB. When I deploy this into WL on one of the managed server instances, I can also target MyEJB to other managed servers as well. Obviously, if two developers are trying to modify the same EJB they're going to deploy over each others' instance. Back in the 5.1 days it was easy enough just to create multiple, completely separate instances. But, with the larger footprint of a WL Domain, it becomes very difficult to justify creating multiple domains for each developer. Any ideas on how a bunch of developers should organize a WL Server? Thanks, Kory
Around here where I work, we don't share servers. Just run what you need on on your desktop/dev machine and you can do what you want. If I need to "bounce" the server for some reason, I can do it without messing someone else up. And if I need to test something in a cluster, I'll just start up a cluster on my desktop (using several ports). Or I can "check out" machines from the Lab if I need something more powerful of if I need a networked cluster. To help with this, we have some basic domain configurations (config.xml, etc) checked into source control and an ant-based build that "localizes" them (if necessary) for individual dev environments (machine names, databases, etc). But of course, at some time you have to get all that work from individual developers together in one place. So individual developers will check in their stuff to source control. Developers are also responsible for keeping their local work area up to date and built with a reasonably recent version of the whole project (check out other's stuff). Of course we have build scripts and regression (checkin) tests to help with this. To check the integration, we have several things. One, we have an automated service that checks out, builds, and runs a simple set of tests every few hours. We also have a daily build that runs a more extensive set of regression tests. And then every few weeks we produce a kit with an installer that represents the "latest and greatest" from dev and hand this off to the QA group, where it gets more abuse. This doesn't work for everyone, so if you have to have a single domain for some reason, you are just going to have to cooperate with each other. If you establish some sort of naming scheme and trust everyone to follow it that should work - for example maybe you should never deploy "MyEjb" but you should deploy "Kory_Lasker_MyEjb" and use the "Kory_Lasker_ConnectionPool", etc. Group (rather than individual) resources would get some name after the group.
I agree with Dave. Making an entire team of developers use a single WebLogic instance is just handicapping their productivity. This is the reason WebLogic sells single connection developer licenses (though it is rumored dev licenses will be free in the future).
Joined: Oct 17, 2002
Thanks, Chris and Dave. I took an ever-so-slightly different approach by just creating a number of different standalone WL domains on the same machine. There really is no need to use managed domains for development in our case. This grants each developer a seperate instance that can be restarted at will, yet allows me to simply configure all common resources to be available from this one machine rather than 5 or 6. In addition, I have no licensing problems to work around. The ant build and deployment scripts are configured to adapt to each developers environment with an eye towards a shared build in a test environment. Thanks for the inspiration, guys! Kory