News 2005

November / December
Performance We recorded detailed click tracks in order to optimize the performance of a large online platform. The click tracks were used to construct a regression test suite, which allows fully automated daily performance audits. The open-source tool of choice is "The Grinder". Some patches developed by us were returned to the community and integrated into the Grinder source tree.
J2ME | Prototyp We developed a prototype of a multimedia-ready J2ME application. The prototype was used to test special features of the Java Media API on modern mobile phones.
Community As in the previous year, TNG supported several Open Source projects that were helpful in our own work. The supported organisations include the Free Software Foundation Europe and OpenOffice.org e.V.
Management We accept important new tasks for a major company in the management of service requests.
Talk | Spring Together with colleagues from our partner companies, one of our Java experts delivered an comprehensive talk about the Spring Framework at the Java User Group Munich.

September / October
Testing Using detailed tests, source code reviews and tool-based performance analysis, we managed to speed up a third-party script-based web application by a factor of two while the system stayed in production. Some of the scripts were accelerated by a factor of ten. In addition, certain deadlock situations were identified and avoided.
Perl | mod_perl We adapted an old perl/CGI web application so that it ran under mod_perl and Apache 2.0. The application is now extraordinarily fast. At the same time, the load on the underlying database is greatly reduced.
Study We started a new project that concerns the evaluation of complex commercial software platforms. Subtopics included migration efforts, standards compliance, lock-in risks, TCO and an evaluation of the supplier companies.
Talk One of our experts gave a talk on the topic of "wikis and requirements engineering" in the context of the research group "requirements engineering" of the Gesellschaft für Informatik, Munich chapter.

July / August
XML "A factor of ten changes everything", is a rule of thumb in systems theory. With this rule in mind, we accepted a difficult and time-critical project. The task was the random-access processing of extremely large XML billing data files.
The data come as Gigabyte-sized blocks, which precludes client-side processing, as the network load would be excessive. Therefore, our development team convinced the customer of the necessity of a server-side application. This consists of an Apache Tapestry-based web interface and a Java-engine, which provide the necessary business functionality as an API.
Several alternatives to prepare the data on the server-side were investigated; both free and commercial XML databases were considered. Extensive performance tests of reading and parsing XML blocks with subsequent database storage were carried out. However, the measurements demonstrated that this simple approach did not work due to filesystems read/write throughput limitations. The time window specified by the customer was too short.
Therefore the team decided to extract only the metadata necessary for further XML processing and search. This can be done in a read-only pass. Results gathered via a search on the metadata were then extracted out of the XML blocks. The open source parser Xerces was slightly extended for this purpose. Internal tests showed that this procedure should scale up to XML data sets of 200 GB.
After installation on the customers servers, the software was able to read and index the XML blocks in a third of the time specified by the customer. Random-access search including result aggregation, which the customer wanted to take a maximum of 15 minutes, needed less than one second on average, with the longest searches still taken less than eight seconds.
Java | Web services We took over the implementation tasks necessary for the continued realisation of the architecture for one of our customers, for whom we previously suggested a new, modern Java/XML/WebServices-based IT architecture. This included the continuation of projects that had previously been performed by third-party firms.
Community A well-known open source project needed a certain donation so we organised a fast and unbureaucratic solution.

May / June
Spring | Hibernate A large web application that consolidates three existing applications was successfully taken into the pilot phase. Configuration management was done via the Spring inversion-of-control framework. To satisfy the complex object relations and the very wide spectrum of the customer's reporting requirements, we used almost all the features of the Hibernate object-relational mapper.
Coaching We accept responsibility for coaching in the area of JSP programming for one of our larger customers. Key issues were the know-how transfer and implementation of JSP Best Practices.
Consulting We supported one of our customers in contract negotiations for a multi-million outsourcing project. As a part of this work, we created detailled total cost of ownership-estimates for several scenarios. Based upon the TCO estimates, pricing and service level agreements were refined over several rounds of negotiation.

March / April
Study We wrote a technology evaluation report for a big conglomerate. The subject in question was whether the company, which runs a particular software product for over 50 000 users worldwide, should upgrade or replace the software with a competitor's product. As well as the common criteria such as cost and functionality we examined additional factors such as information security and suitability for continuous operation. The large candidate pool was narrowed down to a shortlist. The remaining products were subjected to functional and load tests on the most important reference platforms. The result was a clear and actionable recommendation.
Java After extensive analysis and sizing phases we accepted a large Java development project. Due to the preparatory work it was possible to guarantee delivery adapted to the release process of the customer.
Scripting We developed a module for mass data import for a new customer in the B2B data services area. Due to the variable data quality, this import had to be particularly robust. Furthermore, the geocoded data were extended with status informations gathered from parsed AutoCAD files.
NetInstall A big company was planning the migration of several thousand PC clients from NT4 to WindowsXP. For this, structured and efficient distribution of the software packages was of central importance. We supported the customer by writing a style guide for NetInstall. Known Best Practices were consolidated and extended through recommendations for a low-risk migration.
Partner In cooperation with a network of partner companies, we expanded our development capacity. This means that we will be able to supply even larger turn-key development projects to our customers.

January / February
Huge project We rolled out a family of seven GIS web applications that were developed by a team of 6 developers. The applications run in parallel on several Tomcat application servers. For visualization purposes, MapXtreme for Java from MapInfo were used. The backend access layer works with a Tuxedo 8 GIS Server and an Oracle 9i Spatial geographical data base. The architecture of these web applications was based on a very strict component approach, which allows a lot of code reuse. The applications themselves need typically less than 10 application-specific classes. New business requirements were only implemented in one component, but can be used by all applications. New applications can be developed very quickly, while the test efforts can be substantially reduced. Due to a neat configuration system, the components and applications conform to three different style guides. The efficiency gains and time savings from the new architecture were so big, that the architecture changeover could be provided for by the regular budgets for on-going development.
Testing We conducted installation and user acceptance tests on Debian, Red Hat, Suse and Windows for an innovative cryptography startup company. This was an important quality assurance step before the general availability of the crypto software.
Study We evaluated several content management systems in order to recommend a future platform strategy for the headquarters of a group of companies.
Consulting We accepted the central tasks of coaching and designing in a major project involving up to 60 developers at several sites. Specifically, we managed to establish a functioning build process based on Ant and Cruise Control. Due to the very large team, purely technical solutions were not sufficient. Therefore we also advised the customer as to how to best optimize his organizational structure.