The Source for Java Technology Collaboration
User: Password:



Simon Brown's Blog

September 2003 Archives


Installing Tomcat 4 as an NT service

Posted by simongbrown on September 26, 2003 at 03:57 AM | Permalink | Comments (18)

While Matt was talking about the Tomcat Service Manager, coincidentally, I was trying to install Tomcat 4 as a service on a Windows 2000 machine yesterday. For various reasons, I didn't want to install Tomcat via the .exe and therefore had to hunt around for the command line that installs the NT service. For (my) future reference, here it is, split over several lines for readability.

set JAVA_HOME=c:\j2sdk1.4.2_01
set CATALINA_HOME=c:\jakarta-tomcat-4.1.27

%CATALINA_HOME%\bin\tomcat -install "Jakarta Tomcat 4"
  %JAVA_HOME%\jre\bin\server\jvm.dll
  -Djava.class.path=%CATALINA_HOME%\bin\bootstrap.jar;%JAVA_HOME%\lib\tools.jar
  -Dcatalina.home=%CATALINA_HOME% %CATALINA_OPTS% -Xrs
  -start org.apache.catalina.startup.Bootstrap -params start
  -stop org.apache.catalina.startup.Bootstrap -params stop
  -out %CATALINA_HOME%\logs\stdout.log
  -err %CATALINA_HOME%\logs\stderr.log



Is pigeonholing people into specific disciplines bad?

Posted by simongbrown on September 10, 2003 at 01:45 PM | Permalink | Comments (8)

With traditional development methodologies, it was easy. You'd start some requirements capture, follow on to analysis, then design, implementation, testing and deployment. Typically you'd have a few people in at the start and ramp up the team during the design and implementation phases, with several members of the team performing many of the tasks on the project right from the start. Fast-forward to today and it can be a completely different story.

Take the Rational Unified Process (RUP), for example. While RUP still has the same phases (albeit they are named differently), the process adds an extra dimension. RUP introduces the concept of disciplines, and during any phase you have each discipline still working on their activities. After all, RUP is an iterative process. For example, while the majority of the work undertaken during the construction phase is implementation, the analysis and design discipline might still be doing some A&D work in parallel. Although I like iterative processes, I do have an issue with the degree to which some people want to pigeonhole team members into a single discipline.

Since I like to get my hands dirty with development, I made it known that I would like to be involved with the implementation of the project that I'm currently working on. For this reason, I've been placed in the implementation discipline. This is great news, but then why do some people think that the implementation team can't do analysis and design? And why can't some of the A&D team help out with implementation? In fact, some would say that architects can't help with design. What benefit does pigeonholing people into a single discipline achieve? Okay, you may have experts in a specific discipline. Business analysts are a great example. High level architects are another. But what about the main body of the team?

Of course, there will always be people that only want to do analysis, design, implementation or whatever. However, isn't having a broad range of software engineering skills better? Having interviewed a handful of potential employees over the summer, I saw an alarming number that have only been involved in a single discipline, and with most of these it was implementation. Traditional development methodologies seemed to promote a broad software engineering skillset – something that I'm not convinced processes like RUP do. What's happened to people following through work from analysis and design to implementation and testing? Isn't this damaging for people's careers? Are projects getting the most out of the people? What do you think?



Casting affects performance?

Posted by simongbrown on September 09, 2003 at 01:43 PM | Permalink | Comments (6)

One of the only websites that I can access from the client site that I'm on is the IBM site, and I must admit that it's not on my list of Java related sites that I regularly visit. So, scanning through some of the forums I came across this thread about the overhead of performing object casting in Java. Interesting, and something that I've never really thought about before. I can certainly see how running all the various checks at runtime can introduce some overhead but I imagine that it's still fairly tiny. I've not read the book that's mentioned (Java Performance Tuning) but perhaps I might look it up now. Hmmm ... interesting.



Using another painter's brushes

Posted by simongbrown on September 02, 2003 at 02:40 PM | Permalink | Comments (4)

After a few weeks of working on a project in our offices, a new environment is in the final stages of being set up and we've made the move over to the client site. The work that we've been doing so far has been more like prototyping/proof of concept development. As far as tools go, we've had an almost free reign on what we've been using. Me? I've been using J2SE 1.4, Ant, IntelliJ and some other open source bits and pieces. However, now that the project is about to move up a gear, the toolset is about to change.

Like many large clients, our new environment is going to be locked down for security and management reasons. For example, policies on our XP workstations permit very little in the way of configuration, although thankfully we (developers) are getting local admin privileges. However, just because we will be able to install software doesn't mean that we'll be allowed to install it. Open source is one particular area in which there is still ongoing controversy. In addition to this, the development environment has been defined outside of the immediate group of architects and developers. Without being specific, all I can say is that it's not my choice. ;-)

This brings me on to the point of this entry. How many of you frequently get a choice in your development environment? Also, do you find that open source is still controversial? Having been involved in mentoring a team of new Java developers, I totally understand the thoughts around a standard development environment. Using a mixed environment can be a pain, but can it work? Not using your favourite development tool is something that we have to live with, but would you use somebody else's brushes?





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds