Senior Berater JAVA, Java EE und Oracle
Aktualisiert am 15.02.2018
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.04.2018
Verfügbar zu: 100%
davon vor Ort: 100%
Deutsch
Englisch
fliessend, 4 Jahre US Aufenthalt

Einsatzorte

Einsatzorte

München (+100km) Mindelheim (+100km) Erlangen (+100km) Deggendorf (+75km)

Deutschland: Präferenz: München

nicht möglich

Projekte

Projekte

August 2016 ? Oktober 2016

Experimentalprojekt

Die Funktionalität des JEE 7 Experimentalprojekts (Online Bank, Juni 2014 ? Dez 2014) habe ich erweitert. Die neuen Use Cases führten zu Erweiterungen in allen Schichten des Gesamtsystems. Einige Erweiterungen wurden gezielt durch den Einsatz von CDI Decoratoren implementiert.

__________________________________________________________________________________

Januar 2015 ? April 2015

Einarbeitung und Experimentierung mit dem AngularJS Stack.

(JavaScript, Node.js, Deployd, CSS, AngularJS)

__________________________________________________________________________________

 

Juni 2014 ? Dec 2014

Experimentalprojekt

 

Das Ziel des Projektes war es, nach der anderthalbjährigen Tätigkeit in der CORBA orientierten Flughafenumgebung ein reines JEE 7 Projekt zu Übungszwecken durchzuführen.

 

Im eigenen Netzwerk wurde die Projektumgebung auf mehrere Rechnern verteilt mit den folgenden Komponenten aufgesetzt:

 

VisualSVN Server für Source Code Version Control

Hudson Server für Continuous Integration

Nexus Maven Repository Manager

Oracle XE DB für die Java Persistenz

Glassfish 4 JEE 7 Application Server

Eclipse IDE für die JEE Entwicklung

Android Studio für die Android App Entwicklung

 

Die Entwicklung einer online Bank wurde als Projektziel gewählt. Die online Bank wurde als eine Webanwendung geplant, die auch SOAP und REST Interfaces anbietet.

 

Als bankenspezifische Use Cases wurden die Verwaltung der Bankkunden und ihrer Konten definiert. Die kundenspezifischen Use Cases beinhalteten die Buchung von Geldbeträgen auf und von diversen Konten, sowie die Abfrage der Kontenstände. Die Security Roles unterscheiden zwischen Administratoren und Kunden, wobei für den authorisierten Zugang jeder User sich eigens authentifizieren muß.

 

Die serverseitige Entwicklung wurde als ein Multimodule Maven Projekt mit Eclipse durchgeführt. Von der CDI Funktionaltät wurde im Gesamtprojekt intensiv Gebrauch gemacht. Zu jedem Modul wurden mit Hilfe des EasyMock Frameworks JUnit Tests erstellt. Das Projekt hat die folgenden Module:

 

bankModel: Implementiert die grundlegenden persistenten Modelklassen Customer, Address, Account. Diese wurden mit JPA, JAXB, und JAX RS Annotationen versehen, um JPA, SOAP und REST zu unterstützen.

 

bankWeb: Implementiert die JSF 2.0 relevanten Artifakten, wie JSF Pages und CDI Beans (früher Managed Beans)

 

bankWebHelper: Kleines Modul für die saubere Trennung der ActionListener JSF Klassen.

 

bankEjb: Implementiert die ViewData Klassen, Session EJBs und DAOs. Das Modul ist die zentrale Stelle für die Business Logik. Aus diesem Grunde wurden hier neben den EJB Annotations auch die Security Annotations eingesetzt.

 

bankWS: Implementiert die SOAP Web Services. Ein Nebenprodukt dieses Moduls war die Erstellung eines eigenen Maven JAX-WS Web Service Archetypes, weil auf dem Web kein akzeptabler Maven Archetype für Web Services gefunden werden konnte.

 

bankRS: Implementiert die RESTful Web Services. Diese sind in der Lage sowohl XML als auch JSON Format zu benutzen.

 

bankEar: Dieses Modul erzeugt die ear Datei, die auf dem Application Server als die gesamte Webanwendung installiert wird.

 

Während der Entwicklung wurden durch Hudson  die JUnit Tests (aus dem Maven Build) angestoßen. So wurde sichergestellt, dass im Laufe der Entwicklung viele Bugs frühzeitig abgefangen werden konnten.

 

Das voll funktionsfähige WebGUI beinhaltet insgesamt neun JSF Seiten. Für die Überprüfung der SOAP und REST Interfaces wurden einfache Java Klienten erstellt, die von der Befehlszeile aufgerufen werden können.

 

Nach der Einarbeitung in die mobile Android Technologie wurde aufbauend auf das REST Interface auch ein Android App mit Android Studio erfolgreich entwickelt und auf einem Nexus 9 Android Tablet installiert. Dieses ermöglicht Klienten die Abfrage ihrer Kontostände von mobilenen Geräten.

 

---------------------------------------------------------------------------------------------------------------------------------------

Januar 2013 - Mai 2014

Java Entwickler / Flughafen München

 

Am Flughafen München entstanden in den letzten Jahren zahlreiche Java Anwendungen. Historisch bedingt sind diese auf CORBA Basis in einem verteilten System organisiert. Für einige Anwendungen gab es die neue Vorgabe, mit Systemen der Lufthansa auf nicht-CORBA Basis zu kommunizieren.

 

Für die Zusammenarbeit zwischen den Systemen der Lufthansa und des Flughafens wurde von der Lufthansa ein sessionorientiertes, XML basiertes Kommunikationsprotokoll neu entworfen. Die Messageformate werden pro Anwendung mit Hilfe von XML Schemata spezifiziert. Als Transportschicht wird JMS verwendet.

 

In der jüngsten Vergangenheit gab es erfolglose Versuche, einen sog. Adapter zu entwickeln, welcher die Kommunikation über das neu spezifizierte Protokoll mit den Lufthansa Systemen ermöglicht. Mein Auftrag war, den Adapter nach den erfolglosen Versuchen endlich zu realisieren. Zuerst erstellte ich ein ausführliches Analyse und Design Dokument auf UML Basis. Für die Implemetierung der Protokoll Engine erstellte ich ein Finite State Machine basiertes Framework. Die von mir entworfene Multithreading Architektur des Adapters sorgte für hohe Performance. In der Implementierung wurde JAXB 2, JPA 2, JMS eingesetzt. Für die Wiederverwendbarkeit in den verschiedenen Anwendungen wurde Generics intensiv benutzt. Zahlreiche JUnit Testfälle sorgten für eine hohe Testabdeckung unter dem Einsatz von Easymock. Ein von mir entwickeltes zusätzliches Testtool half Schwächen selbst in der Protokollspezifikation zu entdecken. Der Adapter ist z.Z. für zwei Anwendungen bereits in der Produktion.

 

 

 

Umgebung:

Java 5

CORBA

Windows / UNIX

Eclipse

JAXB 2

JPA 2

JMS

JUnit

Easymock

 


Mai 2012 - August 2012

Java Entwickler / Telekommunikation

 

1. Erweiterung von sog. Adaptorklassen, die RESTful Webservices mit SOAP Webservices verbinden. Die Erweiterung sorgt für die Implementierung der neu spezifizierten Fehlerbehandlung im Gesamtsystem.

 

2. Entwicklung von JUnit Tests, um die Erweiterungen zu testen. Dabei wurde der Mockito Mocking Framework eingesetzt.

 

3. Eigene Idee, Konzept, Implementierung:

Entwicklung eines Frameworks, um mehrere Tausend Lines of Code der Adapterklassen zu ersetzen. Das Framework stellt Klassen und Interfaces zur Verfügung (nur ca. 100 Lines of Code) und benutzt eine DROOLS Rule Engine. Adapterklassen müssen dann nicht mehr entwickelt werden, und die bereits vorhandenen erübrigen sich. Statt dessen können alle Adapters mit Spring sehr einfach konfiguriert werden.

 

Umgebung:

Java 6.0

WebLogic Server

JAX-RS

JAX-WS

Spring

Maven2

JUnit

Mockito

Hudson

Subversion

Eclipse

Linux

DROOLS

 

 


Mai 2011 ? April 2012

Weiterführung des Projektes: Entwicklung eines webbasierten ERP Systems in Java für die optimale Terminplanung.

 

Das webbasierte System baut auf meine frühere Forschung an der Carnegie-Mellon University im Bereich der Enterprise Resource Planning und hat zum Ziel, eine bessere Planung von Elternsprechtagen in Schulen zu ermöglichen. Die Schwierigkeit bei derartigen Systemen liegt darin, dass sie NP-hart sind, d.h. die Lösungszeit nimmt mit der Problemgrösse exponentiell zu. Diese muss überwunden werden.

 

Das System berücksichtigt die Gesprächswünsche der Eltern (mit welchen Lehrer sie sprechen wollen), ihre Präferenzen (ungefähr wann sie die Gespräche führen möchten) und die Wünsche der Lehrer (wann sie keine Gespräche führen können/möchten). Das Ergebnis der optimalen Terminplanung ist, daß die Eltern möglichst in der für sie idealen Zeitperiode ihre Gespräche führen können und zwischen einzelnen Gesprächen keine Wartezeiten in Kauf nehmen müssen, wobei auch der zeitliche Aufwand für die ganze Veranstaltung auf ein Minimum reduziert wird.

 

Das Domain-Modell ist überdurchschnittlich komplex (18 Entities mit zahlreichen Assoziationen). Für die Objektpersistenz wurde JPA/Hibernate/Oracle 11 eingesetzt. Die Business Logik ist in Session EJBs untergebracht. Für die Entkopplung des langläufigen Business Prozesses von den Input Events wurde JMS verwendet. Neben der JSF 2.0 GUI wurde auch ein SOAP Webservice Interface erstellt.

CDI (JEE 6) wurde für die ?wiring? eingesetzt. Sourcecode Verwaltung mit Visual SVN. Build Management mit Maven2/Subclipse/Sonatype Nexus. Das System läuft auf Glassfish V3.

 

 

 

Umgebung:

Java 6.0

Maven2

SVN

Sun Glassfish Enterprise Server 3.1.2

Oracle 11 Datenbank

EJB 3.0

JSF 2.0

JMS

JAX-WS 2.0

Hibernate/JPA

CDI

Eclipse

 


Februar 2011 ? April 2011

Java Entwickler / Telekommunikation

 

Unterstützung einer GIS Anwendung

 

(1)Test von JAX-WS Web Services.

(2)Design und Entwicklung eines Expertensystems für die Analyse von potentiell unvollständigen deutschen Adressen unter Verwendung der drools Rule Engine:

Eine Addressline wird vom Benutzer als String eingegeben, deshalb kann sie beliebig fehlerhaft und beliebig unvollständig sein. Man erwartet jedoch, dass in der Addressline Komponenten einer deutschen Adresse ? nicht unbedingt alle und in fast beliebiger Reihenfolge ? vorkommen. 

(z.B.: ?Bad Neustadt an der Saale Strxxe der 17 Juni 23 97616?) Durch die Analyse werden die Bestandsteile der Adresse (PLZ, Ort, Strasse, Hausnummer) im String identifiziert.

 

 

Umgebung:

Java 5

JAX-WS

JUnit

Tomcat

Eclipse

drools Rule Engine

 

 

 


November 2010 ? Februar 2011

Weiterführung des Projektes: Entwicklung eines webbasierten ERP Systems in Java für die optimale Terminplanung.

 

Siehe Beschreibung weiter oben.

 


 

 

Juli 2010 ? Oktober 2010

Java Entwickler / Automotive

Migration von diversen J2EE Anwendungen von Weblogic 8.1. Application Server auf

Weblogic 10.1 und auf Glassfish 2.1.1 Application Server.

 

Umgebung:

Java 5

Weblogic 8.1

Weblogic 10.1

Glassfish 2.1.1

JAAS

Linux

 


 

Dezember 2009 ? Juli 2010

Entwicklung eines webbasierten ERP Systems in Java für die optimale Terminplanung.

 

Siehe Beschreibung weiter oben.

 


Juni 2009 - Dezember 2009
Project: Siemens General Distribution Service
Senior Entwickler / Siemens AG

Im Project Siemens General Distribution Service das konzertweite (E-Mail) Verteiler

Management wurde neu implementiert. Ich beteiligte mich in der Use-Case Analyse,

dem Kundenwunsch entsprechend entwarf ich das Berechtigungskonzept, und führte das Design der Geschäftslogik, sowie den größten Teil deren Implementierung durch. Als Teil der Implementierung des Berechtigungskonzeptes bereitete ich den Einsatz des Domain Object Security Frameworks von Spring vor.


Aufgaben:

 Use-Case Analyse

 Design

 Berechtigungskonzept

 Implementierung

Umgebung:

 Java 5.0

 Eclipse

 JBOSS Application Server 5.0

 Spring 2.5

 Hibernate / JPA

 Oracle 10

 JSF



November 2008 - April 2009
Web Services Experimentalprojekt

Projekt Eckpunkte:

  Implementierung auf dem Glassfish Application Server.

  Die Komplexität des Modells wurde mit mehreren  nichttrivialen  Relationen
  gezielt hoch gehalten.

  Die Persistenz des Modells wurde auf dem Server mit Hibernate gelöst.
  Die Datenbank war Oracle.

  Transaktionskontrolle mit Spring AOP.

  Entwicklung mit Eclipse unter dem Einsatz von Maven2/m2Eclipse/Nexus.

  Demonstriert wurde der Einsatz von JAX-WS 2.0/JAXB 2.0 mit den folgenden
  Eigenschaften:

 1. Einhaltung der WS-I Interoperabilitätsempfehlungen.

 2. Trotz Berücksichtigung von WS-I, SOAP Lösung für den Einsatz von

 Objektgraphen als Aufrufparameter.

 3. WebServices unterstützen den vollen Lebenszyklus des komplexen Modells

(CRUD).

 4.Zwischenschaltung eines SOAP Monitors.


  Zusätzlich wurde demonstriert, daß komplexe Java Objektgraphen mit Hilfe von
  JAXB 2.0 über JMS Queues übertragen lassen. Die XML-Java Umwandlung wurde
  serverseitig mit EJB 3.0 (Message Driven Beans) gelöst.

Umgebung:

JAX-WS 2.0
JAXB 2.0
wsmonitor
Glassfish
EJB 3.0
Hibernate / Oracle
Spring 2.5
Maven2 / m2Eclipse / Nexus
log4j
Hudson (contineous integration)
SVN
Eclipse


Juli 2008 - Oktober 2008
Java Entwickler / Telekommunikation

Serverseitige Plattformentwicklung für Kommunikationsdienste in der
Telekommunikationsindustrie.
 
Agile Entwicklung (SCRUM).

Umgebung:

Java EE 5
EJB 3.0
Maven 2
Hudson
JUnit
Liferay
Glassfish AS /Websphere AS

IBM WebSphere Message Broker

SVN
Eclipse



Oktober 2007 - Februar 2008
Experimentalprojekt: Depotverwaltung

Ein anspruchsvolles Depotverwaltungssystem für Wertpapiere mit der Einbeziehung
von Devisenkursen wurde entwickelt. Das Ziel war es, alle gängigen
deklarativen  Techniken gleichzeitig in einem Projekt zu nutzen. Das GUI ist
JSF basiert,  die Persistenz  wurde mit Hibernate gelöst. Acegi bietet einen
umfassenden  Sicherheitsschutz. Spring wurde eingesetzt für die
Transaktionskontrolle der Serviceschicht. Hibernate Support von Spring wurde
ebenfalls eingesetzt. Für den Integration Test wurde Spring Support verwendet.

Parallel zum JSF GUI wurde auch ein JAX-WS Web Services Interface für den Sun
Glassfish AS entwickelt.

Umgebung:

JavaServer Faces
JAX-WS
Acegi
Spring
Hibernate
Oracle
Eclipse
Tomcat
Sun Java System Application Server



August 2007 - September 2007
Java Entwickler / Finanzdienstleister

Anpassung einer vorhandenen Webanwendung an ein neues User Management Modul.
Betroffene Technologien:

JavaServer Faces
Acegi
Spring
Hibernate
Eclipse



(Februar 2006 - Dezember 2006)
Senior Berater / Telecommunication

Projekt SARV-Collector

Die gesetzlich vorgeschriebene behördliche Beauskunftung wird mit dem bereits
existierenden sog. SARV-Server ermöglicht. Das Projekt SARV-Collector hatte
zum Zweck, die Datenqualität des SARV-Servers zu verbessern.
Die Aufgabe des SARV-Collectors ist die Auswertung von Nachrichten, die aus dem
O2 Workflow zum SARV-Collector gesendet werden und anhand dieser Auswertung
die Datenbank des SARV-Servers mit zuverlässigen Daten-updates zu versorgen.
Der SARV-Collector liest XML-Nachrichten mit Message Driven EJBs aus JMS Queues.
Für die Auswertung der Nachrichten werden eine Finite State Machine und
zusätzliche Regeln benutzt. Die SARV-Server updates werden als insert, update
und delete Kommandos in eine Datei generiert. Für die Pflege des SARV-Collectors
wurde ein command line interface mit einem reichhaltigen Satz von Kommandos
entwickelt.
Die Persistenz wurde mit Hibernate gelöst. Für  die "wiring" des Systems
wurde Spring benutzt. Continous Integration mit JUnit / Luntbuild.


Umgebung:

J2EE / Java

Weblogic 8.1

JMS

EJB

Eclipse /CVS

Hibernate / Oracle

Spring

JAXB

XML Schema

JUnit

Luntbuild

 



(November 2005 - Februar 2006 )
Senior Berater / Gesundheitswesen

Integration von zwei Web Anwendungen mit Web Service Technologie. Zur Aufgabe
gehörten Design und Entwicklung des Web Services und damit verbunden die
Entwicklung eines Frameworks für die Umwandlung von Data Transfer Objects in
persistente Objekte.

Umgebung:

J2EE / Java

Tomcat

AXIS

JDBC

SVN (Subversion)

Eclipse


(November 2004 - Oktober 2005)
Senior Berater / Bank

Integration von zwei grossen Anwendungen des Kreditwesens mit Webservice
Technologie (EAI). Aufgaben im Bereich Architektur, Design, Implementierung.
Wegen den spezifischen Anforderungen spielte dabei auch die Anwendung von
XML Schema(XSDL) und JAXB eine wichtige Rolle.

Umgebung:

  J2EE / Java

  Tomcat

  AXIS

  XSDL

  JAXB

  Eclipse


(März 2004 - September 2004)
Senior Berater / Lufthansa Systems

Beratung im Bereich Systemarchitektur (Analyse und Design mit UML) für das
J2EE Projekt "Codeshare und Schedule Management" für die Lufthansa AG.

Performancevergleich von Persistenzmechanismen mit konkreten
Daten aus der Datenbenk: EJB entity beans gegen  Hibernate.

Design und Implementierung des Prototyps "Publication Manager" als
Java Anwendung zusammen mit einem speziell für die Anwendung entwickelten
Test-Framework.

 Eingesetzt wurde:

 Weblogic Server 8.1

 EJB 2.0 (mit EjbGen)

 JMS

 JDBC

 Eclipse

 Rational XDE

 UML

 SQL

 Oracle

 Skaringa (XML persistence)

 Jakarta Struts

 POI-HSSF (Java excel interface)

 Ant

 ClearCase


(Nov. 2002 - Feb. 2004)
Diverse experimentelle Projekte mit den neuesten Produkten und Technologien.
Vertiefte Kenntnisse mit:

Weblogic Server 8.1 :

  - EJB 2.0

  - Web Services,

  - JMS,

  - 8.1  Development and Deployment Tools (EjbGen etc.)

Weblogic Workshop

Weblogic Portal

J2EE Connector Architecture / EAI

JavaServer Faces

Portal / Portlet

JBOSS

Eclipse

XML Schema

XSLT / XPath

Jakarta Struts

Ant


(April 2002 - August 2002)
Senior Berater / Hypovereinsbank

Mitarbeit an einer J2EE Anwendung für den Wertpapierhandel (Repo, Wertpapierleihe).

Persönliche Zuständigkeit für die serverseite Architektur. Dies  umfasste die
Modellierung und Implementierung  der komplexen Domäne der  Wertpapierleihe mit
EJB 2.0 (über 10 Entity Beans mit n:m Relationen).  Asynchrone Aktivitäten
führten zum Einsatz von JMS und MDBeans.

Verwendet wurde:

  BEA Weblogic Server 6.1

  EJB 2.0

  ORACLE

  JMS

  Java Clients (Swing)

  Log4J

  JUnit

  JBuilder

  Ant

  CVS

  Eclipse


(Februar 2001 - August 2001)
Senior Berater / Hypovereinsbank

Beteiligung am  Internet Portal Projekt für Geschäftskunden.

Erstellung des gesamten Use Case Modells nach umfangreichen Interviews
(ca 4 Wochen)  im Fachbereich. Erstellung des Objektmodells für die
Personifizierung/Customization des Portals. Mitentwicklung des JSP Codes
für das Portal. Dabei lag ein MVC Framework zu Grunde.  Persistence des
Modells mit EJB 1.0.

BEA Weblogic Server

Tomcat

Entrprise Java Beans 1.0

ORACLE

MVC Framework

JSP

XML

CVS


(Oktober 2000 - Januar  2001)
Senior Berater / Hypovereinsbank

Designer und Implementierer einer regelbasierten Webapplication für das
Exportgeschäft.  Dabei wurde die ILOG Rules Engine eingesetzt. Verwendet
wurde:

BEA Weblogic Server

ILOG Rules Engine

Entrprise Java Beans

TOPLink

Oracle

Java

Servlet

XML



(November 1999 - September 2000)
Senior Berater / Softwarefirma Eturn

Produktentwicklung:  Webbasierter Service für das Verwalten und die weltweite
automatische  Aktualisierung von Kontaktinformationen mit J2EE.

Federführend in der serverseitigen Entwicklung mit J2EE.  Konzeption der
Architektur, Design und Implementierung des Modells mit  ca. 30 Entity EJBs.
Einsatz des O/R Mappers TOPLink für die Persistence der Entity Beans.
Entwicklung einer reichhaltigen EJB Finder-Funktionalität. Verwendet wurde:

BEA Weblogic Server

EJB 1.1

TOPLink for BEA Weblogic

IBM Visual Age for Java

Microsoft SourceSafe

GNU Make

Java


(Aug 1999 - Oktober 1999)
Senior Berater / Softwarefirma Abaxx

E-commerce Project: Webbasierter Kartenverkauf  für Unterhaltungsveranstaltungen.

Senior Berater
Allgemeine Beratung und Coaching der Abaxx Mitarbeiter beim  Einsatz des
BEA Weblogic Servers und Java.

Unterstützung des Teams beim Design des Systems.
Mitentwicklung von JSP und Java Code für das Projekt.

BEA Weblogic Server

Oracle

JSP

Java


(Mai 1999 - Aug 1999)
Senior Berater / Viag Telekom

Webbasierter Order Management Prototyp bei Viag.

Beratung und Coaching beim Einsatz des BEA Weblogic Servers und Java.
Entwicklung des Use Case Modells für den Prototyp.
Design und Implementierung des EJB Modells.
Mitentwicklung der CORBA Schnittstelle zu den Altsystemen.

BEA Weblogic Server

Oracle

CORBA

Java


(Dez 1998 - April 1999)
Senior Berater / LogicaCMG

Beratung und Coaching beim Einsatz von Java. Mitarbeit an der Entwicklung
einer Java Application für BMW. Implementierung eines Teils der Anwendung,
der aus legacy Datenbanken das neu  definierte Java Modell des BMW Katalogs
erstellt und persistent speichert.  Die Persistenz der Objekte wurde mit dem
Produkt TOPLink for Java in einer  Oracle Datenbank erreicht. Eingesetzt wurde:

TOPLink for Java

Visual Age for Java

Oracle

Microsoft Access

Java


(Mai 1998 - Nov 1998)
Java Architekt /Sun Microsystems

Java Architekt  im Java Zentrum von Sun Microsystems. Tätigkeit:

- Beratung von Grosskunden beim Einsatz von Java

- Entwicklung eines Java Frameworks für distributed MVC

- Entwicklung einer Intranet-Anwendung (Online Telefonbuch eines Konzerns)

  in Java mit Servlets und LDAP/JNDI.


Frühere Projekte

1997
Berater in einem Java Projekt für Daimler Benz.
Design und Implementierung  eines MVC GUI Frameworks in Java.

1997
Mitarbeit in einem 3 tier C++ Projekt mit
CORBA / Orbix und die  OODB ObjectStore für die Deutsche Bahn.

1996
Coaching und Enwicklung in einem Smalltalk Projekt mit
Beans Technologie  für eine Bank.

1996
Entwicklung einer Visual Works / Smalltalk Applikation für einen Autohersteller.
Plattformübergreifende (UNIX, PC) Erstellung von Dokumenten mit Text und Grafik.
Die Applikation generiert Dokumente in RTF,  HTML  und Postscript Format.

1995 /1996
Coach des SERVUS Projekts bei der Firma Debis. SERVUS ist  ein vollständig  in
Smalltalk implementiertes C/S System für die Kalkulation und   Angebotserstellung
von versicherungstechnisch untermauerten  Fahrzeug-Serviceverträgen. Für die
Use Case Analyse wurde unter meiner  Leitung Objectory eingesetzt.

1994
OO Consultant bei der SNI in einem verteilten Telecommunication
Management  Network (TMN) Projekt für SDH Netze. OO Analyse mit Objectory.
Implementierung in C++ unter SunOS.

Aus- und Weiterbildung

Aus- und Weiterbildung

1987-89 Carnegie-Mellon University  Pittsburgh, USA

  Computer Science Department (Informatik)

  Visiting Scientist

  KI Forschung Supply Chain Management


1982-87 IBM Forschungslaboratorium  Zürich, Schweiz

  Research Scientist

  Networking research


1980-81 Carnegie-Mellon University Pittsburgh,  USA

  Computer Science Department (Informatik)

  Post Doc

  Multiprozessor Betriebssysteme


1978-80 Universität Erlangen Erlangen,  BRD

  Doktorand in Informatik

  Dissertation über die Prozessysnchronisation


1968-73 Technische Universität Budapest  Budapest, Ungarn

  Diplom Elektroingenieur


Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden


- Entwicklung von Java Anwendungen  mit  stets aktueller Technologie seit 1997.
- Einsatz verschiedener JEE/J2EE Application Server seit 1998.
- Anforderungsanalyse, Architekturentwurf, Softwaredesign, Implementierung, Test.
- OO Programmierung seit 1989 (Smalltalk, C++, Java).
- OO Analyse/Design seit 1994 (Objectory, UML)
- Verteilte Systeme seit 1994 (DCE, CORBA, RMI, EJB, Web Services)

Android
Android Studio
CDI
JPA
Mockito
OSGi, Equinox
drools Rule Engine
Maven2
Hudson
Glassfish Application Server
Web Services:  JAX-WS, JAXB 2.0, JAX-RPC, JAXP, JAXR, SAAJ, SOAP, WSDL, UDDI
Apache AXIS / Web Services
JAX-WS RI 2.1 / Metro
RESTful Web Services: JAX-RS / Jersey
JSON
Service Component Architecture (Weblogic SCA)
Service Oriented Architecture / SOA
Enterprise Service Bus / ESB
Apache ServiceMix ESB
WebSphere Process Server
IBM WebSphere Message Broker
SCRUM
Java/J2EE/Java EE: EJB, JPA, JMS, JMX, Servlets, JSP, JDBC, JNDI, JTA, RMI
XML Technologien (einschl. XSLT / XPath, XML Schema, etc)
J2EE Connector Architecture (JCA)  / EAI
webMethods Glue 5.0
Groovy
JBOSS Application Server 5.0 
JavaServer Faces / JSF 2.0
Portlets
CMS
Jackrabbit
Portletfaces Bridge (Portlet 2.0 - JSF 2.0)
Liferay Portal server
ILOG Rules Engine (JRules)
BEA WebLogic Server
BEA AquaLogic Service Bus
BEA Weblogic Workshop
BEA Weblogic Portal
Tuxedo
TOPLink
Eclipse                             
Apache Tomcat
Taglibs
Struts
Wicket
Spring Framework
Hibernate
Acegi
Applet
Swing
AWT
Ant
Perl
JBuilder
VisualAge for Java
VisualWorks (Smalltalk 80)
Abaxx MVC Frameworks
Log4J
JUnit
EasyMock
Git
CVS
SVN
ClearCase
Rational Rose
UML
RUP
Rational XDE
CORBA / Orbix
Object Team
HTML
SQL
SQL Developer
Objectory
Skaringa
POI-HSSF (Java excel interface)

Betriebssysteme

OS/2
SUN OS, Solaris
Unix
VM
Windows

Programmiersprachen

C
2 Jahre Erfahrung
C++
3 Jahre Erfahrung
Java
20 Jahre Java Erfahrung
Smalltalk
9 Jahre Erfahrung
Seit 1997 nur in Java Projekten tätig

Datenbanken

Access
Object Store
Oracle

Datenkommunikation

CORBA
ISO/OSI
LU6.2
OSF/DCE
TCP/IP

Hardware

HP
IBM Großrechner
PC
PDP
Prozessrechner
Sensoren
Silicon-Graphics
SUN
VAX

Branchen

Branchen

Automobil
Banken
Energieversorgung
Gesundheitswesen
Versicherung
Softwarehersteller
Hardwarehersteller
Bahn
Luftfahrt
Telekom
Börse

Einsatzorte

Einsatzorte

München (+100km) Mindelheim (+100km) Erlangen (+100km) Deggendorf (+75km)

Deutschland: Präferenz: München

nicht möglich

Projekte

Projekte

August 2016 ? Oktober 2016

Experimentalprojekt

Die Funktionalität des JEE 7 Experimentalprojekts (Online Bank, Juni 2014 ? Dez 2014) habe ich erweitert. Die neuen Use Cases führten zu Erweiterungen in allen Schichten des Gesamtsystems. Einige Erweiterungen wurden gezielt durch den Einsatz von CDI Decoratoren implementiert.

__________________________________________________________________________________

Januar 2015 ? April 2015

Einarbeitung und Experimentierung mit dem AngularJS Stack.

(JavaScript, Node.js, Deployd, CSS, AngularJS)

__________________________________________________________________________________

 

Juni 2014 ? Dec 2014

Experimentalprojekt

 

Das Ziel des Projektes war es, nach der anderthalbjährigen Tätigkeit in der CORBA orientierten Flughafenumgebung ein reines JEE 7 Projekt zu Übungszwecken durchzuführen.

 

Im eigenen Netzwerk wurde die Projektumgebung auf mehrere Rechnern verteilt mit den folgenden Komponenten aufgesetzt:

 

VisualSVN Server für Source Code Version Control

Hudson Server für Continuous Integration

Nexus Maven Repository Manager

Oracle XE DB für die Java Persistenz

Glassfish 4 JEE 7 Application Server

Eclipse IDE für die JEE Entwicklung

Android Studio für die Android App Entwicklung

 

Die Entwicklung einer online Bank wurde als Projektziel gewählt. Die online Bank wurde als eine Webanwendung geplant, die auch SOAP und REST Interfaces anbietet.

 

Als bankenspezifische Use Cases wurden die Verwaltung der Bankkunden und ihrer Konten definiert. Die kundenspezifischen Use Cases beinhalteten die Buchung von Geldbeträgen auf und von diversen Konten, sowie die Abfrage der Kontenstände. Die Security Roles unterscheiden zwischen Administratoren und Kunden, wobei für den authorisierten Zugang jeder User sich eigens authentifizieren muß.

 

Die serverseitige Entwicklung wurde als ein Multimodule Maven Projekt mit Eclipse durchgeführt. Von der CDI Funktionaltät wurde im Gesamtprojekt intensiv Gebrauch gemacht. Zu jedem Modul wurden mit Hilfe des EasyMock Frameworks JUnit Tests erstellt. Das Projekt hat die folgenden Module:

 

bankModel: Implementiert die grundlegenden persistenten Modelklassen Customer, Address, Account. Diese wurden mit JPA, JAXB, und JAX RS Annotationen versehen, um JPA, SOAP und REST zu unterstützen.

 

bankWeb: Implementiert die JSF 2.0 relevanten Artifakten, wie JSF Pages und CDI Beans (früher Managed Beans)

 

bankWebHelper: Kleines Modul für die saubere Trennung der ActionListener JSF Klassen.

 

bankEjb: Implementiert die ViewData Klassen, Session EJBs und DAOs. Das Modul ist die zentrale Stelle für die Business Logik. Aus diesem Grunde wurden hier neben den EJB Annotations auch die Security Annotations eingesetzt.

 

bankWS: Implementiert die SOAP Web Services. Ein Nebenprodukt dieses Moduls war die Erstellung eines eigenen Maven JAX-WS Web Service Archetypes, weil auf dem Web kein akzeptabler Maven Archetype für Web Services gefunden werden konnte.

 

bankRS: Implementiert die RESTful Web Services. Diese sind in der Lage sowohl XML als auch JSON Format zu benutzen.

 

bankEar: Dieses Modul erzeugt die ear Datei, die auf dem Application Server als die gesamte Webanwendung installiert wird.

 

Während der Entwicklung wurden durch Hudson  die JUnit Tests (aus dem Maven Build) angestoßen. So wurde sichergestellt, dass im Laufe der Entwicklung viele Bugs frühzeitig abgefangen werden konnten.

 

Das voll funktionsfähige WebGUI beinhaltet insgesamt neun JSF Seiten. Für die Überprüfung der SOAP und REST Interfaces wurden einfache Java Klienten erstellt, die von der Befehlszeile aufgerufen werden können.

 

Nach der Einarbeitung in die mobile Android Technologie wurde aufbauend auf das REST Interface auch ein Android App mit Android Studio erfolgreich entwickelt und auf einem Nexus 9 Android Tablet installiert. Dieses ermöglicht Klienten die Abfrage ihrer Kontostände von mobilenen Geräten.

 

---------------------------------------------------------------------------------------------------------------------------------------

Januar 2013 - Mai 2014

Java Entwickler / Flughafen München

 

Am Flughafen München entstanden in den letzten Jahren zahlreiche Java Anwendungen. Historisch bedingt sind diese auf CORBA Basis in einem verteilten System organisiert. Für einige Anwendungen gab es die neue Vorgabe, mit Systemen der Lufthansa auf nicht-CORBA Basis zu kommunizieren.

 

Für die Zusammenarbeit zwischen den Systemen der Lufthansa und des Flughafens wurde von der Lufthansa ein sessionorientiertes, XML basiertes Kommunikationsprotokoll neu entworfen. Die Messageformate werden pro Anwendung mit Hilfe von XML Schemata spezifiziert. Als Transportschicht wird JMS verwendet.

 

In der jüngsten Vergangenheit gab es erfolglose Versuche, einen sog. Adapter zu entwickeln, welcher die Kommunikation über das neu spezifizierte Protokoll mit den Lufthansa Systemen ermöglicht. Mein Auftrag war, den Adapter nach den erfolglosen Versuchen endlich zu realisieren. Zuerst erstellte ich ein ausführliches Analyse und Design Dokument auf UML Basis. Für die Implemetierung der Protokoll Engine erstellte ich ein Finite State Machine basiertes Framework. Die von mir entworfene Multithreading Architektur des Adapters sorgte für hohe Performance. In der Implementierung wurde JAXB 2, JPA 2, JMS eingesetzt. Für die Wiederverwendbarkeit in den verschiedenen Anwendungen wurde Generics intensiv benutzt. Zahlreiche JUnit Testfälle sorgten für eine hohe Testabdeckung unter dem Einsatz von Easymock. Ein von mir entwickeltes zusätzliches Testtool half Schwächen selbst in der Protokollspezifikation zu entdecken. Der Adapter ist z.Z. für zwei Anwendungen bereits in der Produktion.

 

 

 

Umgebung:

Java 5

CORBA

Windows / UNIX

Eclipse

JAXB 2

JPA 2

JMS

JUnit

Easymock

 


Mai 2012 - August 2012

Java Entwickler / Telekommunikation

 

1. Erweiterung von sog. Adaptorklassen, die RESTful Webservices mit SOAP Webservices verbinden. Die Erweiterung sorgt für die Implementierung der neu spezifizierten Fehlerbehandlung im Gesamtsystem.

 

2. Entwicklung von JUnit Tests, um die Erweiterungen zu testen. Dabei wurde der Mockito Mocking Framework eingesetzt.

 

3. Eigene Idee, Konzept, Implementierung:

Entwicklung eines Frameworks, um mehrere Tausend Lines of Code der Adapterklassen zu ersetzen. Das Framework stellt Klassen und Interfaces zur Verfügung (nur ca. 100 Lines of Code) und benutzt eine DROOLS Rule Engine. Adapterklassen müssen dann nicht mehr entwickelt werden, und die bereits vorhandenen erübrigen sich. Statt dessen können alle Adapters mit Spring sehr einfach konfiguriert werden.

 

Umgebung:

Java 6.0

WebLogic Server

JAX-RS

JAX-WS

Spring

Maven2

JUnit

Mockito

Hudson

Subversion

Eclipse

Linux

DROOLS

 

 


Mai 2011 ? April 2012

Weiterführung des Projektes: Entwicklung eines webbasierten ERP Systems in Java für die optimale Terminplanung.

 

Das webbasierte System baut auf meine frühere Forschung an der Carnegie-Mellon University im Bereich der Enterprise Resource Planning und hat zum Ziel, eine bessere Planung von Elternsprechtagen in Schulen zu ermöglichen. Die Schwierigkeit bei derartigen Systemen liegt darin, dass sie NP-hart sind, d.h. die Lösungszeit nimmt mit der Problemgrösse exponentiell zu. Diese muss überwunden werden.

 

Das System berücksichtigt die Gesprächswünsche der Eltern (mit welchen Lehrer sie sprechen wollen), ihre Präferenzen (ungefähr wann sie die Gespräche führen möchten) und die Wünsche der Lehrer (wann sie keine Gespräche führen können/möchten). Das Ergebnis der optimalen Terminplanung ist, daß die Eltern möglichst in der für sie idealen Zeitperiode ihre Gespräche führen können und zwischen einzelnen Gesprächen keine Wartezeiten in Kauf nehmen müssen, wobei auch der zeitliche Aufwand für die ganze Veranstaltung auf ein Minimum reduziert wird.

 

Das Domain-Modell ist überdurchschnittlich komplex (18 Entities mit zahlreichen Assoziationen). Für die Objektpersistenz wurde JPA/Hibernate/Oracle 11 eingesetzt. Die Business Logik ist in Session EJBs untergebracht. Für die Entkopplung des langläufigen Business Prozesses von den Input Events wurde JMS verwendet. Neben der JSF 2.0 GUI wurde auch ein SOAP Webservice Interface erstellt.

CDI (JEE 6) wurde für die ?wiring? eingesetzt. Sourcecode Verwaltung mit Visual SVN. Build Management mit Maven2/Subclipse/Sonatype Nexus. Das System läuft auf Glassfish V3.

 

 

 

Umgebung:

Java 6.0

Maven2

SVN

Sun Glassfish Enterprise Server 3.1.2

Oracle 11 Datenbank

EJB 3.0

JSF 2.0

JMS

JAX-WS 2.0

Hibernate/JPA

CDI

Eclipse

 


Februar 2011 ? April 2011

Java Entwickler / Telekommunikation

 

Unterstützung einer GIS Anwendung

 

(1)Test von JAX-WS Web Services.

(2)Design und Entwicklung eines Expertensystems für die Analyse von potentiell unvollständigen deutschen Adressen unter Verwendung der drools Rule Engine:

Eine Addressline wird vom Benutzer als String eingegeben, deshalb kann sie beliebig fehlerhaft und beliebig unvollständig sein. Man erwartet jedoch, dass in der Addressline Komponenten einer deutschen Adresse ? nicht unbedingt alle und in fast beliebiger Reihenfolge ? vorkommen. 

(z.B.: ?Bad Neustadt an der Saale Strxxe der 17 Juni 23 97616?) Durch die Analyse werden die Bestandsteile der Adresse (PLZ, Ort, Strasse, Hausnummer) im String identifiziert.

 

 

Umgebung:

Java 5

JAX-WS

JUnit

Tomcat

Eclipse

drools Rule Engine

 

 

 


November 2010 ? Februar 2011

Weiterführung des Projektes: Entwicklung eines webbasierten ERP Systems in Java für die optimale Terminplanung.

 

Siehe Beschreibung weiter oben.

 


 

 

Juli 2010 ? Oktober 2010

Java Entwickler / Automotive

Migration von diversen J2EE Anwendungen von Weblogic 8.1. Application Server auf

Weblogic 10.1 und auf Glassfish 2.1.1 Application Server.

 

Umgebung:

Java 5

Weblogic 8.1

Weblogic 10.1

Glassfish 2.1.1

JAAS

Linux

 


 

Dezember 2009 ? Juli 2010

Entwicklung eines webbasierten ERP Systems in Java für die optimale Terminplanung.

 

Siehe Beschreibung weiter oben.

 


Juni 2009 - Dezember 2009
Project: Siemens General Distribution Service
Senior Entwickler / Siemens AG

Im Project Siemens General Distribution Service das konzertweite (E-Mail) Verteiler

Management wurde neu implementiert. Ich beteiligte mich in der Use-Case Analyse,

dem Kundenwunsch entsprechend entwarf ich das Berechtigungskonzept, und führte das Design der Geschäftslogik, sowie den größten Teil deren Implementierung durch. Als Teil der Implementierung des Berechtigungskonzeptes bereitete ich den Einsatz des Domain Object Security Frameworks von Spring vor.


Aufgaben:

 Use-Case Analyse

 Design

 Berechtigungskonzept

 Implementierung

Umgebung:

 Java 5.0

 Eclipse

 JBOSS Application Server 5.0

 Spring 2.5

 Hibernate / JPA

 Oracle 10

 JSF



November 2008 - April 2009
Web Services Experimentalprojekt

Projekt Eckpunkte:

  Implementierung auf dem Glassfish Application Server.

  Die Komplexität des Modells wurde mit mehreren  nichttrivialen  Relationen
  gezielt hoch gehalten.

  Die Persistenz des Modells wurde auf dem Server mit Hibernate gelöst.
  Die Datenbank war Oracle.

  Transaktionskontrolle mit Spring AOP.

  Entwicklung mit Eclipse unter dem Einsatz von Maven2/m2Eclipse/Nexus.

  Demonstriert wurde der Einsatz von JAX-WS 2.0/JAXB 2.0 mit den folgenden
  Eigenschaften:

 1. Einhaltung der WS-I Interoperabilitätsempfehlungen.

 2. Trotz Berücksichtigung von WS-I, SOAP Lösung für den Einsatz von

 Objektgraphen als Aufrufparameter.

 3. WebServices unterstützen den vollen Lebenszyklus des komplexen Modells

(CRUD).

 4.Zwischenschaltung eines SOAP Monitors.


  Zusätzlich wurde demonstriert, daß komplexe Java Objektgraphen mit Hilfe von
  JAXB 2.0 über JMS Queues übertragen lassen. Die XML-Java Umwandlung wurde
  serverseitig mit EJB 3.0 (Message Driven Beans) gelöst.

Umgebung:

JAX-WS 2.0
JAXB 2.0
wsmonitor
Glassfish
EJB 3.0
Hibernate / Oracle
Spring 2.5
Maven2 / m2Eclipse / Nexus
log4j
Hudson (contineous integration)
SVN
Eclipse


Juli 2008 - Oktober 2008
Java Entwickler / Telekommunikation

Serverseitige Plattformentwicklung für Kommunikationsdienste in der
Telekommunikationsindustrie.
 
Agile Entwicklung (SCRUM).

Umgebung:

Java EE 5
EJB 3.0
Maven 2
Hudson
JUnit
Liferay
Glassfish AS /Websphere AS

IBM WebSphere Message Broker

SVN
Eclipse



Oktober 2007 - Februar 2008
Experimentalprojekt: Depotverwaltung

Ein anspruchsvolles Depotverwaltungssystem für Wertpapiere mit der Einbeziehung
von Devisenkursen wurde entwickelt. Das Ziel war es, alle gängigen
deklarativen  Techniken gleichzeitig in einem Projekt zu nutzen. Das GUI ist
JSF basiert,  die Persistenz  wurde mit Hibernate gelöst. Acegi bietet einen
umfassenden  Sicherheitsschutz. Spring wurde eingesetzt für die
Transaktionskontrolle der Serviceschicht. Hibernate Support von Spring wurde
ebenfalls eingesetzt. Für den Integration Test wurde Spring Support verwendet.

Parallel zum JSF GUI wurde auch ein JAX-WS Web Services Interface für den Sun
Glassfish AS entwickelt.

Umgebung:

JavaServer Faces
JAX-WS
Acegi
Spring
Hibernate
Oracle
Eclipse
Tomcat
Sun Java System Application Server



August 2007 - September 2007
Java Entwickler / Finanzdienstleister

Anpassung einer vorhandenen Webanwendung an ein neues User Management Modul.
Betroffene Technologien:

JavaServer Faces
Acegi
Spring
Hibernate
Eclipse



(Februar 2006 - Dezember 2006)
Senior Berater / Telecommunication

Projekt SARV-Collector

Die gesetzlich vorgeschriebene behördliche Beauskunftung wird mit dem bereits
existierenden sog. SARV-Server ermöglicht. Das Projekt SARV-Collector hatte
zum Zweck, die Datenqualität des SARV-Servers zu verbessern.
Die Aufgabe des SARV-Collectors ist die Auswertung von Nachrichten, die aus dem
O2 Workflow zum SARV-Collector gesendet werden und anhand dieser Auswertung
die Datenbank des SARV-Servers mit zuverlässigen Daten-updates zu versorgen.
Der SARV-Collector liest XML-Nachrichten mit Message Driven EJBs aus JMS Queues.
Für die Auswertung der Nachrichten werden eine Finite State Machine und
zusätzliche Regeln benutzt. Die SARV-Server updates werden als insert, update
und delete Kommandos in eine Datei generiert. Für die Pflege des SARV-Collectors
wurde ein command line interface mit einem reichhaltigen Satz von Kommandos
entwickelt.
Die Persistenz wurde mit Hibernate gelöst. Für  die "wiring" des Systems
wurde Spring benutzt. Continous Integration mit JUnit / Luntbuild.


Umgebung:

J2EE / Java

Weblogic 8.1

JMS

EJB

Eclipse /CVS

Hibernate / Oracle

Spring

JAXB

XML Schema

JUnit

Luntbuild

 



(November 2005 - Februar 2006 )
Senior Berater / Gesundheitswesen

Integration von zwei Web Anwendungen mit Web Service Technologie. Zur Aufgabe
gehörten Design und Entwicklung des Web Services und damit verbunden die
Entwicklung eines Frameworks für die Umwandlung von Data Transfer Objects in
persistente Objekte.

Umgebung:

J2EE / Java

Tomcat

AXIS

JDBC

SVN (Subversion)

Eclipse


(November 2004 - Oktober 2005)
Senior Berater / Bank

Integration von zwei grossen Anwendungen des Kreditwesens mit Webservice
Technologie (EAI). Aufgaben im Bereich Architektur, Design, Implementierung.
Wegen den spezifischen Anforderungen spielte dabei auch die Anwendung von
XML Schema(XSDL) und JAXB eine wichtige Rolle.

Umgebung:

  J2EE / Java

  Tomcat

  AXIS

  XSDL

  JAXB

  Eclipse


(März 2004 - September 2004)
Senior Berater / Lufthansa Systems

Beratung im Bereich Systemarchitektur (Analyse und Design mit UML) für das
J2EE Projekt "Codeshare und Schedule Management" für die Lufthansa AG.

Performancevergleich von Persistenzmechanismen mit konkreten
Daten aus der Datenbenk: EJB entity beans gegen  Hibernate.

Design und Implementierung des Prototyps "Publication Manager" als
Java Anwendung zusammen mit einem speziell für die Anwendung entwickelten
Test-Framework.

 Eingesetzt wurde:

 Weblogic Server 8.1

 EJB 2.0 (mit EjbGen)

 JMS

 JDBC

 Eclipse

 Rational XDE

 UML

 SQL

 Oracle

 Skaringa (XML persistence)

 Jakarta Struts

 POI-HSSF (Java excel interface)

 Ant

 ClearCase


(Nov. 2002 - Feb. 2004)
Diverse experimentelle Projekte mit den neuesten Produkten und Technologien.
Vertiefte Kenntnisse mit:

Weblogic Server 8.1 :

  - EJB 2.0

  - Web Services,

  - JMS,

  - 8.1  Development and Deployment Tools (EjbGen etc.)

Weblogic Workshop

Weblogic Portal

J2EE Connector Architecture / EAI

JavaServer Faces

Portal / Portlet

JBOSS

Eclipse

XML Schema

XSLT / XPath

Jakarta Struts

Ant


(April 2002 - August 2002)
Senior Berater / Hypovereinsbank

Mitarbeit an einer J2EE Anwendung für den Wertpapierhandel (Repo, Wertpapierleihe).

Persönliche Zuständigkeit für die serverseite Architektur. Dies  umfasste die
Modellierung und Implementierung  der komplexen Domäne der  Wertpapierleihe mit
EJB 2.0 (über 10 Entity Beans mit n:m Relationen).  Asynchrone Aktivitäten
führten zum Einsatz von JMS und MDBeans.

Verwendet wurde:

  BEA Weblogic Server 6.1

  EJB 2.0

  ORACLE

  JMS

  Java Clients (Swing)

  Log4J

  JUnit

  JBuilder

  Ant

  CVS

  Eclipse


(Februar 2001 - August 2001)
Senior Berater / Hypovereinsbank

Beteiligung am  Internet Portal Projekt für Geschäftskunden.

Erstellung des gesamten Use Case Modells nach umfangreichen Interviews
(ca 4 Wochen)  im Fachbereich. Erstellung des Objektmodells für die
Personifizierung/Customization des Portals. Mitentwicklung des JSP Codes
für das Portal. Dabei lag ein MVC Framework zu Grunde.  Persistence des
Modells mit EJB 1.0.

BEA Weblogic Server

Tomcat

Entrprise Java Beans 1.0

ORACLE

MVC Framework

JSP

XML

CVS


(Oktober 2000 - Januar  2001)
Senior Berater / Hypovereinsbank

Designer und Implementierer einer regelbasierten Webapplication für das
Exportgeschäft.  Dabei wurde die ILOG Rules Engine eingesetzt. Verwendet
wurde:

BEA Weblogic Server

ILOG Rules Engine

Entrprise Java Beans

TOPLink

Oracle

Java

Servlet

XML



(November 1999 - September 2000)
Senior Berater / Softwarefirma Eturn

Produktentwicklung:  Webbasierter Service für das Verwalten und die weltweite
automatische  Aktualisierung von Kontaktinformationen mit J2EE.

Federführend in der serverseitigen Entwicklung mit J2EE.  Konzeption der
Architektur, Design und Implementierung des Modells mit  ca. 30 Entity EJBs.
Einsatz des O/R Mappers TOPLink für die Persistence der Entity Beans.
Entwicklung einer reichhaltigen EJB Finder-Funktionalität. Verwendet wurde:

BEA Weblogic Server

EJB 1.1

TOPLink for BEA Weblogic

IBM Visual Age for Java

Microsoft SourceSafe

GNU Make

Java


(Aug 1999 - Oktober 1999)
Senior Berater / Softwarefirma Abaxx

E-commerce Project: Webbasierter Kartenverkauf  für Unterhaltungsveranstaltungen.

Senior Berater
Allgemeine Beratung und Coaching der Abaxx Mitarbeiter beim  Einsatz des
BEA Weblogic Servers und Java.

Unterstützung des Teams beim Design des Systems.
Mitentwicklung von JSP und Java Code für das Projekt.

BEA Weblogic Server

Oracle

JSP

Java


(Mai 1999 - Aug 1999)
Senior Berater / Viag Telekom

Webbasierter Order Management Prototyp bei Viag.

Beratung und Coaching beim Einsatz des BEA Weblogic Servers und Java.
Entwicklung des Use Case Modells für den Prototyp.
Design und Implementierung des EJB Modells.
Mitentwicklung der CORBA Schnittstelle zu den Altsystemen.

BEA Weblogic Server

Oracle

CORBA

Java


(Dez 1998 - April 1999)
Senior Berater / LogicaCMG

Beratung und Coaching beim Einsatz von Java. Mitarbeit an der Entwicklung
einer Java Application für BMW. Implementierung eines Teils der Anwendung,
der aus legacy Datenbanken das neu  definierte Java Modell des BMW Katalogs
erstellt und persistent speichert.  Die Persistenz der Objekte wurde mit dem
Produkt TOPLink for Java in einer  Oracle Datenbank erreicht. Eingesetzt wurde:

TOPLink for Java

Visual Age for Java

Oracle

Microsoft Access

Java


(Mai 1998 - Nov 1998)
Java Architekt /Sun Microsystems

Java Architekt  im Java Zentrum von Sun Microsystems. Tätigkeit:

- Beratung von Grosskunden beim Einsatz von Java

- Entwicklung eines Java Frameworks für distributed MVC

- Entwicklung einer Intranet-Anwendung (Online Telefonbuch eines Konzerns)

  in Java mit Servlets und LDAP/JNDI.


Frühere Projekte

1997
Berater in einem Java Projekt für Daimler Benz.
Design und Implementierung  eines MVC GUI Frameworks in Java.

1997
Mitarbeit in einem 3 tier C++ Projekt mit
CORBA / Orbix und die  OODB ObjectStore für die Deutsche Bahn.

1996
Coaching und Enwicklung in einem Smalltalk Projekt mit
Beans Technologie  für eine Bank.

1996
Entwicklung einer Visual Works / Smalltalk Applikation für einen Autohersteller.
Plattformübergreifende (UNIX, PC) Erstellung von Dokumenten mit Text und Grafik.
Die Applikation generiert Dokumente in RTF,  HTML  und Postscript Format.

1995 /1996
Coach des SERVUS Projekts bei der Firma Debis. SERVUS ist  ein vollständig  in
Smalltalk implementiertes C/S System für die Kalkulation und   Angebotserstellung
von versicherungstechnisch untermauerten  Fahrzeug-Serviceverträgen. Für die
Use Case Analyse wurde unter meiner  Leitung Objectory eingesetzt.

1994
OO Consultant bei der SNI in einem verteilten Telecommunication
Management  Network (TMN) Projekt für SDH Netze. OO Analyse mit Objectory.
Implementierung in C++ unter SunOS.

Aus- und Weiterbildung

Aus- und Weiterbildung

1987-89 Carnegie-Mellon University  Pittsburgh, USA

  Computer Science Department (Informatik)

  Visiting Scientist

  KI Forschung Supply Chain Management


1982-87 IBM Forschungslaboratorium  Zürich, Schweiz

  Research Scientist

  Networking research


1980-81 Carnegie-Mellon University Pittsburgh,  USA

  Computer Science Department (Informatik)

  Post Doc

  Multiprozessor Betriebssysteme


1978-80 Universität Erlangen Erlangen,  BRD

  Doktorand in Informatik

  Dissertation über die Prozessysnchronisation


1968-73 Technische Universität Budapest  Budapest, Ungarn

  Diplom Elektroingenieur


Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden


- Entwicklung von Java Anwendungen  mit  stets aktueller Technologie seit 1997.
- Einsatz verschiedener JEE/J2EE Application Server seit 1998.
- Anforderungsanalyse, Architekturentwurf, Softwaredesign, Implementierung, Test.
- OO Programmierung seit 1989 (Smalltalk, C++, Java).
- OO Analyse/Design seit 1994 (Objectory, UML)
- Verteilte Systeme seit 1994 (DCE, CORBA, RMI, EJB, Web Services)

Android
Android Studio
CDI
JPA
Mockito
OSGi, Equinox
drools Rule Engine
Maven2
Hudson
Glassfish Application Server
Web Services:  JAX-WS, JAXB 2.0, JAX-RPC, JAXP, JAXR, SAAJ, SOAP, WSDL, UDDI
Apache AXIS / Web Services
JAX-WS RI 2.1 / Metro
RESTful Web Services: JAX-RS / Jersey
JSON
Service Component Architecture (Weblogic SCA)
Service Oriented Architecture / SOA
Enterprise Service Bus / ESB
Apache ServiceMix ESB
WebSphere Process Server
IBM WebSphere Message Broker
SCRUM
Java/J2EE/Java EE: EJB, JPA, JMS, JMX, Servlets, JSP, JDBC, JNDI, JTA, RMI
XML Technologien (einschl. XSLT / XPath, XML Schema, etc)
J2EE Connector Architecture (JCA)  / EAI
webMethods Glue 5.0
Groovy
JBOSS Application Server 5.0 
JavaServer Faces / JSF 2.0
Portlets
CMS
Jackrabbit
Portletfaces Bridge (Portlet 2.0 - JSF 2.0)
Liferay Portal server
ILOG Rules Engine (JRules)
BEA WebLogic Server
BEA AquaLogic Service Bus
BEA Weblogic Workshop
BEA Weblogic Portal
Tuxedo
TOPLink
Eclipse                             
Apache Tomcat
Taglibs
Struts
Wicket
Spring Framework
Hibernate
Acegi
Applet
Swing
AWT
Ant
Perl
JBuilder
VisualAge for Java
VisualWorks (Smalltalk 80)
Abaxx MVC Frameworks
Log4J
JUnit
EasyMock
Git
CVS
SVN
ClearCase
Rational Rose
UML
RUP
Rational XDE
CORBA / Orbix
Object Team
HTML
SQL
SQL Developer
Objectory
Skaringa
POI-HSSF (Java excel interface)

Betriebssysteme

OS/2
SUN OS, Solaris
Unix
VM
Windows

Programmiersprachen

C
2 Jahre Erfahrung
C++
3 Jahre Erfahrung
Java
20 Jahre Java Erfahrung
Smalltalk
9 Jahre Erfahrung
Seit 1997 nur in Java Projekten tätig

Datenbanken

Access
Object Store
Oracle

Datenkommunikation

CORBA
ISO/OSI
LU6.2
OSF/DCE
TCP/IP

Hardware

HP
IBM Großrechner
PC
PDP
Prozessrechner
Sensoren
Silicon-Graphics
SUN
VAX

Branchen

Branchen

Automobil
Banken
Energieversorgung
Gesundheitswesen
Versicherung
Softwarehersteller
Hardwarehersteller
Bahn
Luftfahrt
Telekom
Börse

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.