Management of Multi-Programmer Projects

Nice technology, but I can't find any examples of multiple programmers working on a single project. How is Java integrated with code libraries? How is the work of multiple programmers integrated? How is unit testing performed? How is project integration managed? I get the feeling that Java was written by and for lone wolf geeks.

[338 byte] By [Bondurant] at [2007-9-30 23:17:30]
# 1

> Nice technology, but I can't find any examples of

> multiple programmers working on a single project.

> How is Java integrated with code libraries?

Can you explain what you mean here?

> How is

> s the work of multiple programmers integrated?

Again, not sure what you mean exactly, but, for example, the same version control tools that are used with other languages can be used with Java. (CVS, VSS, ClearCase,...)

Can you elaborate what you mean, or provide an example from another language?

> How

> is unit testing performed?

JUnit is the de facto standard tool for that. I imagine there are others. Do you have experience with other languages/platforms, where a unit testing tool is built in?

> How is project

> integration managed?

Again, can you clarify or provide an example of how it's done elsewhere that's "missing" from Java?

> I get the feeling that Java was

> written by and for lone wolf geeks.

My impression is that Java is equally well suited for individual developers and teams. It's not the language, it's the tools and processes that exist to manage development that take care of the issues you've mentioned.

jverd at 2007-7-7 13:50:19 > top of Java-index,Security,Event Handling...
# 2

I'm looking at Java Studio Creator and I see everything on my machine, except perhaps the database. Do Java developers share a working directory on a web server? Do I set up similar database references for each develper's workstation so the jsp's they're working on function for each? How are the project files shared, that is to say the files that define the structure of the project for Java Studio Creator?

Bondurant at 2007-7-7 13:50:19 > top of Java-index,Security,Event Handling...
# 3

> I'm looking at Java Studio Creator and I see

> everything on my machine, except perhaps the

> database.

Java Studio Creator is a tool, not the Java language. As jverd has already said, you if you have several programmers working on a project (as has been the case on every Java project I've worked on) you would certainly use a SCCS like CVS or PVCS or whatever you like.

> Do Java developers share a working

> directory on a web server?

Some might, but the first time someone deploys code over code someone else is working on I would think that would stop pretty quickly.

> Do I set up similar

> database references for each develper's workstation

> so the jsp's they're working on function for each?

You store DB information in a DataSource declaration deployed to your servlet engine. It's not a good idea to be doing JDBC calls out of a JSP, btw.

So check in your data source description, ant build files, whatever it is you use to need to build a deployable product and don't hard-code file paths, then any developer should be able to check it out and build/deploy it.

> How are the project files shared, that is to say the

> e files that define the structure of the project for

> Java Studio Creator?

Check them into whatever version control system you are using.

Good Luck

Lee

tsith at 2007-7-7 13:50:19 > top of Java-index,Security,Event Handling...
# 4

> Nice technology, but I can't find any examples of

> multiple programmers working on a single project.

I am not sure how hard you looked then!

Check out SourceForge and search for Java projects - there are a few (13,319 to be exact - and all their code is in CVS)

http://sourceforge.net/softwaremap/trove_list.php?form_cat=160

tsith at 2007-7-7 13:50:19 > top of Java-index,Security,Event Handling...
# 5

> Java Studio Creator is a tool, not the Java language. As jverd has already said,

> you if you have several programmers working on a project (as has been the

> case on every Java project I've worked on) you would certainly use a SCCS like

> CVS or PVCS or whatever you like.

Ah, a quick Google reveals many such systems. The explanation about how to set them up would be there. Good.

>> Do I set up similar

>> database references for each develper's workstation

>> so the jsp's they're working on function for each?

> You store DB information in a DataSource declaration deployed to your servlet

> engine. It's not a good idea to be doing JDBC calls out of a JSP, btw.

> So check in your data source description, ant build files, whatever it is you use

> to need to build a deployable product and don't hard-code file paths, then any

> developer should be able to check it out and build/deploy it.

Hmmm.Not a very satisfying answer. I'm hoping that a trip to the bookstore will help here. I don't mean to be difficult, but none of these topics are discussed anywhere in the Sun Java site.

So the data source descriptions are shared through a chosen central servlet engine? Doesn't everyone have their own servlet engine and how do they share information between them? You mention Ant. I see a directory for it in the Creator distribution, but I haven't yet found out what it is. Perhaps I will understand more when I do.

Bondurant at 2007-7-7 13:50:19 > top of Java-index,Security,Event Handling...
# 6

>

> Hmmm.Not a very satisfying answer. I'm hoping

> that a trip to the bookstore will help here. I don't

> mean to be difficult, but none of these topics are

> discussed anywhere in the Sun Java site.

>

> So the data source descriptions are shared through a

> chosen central servlet engine?

No, a data source description is simply a description of how to get to your database, which with any luck is running somewhere and accessible to all your developers. If not then yes, each developer will have a DB set up on their machine with the same schema (which will be checked into SCCS somewhere) so they can develop with a local DB that is the same as the production DB

> Doesn't everyone have

> their own servlet engine and how do they share

> information between them? You mention Ant. I see a

> directory for it in the Creator distribution, but I

> haven't yet found out what it is. Perhaps I will

> understand more when I do.

I suspect we might have a minor communications failure here. I assume you are wanting to develop a J2EE system with at least JSPs and Servlets with some JDBC access. I assume further that you want to utilize a distributed group of developers to do this. There are all manner of issues at various steps of this project that will need to be addressed, such as source code control, build and deployment scripting, and unit/integration testing. You will need tools to address each step (though an IDE like eclipse, netbeans or it looks like Java Studio Creator might be able to set some of that up for you). Then there's the installation of your servlet engine and DB. It's complex. A few trips to the bookstore and poking around places like theserverside.com might be in order.

Good Luck

Lee

tsith at 2007-7-7 13:50:19 > top of Java-index,Security,Event Handling...