For me personally, it is not just about the performance but having a
cleaner and more manageable system.

Setting up a new server could be as simple as installing Linux,
installing Java, installing the database and a Servlet container
container then dropping in the War and the system is running.

The existing system requires a bunch of extra work for the benefit of
installing GNU Step and also deploying the Java in such a way that GNU
Step and Java can reference each other.

Performance seems a focus of the technical manager. I have made
changes in the code that were aimed at making the system cleaner and
better architecturally structured but the question I get asked seems
to just be "will this be faster?"

I am approaching the problem on the terms I think my development
manager cares about. If it was a question of clean architecture I
don't know whether GNU Step talking to a Java web layer would have
been chosen. I believe my development manager was involved in the GNU
Step project and so I believed used it because he was a fan of the
technology rather than because it was necessarily a good fit. At least
that is the impression I get. I have not been with the company very
long.

The Java code in the system is probably some of the worsted I have
worked on. Hashtables and Vectors everywhere. Coding to
implementations including all the collections. The concrete
implementations of collections i.e. Vectors and Hashtables are exposed
in the class APIs. The code seems to involve lots of bloated Servlets
frequently with multi page long methods. Many standard Java
contentions can be ignored like using upper case package names not
following JavaBeans style but that is of lesser concern to me than the
coding to implementations and massive complex methods that should have
been broken down into smaller ones.

This system also rolls its own web framework and its own logging
framework.

I would have my work cut out for me just cleaning up the Java. The
Objective-C would be more liveable if the two systems were black boxes
with a well defined boundary interface for communicating back and
fourth but I think the use of wrappers means that Objective-C classes
will just be sprinkled liberally through the Java code.

All the Java code I have seen speaks to me of a lack of thought about
architecture or design patterns / principles. This might be explained
if the top priority is 'performance' or at least perceived
performance.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to