News 2005
November / Dezember
September / Oktober
Juli / August
Mai / Juni
März / April
Januar / Februar
| Performance | Zur Performanceoptimierung einer großen Onlineplattform nehmen wir detaillierte Clicktracks auf. Mit diesen lassen sich Regressionstestsuiten aufstellen, die eine tägliche Kontrolle der Plattformperfomance erstmals automatisiert durchführen lassen. Als Werkzeug wird das Open Source-Tool "The Grinder" eingesetzt. Einige von uns entwickelte, notwendige Patches werden an die Community zurückgegeben und in den Grinder-Sourcebaum integriert. |
| J2ME | Prototyp | Wir entwickeln einen Prototyp für eine multimedia-taugliche J2ME-Applikation. Damit werden spezielle Features der Java Media APIs auf modernen Mobiltelephonen ausgetestet. |
| Community | Wie bereits im Vorjahr, unterstützt TNG mehrere Open Source-Projekte, die für unserere Arbeit hilfreich waren. Zu den unterstützten Organisationen gehören die Free Software Foundation Europe und der OpenOffice.org e.V. |
| Management | Bei einem Großkonzern übernehmen wir wichtige neue Managementaufgaben für Service Requests. |
| Vortrag | Spring | Einer unserer Java-Experten hält zusammen mit Kollegen aus befreundeten Firmen einen ausführlichen Vortrag über das Spring-Framework in der Java User Group München. |
September / Oktober
| Testing | Durch detaillierte Tests, Source Code-Reviews und toolunterstützte Leistungsanalyse gelingt es uns innerhalb von zwei Wochen, eine von Dritten programmierte, bereits produktive, skriptbasierte Webapplikation um einen Faktor zwei schneller zu machen. Einige Skripte werden um einen Faktor Zehn beschleunigt. Außerdem werden bestimmte Deadlock-Situationen identifiziert und vermieden. |
| Perl | mod_perl | Wir stellen eine ältere, gewachsene Webanwendung, die Perl und CGI verwendet, so um, dass sie im Webserver Apache 2.0 unter mod_perl läuft. Neben der extremen Geschwindigkeitssteigerung wird auch die zugrundeliegende Datenbank durch Einführung persistenter Verbindungen entlastet. |
| Studie | Wir übernehmen ein neues Projekt, bei der es um die Evaluierung komplexer, kommerzieller Softwareplattformen geht. Unterthemen sind u.a. Migrationsaufwände, Unterstützung von Standards, Lock-In Risiken, TCO und eine Anbieterqualifikation. |
| Vortrag | Einer unserer Experten hält einen Vortrag zum Thema "Wikis and Requirements Engineering" im Rahmen des Arbeitskreises "Requirements Engineering" der Gesellschaft für Informatik, Regionalgruppe München. |
Juli / August
| XML |
"Ein Faktor Zehn ändert alles", so lautet eine Daumenregel aus der
Systemtheorie. Mit dieser Prämisse im Hinterkopf übernehmen wir ein
schwieriges und terminkritisches Projekt, bei dem es um die Random
Access-Verarbeitung von sehr umfangreichen XML-Rechnungsdaten geht. Die Daten liegen in Form von Gigabyte-großen Blöcken vor, was eine Verarbeitung auf der Clientseite ausschließt, da die Netzlast zu groß wäre. Daher überzeugt unser Entwicklungsteam den Kunden von der Notwendigkeit einer Serverapplikation. Diese besteht aus einer Apache Tapestry-basierten Weboberfläche und einem Java-Engine, welches die notwendigen Businessfunktionen auf den Daten als API zur Verfügung stellt. Zur Aufbereitung der Daten auf der Serverseite werden mehrere Alternativen untersucht, unter anderem freie und kommerzielle XML-Datenbanken. Intensive Performancemessungen zeigen jedoch, daß der einfache Ansatz, die XML-Blöcke zu lesen, zu parsen und in eine Datenbank zurückzuschreiben, bereits am maximal erreichbaren Lese/Schreibedurchsatz des Dateisystems scheitert. Das vom Kunden vorgegebene Zeitfenster ist dafür zu kurz. Daher entschließt sich das Team, alleine die für die XML-Verarbeitung und Suche notwendigen Metadaten in einem Lesedurchgang aus den Quelldaten zu extrahieren. Die bei einer Suche über die Metadaten gefundenen Ergebnisse werden dann on-the-fly aus den XML-Blöcken extrahiert. Dazu wurde der Open Source-Parser Xerces leicht erweitert. Interne Tests ergeben, daß das Verfahren ohne größere Änderungen auf bis zu 200 Gigabyte große XML-Datensätze skalieren sollte. Nach der Installation auf den Kundenservern ergibt sich, daß die XML-Blöcke in einem Drittel der vom Kunden vorgegebenen Zeit gelesen und indiziert werden können. Die Random Access-Suche inklusive Aggregation der Ergebnisse, welche nach Kundenvorgabe maximal 15 Minuten dauern durfte, braucht durchschnittlich unter einer Sekunde, im Worst Case unter 8 Sekunden. |
| Java | Webservices | Bei einem unserer Kunden, dem wir eine moderne Java/XML/WebServices-basierte IT-Architektur vorgeschlagen haben, übernehmen wir Implementierungsaufgaben bei der weiteren Umsetzung der Architektur. Dabei unterstützen wir auch bei der Fortentwicklung von Projektaufgaben, die bisher von Drittfirmen übernommen wurden. |
| Community | Für ein bekanntes Open Source-Projekt, daß eine bestimmte Spende braucht, organisieren wir kurzfristig und unbürokratisch die Lösung. |
Mai / Juni
| Spring | Hibernate | Eine große Webapplikation, die drei bisherige Applikationen konsolidiert, geht erfolgreich in den Pilotbetrieb. Zur Konfiguration der Anwendung wird das Spring-Inversion of Control-Framework benutzt. Um die sehr anspruchsvollen Objektbeziehungen und Reportbedürfnisse des Kunden erfüllen zu können, wird der objektrelationale Mapper Hibernate bis zum letzten Feature ausgereizt. |
| Coaching | Für einen Großkunden übernehmen wir Coaching-Aufgaben im Bereich von JSP-Programmierung. Dabei sollen Know-how transportiert und JSP-Best Practices implementiert werden. |
| Beratung | Wir unterstützen einen unserer Kunden bei den Vertragsverhandlungen für ein im zweistelligen Millionenbereich liegendes Outsourcing-Projekt. Dabei erstellen wir die detaillierten Total Cost of Ownership-Berechnungen für mehrere Szenarien, aufgrund deren die Preisvorstellungen und Lieferantenangebote in mehreren Verhandlungsrunden verfeinert werden. |
März / April
| Studie | Für einen Großkonzern schreiben wir eine Studie zur Technologiebewertung. Dabei geht es darum, ob eine im Konzern weltweit bei über 50.000 Benutzern eingesetzte Software vom existierenden Lieferanten aufgerüstet oder durch ein Konkurrenzprodukt ersetzt werden soll. Neben den typischen Bewertungsfaktoren wie Kosten und Funktionalität werden dabei auch erweiterte Faktoren wie Informationssicherheit und Betreibbarkeit in einer großen Serverlandschaft untersucht. Es wird aus dem großen Kandidatenpool nach harten Kriterien eine Shortlist erstellt. Die verbleibenden Produkte werden funktionalen Tests sowie Lasttests auf den wichtigsten Referenzplattformen unterworfen. Das Ergebnis ist eine klare Vergabeempfehlung. |
| Java | Nach ausführlichen Analyse- und Sizingphasen übernehmen wir ein großes Java-Entwicklungsprojekt. Aufgrund der ausführlichen Vorarbeiten und der gesammelten Erfahrungen des Entwicklerteams ist es möglich, dem Kunden eine termingerechte Eingliederung in seinen Releaseprozess zu garantieren. |
| Scripting | Für einen Neukunden im Bereich B2B-Datenservice schreiben wir einen Massendatenimport, der aufgrund der unklaren gelieferten Datenqualität besonderen Robustheitsanforderungen genügen muss. Zusätzlich werden die geocodierten Daten um Statusinformationen angereichert, die aus geparsten AutoCAD-Dateien gelesen werden. |
| NetInstall | Ein Großunternehmen plant die Migration mehrerer tausend Client-PCs von NT4 auf WindowsXP. Dabei spielt die strukturierte und effiziente Verteilung der neuen Softwarepakete eine zentrale Rolle für den Erfolg des Projekts. Wir unterstützen den Kunden durch das Schreiben eines Styleguides für NetInstall, in dem die bestehenden Best Practices zusammengefasst und um Empfehlungen für eine risikoarme Migration erweitert werden. |
| Partner | Zusammen mit einem Netzwerk aus Partnerfirmen erweitern wir unsere Entwicklungskapazitäten, sodass wir in Zukunft schlüsselfertige Entwicklungsprojekte in noch größerem Umfang liefern können, als bisher. |
Januar / Februar
| Großprojekt | Wir rollen sieben thematisch zusammenhängende GIS-Webapplikationen aus, die ein 6-köpfiges Entwicklerteam erstellt hat. Die Applikationen laufen parallel auf mehreren Tomcat-Applikationsservern. Zur Visualisierung wird MapXtreme for Java von MapInfo eingesetzt. Als Backend greifen die Applikationen auf einen unter Tuxedo 8 laufenden GIS-Server sowie auf eine Oracle 9i Spatial Geodatenbank zu. Die Architektur dieser Webapplikationen basiert auf einem sehr strikten Komponentenansatz. Dies ermöglicht, den überwiegenden Code mehrfach wiederzuverwenden und die eigentlichen Applikationen auf jeweils weniger als 10 applikationsspezifische Klassen zu beschränken. Neue Business-Anforderungen müssen nur genau einmal in einer Komponente umgesetzt werden, wonach sie dann allen Anwendergruppen zur Verfügung stehen. Neue Anwendungen laufen in kurzer Zeit in hoher Qualität vom Fließband, Testaufwände werden massiv reduziert. Dabei erfüllen die Komponenten und Applikationen durch geschickte Konfigurierbarkeit drei verschiedene Styleguides. Der Effizienzgewinn durch die neue Architektur ist so groß, dass die Architekturumstellung aus den laufenden Entwicklungsbudgets gedeckt werden konnte, ohne dass ein Architekturprojekt ausgewiesen werden mußte. |
| Testing | Für ein innovatives Startup-Unternehmen im Bereich von Kryptographie-Applikationen führen wir Installations- und User Acceptance Tests auf Debian, Red Hat, Suse und Windows durch. Dadurch wird vor der General Availability der Kryptosoftware ein wichtiger externer Qualitätssicherungsschritt durchgezogen. |
| Studie | Für die Zentrale eines Großkonzerns evaluieren wir mehrere Content Management Systeme, um eine Empfehlung für die zukünftige Plattformstrategie geben zu können. |
| Beratung | Für ein Großprojekt mit bis zu 60 Entwicklern an mehreren Standorten übernehmen wir zentrale Coaching- und Designaufgaben. Dabei wird insbesondere ein funktionstüchtiger Buildprozess auf Basis von Ant und Cruise Control aufgesetzt. Aufgrund der Teamgröße reichen rein technische Lösungen nicht aus, weswegen wir dem Kunden auch Empfehlungen zur Optimierung seiner Organisations- und Projektstruktur geben. |