Enterprise Software mit Java und Linux
[ start | index | login ]

start

Created by Axel. Last edited by Axel, 196 days ago. Viewed 17,091 times. #46
[diff] [history] [edit] [rdf]
labels
attachments
axel_mueller_20090719.jpg (118809)
axel_mueller_20090719.jpg
Axel Müller
Auf diesen Seiten geht es um meine freiberufliche Tätigkeit als

Berater/Entwickler für Enterprise-Systeme auf Basis von Java/J2EE

  • Name: Axel Müller
  • Geboren: 1971
  • Abschluss: Diplom-Betriebswirt (FH)
Kontakt Verfügbarkeit: 01.01.2013

 

Obwohl ich mich seit 1999 mit Java/J2EE beruflich beschäftige, machte ich mit dem Wechsel in die Freiberuflichkeit im Jahr 2002 aus der Not ein Tugend: Mein damaliger Arbeitgeber beendete seine operativen Tätigkeiten und ich wurde gefragt, ob ich das Projekt weiterführen möchte. Ohne eine solche Situation hätte ich den Schritt in die Selbständigkeit vermutlich nicht gewagt ...

Am Beginn meiner freiberuflichen Aktivitäten stand die Suche nach einem Namen, der einen Bezug zum Inhalt meiner Tätigkeit hat und der als Internet-Domain noch zu haben ist. Als Ergebnis einer Wortspielerei entstand dabei aus den Worten Java und Linux das Verschmelzungswort avanux.

Kompetenzen

In meinen bisherigen Projekten war es oft so, daß ich neben den typischen Entwicklungstätigkeiten durch mein Know-How bestimmte Aspekte des Entwicklungsprozesses und der Entwicklungsumgebung maßgeblich prägen konnte, was wiederum dazu geführt hat, daß ich mein Know-How in diesen Bereichen weiter vertiefen konnte.

Build-Automatisierung/platformunabhängige Entwicklungsumgebungen

Die Gestaltung von Entwicklungsumgebungen hat erheblichen Einfluß auf die Effizienz und die Motivation der beteiligten Entwickler. Aus meiner Erfahrung kann ich sagen, daß die Automatisierung oft unzureichend ist und nicht adäquat zur Team-Größe ist. Auch der Aspekt der Platform-Unabhängigkeit, die durch Java/J2EE eigentlich gegeben ist, wird durch suboptimale Entwicklungsumgebungen unnötig geschwächt. In meinen bisherigen Projekten hatten wir spätestens in den letzten Projektphasen heterogene Build- und Testumgebungen, sodaß es sich bewährt hat, daß ich bereits in den frühen Projektphasen Wert auf eine platformunabhängige Build- und Testumgebung Wert gelegt hatte.

Test-Automatisierung (Continuous Integration)

Es erstaunt mich immer wieder, wenn in Projekten das Erstellen und automatisierte Ausführen von Tests als verzichtbarer (angeblich zu aufwendiger) Luxus dargestellt wird. Auch hier hängt die Motivation der Entwickler hauptsächlich davon ab, daß der Aufwand zur Testerstellung und -ausführung möglichs gering ist z.B. durch Anpassung von Standard-Testframeworks an die technische Architektur und Platform. Eine automatisierte Testumgebung, die unabhängig von der Entwicklungsgebung sein sollte, gibt den Entwicklern autmatisch zeitnahes Feedback über die Testergebnisse. Das führt mit steigenender Testabdeckung (die natürlich überwacht wird) zu einer deutlichen Qualitäts- und Effizienzsteigerung.

Performance-Tests / Profiling

In den meisten Enterprise-Projekten geniessen in der Anfangsphase funktionale Aspekte die höchste Priorität, weil meist unterstellt wird, daß die eigene Anwendung skaliert, weil ja man schließlich auf einer skalierenden Platform aufsetzt. Die Ernüchterung kommt dann in den späteren Projektphasen, wenn erste Tests zeigen, daß sich die Performance-Anforderungen des Kunden so nicht erfüllen lassen. Um diese Situation zu vermeiden, ist die Erstellug eines Konzeptes zur kontinuierlichen Messung der Performance relevanter Business-Transaktionen unerlässlich. Darauf aufbauend muß eine Umgebung mit entsprechenden Tools aufgebaut werden, die - idealerweise ebenfalls automatisiert - die aktuellen Performance-Zahlen liefert. Der Einsatz eines klassischen Profiling-Tools zur Analyse von Performance-Bottlencks ist meiner Erfahrung nach in Enterprise-Projekten nicht praktikabel.

Modellgetriebene Softwarentwicklung

In den letzten Jahren gab es signifikante Fortschritte im Bereich der modellgetriebenen Softwareentwicklung. Während man bisher auf UML zur Modellierung festgelegt war, kann dies heute besipielsweise auch textuell oder in XML erfolgen. Speziell textuelle Modelle machen die Erstellung von Modellen für Entwickler relativ einfach, inklusive voller Unterstützung durch die IDE (Auto-Completion, Outline, ...). Der Vorteil liegt darin, dem Entwickler Abstraktionen auf bestimmte Aspekte der Platform (z.B. Persistenzmechnismus) zu bieten und ihn von lästigen Routine-Programmierungen freizustellen, sodaß er sich auf die Erstellung von Geschäftslogik und zugehöriger Tests konzentrieren kann.

Android

Seit der Verfügbarkeit der ersten Android-Handies beschäftige ich mich im Rahmen eigener Projekte mit Android, weil ich davon ausgehe, daß diese Platform auch für Enterprise-Software als mobiles Terminal eine bedeutende Rolle spielen wird. Die von mir entwickelten Android-Anwendungen sind über den Android-Market verfügbar.
no comments | post comment
Verzeichnis
CV & Referenzen
Java
Linux
Android
Howto



Meine Platformen
>>GULP (ID 57470)
>>Xing
>>RESOOM
>>Fruuts


< May 2012 >
SunMonTueWedThuFriSat
12345
6789101112
13141516171819
20212223242526
2728293031

XHTML 1.0 validated
CSS validated
RSS 2.0 validated
RSS Feed

Free counter and web stats



Edit menu

Powered by SnipSnap 1.0b1-uttoxeter

snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt