Qualifikationen und Projektdetails Ralf Wilhelm Eichinger Beruflich / Ausbildung 10/12 - 10/13 Projekt “Mammasoft 4: Mammographie-Screening Portal” • Weiterentwicklung und Modernisierung einer bestehenden Servlet/XSLT-basierten Webanwendung • Frontend-Layer: Neu-Design und Architektur der GUI mit Apache Wicket • Implementierung und Einführung einer allgmeinen Wicket-Komponenten-Bibliothek • Definition und Implementierung von Blueprints und Best Practices für die anderen Entwickler bei der Verwendung von Wicket im Allgemeinen und der firmenspezifischen Bibliothek im Besonderen • Konzept und Implementierung von Eingabe- und Anzeigeseiten, Validierung, dynamisches GUI-Verhalten (Ajax) • Diskussion und Spezifikation fachlicher Requirements, Umsetzung der Requirements in automatisiert testbare SBEs (Specification by Example) • Implementierung fachlicher Funktionalitäten von GUI bis Datenbank (alle Schichten: Frontend-, Business-, Backend-Layer) • Vorgehensmodell: SCRUM, TDD (Test-Driven-Design), SBE (Specification by Example) • Auffinden und Beheben von Performance-Hotspots mit JProfiler Technologien: Apache Wicket, Java, HTML/CSS, Spring Framework, Hibernate, Hibernate Criteria, flyway DB, JUnit, JBehave, Subversion, Eclipse, NetBeans, Jenkins, Sonar, Jira, Nexus, Maven, Jetty und Tomcat, Apache httpd/nginx, Linux, Oracle DB 03/11 – 09/13 Projekt “Partner-Portal” • Architektur, Design und Implementierung eines Partner-Portals • Requirements-Engineering • Modellierung Domain-Objects • Mehrsprachige Frontend-Implementierung (Apache Wicket) • Business-Layer (Design, Implementierung) • Backend-Layer (Datenbank Modellierung und Persistenz, Anbindung Bezahlsysteme, Mail-System) Technologien: Java, HTML/CSS, Apache Wicket, Spring Integration, Hibernate, hibernate-generic-dao, flyway DB, JUnit, Velocity, JavaMail, Subversion, Eclipse, Jenkins, Jira, Nexus, Enterprise Architect, Maven, Spring Beans, Jetty/Tomcat, Apache httpd, Linux, PostgreSQL DB 04/12 – 07/12 Giesecke & Devrient 3S GmbH, München Projekt “TSM Service Provider Server” Der ServiceProvider-Server im NFC-Trusted Service Manager (TSM) Ökosystem bietet dem Service Provider (meist Bank, die eine Kreditkarte provisioniert) verschiedenste Administratinsmöglichkeiten und die Schnittstelle zum TSM. • Gesamten Server als einziger Architekt u. Entwickler umgesetzt. • Architektur, Design und Implementierung eines Servers, der im TSM-Ökosystem auf seiten des ServiceProviders zum Einsatz kommt. • JSON-Schnittstelle zu Handsets mit Whitelist-Check • • WS-Schnittstelle zu TSM Endgeräte-Verwaltung über eigene Datenbank • Whitelist-Import-Tool und Whitelist-Authorisierung Technologien: JSON-RPC, Android, Java, Spring Web Services, Webservice Security, JAXB, Hibernate, hibernate-generic-dao, flyway DB, JUnit, Subversion, Eclipse, Jenkins, Jira, Nexus, Enterprise Architect, Maven, Spring Beans, Jetty/Tomcat, Apache httpd, Linux, Oracle DB 04/11 – 04/12 Giesecke & Devrient 3S GmbH, München Projekt “Trusted Service Manager” (NFC Mobile Payment) NFC TSM und NFC Enabler ermöglichen die Personalisierung von Mobile Devices over the air (OTA), z.B. Einrichtung und Personalisierung einer virtuellen Kreditkarte auf dem Handy. NFC (Near Field Communication) ermöglicht sicheren Datenaustausch über sehr kurze Entfernungen, z.B. Bezahlen per Handy durch Auflegen auf ein Lesegerät. • Design und Implementierung externer Webservice-Schnittstellen entsprechend der GlobalPlatform Spezifikation. • • Tech Lead und Projektmanagement für die Einführung des TSM (für Provisioning von VISA-Kreditkartenfunktionalität auf Android-Handys) für einen großen Chiphersteller auf dessen ersten Handy-Prototypen. Implementierung von Demo-GUIs und Android-Wallet Technologien: JSON-RPC, Android, Swing, Java, Spring Web Services, Webservice-Security (WS-Sec), JAXB, JUnit, Subversion, Eclipse, Jenkins, Jira, Nexus, Enterprise Architect, Maven, Spring Beans, Jetty/Tomcat, Apache ActiveMQ (JMS), Apache httpd, Linux, Oracle DB 12/10 – 03/11 Giesecke & Devrient GmbH, München Projekt “Instant Credit Card Issuance System (IIS)” IIS ist eine Kiosk-Anwendung mit Server-Backend zur Personalisierung und Produktion von Kreditkarten “On Demand” durch den Kunden selbst oder einen Bankmitarbeiter. • Architektur und Implementierung Enterprise Integration über Webservices • Definition und Implementierung eines Test-Frameworks für Unit-, Integrations- und Lasttests • Definition Java-Toolchain für die Division • Unterstützung bei der SCRUM-Einführung Technologien: Spring Web Services, JAXB, JUnit, ContiPerf, ClearCase, Eclipse, Enterprise Architect, Maven JEE, Spring Beans, Jetty/Tomcat, Apache httpd 05/09 – 11/2010 Giesecke & Devrient GmbH, München Projekt “VMS NG” (Vault Management System Next Generation) VMS NG ist eine Client-/Server-basierte Anwendung zur Verarbeitung und Verwaltung der ein- und ausgehenden Geldströme (z.B. Banknoten) für CashCenter von (Zentral-)Banken. (Unterstützt u.a. Daily Delivery, Processing, Order-Management, Shipping, Reporting und Administration) • Aufnahme von Stakeholder-Requirements • Spezifikation von System-Requirements • JEE-Architect des gesamten Java-MiddleTiers (Webservice- und Webclient- bis Persistence- und Integrations-Layer) • Design und Implementierung von Prototypen • Konzeptionierung, Prototyping und Framework-Entwicklung aller Ebenen • Evaluierung alternativer Enterprise-Service-Bus-Produkte • Rekrutierung und Java-Team-Lead des internationalen Teams in München/Kanada • Einrichtung der gesamten Entwicklungsumgebung und Infrastruktur Übergabe des Projekts nach erfolgreicher Architekturund Konzeptphase und Zertifizierung nach CMMI3 Technologien: Subversion, Hudson, Doors, JTrac, Archiva/Nexus, Liferay Social Office, Email- und Database-Server (unter Linux), Eclipse, Enterprise Architect, Maven JEE, Wicket, HTML/CSS/JavaScript/AJAX, Oracle, Spring Web Services, JAXB, Spring Beans, Spring Integration, Spring AOP, Spring Security, JPA/Hibernate, Drools Flow, slf4j/logback, Junit, Jetty/Tomcat, Apache httpd • 01/09 – 04/09 CSC Deutschland Solutions GmbH, München Projekt “PTS” (Payment Transaction System) PTS ist eine Client-/Server-Software für die Durchführung von weltweiten Groß-Transaktionen zwischen Banken auf Basis internationaler Standards (SWIFT, SEPA, DTA, etc.). • Application Architect der PTS-Produktgruppe • Konzeptionierung und Entwicklung der Webanwendungs-Schicht auf Basis des Web- Frameworks Wicket • Konzeption und Implementierung eines Sicherheitsmechanismus, um kritische Transaktionen (s. “Lehmann Brothers” Transaktion über 300 Mio., die über diese Software lief) in Zukunft mehrfach abzusichern (in Smalltalk) • Konzeption und Implementierung des EU-Embargos, um Transaktionen an international geächte Personen(gruppen) zu verhindern (in Smalltalk) • Unternehmen verlassen, da weitere Migration von Smalltalk auf eine JEE-Architektur auf unbestimmte Zeit verschoben wurde Technologien: JEE, Wicket, HTML/CSS/JavaScript, DB2, Oracle, Eclipse IDE, SVN, VisualAge Smalltalk 08/00 – 12/08 rbg eG / Fiducia IT AG, München Projekt “XBF” (Extended Banking Framework) XBF erweitert das Fiducia-eigene JBF (Java Banking Framework, Swing-UI bis Host-Anbindung) um die Möglichkeit der automatischen Umsetzung als Webanwendung • Architekt und Entwickler des Webanwendungs-Frameworks auf Basis einer oberflächenneutralen XML-UI-Spezifikation • Architekt und Entwickler des “Content-Aggregators”, der es erlaubt Inhalte verteilter Webanwendungen (unterschiedlicher Technologien) in einem Portal zu vereinen (ohne Frame-Technologie!) Technologien: Java, Servlet API, HTML/CSS/Javascript/AJAX, Regular Expressions, XML/JDOM, Spring Projekt “eBanking/eBrokerage” Online-Banking/Brokerage aller deutschen Volks- und Raiffeisenbanken (10 Millionen Transaktionen/Tag) und diverser Privatbanken (u. a. MLP, PSD) • Programmierung und Webdesign der Anwendungen “eBanking Private Edition”, “eBanking Business Edition”, “eBanking Classic Edition” auf Basis des Frameworks JBF/XBF Technologien: Framework XBF/JBF, Java, HTML/CSS/Javascript, XML/XSL, Junit, Spring, JAXB, DB2 Host, Solaris, Apache, Tomcat, Eclipse IDE, CVS, SVN, Innovator (UML) Projekt “IPO-Server (eBrokerage)” Zentraler Server, über den die Zentralbank Aktien-Neuemissionen verwalten kann (Weboberfläche) und verteilt (XML-Service-Schnittstelle) • Programmierung und Webdesign der Webanwendung Technologien: Framework Struts, Java, HTML/CSS/Javascript, XML, EJB2, DB2, WebSpere Application Server, WSAD IDE, CVS Projekt „www.myshop.de“ eCommerce/Online-Shop-Plattform für mittelständische Unternehmen (u. a. für Starkoch Schuhbeck) • Neu-Implementierung der eCommerce-Plattform auf Basis von JX (s. Projekt „www.vr-web.de“) • Migration von Windows, IIS, ASP auf Linux, Apache, Tomcat, Java • Team-Lead und Umschulung der Entwickler von ASP nach Java Technologien: Java, Framework JX, HTML/CSS/Javascript, JDBC/SQL, DB2, Apache, Tomcat, Eclipse, CVS Projekt „www.vr-web.de“ Internet-Provider-Service der Volks- und Raiffeisenbanken (wie T-Online oder Alice) • Konzeption und Implementierung des Java-Webframeworks “JX” (2 Jahre vor Struts... und heute noch produktiv im Einsatz) • Entwicklung und Webdesign des Login- / Privatbereichs für die VRWeb-Kunden (u. a. Registrierung, Webmail, Pflege persönlicher Daten) auf Basis von JX • Schulung und Coaching der Entwickler der Abteilung: „JX“, „XML/XSL“ • Konzeptionierung und Einführung der Entwicklungsumgebung der Abteilung (Linux, Wine, JDK, Forte IDE) Technologien: Java, Servlet API, Xalan/Xerces, Framework JX, HTML/CSS/Javascript, XML/XSL, JNDI,JDBC/SQL, DB2 Host, JavaMail API, QFLog, Apache, Tomcat, Eclipse, CVS, Linux, Shell-Skripte 01/99 – 07/00 itrade AG, München Projekt „www.itrade.de“ Mandantenfähige (B2C und B2B) Online-Auktionsplattform (vergleichbar mit eBay) • Java-Developer mit itrade-eigenem Web-Framework • Customizing, Webdesign und Betreuung von über 30 Online-Auktionen auf Basis der Technik von itrade (u. a. für Pro Sieben, CHIP, TVToday, Deutsche Telekom, Der Spiegel, Tomorrow, Prinz, GMX, Wer liefert Was) • Unternehmen nach Markteintritt von eBay und bevorstehender Insolvenz verlassen Technologien: Java, iTrade-FW, HTML/CSS/Javascript, XML/XSL, Apache, Jrun, Linux, Solaris, JDBC, SQL, DB2, XEmacs, CVS) 05/97 – 12/98 Isar-Amperwerke AG / eon, München Projekt „Mobiles Computing im Aussendienst“ Stromzähler-Auslesesoftware für Notebooks über serielle Infrarotschnittstelle • Programmierung • Installation, Konfiguration und Administration von 200 Aussendienstmitarbeiter-Notebooks und zugehöriger Hardware (Drucker, Koffer, Router für Datenübertragung zur Zentral-Datenbank) • Dokumentation und Schulung der Aussendienstmitarbeiter Technologien: Visual Basic, Microsoft Access, SQL, Batch-Skripte, DOS, Windows 3.1 Projekt „Datenanalyse-Tools“ • Planung, Konzeption und Programmierung eines Datenanalyse-Tool unter Excel mit Datenschnittstelle zu Oracle DB • Entwicklung mehrerer Datenverarbeitungsprogramme Technologien: VBA unter Excel, SQL, ODBC, Oracle DB, Perl Projekt „Intranet“ • Programmierung einer Volltext-Suchmaschine • Programmierung und Webdesign einer Fachzeitschriften-Verwaltung Technologien: Perl, CGI, Apache, HTML, HP Unix,, OmniHTTPD, HTML, Windows 11/96 - 04/97 Bayernwerk AG, München Diplomarbeit „EDV-gestützte Bestimmung der Materialerschöpfung hochbelasteter dampfführender Bauteile in Wärmekraftwerken“ • Entwicklung von Algorithmen zur Berechung des Erschöpfungsgrades von Hochdruck-Dampfleitungen (TÜV-zertifiziert) • Grafisches Überwachungsprogramm für Hochdruck-Bauteile in Kraftwerken (TÜV-zertifiziert) (wurde für 80.000 DM verkauft) Technologien: Fortran 77, C, VBA unter Excel 11/91 - 04/97 Technische Universität, München Semesterarbeit (1996) • Konstruktion des Hörsaalgestühls für den Audimax der neuen TU in Garching (CAD, Mensch-Simulation „Ramses“ von BMW) Semesterarbeit (1995) • Auswertungsprogramme für Versuchsergebnisse (u. a. dynamische Erzeugung von Kurvendiagrammen) (VBA (Visual Basic für Applikationen) unter Excel) Wahlfach „CAD Thermodynamik“ • Tutor (Übungsleiter) des CAD-Kurses (CAD) Wahlfach „Expertensysteme“ (1996-1997) • Tutor (Übungsleiter) des Wahlfachs „Expertensysteme“, Entwicklung eines Expertensystems „Gußgerechte Konstruktion“ (HyperCard, MacOS) Privat / Nebenberuflich Projekt “OMS“ Webanwendung zur Verwaltung beliebiger Objekte anhand von QR-Codes (Framework Wicket, QR-Code-Libs, ...) Opensource-Projekt „pixoCMS light“ (s. SourceForge) Entwickler des CMS (zur Pflege von Webseiten), bei mehreren mittelständischen Firmen im Einsatz (Framework Struts, später Neuimplementierung mit Framework Tapestry, Java, HTML/CSS) Projekt „pixoCMS“ Hierarchisches WYSIWYG-CMS zur Wissensverwaltung oder als Homepage-CMS Eigenentwickelter WYSIWYG-Editor, indizierte Volltext-Suche, Kategorisierung (Framework Wicket, Java, Lucene, …) Projekt „www.umgebungsplan.de“ Kostenloser Service zur Erstellung eines persönlichen Umgebungsplanes/Anfahrtsplanes auf Basis von Google Maps zur Einbindung in Homepages/Mail-Signaturen Entwicklung und Webdesign (Framework Click, Java, HTML/CSS) Webhosting und Webdesign Betrieb eigener Root-Server für Hosting von Websites und Webanwendungen, Mail-Dienste Webdesign für kleine und mittelständische Unternehmen Entwicklung, Webdesign, Administration (Java, HTML/CSS/Javascript, Linux, Apache, Tomcat, MySQL, PostgreSQL, Postfix Mailserver, CMS Typo3, Gimp) Einige Referenzen: www.envi-con.com, www.idoneus.de, www.keb-regensburg.de Auftragsprogrammierung Online-Recruitment-Plattform „pixotec eRecruitment“ bietet Bewerbern die Möglichkeit der Online-Bewerbung (inkl. Upload) und dem Stellenausschreiber einen Admin-Bereich zur Verwaltung der eingehenden Bewerbungen (Framework Wicket, Java, …) Entwicklung von Programmen zur Auswertung von Daten des menschlichen Genoms in Zusammenarbeit mit Wissenschaftlern (University of Leicester, Department of Genetics) (Perl) Fachlektorat Computerverlag Addison&Wesley/Markt+Technik Fachlicher/Technischer Berater und Korrektor für den jeweiligen Buchautor Referenzen: „Apache Webserver 2 - Installation, Konfiguration, Programmierung“ „J2EE Developer's Guide . JSP, Servlets, EJB 2.0, JNDI, JMS, JDBC, Corba, XML, RMI“ (Autor des Kapitels „J2EE - Installation und erste Schritte") „Java 2 - MAGNUM . kompakt, komplett, kompetent“ „Java 2 Kompendium Java für Einsteiger und Profis“ Fachautor für Fachzeitschriften Linux intern: Artikel „David gegen David“ (Vergleich mehrerer sog. Mini-Distributionen) Internet intern: Artikel „AJAX für Einsteiger“ (hierzu entwickelte AJAX-Demo-Anwendungen http://www.pixotec.de/demo/pixoFeed/, RSS-Reader) (Javascript, AJAX) Web-Adressbuch CRUD-Anwendung zur Verwaltung der privaten Kontakte (Framework Wicket, Spring, Hibernate/iBatis, MySQL, Tomcat, Linux) Online-Lexikon „www.alexandria.de“ seit 1997 online, schon lange vor „Wikipedia“. Neue Version auf Basis pixoCMS (Framework Wicket, …) Eigene Linux-Distribution „gecko OS“ basiert auf Slackware und Equinox Desktop (Slackware Linux (alternativ OpenBSD), Shell-Programmierung) Portal-/Portlet-Entwicklung Gewinner eines Programmierwettbewerbs des JBoss-Portal Projekts: erstes Portlet auf Basis des Frameworks Tapestry für JBoss-Portal entwickelt (s. http://labs.jboss.com/portletswap/portlets_framework.html „Tapestry Portlet“) (Framework Tapestry, …)