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.
