Die
Berechtigungsverwaltung musste auf eine einheitliche, unternehmensweite Struktur
umgestellt werden, dazu hat man sich als Zielsystem für Keycloak mit
OpenId-Connect entschieden. Dazu wurden die Wildfly-Server auf neue Versionen angehoben,
diverse Teilprojekte aktualisiert und die gesamte Berechtigungssteuerung umgestellt.
Die Einarbeitung und Umstellung erfolgte zu Beginn prototypisch, um die technischen Herausforderungen durch die vorhandenen Abhängigkeiten zu identifizieren und einen einheitlichen Lösungsweg zu erarbeiten. Dabei wurden zusätzlich alltägliche Entwicklungsprobleme identifiziert und abgemildert.
Java 8, 11,17
Server Wildfly 26, Tomcat 9.x
Datenbanken Oracle DB, PostgreSQL
Technologien Java,REST, JSON, XML, JPA,
JWT, OpenId Connect, EJB, OAuth,
Elytron, Camunda BPM, JSF
Frameworks RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Eclipse RCP,
SWT, Riena,
Keycloak, Single Sign On (SSO), LDAP
Tools Maven,
Eclipse IDE, IntelliJ, Git, GitLab, Jenkins, Jira, Confluence,
Nexus, Sailpoint IdentityIQ 8.4 IIQ (Identity Access Management,
IAM), Docker,
Kubernetes, ElasticSearch, Kibana, HashiCorp
Terraform, HashiCorp Vault,
Consul-Template, Go Template,
Active Directory, Azure AD / Entra ID
Die zentrale Aufgabe im Projekt lag in der Migration der Datenmodelle eines Bundeslandes in das Datenmodell eines anderen Bundeslandes und der damit verbundenen Zusammenlegung der Anwendungen. Dazu mussten beide Datenmodell analysiert, eine Datenmodell-Transformation implementiert und diverse Tests durchgeführt werden. Da es sich um ein Verfahren zur Auszahlung von Sozialgeldern handelt, war eine hohe Genauigkeit bis zu den jeweiligen Berechnungen notwendig.
Zusätzlich wurden mehrere neue Anforderungen implementiert und Fehler korrigiert.
Java 8
Server Jetty 9.x + Tomcat 8.x
Datenbanken Oracle DB, HSQLDB
Technologien Java, REST, JSON, XML, JPA, PL/SQL
Frameworks RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Flyway, Eclipse, SWT/RWT, RAP, Keycloak, iText
Tools Maven, Eclipse IDE, SVN, Git, Jenkins, Jira, xWiki
Die Unternehmensplattform wurde neu entwickelt und das eigene Teilprojekt beschäftigt sich mit der Kommunikation zwischen den einzelnen Komponenten. Es werden die Daten von verschiedenen anderen Drittsystemen eingelesen oder über verschiedene Schnittstellen empfangen und an die Ziel-Systeme weitergeleitet.
Es handelt sich um ein reines Backend-System, dass in einem JBoss EAP zusammen mit Camunda BPM für die Ablaufsteuerung arbeitet.
Eines der Hauptprobleme stellt die Performance mit den teilweise sehr umfangreichen Datenmengen dar, besonders im Zusammenspiel mit Camunda BPM.
Java 11
Server JBoss EAP
Datenbanken IBM DB2, H2
BPM Camunda BPM, Camunda Modeler
Technologien JAVA EE / Jakarta EE, CDI, JAX-RS, REST, JSON, JAX-WS, SOAP, Webservices, XML, LDAP, JPA
Frameworks RESTEasy, FasterXML, Apache CXF, Hibernate, JUnit, Mockito, AssertJ, Flyway, Apache POI, Swagger/OpenApi, Swagger-UI, Infinispan Cache, Apache HttpClient
Tools Maven, IntelliJ IDEA, Bitbucket, Git, Jenkins, Sonar, Jira, Confluence
- Der eigene Aufgabenschwerpunkt umfasste die Implementierung von Camunda-Prozessen mit ihren Java-Delegates.
- Anbindung von REST- und Webservice-Schnittstellen
- LDAP-Anbindung zur Authentifizierung und Autorisierung.
- Aufbau der Datenbank-Schemas incl. Hibernate-Anbindung, JPA.
- Integration von Swagger/OpenApi mit Swagger-UI zur automatischen Generierung von Schnittstellen-Spezifikation (JSON/YAML) der angebotenen REST-Services.
- Integration von Flyway für die automatische DB-Initialisierung (Lokal und Test-Umgebunden.)
- Die DB2 wurde sowohl für normalisierte Datenmodelle, wie auch für JSON (BSON) genutzt, um im NoSQL-Style die Daten auszuwerten.
- Der Test-Ablauf wurde erweitert und eine vollständige Test-Automatisierung im JUnit Umfeld mit Camunda BPM und Weld SE (CDI) realisiert.
- Die Testabdeckung umfasst alle einzelne Methoden, sowie die bekannten Camunda-Anwendungsfälle. Die Ausführung erfolgt mit jedem Maven-Build.
- Zur Steigerung der Code Qualität wurde SonarQube angebunden und der Code-Review Prozess von Bitbucket genutzt.
- Die technische Dokumentation wurde in Confluence gepflegt, zum Beispiel: Datenmodelle; Verschiedene Services, Caching-Konzepte, usw.; Bereitgestellte Schnittstellen für andere Systeme.; Anwendungs-Infrastruktur.
- Weitere Implementierungsdetails wurden direkt im Code und in Markdown-Dateien beschrieben.
Zum Verkauf der Versicherungen wird hauptsächlich eine eigenständig entwickelte Anwendung genutzt, diese muss ständig an die neuen Produkte und gesetzlichen Regelungen angepasst werden. Sie wird von den internen Mitarbeitern, wie auch unabhängigen Maklern verwendet.
Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) unterteilt. Die Oberflächen für den Anwender werden innerhalb des Eclipse RCP Frameworks umgesetzt und zusätzlich gibt es noch weitere ?Kanäle? mit eigenständigen Oberflächen die nur den Backend-Teil über Webservices aufrufen.
Die interne Struktur ist stark verteilt über diverse Subsysteme und Host-Implementierungen, daher wurde die gesamte Analyse und Entwicklung von einem umfangreichen Abstimmungsaufwand begleitet.
Java 8 und 11
Webserver JBoss EAP, Eclipse Jetty (embedded)
Technologien Java SE, Java EE, JAX-WS, SOAP, Webservices, JAX-RS, REST, JSON, XML, LDAP, OSGI
Frameworks Eclipse RCP, Riena, Hessian, Jackson, FasterXML, JUnit, Mockito
Tools Maven, SVN/Git, Jenkins, Checkstyle, Sonar, CIB Document Workbench, Jira, Confluence
Für die Beratung der Kunden wird eine neue Web-Plattform aufgebaut, mit dessen Hilfe die Vor- und Nachteile der aktuellen finanziellen Absicherung besser dargestellt werden. Intern wird die Plattform direkt von den Beratern genutzt und ermöglicht einen einheitlichen Beratungsablauf, der zum Großteil nach deren Anforderungen gestaltet ist. Über verschiedene öffentliche Zugänge erhalten die Kunden teilweise selbst direkten Zugriff auf die Plattformen und können dort selbständig ihre aktuelle Situation bewerten.
Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) getrennt, die Oberflächen werden in einer modernen Single-Page Variante mit Javascript und das Backend zustandslos mit einfachen Servletcontainern entwickelt. Die Kommunikation zwischen Frontend und Backend wird über diverse REST-Services ermöglicht und nutzt die Vorteile von Spring-Boot. Weitere Dritt-Systeme sind teilweise über legacy SOAP Webservices angebunden.
Die interne Struktur der Anwendung verteilt sich über weitere Dritt-Services und ist vollständig Zustandslos, selbst der Speichervorgang von Kundendaten erfolgt in einem Dritt-System und macht eigene Datenbanksysteme obsolet. So lassen sich die verschiedenen Einzel-Anwendungen mit hohem Focus auf die Fachlichkeit und reduzierten internen Abhängigkeiten entwickeln und ermöglichen einen erhöhte Wiederverwendbarkeit von eigenen Anwendungs-Bausteinen.
Java 8
Server Tomcat (mit Spring Boot)
Technologien Java SE, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP
Frameworks Jackson, FasterXML, JUnit, Mockito, PowerMockito, Groovy, Spock, AssertJ, Spring Boot, Swagger / OpenApi, Swagger-UI, Typescript, Angular
Tools IntelliJ IDEA, Maven, Bitbucket, TeamCity (Continuous Integration), Checkstyle, Sonar, Confluence, Jira
Es handelt sich um mehrere einzelne Client-Server Plattformen zur Verwaltung von allgemeinen Stammdaten bis hin zu diversen stark strukturierten Finanzprodukten (Optionsscheine, Zertifikate, usw.). Der flexible Aufbau verteilter Anwendungsplattformen erlaubt eine höhere Flexibilität während der Weiter- und zusätzlichen Neuentwicklungen.
Das Ziel der Anwendungen liegt in einer deutlichen Steigerung der Product-to-Market-Time und einer einheitlichen Struktur alle existierenden Finanzprodukte, gleichzeitig steigert man die Revisionssicherheit und reduziert die Fehler während der Produkterstellung.
Die einzelnen Anwendungen werden im Backend mit standardisierten JavaEE-Application-Servern entwickelt und die Clients mit modernen Javascript-Single-Pages (Ajax-Weboberflächen). Die Kommunikation zwischen Client und Backend, sowieso zwischen den einzelnen Anwendungen erfolgt via REST-Schnittstellen (JSON) und einigen legacy SOAP Webservice.
Java 6 und 8
Server JBoss EAP
Datenbank Oracle
Technologien Java EE, JPA, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP
Frameworks Hibernate, JUnit, Mockito, PowerMock, Arquillian, Google Guava, Shiro, ModelMapper, RESTEasy, Jackson, FasterXML, Apache CXF, IBM MQ, Backbone, Marionette
Tools IntelliJ IDEA, Maven, Mercurial, Hudson/Jenkins, Checkstyle, PMD, FindBugs, Sonar, Citrix, CIB Document Workbench
Es handelt sich um eine webbasierte Anwendung zur Verwaltung und Erfassung von Wagenbeständen, sowie der Zusammenführung mit eingehenden Leerwagenbestellungen. Die Weboberflächen wurden mit JSF/RichFaces/PrimeFaces realisiert und zusätzlich um eigene Widgets und Javascript-Elemente erweitert. Das Backend wurde mit einem Java EE Stack realisiert, dazu kam der Application Server von JBoss mit weiteren Technologien zum Einsatz, wie zum Beispiel JPA/Hibernate, CDI/EJB und Oracle DB.
Im Projekt wurden zahlreiche Background Jobs und Schnittstellen zu und von anderen Systemen entwickelt die teilweise große Datenmengen handeln müssen.
Während der Entwicklung wurden ständig Performance-Analysen, mit Hilfe von Profiling-Tools wie YourKit, und anschließenden Optimierungen durchgeführt.
Der eigene Aufgabenschwerpunkt lag in der Neu- und Weiterentwicklung der Java Implementierungen (Frontend und Backend); Weiterentwicklung und Optimierung von individuellen JSF/PrimeFaces-Komponenten; und tiefergehende System/Performance/Review-Analysen.
Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar, PMD und FindBugs) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang.
Applikationserver
JBoss EAP 7 + Java 8
Datenbank
Oracle
Technologien
Java EE, Hibernate, JPA, JUnit, JMockit, Arquillian, Google Guava, Eclipse IDE, Maven, SVN, ClearQuest, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle, Quartz, Spring, MQ
Es handelt sich um eine Client-Server Anwendung zur Einsicht, Verwaltung und Planung von Fahrwegen für einen Zug-Fahrplan für Fahrten in Betriebsstellen (Bahnhöfen). Der Client basiert auf dem aktuellen Eclipse E4 RCP Framework und beinhaltet neben mehreren Perspektiven und diversen Fenster-Bereichen individuelle grafische Ansichten, zur Darstellung von umfangreichen Spurplänen (Schienen- und Signal-Darstellungen innerhalb von Bahnhöfen), weiteren grafischen Planungsansichten von Gleisbelegungen mit umfangreichen Drag & Drop Funktionen und Bearbeitungsmöglichkeiten. Die individuellen Grafik-Komponenten basieren auf Draw2D und wurden nahtlos in die RCP Struktur integriert. Die Kommunikation zwischen Client und Server erfolgt mit einer JavaEE Server-Infrastruktur, geschützt durch Java JAAS mit Anbindung an ein zentrales Unternehmens-LDAP.
Zum Projektbeginn wurden auf Basis von Proof of Concepts verschiedene Java- Zeichnungsframeworks evaluiert und die Möglichkeiten des Eclipse E4 RCP Frameworks geprüft. Die Einarbeitung in die diversen Client Frameworks erfolgte eigenständig. Im Server-Umfeld kamen bekannte Technologien, wie z. B. EJB, CDI, JPA und Hibernate in Kombination mit einer Oracle Datenbank zum Einsatz.
Nach der PoC-Phase begann die Einarbeitung in die fachlichen Anforderungen und die kontinuierliche Überführung in mehrere, umfangreiche technische Designs (mit dem Enterprise Architekt) zur Dokumentation der Datenmodelle, Komponenten und Prozesse.
Während der gesamten Entwicklungszeit wurde großer Wert auf möglichst gute Usability, Performance bei großen Daten- und Darstellungsmengen (speziell Zeichnungen) gelegt. Schwachstellen wurden mit Hilfe von Profiling Tools wie YourKit und SysInternals identifiziert.
Der eigene Aufgabenschwerpunkt lag in Reviews der fachlichen Dokumente, Reviews der technischen Designs und der Java Implementierungen.
Primär befasste ich mich mit Themen im Client-Umfeld, wie die Konzeption des technischen Client-Designs, der Datenmodelle und Weiterführung der Dokumentation für Design- und Implementierungsvorgaben. Einarbeitung in die gewählten Client-Frameworks und der anschließenden Verteilung des erarbeiten Wissens auf mehrere Team-Mitglieder.
Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang.
Applikationserver
JBoss EAP 6
Datenbank
Oracle
Technologien
Java EE, Java SE, Hibernate, JPA, Eclipse E4 RCP, SWT/JFace, Draw2D, JUnit, Mockito, Google Guava, JAAS, Eclipse IDE, Maven, SVN, Jira, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle
Es handelt sich um eine unternehmenskritische Client-Server Anwendung zur Planung der gesamten Arbeitsabläufe aller Bahnmitarbeiter, minutengenau. Der Client basiert auf einer Swing-Oberfläche und kommuniziert mit einer JavaEE Server-Infrastruktur.
In der ersten Projektphase wird das gesamte Projekt einer technischen Erneuerung unterzogen. Die bestehende interne Anwendungsstruktur wird vollständig überarbeitet um zukünftige Änderungen in einem akzeptablen Zeitumfang realisieren zu können. Weiterhin wird die Modularisierung und damit die Unabhängigkeit der einzelnen Programmbestandteile vorangetrieben.
Dies beinhaltet eine komplette Umstellung der vorhandenen Persistenz-Schicht auf den Standard JPA (zur Datenbank-Anbindung), wenn möglich die vereinfachte Form von Dependency-Injections mittels CDI und die Anwendungsweite Integration der neu entstehenden Klassen-Strukturen im gesamten Server- und Client-Umfeld.
Die Einarbeitung in den vorhandenen Programmcode erfolgte soweit möglich eigenständig und Aufgabenbezogen durch bestehende JUnit Testfälle und die Prozesse in der Anwendung selbst. Für neue Datenstrukturen und Schnittstellenanbindungen wurden laufend weitere Testfälle implementiert.
Der eigene Aufgabenschwerpunkt lag in der Analyse der bestehenden Backend-Logik und anschließenden Migration der Persistenz-Schicht mit EclipseLink-API auf JPA. Gleichzeitig wurde die Backend-Logik von klassischem EJB3 auf die vereinfachte Form des Dependency Injection ?CDI? umgestellt.
Während der gesamten Projektlaufzeit wurden Fehleranalyse der laufenden und weiterentwickelten Anwendung durchgeführt, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Applikationserver
Weblogic 12
Datenbank
Oracle
Technologien
Java EE, Java SE, Toplink, JPA, Eclipse IDE, Swing, Maven, ClearCase, ClearQuest, Enterprise Architekt, JUnit, Hudson/Jenkins
Bei der Anwendung handelt es sich um ein hochverteiltes Konzept, diverse Teilbereiche der Software werden von unterschiedlichen Teams, als eigenständige Teilanwendung entwickelt. Dadurch ergeben sich diverse Schnittstellenthemen zwischen den einzelnen Server- und Clientkomponenten. Sie wird als Java EE Anwendung entwickelt und im JBoss 4 betrieben. Der Client basiert auf dem Eclipse RCP Framework und kommuniziert über zuvor freigeschaltete (Security) Schnittstellen mit den Serverkomponenten.
Zu Beginn des Projektes wurden umfangreiche Wartungsarbeiten am aktuellen Entwicklungsstand zur Stabilisierung und baldigen Produktionseinführung durchgeführt, die Einarbeitung erfolgte dabei zu großen Teilen eigenständig.
Im Anschluss wurde für eine neuere Version das Design des gesamten Datenmodells überarbeitet. Ziel war es, komplexe Strukturen möglichst zu vereinfachen und dadurch die Effizienz während der Implementierung und Laufzeit zu steigern. Zur Datenabstraktion wurde Dozer und Hibernate und als zugrundeliegende Datenbank Oracle eingesetzt.
Weiterhin wurden einzelne Teilprojekte neu aufgesetzt, in diesem wurden die Persistenzschicht (Hibernate) mit dem zusätzlichen Pojo-Mapping (Dozer), Schnittstellen zu anderen Teilbereichen und die Verarbeitungslogik mit entwickelt.
Da es sich hierbei um ein MDA (Model Driven Architecture) getriebenes Projekt handelt, wurden alle Klassen, Methoden und Schnittstellen im Vorfeld in Magic Draw konzipiert (UML) und anschließend daraus die grundlegenden Klassen und Methoden generiert.
Der eigene Aufgabenschwerpunkt umfasst den Entwurf des gesamten detaillierten Klassen-/Modelldesigns zur anschließenden Klassen/Methodengenerierung mit Magic Draw (UML), incl. Schnittstellen-Spezifikation, Java Implementierung und JUnit-Tests; sowie der Fehleranalyse und -behebung in der bestehenden Anwendung.
Ein weiteres wichtiges Thema war die nachhaltige Performance-Optimierung innerhalb der zuständigen Teilbereiche.
Die technische Dokumentation erfolgte (aufgrund des MDA-Ansatzes) ausschließlich in UML mit dem Tool Magic Draw.
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Applikationserver
JBoss 4.2
Datenbank
Oracle
Technologien
Java EE, Java SE, Dozer, Hibernate, JPA, JMS, XML, Velocity, Eclipse IDE, Eclipse RCP, Ant, SVN, Magic Draw, JUnit, Hudson/Jenkins, Checkstyle, Linux/Windows.
Eine der ersten Kernaufgaben im Projekt lag in der Migration verschiedener Legacy-Anwendungen auf einen technisch aktuelleren und einheitlicheren Standard. Alle bestehenden Anwendungen wurden mit Java EE realisiert und auf den zwei verschiedenen Applikation Servern JBoss EAP 4.0.3 und Weblogic 10.3.2 betrieben.
Während der Migration wurden die JBoss EAP Installationen von Version 4.0.3, mit Java 5 auf die aktuelle JBoss EAP Version 5.1, mit Java 6 angehoben. In diesem Zusammenhang mussten die unterschiedlichen Anwendungs-Architekturen geprüft und Abhängigkeiten der Implementierung zu Thirdparty-Libraries analysiert und an aktuelle Versionen angepasst werden, um deren Lauffähigkeit weiterhin in gewohnter Stabilität zu gewährleisten.
Die Kommunikationswege unter den JBoss und Weblogic basierenden Anwendungen wurden von verschiedenen technischen Legacy-Frameworks, wie Axis, JBoss Native oder allgemein JAX-RPC, auf den einheitlichen technologischen Standard JAX-WS migriert. Verwendet wurde dazu das High Performance Webservice Framework Apache CXF in Verwendung mit dem JBoss- und das Webservice Framework Metro beim Weblogic Application Server.
Nach Abschluss der Migration wurden weiterführende Implementierungen in bestehenden Anwendungen durchgeführt. Diese bezogen sich zum Beispiel auf die Bereitstellung neuer Webservice-Schnittstellen, Eclipse-RCP Oberflächen und allgemein der Implementierung neuer Anforderungen in der Anwendungslogik im JBoss- und Weblogic-Umfeld.
Der eigene Aufgabenschwerpunkt lag in der Migration bestehender Legacy-Anwendungen; der Implementierung neuer Webservice-Schnittstellen, Oberflächen und allgemein Anwendungslogik im JBoss und Weblogic Umfeld; sowie der Fehleranalyse in bestehenden Anwendungen, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.
Die technische Dokumentation erfolgte in Form von technischen Konzepten incl. umfangreicher UML- und Architektur-Diagrammen.
Zusätzlich wurden technische Dokumentationen für die Migration von weiteren Anwendungen auf Basis der bereits migrierten Anwendungen angefertigt, um Arbeitsabläufe im Team zu parallelisieren und zu vereinheitlichen.
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Applikation- und Webserver
JBoss EAP 4.0.3, JBoss EAP 5.0, JBoss EAP 5.1, Weblogic 10.3.2, Apache HTTP Server
Datenbanken
DB2, Oracle
Technologien
Java EE, JDBC, Webservices, SOAP, Apache CXF, Metro, MTOM, JAX-WS, JAX-RPC, Axis, XML, Eclipse IDE, Eclipse RCP, Swing, Sevlets, Struts, JSF, iBatis, Hibernate, Spring Framework, JMS, IBM MQ Series, ClearCase, ClearQuest, Ant, Enterprise Architect, JUnit, Hudson/Jenkins, Linux/Windows
ILOG JRules wird inzwischen als IBM ODM vermarktet.
Oktober 2008 ? November 2010
Revisionssicheres Kreditentscheidungssystem
Branche: Banken (Santander Consumer Bank)
Im Projekt wird ein einheitliches regelbasiertes System zur Kreditvorentscheidung entwickelt. Die neue Applikation erlaubt eine flexiblere und schnellere Umsetzung wiederkehrender neuer Anforderungen durch die verschiedenen Fachbereiche oder geänderte Gesetzgebungen.
Bestehende Implementierungen liegen in Programmiersprachen wie Java vor, die von Fach-anwendern schwer zu verstehen sind. An dieser Stelle setzt die neue Applikation ein. Sie nutzt im Kern das BRMS JRules von IBM und erweitert es um benötigte Zusatzfunktionen. In Zusammenarbeit mit dem Fachbereich wurde ein verständliches Datenmodell entwickelt das alle notwendigen Informationen für eine Entscheidungsfindung enthält und die Grundlage für alle bestehenden Regeln bildet.
Die Infrastruktur zur Ausführung der Regeln wurde als JavaEE fähige Applikation entwickelt und wird auf dem IBM Websphere Application Server betrieben. Ein Servlet nimmt die XML Antragsdaten entgegen, leitet sie zu den relevanten Regelwerken (IBM Websphere JRules) und liefert das Bewertungsergebnis der Kreditentscheidung ebenfalls als XML zurück.
Der eigene Aufgabenschwerpunkt lag in der Weiter- und Neuentwicklung der Regelwerke (JRules) und der damit verbundenen laufenden Anforderungsanalyse in direkter Zusammenarbeit mit den Fachbereichen und Koordinierung des eigenen Teilprojektes und Teammitgliedern.
Die fachliche Dokumentation wurde zusammen mit den Fachbereichen erarbeitet und in internen DV Konzepte gepflegt bzw. überführt. Technische Dokumentation erfolgte zusätzlich im Programmcode.
Die Java-Entwicklung wurde weitergeführt und unterstützt.
Weiterentwicklung der vorhandenen Datenstrukturen und Schnittstellenspezifikation für die aufrufenden Applikationen (XSD).
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Software
IBM Ilog Websphere JRules (BRMS),
IBM Websphere AS (Produktionsbetrieb), JBoss AS (Entwicklung und Tests),
SQL Developer
Datenbank
DB2, Oracle
Technologien
Java (JavaEE), JDBC, Servlets, XML, XSD (XML Schema), Eclipse IDE, CVS, Ant, JUnit, XMLUnit
August 2007 ? Juni 2008
Einführung eines Regelbasierten Business Systems zur Berechnung von Transport-Forecasts
Branche: Transport/Logistik (Deutsche Post (DHL))
Das Ziel dieses Projektes lag in der besseren Personal- und Transport-Planung, der Prozess Optimierung anhand von vorhandenen Ist- und prognostizierten Soll-Daten.
Meine Aufgabe in diesem Projekt beinhaltete die Analyse der vorhandenen Business/IT-Architekturen, des Datenmodells sowie der Analyse fachlicher Anforderungen. Aufgrund der Ergebnisse wurden mit einem Business Rule Management System (BRMS) diverse Regeln für die Prognose-Berechnung definiert. Diese Prognosen beruhen auf historischen Informationen wie Auftragsinformationen, Standorten, Transportmengen, Fahrzeiten, Personal-Einsatzschichten und weiteren Daten.
Die Applikation wurde mit Java (J2SE) entwickelt und integriert Ilog JRules als BRMS. Die Daten werden in einer Oracle DB persistiert und anschließend von ETL Prozessen in eine Reporting Umgebung transferiert, wo sie abschließend mit Crystal- und BO-Reports visualisiert wurden.
Ein weiteres zu lösendes Problem bestand in der Skalierung bei großen Datenmengen. Mit unter wurden anhand von mehr als 5 Millionen Eingangs-Datensätzen über 100 Millionen Ergebnis-Datensätze in unter zwei Stunden berechnet und in Datenbanken persistiert. Das Lade-, Verarbeitungs- und Speicherverhalten der Applikation, Datenbanken und ETL-Prozesse mußte hier gesondert optimiert werden.
Der eigene Aufgabenschwerpunkt lag in der Regelentwicklung und der damit verbundenen laufenden Anforderungsanalyse. Die Java-Entwicklung wurde zu Beginn vollständig weitergeführt und zum Ende unterstützt.
Die Entwicklung des ER-Modells (Datenbankstruktur) und -optimierung wurde in großem Umfang übernommen; ebenso wie die Implementierung der Applikations- und ETLProzesse, welche performanceintensiv auf die Datenbank zugreifen mußten.
Die fachliche Dokumentation wurde in einem Fachkonzept gepflegt, die technische Dokumentation erfolgte im Programmcode und einem DV-Konzept.
Dem Projektmanagement wurde aus technischer Sicht zugearbeitet.
Software
IBM Ilog Websphere JRules (Business Rule Management System, BRMS),
Informatica Powercenter (ETL Tools),
Crystal, BO (Reporting Tools),
TOAD (SQL Development)
Datenbank
Oracle
Technologien
Java (Java SE), JDBC, Eclipse IDE, CVS, Ant, JUnit, Unix (Solaris), Windows
Oktober 2006 ? April 2007
Webbasiertes Bezahlverfahren/-system (Diplomarbeit)
Branche: Telekommunikation (CSC (O2))
Mobile-Content stellt für den heutigen Markt einen immer wichtigeren Faktor dar. Mobil-funkanbieter suchen daher nach einer neuen Möglichkeit in Kooperation mit Content-Anbietern weitere Geschäftsfelder zu erschließen und Umsätze zu generieren.
Zu diesem Zweck wird nach einem leistungsstarken und sicheren Bezahlverfahren gesucht, das ohne umfangreiche und zusätzliche Gateway-Strukturen allen Ansprüchen, wie beispielsweise Sicherheit, Transparenz und Wartbarkeit, gerecht wird.
Mit diesem Bezahlverfahren wird dem Content-Anbieter jeglicher Implementierungsaufwand einer Abrechnungsstruktur abgenommen. Lediglich eine Signatur-Prüfung muss dieser durchführen, um zahlungspflichtigen Content sicher auszuliefern.
Dieser Prototyp wurde als verteilte Web-Anwendung mit Java EE (J2EE), EJB3, JBoss, Serv-lets, JSP, JSF, den Java-Signierungsmechanismen, Private/Public-Keys (PKCS12) und DataXtend CE als Persistens-Layer realisiert.
Durchgeführt wurden umfangreiche Analysen bestehender Zahlungssysteme, Planung der Anwendung, Planung des Datenmodells (ER-Modell), Erstellen des OR-Mappings und Implementierung der verteilten Anwendung.
Es handelt sich hier um die Diplomarbeit, daher wurden alle Bereiche der Softwareentwicklung abgedeckt. Begonnen bei der umfangreichen Dokumentation, der Datenmodellierung, dem Schnittstellendesign bis hin zur Implementierung, den Tests und Deployments eines voll-lauffähigen Prototyps.
Software
JBoss AS, DataXtend CE (OR Mapping)
Datenbank
MySQL
Technologien
Java (JavaEE), JDBC, JSP, JSF, BouncyCastle, PKCS12, Zertifikate, Eclipse IDE, CVS, Ant, Linux/Windows
2004 ? 2006
Webbasierte Anwendung, Service-Portal Lebenszyklusbetrachtung für Immobilien
Branche: Facility Management (FMC)
Diese Lebenszyklusbetrachtung für Immobilien wurde speziell für Büro- und Geschäfts-gebäude entwickelt. Durch diverse Berechnungen sollen viele der anfallenden Kosten für ein Gebäude auf statistischer Basis prognostiziert werden. Das erlaubt eine Abschätzung nach wie vielen Jahren sich die Investition eines Immobilien-Zukaufs oder -Neubaues rentieren kann. Sie bietet Entscheidungshilfen in Fragen der Rentabilität, dem Break-Even-Point, der Flächennutzung und den Bewirtschaftungskosten.
Alle Werte werden auf Basis statistischer Langzeitwerte (Benchmark) in verschiedene Rechenmodelle errechnet, kombiniert und optimiert. Die Rechnungsgrundlagen wurden von einem FM Unternehmen (Facility Management) über mehrere Jahre gesammelt und in diesem Programm als Wissensdatenbank integriert.
Dieses Programm wurde als Web-Anwendung mit PHP und MySQL entwickelt. Graphen wurden mit phpChartDir generiert und als Template-Engine Smarty eingesetzt. Durchgeführt wurde neben dem Design des logischen und physischen Datenmodells auch die Entwicklung der Anwendung.
Der eigene Aufgabenschwerpunkt lag bei diesem Projekt in der Anforderungsanalyse, der Erarbeitung benötigter Berechnungsalgorithmen, dem Screen-Design/Flow, Entwicklung des Objekt- und ER-Modells, der vollständigen Implementierung und der Tests. Die technische Dokumentation erfolgte vollständig im Programmcode und bei komplexen Themen zusätzlich in einem internen Wiki.
Software
Apache Webserver, PHP Chart Director
Datenbank
MySQL
Technologien
PHP, PEAR, Smarty, Eclipse IDE, CVS, Linux/Windows
2005 ? 2006
Webbasierte Anwendung, Service-Portal Aufzugsmanagement
Branche: Facility Management (FMC)
Das Aufzugsmanagement verwaltet zentral alle Daten von fördertechnischen Anlagen. Das Ziel der Applikation besteht in einem Service-Portal für diverse zusammenarbeitende Firmen. Alle Firmen, die für einen Aufzug in irgendeiner Form verantwortlich sind, sollen über dieses Portal alle notwendigen Informationen für Wartung-, Instandhaltung usw. erhalten können. Die gewonnen Informationen können auf diesen Weg sofort von allen beteiligten Partnern zeitnah eingesehen werden.
Durch den Applikations-Umfang wird der klassische Supply Chain Management Ansatz (SCM) mit einem anfänglichen Workflow-Verhalten verfolgt. Alle Parteien profitieren von gewonnen Informationen und können diese Anderen zur Verfügung stellen, um weitere Optimierungen der gesamten Prozesse zu ermöglichen. Besonders für den Eigentümer solcher Anlagen können diese Informationen zur schnelleren Rechnungsprüfung, Einsehen der Wartungs-, Störungs-, Notfall- usw. Protokollen einen deutlichen Zugewinn darstellen.
Das Projekt enthält folgende Teilbereiche:
Dieses Programm wurde als Web-Anwendung mit PHP und MySQL entwickelt. Als Template-Engine wurde Smarty eingesetzt. Durchgeführt wurden sowohl das Datenbank-Design wie auch die Anwendungsentwicklung.
Der eigene Aufgabenschwerpunkt lag bei diesem Projekt in der Anforderungsanalyse, Entwicklung des Daten- und ER-Modells, der Implementierung und Tests.
Die technische Dokumentation erfolgte vollständig im Programmcode und bei komplexen Themen zusätzlich in einem internen Wiki.
Software
Apache HTTP Webserver, PHP Chart Director
Datenbank
MySQL
Technologien
PHP, Smarty, Eclipse IDE, CVS, Linux/Windows
2005
Administrations-Oberfläche für einen Verschlüsselungsservice Eclipse RCP
Branche: Security (branchenübergreifend) (BeSeQure)
Für eine bereits vorhandene Anwendung mit einem Swing User-Interface sollte eine neue Oberfläche geschaffen werden, die deutlich schneller und leichter zu erweitern ist. Als beste Alternative stellte sich sehr schnell das Eclipse RCP Framework heraus. Durch den Einsatz von SWT/JFace konnte die Geschwindigkeit der einzelnen Oberflächen nahezu an C/C++ typische Verhältnisse angepasst werden. Gerade für größere Listendarstellungen und andere komplexe Baumstrukturen stellte sich das als großen Vorteil heraus.
Die neue Oberfläche nutzt dabei vollständig das Extension-Point Schema von Eclipse und kann so durch weitere hauseigene Plugins an jeder gewünschten Stelle individualisiert werden.
Bei der geplanten Oberflächen-Migration wurde gleichzeitig eine Trennung der Backend-Logik und des User-Interfaces durchgeführt. Der Anwendungskern wurde als SOA Service in einen Application Server ausgelagert und die Oberflächen vollständig mit SWT/JFace in eine Eclipse RCP Application integriert. Die Kommunikation zwischen Backend und Oberfläche erfolgt über eine verschlüsselte Webservice-Schnittstelle (XMLSec) und wurde ebenfalls als Eclipse Plugin implementiert.
Dieser Prototyp wurde als Teil einer Client-Server Anwendung mit dem Eclipse RCP Framework, SWT/JFaces, XMLSec, Axis und weiteren Java-Bibliotheken realisiert.
Der eigene Aufgabenschwerpunkt lag in der Analyse der vorhandenen Software, deren
Oberflächenstruktur und dem Erarbeiten einer geeigneten Lösung für die Implementierung mit dem Eclipse RCP Framework.
Die Dokumentation erfoglte in Form von DV-Konzepten, in einem internen Wiki und zusätzlich im Programmcode.
Software
JBoss AS
Technologien
Java (J2SE, JavaEE), Webservices, SOAP, Axis, JAX-RPC, XML Security, BouncyCastle, PKCS12, Certificate, PKI, Eclipse IDE, Eclipse RCP, CVS, Ant, Linux/Windows
Primäre Programmiersprache
Schwerpunkte
Die Software-Entwicklung ist immer Bestandteil meiner Arbeit, unabhängig von zusätzlichen Aufgaben im Architektur- und Lead-Umfeld.
Architektur
Java-Lead
Programmiersprachen
Frameworks und Standards (bisher genutzt, Auszug)
Weitere Tools (bisher genutzt, Auszug)
Datenbanken
Persönliches ? Vorort / Remote
Aufbau komplexer Datenstrukturen, SQL Optimierung, SQL Tuning, SQL Performanceoptimierung.
(Im Java Umfeld: JPA Optimierungen)
Transport/Verkehr
Freizeit/Touristik
Bank
Versicherung
Transport/Logistik
Telekommunikation
Facility Management
Security
Öffentlicher Sektor
Die
Berechtigungsverwaltung musste auf eine einheitliche, unternehmensweite Struktur
umgestellt werden, dazu hat man sich als Zielsystem für Keycloak mit
OpenId-Connect entschieden. Dazu wurden die Wildfly-Server auf neue Versionen angehoben,
diverse Teilprojekte aktualisiert und die gesamte Berechtigungssteuerung umgestellt.
Die Einarbeitung und Umstellung erfolgte zu Beginn prototypisch, um die technischen Herausforderungen durch die vorhandenen Abhängigkeiten zu identifizieren und einen einheitlichen Lösungsweg zu erarbeiten. Dabei wurden zusätzlich alltägliche Entwicklungsprobleme identifiziert und abgemildert.
Java 8, 11,17
Server Wildfly 26, Tomcat 9.x
Datenbanken Oracle DB, PostgreSQL
Technologien Java,REST, JSON, XML, JPA,
JWT, OpenId Connect, EJB, OAuth,
Elytron, Camunda BPM, JSF
Frameworks RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Eclipse RCP,
SWT, Riena,
Keycloak, Single Sign On (SSO), LDAP
Tools Maven,
Eclipse IDE, IntelliJ, Git, GitLab, Jenkins, Jira, Confluence,
Nexus, Sailpoint IdentityIQ 8.4 IIQ (Identity Access Management,
IAM), Docker,
Kubernetes, ElasticSearch, Kibana, HashiCorp
Terraform, HashiCorp Vault,
Consul-Template, Go Template,
Active Directory, Azure AD / Entra ID
Die zentrale Aufgabe im Projekt lag in der Migration der Datenmodelle eines Bundeslandes in das Datenmodell eines anderen Bundeslandes und der damit verbundenen Zusammenlegung der Anwendungen. Dazu mussten beide Datenmodell analysiert, eine Datenmodell-Transformation implementiert und diverse Tests durchgeführt werden. Da es sich um ein Verfahren zur Auszahlung von Sozialgeldern handelt, war eine hohe Genauigkeit bis zu den jeweiligen Berechnungen notwendig.
Zusätzlich wurden mehrere neue Anforderungen implementiert und Fehler korrigiert.
Java 8
Server Jetty 9.x + Tomcat 8.x
Datenbanken Oracle DB, HSQLDB
Technologien Java, REST, JSON, XML, JPA, PL/SQL
Frameworks RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Flyway, Eclipse, SWT/RWT, RAP, Keycloak, iText
Tools Maven, Eclipse IDE, SVN, Git, Jenkins, Jira, xWiki
Die Unternehmensplattform wurde neu entwickelt und das eigene Teilprojekt beschäftigt sich mit der Kommunikation zwischen den einzelnen Komponenten. Es werden die Daten von verschiedenen anderen Drittsystemen eingelesen oder über verschiedene Schnittstellen empfangen und an die Ziel-Systeme weitergeleitet.
Es handelt sich um ein reines Backend-System, dass in einem JBoss EAP zusammen mit Camunda BPM für die Ablaufsteuerung arbeitet.
Eines der Hauptprobleme stellt die Performance mit den teilweise sehr umfangreichen Datenmengen dar, besonders im Zusammenspiel mit Camunda BPM.
Java 11
Server JBoss EAP
Datenbanken IBM DB2, H2
BPM Camunda BPM, Camunda Modeler
Technologien JAVA EE / Jakarta EE, CDI, JAX-RS, REST, JSON, JAX-WS, SOAP, Webservices, XML, LDAP, JPA
Frameworks RESTEasy, FasterXML, Apache CXF, Hibernate, JUnit, Mockito, AssertJ, Flyway, Apache POI, Swagger/OpenApi, Swagger-UI, Infinispan Cache, Apache HttpClient
Tools Maven, IntelliJ IDEA, Bitbucket, Git, Jenkins, Sonar, Jira, Confluence
- Der eigene Aufgabenschwerpunkt umfasste die Implementierung von Camunda-Prozessen mit ihren Java-Delegates.
- Anbindung von REST- und Webservice-Schnittstellen
- LDAP-Anbindung zur Authentifizierung und Autorisierung.
- Aufbau der Datenbank-Schemas incl. Hibernate-Anbindung, JPA.
- Integration von Swagger/OpenApi mit Swagger-UI zur automatischen Generierung von Schnittstellen-Spezifikation (JSON/YAML) der angebotenen REST-Services.
- Integration von Flyway für die automatische DB-Initialisierung (Lokal und Test-Umgebunden.)
- Die DB2 wurde sowohl für normalisierte Datenmodelle, wie auch für JSON (BSON) genutzt, um im NoSQL-Style die Daten auszuwerten.
- Der Test-Ablauf wurde erweitert und eine vollständige Test-Automatisierung im JUnit Umfeld mit Camunda BPM und Weld SE (CDI) realisiert.
- Die Testabdeckung umfasst alle einzelne Methoden, sowie die bekannten Camunda-Anwendungsfälle. Die Ausführung erfolgt mit jedem Maven-Build.
- Zur Steigerung der Code Qualität wurde SonarQube angebunden und der Code-Review Prozess von Bitbucket genutzt.
- Die technische Dokumentation wurde in Confluence gepflegt, zum Beispiel: Datenmodelle; Verschiedene Services, Caching-Konzepte, usw.; Bereitgestellte Schnittstellen für andere Systeme.; Anwendungs-Infrastruktur.
- Weitere Implementierungsdetails wurden direkt im Code und in Markdown-Dateien beschrieben.
Zum Verkauf der Versicherungen wird hauptsächlich eine eigenständig entwickelte Anwendung genutzt, diese muss ständig an die neuen Produkte und gesetzlichen Regelungen angepasst werden. Sie wird von den internen Mitarbeitern, wie auch unabhängigen Maklern verwendet.
Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) unterteilt. Die Oberflächen für den Anwender werden innerhalb des Eclipse RCP Frameworks umgesetzt und zusätzlich gibt es noch weitere ?Kanäle? mit eigenständigen Oberflächen die nur den Backend-Teil über Webservices aufrufen.
Die interne Struktur ist stark verteilt über diverse Subsysteme und Host-Implementierungen, daher wurde die gesamte Analyse und Entwicklung von einem umfangreichen Abstimmungsaufwand begleitet.
Java 8 und 11
Webserver JBoss EAP, Eclipse Jetty (embedded)
Technologien Java SE, Java EE, JAX-WS, SOAP, Webservices, JAX-RS, REST, JSON, XML, LDAP, OSGI
Frameworks Eclipse RCP, Riena, Hessian, Jackson, FasterXML, JUnit, Mockito
Tools Maven, SVN/Git, Jenkins, Checkstyle, Sonar, CIB Document Workbench, Jira, Confluence
Für die Beratung der Kunden wird eine neue Web-Plattform aufgebaut, mit dessen Hilfe die Vor- und Nachteile der aktuellen finanziellen Absicherung besser dargestellt werden. Intern wird die Plattform direkt von den Beratern genutzt und ermöglicht einen einheitlichen Beratungsablauf, der zum Großteil nach deren Anforderungen gestaltet ist. Über verschiedene öffentliche Zugänge erhalten die Kunden teilweise selbst direkten Zugriff auf die Plattformen und können dort selbständig ihre aktuelle Situation bewerten.
Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) getrennt, die Oberflächen werden in einer modernen Single-Page Variante mit Javascript und das Backend zustandslos mit einfachen Servletcontainern entwickelt. Die Kommunikation zwischen Frontend und Backend wird über diverse REST-Services ermöglicht und nutzt die Vorteile von Spring-Boot. Weitere Dritt-Systeme sind teilweise über legacy SOAP Webservices angebunden.
Die interne Struktur der Anwendung verteilt sich über weitere Dritt-Services und ist vollständig Zustandslos, selbst der Speichervorgang von Kundendaten erfolgt in einem Dritt-System und macht eigene Datenbanksysteme obsolet. So lassen sich die verschiedenen Einzel-Anwendungen mit hohem Focus auf die Fachlichkeit und reduzierten internen Abhängigkeiten entwickeln und ermöglichen einen erhöhte Wiederverwendbarkeit von eigenen Anwendungs-Bausteinen.
Java 8
Server Tomcat (mit Spring Boot)
Technologien Java SE, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP
Frameworks Jackson, FasterXML, JUnit, Mockito, PowerMockito, Groovy, Spock, AssertJ, Spring Boot, Swagger / OpenApi, Swagger-UI, Typescript, Angular
Tools IntelliJ IDEA, Maven, Bitbucket, TeamCity (Continuous Integration), Checkstyle, Sonar, Confluence, Jira
Es handelt sich um mehrere einzelne Client-Server Plattformen zur Verwaltung von allgemeinen Stammdaten bis hin zu diversen stark strukturierten Finanzprodukten (Optionsscheine, Zertifikate, usw.). Der flexible Aufbau verteilter Anwendungsplattformen erlaubt eine höhere Flexibilität während der Weiter- und zusätzlichen Neuentwicklungen.
Das Ziel der Anwendungen liegt in einer deutlichen Steigerung der Product-to-Market-Time und einer einheitlichen Struktur alle existierenden Finanzprodukte, gleichzeitig steigert man die Revisionssicherheit und reduziert die Fehler während der Produkterstellung.
Die einzelnen Anwendungen werden im Backend mit standardisierten JavaEE-Application-Servern entwickelt und die Clients mit modernen Javascript-Single-Pages (Ajax-Weboberflächen). Die Kommunikation zwischen Client und Backend, sowieso zwischen den einzelnen Anwendungen erfolgt via REST-Schnittstellen (JSON) und einigen legacy SOAP Webservice.
Java 6 und 8
Server JBoss EAP
Datenbank Oracle
Technologien Java EE, JPA, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP
Frameworks Hibernate, JUnit, Mockito, PowerMock, Arquillian, Google Guava, Shiro, ModelMapper, RESTEasy, Jackson, FasterXML, Apache CXF, IBM MQ, Backbone, Marionette
Tools IntelliJ IDEA, Maven, Mercurial, Hudson/Jenkins, Checkstyle, PMD, FindBugs, Sonar, Citrix, CIB Document Workbench
Es handelt sich um eine webbasierte Anwendung zur Verwaltung und Erfassung von Wagenbeständen, sowie der Zusammenführung mit eingehenden Leerwagenbestellungen. Die Weboberflächen wurden mit JSF/RichFaces/PrimeFaces realisiert und zusätzlich um eigene Widgets und Javascript-Elemente erweitert. Das Backend wurde mit einem Java EE Stack realisiert, dazu kam der Application Server von JBoss mit weiteren Technologien zum Einsatz, wie zum Beispiel JPA/Hibernate, CDI/EJB und Oracle DB.
Im Projekt wurden zahlreiche Background Jobs und Schnittstellen zu und von anderen Systemen entwickelt die teilweise große Datenmengen handeln müssen.
Während der Entwicklung wurden ständig Performance-Analysen, mit Hilfe von Profiling-Tools wie YourKit, und anschließenden Optimierungen durchgeführt.
Der eigene Aufgabenschwerpunkt lag in der Neu- und Weiterentwicklung der Java Implementierungen (Frontend und Backend); Weiterentwicklung und Optimierung von individuellen JSF/PrimeFaces-Komponenten; und tiefergehende System/Performance/Review-Analysen.
Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar, PMD und FindBugs) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang.
Applikationserver
JBoss EAP 7 + Java 8
Datenbank
Oracle
Technologien
Java EE, Hibernate, JPA, JUnit, JMockit, Arquillian, Google Guava, Eclipse IDE, Maven, SVN, ClearQuest, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle, Quartz, Spring, MQ
Es handelt sich um eine Client-Server Anwendung zur Einsicht, Verwaltung und Planung von Fahrwegen für einen Zug-Fahrplan für Fahrten in Betriebsstellen (Bahnhöfen). Der Client basiert auf dem aktuellen Eclipse E4 RCP Framework und beinhaltet neben mehreren Perspektiven und diversen Fenster-Bereichen individuelle grafische Ansichten, zur Darstellung von umfangreichen Spurplänen (Schienen- und Signal-Darstellungen innerhalb von Bahnhöfen), weiteren grafischen Planungsansichten von Gleisbelegungen mit umfangreichen Drag & Drop Funktionen und Bearbeitungsmöglichkeiten. Die individuellen Grafik-Komponenten basieren auf Draw2D und wurden nahtlos in die RCP Struktur integriert. Die Kommunikation zwischen Client und Server erfolgt mit einer JavaEE Server-Infrastruktur, geschützt durch Java JAAS mit Anbindung an ein zentrales Unternehmens-LDAP.
Zum Projektbeginn wurden auf Basis von Proof of Concepts verschiedene Java- Zeichnungsframeworks evaluiert und die Möglichkeiten des Eclipse E4 RCP Frameworks geprüft. Die Einarbeitung in die diversen Client Frameworks erfolgte eigenständig. Im Server-Umfeld kamen bekannte Technologien, wie z. B. EJB, CDI, JPA und Hibernate in Kombination mit einer Oracle Datenbank zum Einsatz.
Nach der PoC-Phase begann die Einarbeitung in die fachlichen Anforderungen und die kontinuierliche Überführung in mehrere, umfangreiche technische Designs (mit dem Enterprise Architekt) zur Dokumentation der Datenmodelle, Komponenten und Prozesse.
Während der gesamten Entwicklungszeit wurde großer Wert auf möglichst gute Usability, Performance bei großen Daten- und Darstellungsmengen (speziell Zeichnungen) gelegt. Schwachstellen wurden mit Hilfe von Profiling Tools wie YourKit und SysInternals identifiziert.
Der eigene Aufgabenschwerpunkt lag in Reviews der fachlichen Dokumente, Reviews der technischen Designs und der Java Implementierungen.
Primär befasste ich mich mit Themen im Client-Umfeld, wie die Konzeption des technischen Client-Designs, der Datenmodelle und Weiterführung der Dokumentation für Design- und Implementierungsvorgaben. Einarbeitung in die gewählten Client-Frameworks und der anschließenden Verteilung des erarbeiten Wissens auf mehrere Team-Mitglieder.
Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang.
Applikationserver
JBoss EAP 6
Datenbank
Oracle
Technologien
Java EE, Java SE, Hibernate, JPA, Eclipse E4 RCP, SWT/JFace, Draw2D, JUnit, Mockito, Google Guava, JAAS, Eclipse IDE, Maven, SVN, Jira, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle
Es handelt sich um eine unternehmenskritische Client-Server Anwendung zur Planung der gesamten Arbeitsabläufe aller Bahnmitarbeiter, minutengenau. Der Client basiert auf einer Swing-Oberfläche und kommuniziert mit einer JavaEE Server-Infrastruktur.
In der ersten Projektphase wird das gesamte Projekt einer technischen Erneuerung unterzogen. Die bestehende interne Anwendungsstruktur wird vollständig überarbeitet um zukünftige Änderungen in einem akzeptablen Zeitumfang realisieren zu können. Weiterhin wird die Modularisierung und damit die Unabhängigkeit der einzelnen Programmbestandteile vorangetrieben.
Dies beinhaltet eine komplette Umstellung der vorhandenen Persistenz-Schicht auf den Standard JPA (zur Datenbank-Anbindung), wenn möglich die vereinfachte Form von Dependency-Injections mittels CDI und die Anwendungsweite Integration der neu entstehenden Klassen-Strukturen im gesamten Server- und Client-Umfeld.
Die Einarbeitung in den vorhandenen Programmcode erfolgte soweit möglich eigenständig und Aufgabenbezogen durch bestehende JUnit Testfälle und die Prozesse in der Anwendung selbst. Für neue Datenstrukturen und Schnittstellenanbindungen wurden laufend weitere Testfälle implementiert.
Der eigene Aufgabenschwerpunkt lag in der Analyse der bestehenden Backend-Logik und anschließenden Migration der Persistenz-Schicht mit EclipseLink-API auf JPA. Gleichzeitig wurde die Backend-Logik von klassischem EJB3 auf die vereinfachte Form des Dependency Injection ?CDI? umgestellt.
Während der gesamten Projektlaufzeit wurden Fehleranalyse der laufenden und weiterentwickelten Anwendung durchgeführt, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Applikationserver
Weblogic 12
Datenbank
Oracle
Technologien
Java EE, Java SE, Toplink, JPA, Eclipse IDE, Swing, Maven, ClearCase, ClearQuest, Enterprise Architekt, JUnit, Hudson/Jenkins
Bei der Anwendung handelt es sich um ein hochverteiltes Konzept, diverse Teilbereiche der Software werden von unterschiedlichen Teams, als eigenständige Teilanwendung entwickelt. Dadurch ergeben sich diverse Schnittstellenthemen zwischen den einzelnen Server- und Clientkomponenten. Sie wird als Java EE Anwendung entwickelt und im JBoss 4 betrieben. Der Client basiert auf dem Eclipse RCP Framework und kommuniziert über zuvor freigeschaltete (Security) Schnittstellen mit den Serverkomponenten.
Zu Beginn des Projektes wurden umfangreiche Wartungsarbeiten am aktuellen Entwicklungsstand zur Stabilisierung und baldigen Produktionseinführung durchgeführt, die Einarbeitung erfolgte dabei zu großen Teilen eigenständig.
Im Anschluss wurde für eine neuere Version das Design des gesamten Datenmodells überarbeitet. Ziel war es, komplexe Strukturen möglichst zu vereinfachen und dadurch die Effizienz während der Implementierung und Laufzeit zu steigern. Zur Datenabstraktion wurde Dozer und Hibernate und als zugrundeliegende Datenbank Oracle eingesetzt.
Weiterhin wurden einzelne Teilprojekte neu aufgesetzt, in diesem wurden die Persistenzschicht (Hibernate) mit dem zusätzlichen Pojo-Mapping (Dozer), Schnittstellen zu anderen Teilbereichen und die Verarbeitungslogik mit entwickelt.
Da es sich hierbei um ein MDA (Model Driven Architecture) getriebenes Projekt handelt, wurden alle Klassen, Methoden und Schnittstellen im Vorfeld in Magic Draw konzipiert (UML) und anschließend daraus die grundlegenden Klassen und Methoden generiert.
Der eigene Aufgabenschwerpunkt umfasst den Entwurf des gesamten detaillierten Klassen-/Modelldesigns zur anschließenden Klassen/Methodengenerierung mit Magic Draw (UML), incl. Schnittstellen-Spezifikation, Java Implementierung und JUnit-Tests; sowie der Fehleranalyse und -behebung in der bestehenden Anwendung.
Ein weiteres wichtiges Thema war die nachhaltige Performance-Optimierung innerhalb der zuständigen Teilbereiche.
Die technische Dokumentation erfolgte (aufgrund des MDA-Ansatzes) ausschließlich in UML mit dem Tool Magic Draw.
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Applikationserver
JBoss 4.2
Datenbank
Oracle
Technologien
Java EE, Java SE, Dozer, Hibernate, JPA, JMS, XML, Velocity, Eclipse IDE, Eclipse RCP, Ant, SVN, Magic Draw, JUnit, Hudson/Jenkins, Checkstyle, Linux/Windows.
Eine der ersten Kernaufgaben im Projekt lag in der Migration verschiedener Legacy-Anwendungen auf einen technisch aktuelleren und einheitlicheren Standard. Alle bestehenden Anwendungen wurden mit Java EE realisiert und auf den zwei verschiedenen Applikation Servern JBoss EAP 4.0.3 und Weblogic 10.3.2 betrieben.
Während der Migration wurden die JBoss EAP Installationen von Version 4.0.3, mit Java 5 auf die aktuelle JBoss EAP Version 5.1, mit Java 6 angehoben. In diesem Zusammenhang mussten die unterschiedlichen Anwendungs-Architekturen geprüft und Abhängigkeiten der Implementierung zu Thirdparty-Libraries analysiert und an aktuelle Versionen angepasst werden, um deren Lauffähigkeit weiterhin in gewohnter Stabilität zu gewährleisten.
Die Kommunikationswege unter den JBoss und Weblogic basierenden Anwendungen wurden von verschiedenen technischen Legacy-Frameworks, wie Axis, JBoss Native oder allgemein JAX-RPC, auf den einheitlichen technologischen Standard JAX-WS migriert. Verwendet wurde dazu das High Performance Webservice Framework Apache CXF in Verwendung mit dem JBoss- und das Webservice Framework Metro beim Weblogic Application Server.
Nach Abschluss der Migration wurden weiterführende Implementierungen in bestehenden Anwendungen durchgeführt. Diese bezogen sich zum Beispiel auf die Bereitstellung neuer Webservice-Schnittstellen, Eclipse-RCP Oberflächen und allgemein der Implementierung neuer Anforderungen in der Anwendungslogik im JBoss- und Weblogic-Umfeld.
Der eigene Aufgabenschwerpunkt lag in der Migration bestehender Legacy-Anwendungen; der Implementierung neuer Webservice-Schnittstellen, Oberflächen und allgemein Anwendungslogik im JBoss und Weblogic Umfeld; sowie der Fehleranalyse in bestehenden Anwendungen, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.
Die technische Dokumentation erfolgte in Form von technischen Konzepten incl. umfangreicher UML- und Architektur-Diagrammen.
Zusätzlich wurden technische Dokumentationen für die Migration von weiteren Anwendungen auf Basis der bereits migrierten Anwendungen angefertigt, um Arbeitsabläufe im Team zu parallelisieren und zu vereinheitlichen.
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Applikation- und Webserver
JBoss EAP 4.0.3, JBoss EAP 5.0, JBoss EAP 5.1, Weblogic 10.3.2, Apache HTTP Server
Datenbanken
DB2, Oracle
Technologien
Java EE, JDBC, Webservices, SOAP, Apache CXF, Metro, MTOM, JAX-WS, JAX-RPC, Axis, XML, Eclipse IDE, Eclipse RCP, Swing, Sevlets, Struts, JSF, iBatis, Hibernate, Spring Framework, JMS, IBM MQ Series, ClearCase, ClearQuest, Ant, Enterprise Architect, JUnit, Hudson/Jenkins, Linux/Windows
ILOG JRules wird inzwischen als IBM ODM vermarktet.
Oktober 2008 ? November 2010
Revisionssicheres Kreditentscheidungssystem
Branche: Banken (Santander Consumer Bank)
Im Projekt wird ein einheitliches regelbasiertes System zur Kreditvorentscheidung entwickelt. Die neue Applikation erlaubt eine flexiblere und schnellere Umsetzung wiederkehrender neuer Anforderungen durch die verschiedenen Fachbereiche oder geänderte Gesetzgebungen.
Bestehende Implementierungen liegen in Programmiersprachen wie Java vor, die von Fach-anwendern schwer zu verstehen sind. An dieser Stelle setzt die neue Applikation ein. Sie nutzt im Kern das BRMS JRules von IBM und erweitert es um benötigte Zusatzfunktionen. In Zusammenarbeit mit dem Fachbereich wurde ein verständliches Datenmodell entwickelt das alle notwendigen Informationen für eine Entscheidungsfindung enthält und die Grundlage für alle bestehenden Regeln bildet.
Die Infrastruktur zur Ausführung der Regeln wurde als JavaEE fähige Applikation entwickelt und wird auf dem IBM Websphere Application Server betrieben. Ein Servlet nimmt die XML Antragsdaten entgegen, leitet sie zu den relevanten Regelwerken (IBM Websphere JRules) und liefert das Bewertungsergebnis der Kreditentscheidung ebenfalls als XML zurück.
Der eigene Aufgabenschwerpunkt lag in der Weiter- und Neuentwicklung der Regelwerke (JRules) und der damit verbundenen laufenden Anforderungsanalyse in direkter Zusammenarbeit mit den Fachbereichen und Koordinierung des eigenen Teilprojektes und Teammitgliedern.
Die fachliche Dokumentation wurde zusammen mit den Fachbereichen erarbeitet und in internen DV Konzepte gepflegt bzw. überführt. Technische Dokumentation erfolgte zusätzlich im Programmcode.
Die Java-Entwicklung wurde weitergeführt und unterstützt.
Weiterentwicklung der vorhandenen Datenstrukturen und Schnittstellenspezifikation für die aufrufenden Applikationen (XSD).
Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.
Software
IBM Ilog Websphere JRules (BRMS),
IBM Websphere AS (Produktionsbetrieb), JBoss AS (Entwicklung und Tests),
SQL Developer
Datenbank
DB2, Oracle
Technologien
Java (JavaEE), JDBC, Servlets, XML, XSD (XML Schema), Eclipse IDE, CVS, Ant, JUnit, XMLUnit
August 2007 ? Juni 2008
Einführung eines Regelbasierten Business Systems zur Berechnung von Transport-Forecasts
Branche: Transport/Logistik (Deutsche Post (DHL))
Das Ziel dieses Projektes lag in der besseren Personal- und Transport-Planung, der Prozess Optimierung anhand von vorhandenen Ist- und prognostizierten Soll-Daten.
Meine Aufgabe in diesem Projekt beinhaltete die Analyse der vorhandenen Business/IT-Architekturen, des Datenmodells sowie der Analyse fachlicher Anforderungen. Aufgrund der Ergebnisse wurden mit einem Business Rule Management System (BRMS) diverse Regeln für die Prognose-Berechnung definiert. Diese Prognosen beruhen auf historischen Informationen wie Auftragsinformationen, Standorten, Transportmengen, Fahrzeiten, Personal-Einsatzschichten und weiteren Daten.
Die Applikation wurde mit Java (J2SE) entwickelt und integriert Ilog JRules als BRMS. Die Daten werden in einer Oracle DB persistiert und anschließend von ETL Prozessen in eine Reporting Umgebung transferiert, wo sie abschließend mit Crystal- und BO-Reports visualisiert wurden.
Ein weiteres zu lösendes Problem bestand in der Skalierung bei großen Datenmengen. Mit unter wurden anhand von mehr als 5 Millionen Eingangs-Datensätzen über 100 Millionen Ergebnis-Datensätze in unter zwei Stunden berechnet und in Datenbanken persistiert. Das Lade-, Verarbeitungs- und Speicherverhalten der Applikation, Datenbanken und ETL-Prozesse mußte hier gesondert optimiert werden.
Der eigene Aufgabenschwerpunkt lag in der Regelentwicklung und der damit verbundenen laufenden Anforderungsanalyse. Die Java-Entwicklung wurde zu Beginn vollständig weitergeführt und zum Ende unterstützt.
Die Entwicklung des ER-Modells (Datenbankstruktur) und -optimierung wurde in großem Umfang übernommen; ebenso wie die Implementierung der Applikations- und ETLProzesse, welche performanceintensiv auf die Datenbank zugreifen mußten.
Die fachliche Dokumentation wurde in einem Fachkonzept gepflegt, die technische Dokumentation erfolgte im Programmcode und einem DV-Konzept.
Dem Projektmanagement wurde aus technischer Sicht zugearbeitet.
Software
IBM Ilog Websphere JRules (Business Rule Management System, BRMS),
Informatica Powercenter (ETL Tools),
Crystal, BO (Reporting Tools),
TOAD (SQL Development)
Datenbank
Oracle
Technologien
Java (Java SE), JDBC, Eclipse IDE, CVS, Ant, JUnit, Unix (Solaris), Windows
Oktober 2006 ? April 2007
Webbasiertes Bezahlverfahren/-system (Diplomarbeit)
Branche: Telekommunikation (CSC (O2))
Mobile-Content stellt für den heutigen Markt einen immer wichtigeren Faktor dar. Mobil-funkanbieter suchen daher nach einer neuen Möglichkeit in Kooperation mit Content-Anbietern weitere Geschäftsfelder zu erschließen und Umsätze zu generieren.
Zu diesem Zweck wird nach einem leistungsstarken und sicheren Bezahlverfahren gesucht, das ohne umfangreiche und zusätzliche Gateway-Strukturen allen Ansprüchen, wie beispielsweise Sicherheit, Transparenz und Wartbarkeit, gerecht wird.
Mit diesem Bezahlverfahren wird dem Content-Anbieter jeglicher Implementierungsaufwand einer Abrechnungsstruktur abgenommen. Lediglich eine Signatur-Prüfung muss dieser durchführen, um zahlungspflichtigen Content sicher auszuliefern.
Dieser Prototyp wurde als verteilte Web-Anwendung mit Java EE (J2EE), EJB3, JBoss, Serv-lets, JSP, JSF, den Java-Signierungsmechanismen, Private/Public-Keys (PKCS12) und DataXtend CE als Persistens-Layer realisiert.
Durchgeführt wurden umfangreiche Analysen bestehender Zahlungssysteme, Planung der Anwendung, Planung des Datenmodells (ER-Modell), Erstellen des OR-Mappings und Implementierung der verteilten Anwendung.
Es handelt sich hier um die Diplomarbeit, daher wurden alle Bereiche der Softwareentwicklung abgedeckt. Begonnen bei der umfangreichen Dokumentation, der Datenmodellierung, dem Schnittstellendesign bis hin zur Implementierung, den Tests und Deployments eines voll-lauffähigen Prototyps.
Software
JBoss AS, DataXtend CE (OR Mapping)
Datenbank
MySQL
Technologien
Java (JavaEE), JDBC, JSP, JSF, BouncyCastle, PKCS12, Zertifikate, Eclipse IDE, CVS, Ant, Linux/Windows
2004 ? 2006
Webbasierte Anwendung, Service-Portal Lebenszyklusbetrachtung für Immobilien
Branche: Facility Management (FMC)
Diese Lebenszyklusbetrachtung für Immobilien wurde speziell für Büro- und Geschäfts-gebäude entwickelt. Durch diverse Berechnungen sollen viele der anfallenden Kosten für ein Gebäude auf statistischer Basis prognostiziert werden. Das erlaubt eine Abschätzung nach wie vielen Jahren sich die Investition eines Immobilien-Zukaufs oder -Neubaues rentieren kann. Sie bietet Entscheidungshilfen in Fragen der Rentabilität, dem Break-Even-Point, der Flächennutzung und den Bewirtschaftungskosten.
Alle Werte werden auf Basis statistischer Langzeitwerte (Benchmark) in verschiedene Rechenmodelle errechnet, kombiniert und optimiert. Die Rechnungsgrundlagen wurden von einem FM Unternehmen (Facility Management) über mehrere Jahre gesammelt und in diesem Programm als Wissensdatenbank integriert.
Dieses Programm wurde als Web-Anwendung mit PHP und MySQL entwickelt. Graphen wurden mit phpChartDir generiert und als Template-Engine Smarty eingesetzt. Durchgeführt wurde neben dem Design des logischen und physischen Datenmodells auch die Entwicklung der Anwendung.
Der eigene Aufgabenschwerpunkt lag bei diesem Projekt in der Anforderungsanalyse, der Erarbeitung benötigter Berechnungsalgorithmen, dem Screen-Design/Flow, Entwicklung des Objekt- und ER-Modells, der vollständigen Implementierung und der Tests. Die technische Dokumentation erfolgte vollständig im Programmcode und bei komplexen Themen zusätzlich in einem internen Wiki.
Software
Apache Webserver, PHP Chart Director
Datenbank
MySQL
Technologien
PHP, PEAR, Smarty, Eclipse IDE, CVS, Linux/Windows
2005 ? 2006
Webbasierte Anwendung, Service-Portal Aufzugsmanagement
Branche: Facility Management (FMC)
Das Aufzugsmanagement verwaltet zentral alle Daten von fördertechnischen Anlagen. Das Ziel der Applikation besteht in einem Service-Portal für diverse zusammenarbeitende Firmen. Alle Firmen, die für einen Aufzug in irgendeiner Form verantwortlich sind, sollen über dieses Portal alle notwendigen Informationen für Wartung-, Instandhaltung usw. erhalten können. Die gewonnen Informationen können auf diesen Weg sofort von allen beteiligten Partnern zeitnah eingesehen werden.
Durch den Applikations-Umfang wird der klassische Supply Chain Management Ansatz (SCM) mit einem anfänglichen Workflow-Verhalten verfolgt. Alle Parteien profitieren von gewonnen Informationen und können diese Anderen zur Verfügung stellen, um weitere Optimierungen der gesamten Prozesse zu ermöglichen. Besonders für den Eigentümer solcher Anlagen können diese Informationen zur schnelleren Rechnungsprüfung, Einsehen der Wartungs-, Störungs-, Notfall- usw. Protokollen einen deutlichen Zugewinn darstellen.
Das Projekt enthält folgende Teilbereiche:
Dieses Programm wurde als Web-Anwendung mit PHP und MySQL entwickelt. Als Template-Engine wurde Smarty eingesetzt. Durchgeführt wurden sowohl das Datenbank-Design wie auch die Anwendungsentwicklung.
Der eigene Aufgabenschwerpunkt lag bei diesem Projekt in der Anforderungsanalyse, Entwicklung des Daten- und ER-Modells, der Implementierung und Tests.
Die technische Dokumentation erfolgte vollständig im Programmcode und bei komplexen Themen zusätzlich in einem internen Wiki.
Software
Apache HTTP Webserver, PHP Chart Director
Datenbank
MySQL
Technologien
PHP, Smarty, Eclipse IDE, CVS, Linux/Windows
2005
Administrations-Oberfläche für einen Verschlüsselungsservice Eclipse RCP
Branche: Security (branchenübergreifend) (BeSeQure)
Für eine bereits vorhandene Anwendung mit einem Swing User-Interface sollte eine neue Oberfläche geschaffen werden, die deutlich schneller und leichter zu erweitern ist. Als beste Alternative stellte sich sehr schnell das Eclipse RCP Framework heraus. Durch den Einsatz von SWT/JFace konnte die Geschwindigkeit der einzelnen Oberflächen nahezu an C/C++ typische Verhältnisse angepasst werden. Gerade für größere Listendarstellungen und andere komplexe Baumstrukturen stellte sich das als großen Vorteil heraus.
Die neue Oberfläche nutzt dabei vollständig das Extension-Point Schema von Eclipse und kann so durch weitere hauseigene Plugins an jeder gewünschten Stelle individualisiert werden.
Bei der geplanten Oberflächen-Migration wurde gleichzeitig eine Trennung der Backend-Logik und des User-Interfaces durchgeführt. Der Anwendungskern wurde als SOA Service in einen Application Server ausgelagert und die Oberflächen vollständig mit SWT/JFace in eine Eclipse RCP Application integriert. Die Kommunikation zwischen Backend und Oberfläche erfolgt über eine verschlüsselte Webservice-Schnittstelle (XMLSec) und wurde ebenfalls als Eclipse Plugin implementiert.
Dieser Prototyp wurde als Teil einer Client-Server Anwendung mit dem Eclipse RCP Framework, SWT/JFaces, XMLSec, Axis und weiteren Java-Bibliotheken realisiert.
Der eigene Aufgabenschwerpunkt lag in der Analyse der vorhandenen Software, deren
Oberflächenstruktur und dem Erarbeiten einer geeigneten Lösung für die Implementierung mit dem Eclipse RCP Framework.
Die Dokumentation erfoglte in Form von DV-Konzepten, in einem internen Wiki und zusätzlich im Programmcode.
Software
JBoss AS
Technologien
Java (J2SE, JavaEE), Webservices, SOAP, Axis, JAX-RPC, XML Security, BouncyCastle, PKCS12, Certificate, PKI, Eclipse IDE, Eclipse RCP, CVS, Ant, Linux/Windows
Primäre Programmiersprache
Schwerpunkte
Die Software-Entwicklung ist immer Bestandteil meiner Arbeit, unabhängig von zusätzlichen Aufgaben im Architektur- und Lead-Umfeld.
Architektur
Java-Lead
Programmiersprachen
Frameworks und Standards (bisher genutzt, Auszug)
Weitere Tools (bisher genutzt, Auszug)
Datenbanken
Persönliches ? Vorort / Remote
Aufbau komplexer Datenstrukturen, SQL Optimierung, SQL Tuning, SQL Performanceoptimierung.
(Im Java Umfeld: JPA Optimierungen)
Transport/Verkehr
Freizeit/Touristik
Bank
Versicherung
Transport/Logistik
Telekommunikation
Facility Management
Security
Öffentlicher Sektor