Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Johannes Hampel
Pützemichweg 18
53773 Hennef
Fon: 01573 6931133
eMail: [email protected]
Web: http://johannes.hipphampel.de
KernkompetenzenSoftwareentwicklung
• Java (J2EE, JSE), Javascript, C/C++, Scala, weitere.• Frameworks/Standards, wie
z.B. Hibernate, Spring, EJB, ActiveMQ, XSLT, NoSQL, GWT, JSFund weitere.• Breit gefächertes technisches Know-How.
Software Architektur• Design, Konzeption von skalierbaren und robusten Enterpriseanwendungen.• Migration, Refactoring von (großen) Bestandsprojekten.
BerufserfahrungSeit 2014 freiberuflicher Softwareentwickler und Software Architekt1998-2014 als Softwareentwickler und -Architekt in Festanstellung, primär mit Java und C/C++
BranchenHandelITVersicherungenVerwaltung
Sprachkenntnisse/AuslandserfahrungDeutsch: MutterspracheEnglisch: fließendMitarbeit in internationalen Teams (Tschechien, Niederlande, GB, Indien)
ZertifikateCertified Professional for Software Architecture (iSAQB, 2012)Sun Certified Programmer for Java Platform (Sun, 2005)
Skills
Allgemeine Erfahrungen und Vorgehensweisen
UML, Architekturdokumentation, Datenbankmodellierung, Design von DSLsOOA, OOD, OOP, MDD, TDD, Codereviews, Agile
Programmier- und Markupsprachen
Legende: Experte Vertiefte Kenntnisse Grundkenntnisse
ABAPC/C++C#CobolGroovy
HTML, CSSJava (SE, EE)JavascriptObjective C
PerlPHPScalaShell Scripting
SQLVisual BasicXML, XSLT, XSDXText
Frameworks/Standards (Auswahl)
Legende: Experte Vertiefte Kenntnisse Grundkenntnisse
Javascript/RIAGWT, GXTDWRExtJSJSONjQueryVaadinJ2EE Frameworks/DIEJB (2.1, 3.x)CDISpring (div. Module)MessagingActiveMQJGroupsMobile AppsAndroid SDK
PersistenzEncinaHibernate/JPAJDBCJTA, XA StandardiBatisTestframeworksDBUnitJMock, MockitoJUnitSpring TestTestNGUIJavaFXJGoodiesSwing
Webservices, RemotingAxisCorbaCXFRMIRPCRESTSOAPWebtechnologien (Serverseitig)JFSJSPStrutsTapestry
... weitere:CallistoDOM/SAXJAXBJacksonStaXXercesJerseyActivity, jBPMARTSCOM/DCOMGDSNizPackJNILDAPSQLXPDL, BPMN
Betriebssysteme, Datenbanken, Plattformen, Werkzeuge (Auswahl)
Legende: Experte Vertiefte Kenntnisse Grundkenntnisse
BetriebssystemeAndroidLinux/UnixWindowsDockerBuildtoolsAntAutoconfGradleJenkinsMakeMaven
DatenbankenDB/2DerbyHSqlDB/H2MS SQLMySQLOraclePostgresSAP HanaSybaseNoSQL TechnologienCouchDBMongoDBElasticSearchNeo4j
IDE, ModellierungstoolsEclipseER StudioIntellij IdeaMagicDrawOmondoRational RoseTogether (Borland)Visual Studio
VersionskontrollecvsgitsvnWeb- & App- ServerApacheGlassfishJBossSAP NetweaverTomcatOracle Weblogic
Projektliste
Modernisierung einer GDSN Pool Software
Zeitraum: 01/2015 - heuteBeschreibung: Im Zuge einer Modernisierungskampagne sollten verschiedene Probleme derBestandssoftware nachhaltig gelöst werden, wie z.B. Performance, Stabilität und Skalierbarkeit. Dabei wurden eine ganze Reihe von Prototypen für bestimmte Problemfälle auf der Basis von neuen Technologien entwickelt und in die Bestandssoftware eingeführt.Beispiele sind etwa:
• Einführung von ElasticSearch als schnellere und stabilere Alternative zur alten, Oracle basierten Suche
• Auslagern der performancekritischen Persistenz in NoSQL Datenstores (hier: MongoDB)
• Einführung von JMS und Mule, um die nicht klar definierten Nachrichtenflüsse und Prozessketten auf eine klare und stabile Architektur zu stellen.
Position: EntwicklerTechnologien/Vorgehensmodelle: Java, Spring, CDI, JSF, ElasticSearch, JMS, CouchDB, MongoDB, Mule, Memcached, Agile
Produktdaten Export
Zeitraum: 09/2014 - 12/2014Beschreibung: Im Rahmen eines Projektes zur Verwaltung von (medizinischen) Produktdaten realisierte ich den Export von Produktdaten und Reports in diverse Ausgabeformate (Word, Excel, PDF, etc.) ausgehend vom proprietären Datenformat der Hauptanwendung.Position: EntwicklerTechnologien/Vorgehensmodelle: Java, Spring, GWT, Agile
GDSN Client (Approval)
Zeitraum: 06/2014 - 03/2015Beschreibung: Entwicklung eines GDSN Clients zum Empfang und zur Weiterverarbeitung diverser GDSN Nachrichtentypen. Die Gesamtapplikation (Approval) ist für Händler gedacht, welche aus dem GDSN Datenpool ihre Artikeldaten beziehen, diese prüfen und ggf. anreichern, um sie dann in ihre nachgelagerten Systeme zu exportieren. Meine primäre Aufgabe bestand in der Weiterentwicklung der Backendprozesse, welche für den Import und Export der GDSN Nachrichten zuständig sind (also Konvertierung der GDSN Nachrichten in interne Datenformate und anschliessende nachrichtentypabhängige Weiterverarbeitung) Da diese Prozesse in einem relativ großen Datenpool mit hohen Nachrichtenaufkommen eingesetzt werden, lag ein besonderes Augenmerk darauf, einen hohen Nachrichtendurchsatz und maximale Verarbeitungsgeschwindigkeit zu gewährleisten.Position: EntwicklerTechnologien/Vorgehensmodelle: Java, Spring, Oracle, JSF, Agile
Kassensystem
Zeitraum: 09/2012 - 05/2014Beschreibung: Neuentwicklung der Kassensoftware für einen Softwarehersteller im Bereich Handel. Besondere Anforderungen an die Kassensoftware waren neben hoher Verfügbarkeit und Performance die Stabilität und Wartbarkeit und Erweiterbarkeit. Implementiert wurde ein System in klassischer Dreischichten-Architektur, wobei der Servicelayer wahlweise lokal oder remote angesprochen werden kann.Das auf ARTS basierende Domänenmodel sowie die Modellierung der Businesslogik erfolgte mit Hilfe firmeneigener DSLs; die notwendigen Generatoren, um die Modelle in Code zu überführen, wurden mit Hilfe von XText realisiert.Position: Architekt, EntwicklerTechnologien/Vorgehensmodelle: Java, Swing, JavaFX, CXF, Spring, Derby, SAP, Hana, JPOS, XText, ARTS, MDD, TDD, Agile
PIM/MDM System
Zeitraum: 01/2008 - 08/2012Beschreibung: Als verantwortlicher Architekt in der Produktentwicklung für ein PIM System war ich in der ersten Zeit damit beschäftigt, ein recht monolithisches Produkt zu komponentisieren und mit Spring als Basistechnologie auf neue Beine zu stellen. Die besondere Herausforderung bestand darin, in diesem über mehrere Jahre andauernden Migrationsprozess ein stets funktionierendes, stabiles Produkt als Basis für Projekte zu liefern, ohne daß für die Projekte selbst ein zu hoher Migrationsdruck entstand. Im weiteren Verlauf unterstützte und beriet ich Projekte bei der Umsetzung der Kundenwünsche auf Basisdes PIM Produktes.Weiterhin etablierte ich eine Architekturdokumentation (basierend auf dem arc42 Template).Position: Architekt, EntwicklerTechnologien/Vorgehensmodelle: Java, Scala, EJB, Spring, Swing, CXF, Oracle, JBoss, GWT, Javascript, JSP, Profiling, TDD, Agile
BPM/DMS System
Zeitraum: 09/2004 - 12/2007Beschreibung: Meine Hauptaufgabe bestand in der Neuentwicklung eines kombinierten BPM/DMS Systems (auf Basis von Java mit J2EE/EJB) sowie der Wartung der Bestandssoftware (C/C++).Ziele der Neuentwicklung waren einerseits die Produkte der Firma auf ein aktuelles technologisches level zu heben und andererseits zwei vormals getrennte Produkte (BPM und DMS) wirklich zu integrieren. Dabei war ich primär mit Anforderungsanalyse, Designaufgaben, Prototyping und Codereviews beschäftigt, sowie mit dem Training der übrigen Projektmitglieder, welche weitestgehend aus der C/C++ Welt kamen und in die Java/EJB Welt erst einmal "eingeführt" werden mußten. Die Wartung der Bestandssoftware war vor allem durch die Analyse und Behebung von Performanceproblemen geprägt, hier wurden keine nennenswerten neuen Features mehr eingebaut.Position: Architekt, Entwickler
Technologien/Vorgehensmodelle: C++, Java, EJB, Swing, Oracle, DB/2, MSSQL, PostgesSQL, Sybase, Informix, Ingres, BEA Weblogic, Glassfish, JBoss, div. Unix Derivate, Linux, Windows, TDD, RUP
Workflow System
Zeitraum: 04/2001 - 08/2004Beschreibung: Als Entwickler in der Produktentwicklung war ich mit der Weiterentwicklung und Wartung eines Workflow-Management Systems betraut. Schwerpunktmäßig implementierte ich hier den serverseitigen Teil des Produktes, welcher in C/C++ geschrieben war. Neben der Intergration von LDAP Servern, dem Bereitstellen von COM Schnittstellen und eines Java APIs, standardisierte ich die Datenbankanbindung des Produktes, und implementierte eine multithreading fähige RPC Bibliothek auf Basis des quelloffenen Sun RPC. Weiterhin war ich damit beschäftigt, Teile der Application in die Java/EJB Welt zu migrieren.Position: EntwicklerTechnologien/Vorgehensmodelle: C/C++, RPC, EJB, Java, JNI, Oracle, DB/2, MSSQL, PostgesSQL, Sybase, Informix, Ingres, JBoss, div. Unix Derivate, Linux, Windows
Workflow System
Zeitraum: 08/1998 - 03/2001Beschreibung: In der Produktentwickung für ein Workflow-management Systems war ich alsSoftware-Engineer mit der der Weiterentwicklung des Produkts beschäftigt. Dabei portierte ich den Server auf die Windows Platform sowie nach Linux. Außerdem passte ich den Kern des Produktes an den XA-Standard an, damit dieser mit Hilfe eines Transaktionsmanagers (hier: Encina) an verteilten Transaktionen teilnehmen konnte. Neben weiteren Erweiterungen,wie etwa die Anbindung an Baan ERP oder der Komponentisierung der Software, war ich mit Bugfixing und Performanceanalysen beschäftigt.Position: EntwicklerTechnologien/Vorgehensmodelle: C/C++,Oracle, DB/2, MSSQL, PostgesSQL, Sybase, Informix, Ingres, div. Unix Derivate, Linux, Windows