SF
verfügbar

Letztes Update: 11.05.2011

Java Enterprise Consultant

Abschluss: Master of Science (M.Sc.)
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: dänisch (Muttersprache) | englisch (verhandlungssicher) | persisch (Muttersprache)

Skills

Fachliche Schwerpunkte:

Design und Entwicklung von Java Enterprise und Web-Anwendungen, Design und Implementierung von BPM (Business Process Manage-ment)-Lösungen, Konzeption und Implementierung von Enterprise Integration Lösungen

Programmiersprachen:
Java, PHP, SQL, Python, C++, C#, Scala

Frameworks:
JEE, EJB3, JPA, Servlet API, JSP, JSF, JMS, JMX, jBPM, Hibernate, OSGi, Spring, Wicket, JAX-WS, AXIS, JAX-RS, RESTEasy, AspectJ, GWT, jQuery, Zend Framework, Play Framework, JiBX, JAXB, Jackson, Guice

Applikationsservern:
JBoss 4.2.x, JBoss 6, Tomcat 6, Jetty 6, Apache2 Webserver, Lighttpd

Entwicklungsumgebungen:
Eclipse, Aptana, Netbeans

Betriebssystemen:
Linux Debian und Ubuntu, Windows XP Professional, Windows 7

Tools:
Maven2, ANT, SVN, Git, Hudson/Jenkins, JIRA

Datenbanken:
MySQL, Sybase DB, CouchDB, Redis, Memcached

Projekthistorie

Aktuellste Projekterfahrungen
===========================================================
Zeitraum: 12/10 – 4/11
Branche: Internet / TK
Thema:
Design und Konzeption von CRM System Architektur, Domain orientierte und skalierbare Middleware, Swing-Klient Ersetzung durch eine Weboberfläche.

Beschreibung:
Die Aufgabe lautete: design und Konzeption eine neue Architektur für ein gesamtes CRM-System. Das aktuelle CRM-System, umfasst alle CRM-Prozesse des Unternehmens und eine Reihe anderer Kerngeschäft Funktionalitäten.
Das CRM-System leidet unter schlechte Skalierbarkeit und Zuverlässigkeit, und hat eine sehr schlechte Leistung. Außerdem die Kosten für Wartung und Erweiterung des Systems sind so hoch, und die Zahl der Nutzer wächst rapide und wird weiter wachsen.
Die neue Architektur behandelt Performance und Skalierbarkeit Fragen; konzeptualisiert eine Web basierte Lösung für kürzeren Entwicklungs- und Release- Zyklen. Außer dem wurden Web-Frameworks GWT, JSP/JSF (mit jQuery) als Ersatz für die aktuelle Swing-Client ausgewertet.
Ein Business-getriebene Domain-orientierte Middleware wurde konzipiert, wo Modularisierung der gesamten Anwendung (Middleware, Server-und Client-Seite des UIs) auf Geschäftsdomänen basiert ist.
Die Architektur ist eine RESTful SOA-Architektur mit unabhängigen Domain-Services. Als Infrastruktur ist eine verteilte und skalierbare Plattform basierend auf JBoss und Play Framework geplant. Zwecks Performance Verbesserungen wurde ein verteilter Reverse Cache basierend auf Memcached konzipiert.
Iteratives Agiles Vorgehensmodell mittels SCRUM war im Einsatz.

Aufgaben im Projekt umfassten:
+Evaluierung der modularisierten, verteilten und versionierten Deployment von EJB Diensten in JBoss-Umgebung
+Design und Prototyping von einem verteilten und OSGi inspirierten Registrierung- und Lookup-Dienst, für verteilte Service Deployments
+Design und Prototyping von einem Domain-orientierten RESTful SOA-Middleware
+Design und Prototyping von einem HornetQ basierten JMS-Cluster für ein zuverlässiges und skalierbares Messaging-System
+Evaluierung von GWT als reiche Web-UI Plattform versus JSP/JSF (zusammen mit jQuery / jQuery UI)
+Design und Konzeption von verteilten, geclusterten Middleware-Cache auf Basis von Memcached
+Evaluierung und Konzeption von Python unterstützte Applikation Management und Systemadministration

Position: Lead Architekt
Teamgröße: 8
DV-Basis:
Technologien:
Java, Python, JEE, EJB3, JPA, MDB, REST, JSON, Spring Core, Guice, OSGi, GWT, JSP, JSF, jQuery, jQuery UI
Tools:
JBoss 6, JBoss HornetQ, Sybase DB, MySQL, Play Framework, Apache Server, Lighttpd, Eclipse, Maven
Arbeitsverwaltung: JIRA
Versionsverwaltung: Git, Eclipse EGit.
Plattform: Linux Ubuntu und Debian, Windows 7
------------------------------------------------------------------------------------------------------------------
Zeitraum: 07/10 – 12/10
Branche: Internet / TK
Thema:
Integration von einer Regel-Engine basierenden Geschäftsprozess-Lösung im CRM-System, Design und Entwicklung von REST SOA-Middleware
Beschreibung:
Kern CRM Geschäftsprozesse des Unternehmens waren Geschäftsprozesse, die durch menschliche Agenten im Zusammenspiel mit dem CRM-System ausgeführt worden sind. Dies hat zu hohen Kosten geführt (in Bezug auf die Ausbildung von Agenten und Zeit Verschwendung für Datensammlung im CRM-System). Weiterhin die Endergebnisse und die Verarbeitungsverfahren sind, abhängig von der Agenten Fähigkeiten, immer unterschiedlich geworden.
Eine Regel-Engine Lösung zur Durchführung intelligente und dynamische Geschäftsprozesse für DSL Störung-Tickets wurde eingeführt.Das Expertensystem macht Problemdiagnose, und führt den Agenten dynamisch durch den Lösungsprozess.
Das Expertensystem, benötigt ein REST-Middleware, die zu zahlreiche Back-Ends für Daten geht. Eine Integration Schicht für Entkopplung der Backend-Dienste von der Middleware wurde basierend auf Apache Tuscany (Referenz-Implementierung der Service Component Architecture) eingeführt.Die Middleware selbst besteht aus einer Reihe von XML und JSON REST Schnittstellen, realisiert basierend auf Servlet API und JAX-RS. Später wurde Play Framework, das ein RESTfules Web-Framework mit einem Hochleistung Async-IO-Server ist, für die neue REST Schnittstellen eingesetzt.
Um eine hohe Verfügbarkeit und Zuverlässigkeit, erforderlich für einige der Middleware-Dienste, gewährleisten zu können, wurde ein JMS-Cluster basierend auf JBoss HornetQ eingeführt.

Iteratives Agiles Vorgehensmodell mittels SCRUM war im Einsatz.

Aufgaben im Projekt umfassten:
+Middleware Architektur welche enthalten:
a. Infrastruktur (Application-Server, Server und Messaging-System)
b. Kommunikationsschicht (RMI, SOAP, REST und JMS)
c. Modularisierung und Komponente Integration (SCA-basierte Architektur und Guice)
+Definition von REST-Ressourcen/Schnittstellen mit XSD (JiBX als Java-XML Binding-Framework) und JSON (Jackson als Java-JSON Binding-Framework)
+Implementierung von REST Schnittstellen in Servlets und RESTEasy, sowie Play Framework
+JMeter Lasttests und JUnit Funktions-und Integrationstests
+Die Bindung von Back-Ends zum Middleware via SOAP (AXIS, JAX-WS), RMI und JDBC
+Design und Implementierung von HornetQ JMS-Cluster für ein zuverlässiges und skalierbares Messaging-System
+Errichtung von Projekt-Infrastruktur via Maven und Git
+Application Management (automatisierte Release und Monitoring) mit Hilfe von Python-Skripten

Position: Lead Architect, Technical Lead, Entwickler
Teamgröße: 12
DV-Basis:
Technologien:
Java, Python, EJB3, JPA, JDBC, Servlet API, Apache Tuscany, JSON, Jackson, REST, JAX-RS, RESTEasy, XSD, JiBX, JAX-WS, AXIS, Guice
Tools:
JBoss 4.2.1, Tomcat 6, JBoss HornetQ, JMeter, Sybase DB, MySQL, Play framework, Apache Server, Eclipse, Maven
Tests: JMeter, JUnit 4, SoapUI, Firefox REST-Client
Arbeitsverwaltung: JIRA, Bugzilla, Google Docs
Versionsverwaltung: Git, SVN, Git-SVN, Eclipse EGit
Plattform: Linux Ubuntu und Debian, Windows 7
--------------------------------------------------------------------------------------------------------
Zeitraum: 10/10 – heute
Branche: Web
Thema:
Design und Entwicklung einer Social-Networking Album Dienst mit Facebook Graph API Integration
Beschreibung:
Ein soziales Album Dienst wurde entworfen und wird entwickelt, dass mit Facebook Graph API integriert ist.
Die Infrastruktur ist eine hoch skalierbare und effiziente Umgebung basierend auf einem asynchronen IO-Server von Play Framework und NoSQL Datenspeicherung mit CouchDB, und verteilten Caching basierend auf Redis.
Die Architektur ist eine hoch skalierbare REST Architektur. Technologisch und architektonisch gesehen, hat Play Framework eine zentrale Rolle hier, da es PHP-Entwicklungszyklusen (Code-reload-Test) und den entsprechenden Code Produktivität ermöglicht. Es ist eine REST Web-Framework, das die Skalierbarkeit der Anwendungen erhöht. Das Framework hat ein embedded asynchroner IO-Server (nicht blockierende IO-Server), der hohe Durchsatz gewährleistet. Außerdem wurde CouchDB eingesetzt, die eine RESTfule Dokument DB ist, und selber als ein REST Schnittstelle für die persistenten Daten funktionieren kann.
Die Anwendung verwendet OAuth sowie OpenID für die Authentifizierung und ist an der Client-Seite mit jQuery programmiert.

Aufgaben im Projekt umfassten:
+Design des Datenmodells in CouchDB mit entsprechenden Views für die Daten zugreifen, JSON Bindung zu Java mit Jackson Framework
+Konzeption und Implementierung von Zero-share, No-Session Architektur basierend auf Play Framework
+Design und Implementierung von Foto-Speicherung und Foto-Manipulation mit JMagick
+Authentifizierung mit OpenID und OAuth, die Google, Facebook und Twitter als Identity Provider verwendet
+JQuery AJAX-Lösung für Performance-Schub
+JQuery UI basierende Fotogalerie
+Load-Balancing und Virtual-Hosting in Lighttpd
+Python-Skripte für das Applikation Management (Release und Monitoring), und die Vorbereitung von Daten für Tests
+JUnit Funktions-und Integrationstests

Position: Architect, Entwickler
Teamgröße: 2
DV-Basis:
Technologien:
Java, Python, Play Framework, jQuery, jQuery UI, OAuth, OpenID, JSON, Jackson, Async Http Client
Tools: Play Framework, CouchDB, Redis, Lighttpd, Eclipse, Maven
Tests: JUnit 4, Python, Firefox REST-Client
Versionsverwaltung: Git, Eclipse EGit
Plattform: Linux Ubuntu
-------------------------------------------------------------------------------------------------------------------------------
Zeitraum: 10/09 – 3/10
Branche: Internet / TK
Thema:
Design und Prototyping eines einheitliches Ticket-System, REST SOA-Architektur anhand von OSGi Modularisierung
Beschreibung:
Das betroffene Unternehmen ist ein Internet-Reseller, das Internetverbindungen von vielen anderen Internet-TK Unternehmen weiterverkauft. Für jeden Typen von Störungstickets (von jeweiligen Kooperationspartnern) des Unternehmens ist heute eine separate Business Prozess-Implementierungen (jBPM Prozess) zuständig.
Das Hauptziel des Projekts bestand darin alle diese Prozess-Implementierungen in einem einzigen Supe-prozess zu vereinheitlichen, mit einer einheitliches Benutzeroberfläche und Prozessablauf.
Die Herausforderungen waren, alle die verschiedenen Prozessabläufe zu vereinheitlichen; alle Ticket Datenmodelle sowie Bindung von aller unterschiedlichen Schnittstellen für die Kommunikation zu vereinheitlichen. Es wurde speziell schwierig alle die Kommunikationsprotokolle Schichten transparent zu machen, die in der Tat in den vielen jBPM Prozesse implementiert waren. Eine technische Anforderung war auch, ein Prozess Cluster mit REST Schnittstellen zu schaffen, die transparent verschiedene Klienten bedient.

Aufgaben im Projekt umfassten:
+SOA Architektur für Middleware
+Design und Prototyping einer verteilten OSGi inspirierten Modularisierung Plattform mit Registrierung sowie Lookup-+Dienste implementiert mittels AspectJ, mit Hilfe von Erweiterung von JBoss Deployern
+Design von einem einheitlichen Super-Prozess
+Design eines einheitliches Ticket Daten-Modell
+Evaluierung der JBoss Messaging für ein zuverlässiges JMS-Cluster als Integrationsschicht
+Evaluierung von Memcached für ein verteiltes Cluster-Cache

Position: Lead Architect
Teamgröße: 4
DV-Basis:
Technologien: Java, EJB3, JPA, jBPM 4, OSGi, Spring Core 2.5, Guice, AspectJ
Tools: Memcached, JBoss 4.2.3, JBoss Messaging, Sybase DB, MySQL, Maven, Eclipse
Tests: JUnit 4
Versionsverwaltung: SVN, Eclipse Subversive
Plattform: Linux Debian, Windows XP
Zeitraum: 07/08 – 11/08
Branche: Internet / TK
Thema:
Design und Implementierung einer BPM-Lösung für DSL-Ticketing zwischen zwei TK Unternehmen
Beschreibung:
Die Firma (einer größten Internet-TK Unternehmen in Deutschland) ist der Reseller von DSL-Leitungen. Im Falle von Störungen auf den Leitungen, muss das Unternehmen die jeweilige Carrier der Leitung in einem gemeinsamen Geschäftsprozess kontaktieren.
Die BPM-Lösung ist die Implementierung eines Geschäftsprozesses, die der Kommunikation (zwischen den beiden Parteien) abbildet; die Schritte, die menschlichen Agenten treffen müssen modelliert, und die automatisierte Ablaufe vom System ausführt.
Die Kommunikation erfolgt asynchron über SOAP Web Services, und es sind viele Komponenten (Hardware und Software) in den gemeinsamen Systemen beteiligt. Um die Zuverlässigkeit und Konsistenz zu gewährleisten, wurde ein JMS-Integration Schicht konzipiert und umgesetzt. Konsistenz ist grundsätzlich in diesem Zusammenhang, die Gewährleistung von Zustellung von Nachrichten, unabhängig von Störungen im System.

Aufgaben im Projekt umfassten:
+Design und Implementierung des Ticketing Datenmodells in den Sybase DB mit JPA / Hibernate
+Design und Implementierung von der Ticketing Middleware in JBoss mit Hilfe von EJB3 und Spring Core
+Design und Implementierung von jBPM Prozess
+Design und Implementierung von Prozess-Middleware in JBoss mit Hilfe von EJB3 und Quarz Jobs
+Design und Implementierung von einer Integrationsschicht mit JMS, EJB3 und MDB
+Design und Implementierung von Kommunikations-Schicht mit JAX-WS (erster Release AXIS) und JAXB für WSDL (XSD / XML) Bindung
+Konfiguration von JBoss, Quarz Jobs und JMS-Queues
+Planung von Release und Wartung des Systems (jBPM Prozesse, Middleware-Komponenten und der Rich-Client)
+JUnit Funktions-und Integrationstests

Position: Architect, Technical Lead
Teamgröße: 12
DV-Basis:
Technologien:
Java, EJB3, JPA, MDB, JMS, jBPM 3.1.4, JAX-WS, AXIS, WSDL, JAXB, Spring Core 2.5
Tools: jBPM 3.1.4, JBoss 4.2.1, JBossMQ, Quartz, Sybase DB, MySQL, Maven, Eclipse
Tests: JUnit 4
Versionsverwaltung: SVN, Eclipse Subversive
Plattform: Linux Debian, Windows XP
-----------------------------------------------------------------------------------------------------
Zeitraum: 03/08 – 06/08
Branche: Internet / TK
Thema:
Design und Implementierung einer BPM-Lösung für DSL-Ticketing zwischen zwei TK Unternehmen
Beschreibung:
Die Firma (eine der größten Internet-TK Unternehmen in Deutschland) ist der Wiederverkäufer von DSL-Anschlüssen der Deutschen Telekom. Im Falle von Störungen auf den Leitungen, muss das Unternehmen die Telekom in einem gemeinsamen Geschäftsprozess kontaktieren.
Die BPM-Lösung ist die Implementierung eines Geschäftsprozesses, die der Kommunikation (zwischen den beiden Parteien) abbildet; die Schritte, die menschlichen Agenten treffen müssen modelliert, und die automatisierte Ablaufe vom System ausführt.
Die Kommunikation zwischen den beiden Parteien geschieht per Fax. Als Folge dieser Einschränkung eine zuverlässige Integrationsschicht benötigt wurde, die das Senden und Empfangen von Faxen garantiert. Die Integrationsschicht besteht auf JMS-Queues und JMX Schnittstellen für automatisches Versenden von Faxen (über HylaFAX-Server).

Aufgaben im Projekt umfassten:
+Design und Implementierung des Ticketing Datenmodells in den SybaseDB mit JPA /Hibernate
+Design und Implementierung von der Ticketing Middleware in JBoss mit Hilfe von EJB3 und Spring Core
+Design und Implementierung von jBPM Prozess
+Design und Implementierung von Prozess-Middleware in JBoss mit Hilfe von EJB3, MDB und Quarz Jobs
+Design und Implementierung von einer Integrationsschicht mit JMS und EJB3/MDB
+Design und Implementierung von Kommunikations-Schicht via HylaFAX-Server
+Erstellung von Fax-Nachrichten mit iText
+Konfiguration von JBoss, HylaFAX server, Quarz Jobs und JMS-Queues
+Planung von Release und Wartung des Systems (jBPM Prozesse, Middleware-Komponenten und der Rich-Client)
+JUnit Funktions-und Integrationstests

Position: Technical Lead, Entwikler
Teamgröße: 10
DV-Basis:
Technologien:
Java, EJB3, JPA, MDB, JMS, JMX, jBPM 3.1.4, iText, Spring Core 2.5
Tools:
jBPM 3.1.4, JBoss 4.2.1, JBossMQ, Quartz, HylaFAX 4.4.4, Sybase DB, MySQL, Maven Eclipse
Tests: JUnit 4
Versionsverwaltung: SVN, Eclipse Subversive
Plattform: Linux Debian, Windows XP

Reisebereitschaft

Verfügbar in den Ländern Deutschland
Vor-Ort Einsätze so wohl als Remote:
D5
D6
Suttgart
München
Nürnberg
Profilbild von Anonymes Profil, Java Enterprise Consultant Java Enterprise Consultant
Registrieren