freiberufler Basic auf freelance.de

Basic

offline
  • auf Anfrage
  • 85375 Neufahrn bei Freising
  • auf Anfrage
  • ar  |  de  |  en
  • 23.06.2020

Kurzvorstellung

IT-Consulant (Java/JEE): Beratung und Entwicklung von auf Java/JEE basierenden Enterprise Systemen.

Qualifikationen

  • Git
  • J2EE (Java EE)
  • J2SE (Java SE)
  • Java-Frameworks
  • jboss
  • Jenkins
  • Oracle Database
  • SCRUM
  • Softwareentwicklung (allg.)
  • Spring

Projekt‐ & Berufserfahrung

Senior Software Entwickler
Bundesweiter Marktführer im Bereich IT-Lösungen fü, München
1/2018 – 12/2019 (2 Jahre)
Öffentliche Verwaltung
Tätigkeitszeitraum

1/2018 – 12/2019

Tätigkeitsbeschreibung

Mein Auftraggeber ist bundesweiter Marktführer im Bereich IT-Lösungen für Kommunen. Ich war in der Abteilung Einwohnermeldewesen tätig. Die dort erstellten Einwohnermeldeverfahren helfen die Meldebehörden bei ihren vielfältigen melderechtlichen Aufgaben wie z.B. Erstellung von An- und Abmeldebescheinigungen, Verwaltung der Anträge von hoheitlichen Dokumenten (Personalausweise, Pässe, usw.) bei der Bundesdruckerei und noch weitere diverse Bürger-Dienstleistungen. Zusätzlich besitzt die Software Schnittstellen für u.a. Datenübermittlungen, Bestandsauswertungen und Druckdienste. Die Personendaten in den Gemeinde-Melderegistern werden kontinuierlich in das Landesregister exportiert. Über Online-Auskunftssystemen können Auskünfte aus dem Landesregister sowohl an andere Behörden, wie die Polizei, als auch an private Stellen, wie Anwälte und Ärzte, erteilt werden.
An den einzelnen Systemen arbeiteten ca. 70 Entwickler, die auf 10 Teams aufgeteilt waren. Mein Team enthielt 9 Entwickler. Es wurde agil mit Scrum gearbeitet. Backlog, Sprints und User Stories wurden mit Jira verwaltet. Da in meinem Team auch Remote-Entwickler waren, fanden die Meetings über Skype statt. Die Kommunikation lief über Telefon, HipChat und Fastviewer. Die Komplette Dokumentation wurde in Confluence gehalten.
Die einzelnen Systeme sind JEE basierende Applikationen, die zuerst im JBoss Application Server 5 liefen bevor sie auf die JBoss EAP 7 migriert wurden. Die Web-Anwendungen wurden in Tomcat 9 deployed. Die Business-Logik in der Service-Schicht wurde als EJB3 Komponenten implementiert. Die Persistenz-schicht bestand aus EJB3-DAOs und JPA-Entitäten. Als Build-Tool kam Maven und als Versionskontrollsystem Git zum Einsatz. Vor der Migration wurde noch Subversion verwendet. Jenkins diente als CI-Tool. Die erzeugten und heruntergeladenen Artefakte wurden in einem lokalen Nexus-Repository abgelegt. Die Daten wurden, abhängig von Kunden und Umgebungen, entweder in Oracle oder in MS-SQL-SERVER Datenbanken gehalten. IntelliJ IDEA wurde als Entwicklungsumgebung und Upsource als Code-Review-Tool eingesetzt.

Neben vielen anderen User Stories haben wir in meinem Team an folgenden
Haupt-Themen gearbeitet:
- Erstellung von Abmeldebescheinigungen.
- Erweiterung der Online-Webauskunft mit Such-Reports für Keine Treffer, Trefferlisten und Personendetails.
- Behandlung von Personen-Mehrfachfällen.
- Implementierung einer Schnittstelle für Wahlvorbereitungen. Die für Wahlen benötigten Personendaten zum Erstellen von z.B. Wahlscheinen, werden vom Wahlmodul abgefragt und kontinuierlich aktualisiert.
- Bei der Erstellung von Zertifikaten, mit denen die mit anderen Behörden, wie die Bundesdruckerei, ausgetauschten Daten verschlüsselt und signiert werden, wurde die BouncyCastle Bibliothek durch den internen JDK Security Provider ersetzt.
- Bei der Migration auf EAP 7, Integration von Docker als Testumgebung sowohl am Entwickler-Arbeitsplatz als auch auf Jenkins-Umgebungen. Dabei mussten mehrere Docker-Images sowohl für die eingesetzten Datenbanken Oracle und MS-SQL als auch für die in EAP 7 und Tomcat 9 deployten Anwendungen erzeugt werden. Da für eine Testumgebung meistens mindestens die drei Images JBoss, Tomcat und eine DB benötigt werden, wurde Docker-Compose für die Verwaltung der Image-Netzwerke verwendet. Sehr viele Tests liefen nicht mehr in den neuen Testumgebungen und mussten deshalb angepasst oder neu geschrieben werden.

Fachlichkeit:
Einwohnerwesen

Vorgehensmodell:
Agil mit Scrum

Middleware:
Zuerst JBoss Application Server 5, dann Migration auf JBoss Enterprise Application Platform (EAP 7), Tomcat 9.

Datenbanken:
Oracle 11g, MS-SQL Server.

VCS:
Zuerst Subversion, dann Migration auf Git.

Technologien:
JSE 7/8, JEE 7, EJB3, CDI, JPA/Hibernate, Swing, Docker, JUnit, Mockito, AssertJ, Maven, Jenkins, Subversion, Git, SQL.

Tools:
Windows 10, Linux, Confluence, Jira, Skype, Fastviewer, Upsource, HipChat, IntelliJ IDEA Community Edition, Oracle SQL Developer, Squirrel, TortoiseSVN, TortoiseGit, Nexus.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Senior Software Entwickler
Führender deutscher Toutistikunternehmen / Reiseve, Frankfurt am Main
2/2015 – 12/2017 (2 Jahre, 11 Monate)
Tourismus und Freizeitwirtschaft
Tätigkeitszeitraum

2/2015 – 12/2017

Tätigkeitsbeschreibung

Mein Auftraggeber ist eines der führenden deutschen Touristikunternehmen. Das gesamte Sortiment der großen Reiseveranstalter – Zugriff u.a. über AMADEUS, GALILEO und WORLDSPAN - wird angeboten und reicht von Urlaubsreisen, Flug-, Schiff- und Bahntickets über individuell ausgearbeitete Reisen bis zu Eintrittskarten und Reiseversicherungen.
Bei der Inhouse von meinem Auftraggeber entwickelten Anwendung handelt es sich um ein System, an dem mehr als 50 Entwickler, die in mehreren Teams organisiert sind, agil arbeiten. Allein mein Team besteht aus 12 Entwicklern. Die Anwendung ist mit bis zu 30 EARs, die in JBOSS deployed werden, sehr groß und umfangreich und sowohl fachlich als auch technisch sehr herausfordernd.
Von Außen können die Reisebüros und die Kunden über TOMAs (Touristik MAske) und IBEs (Internet Booking Engine) auf die angebotenen Services zugreifen (Buchungen, Reservierungen, etc.). Inhouse wird ein Eclipse RCP-Client verwendet.
Die Middleware besteht aus dem JBOSS Application Server, in dem EJB3 Komponenten und JPA/Hibernate Entitäten deployed werden. Persistiert wird in einer Oracle 11g Datenbank.
Der Code, der den Architektur-Rahmen für die einzelnen Service-Komponenten darstellt, wird mit MagicDraw automatisch generiert. Dabei werden auch Handler-Klassen generiert, die mit der Business Logik manuell gefüllt werden müssen. Um das bisherige Schichtenmodell und somit die Anzahl der Aufrufe und die Gesamtperformance des Systems zu optimieren, wurde eine neue Architektur entworfen, auf die nun die Implementierungen von allen neu entwickelten Services basieren. Mit der Umstellung der alten Services wurde auch schon begonnen. Das langfristige Ziel ist die Abschaffung der automatischen Code-Generierung mit MagicDraw.
Es wird agil gearbeitet. Für CI werden die Tools Ant, Maven und Jenkins eingesetzt. Mit Nexus werden die internen Maven-Repositories verwaltet. Subversion (inzwischen Git) kommt als VCS zum Einsatz.

Meine Haupttätigkeiten:
- Sehr viele Bugs gefixt und CRs umgesetzt
- Erweiterungen des Systems implementiert
- Alte Services auf die neue Architektur migriert
- Neue Services basierend auf die neue Architektur implementiert
- Im letzten Jahr ein großes Modul implementiert, das auf die neue Architektur basiert und für das ich die komplette Entwicklungskette (Analyse, Design und Implementierung) übernommen habe. Dabei ging es um Flugdatenänderungen (Zeiten, Flughäfen, Flugnummer, Airline, usw.). Das Modul besteht aus 4 Submodulen. Das erste Modul kommuniziert mit der Amadeus Platform, das zweite mit bestimmten Airline-Plattformen, zu denen es eine Direktschnittstelle gibt und das dritte mit der Amadeus Post Booking Platform, die es erlaubt, auch bei Fremdveranstaltern (zu denen es keine Direktschnittstelle gibt) gebuchte Flüge zur Überwachung zu melden, um bei Flugdatenänderungen sofort benachrichtigt zu werden. In diesem Modul geht die Kommunikation über Web Services. Das vierte Modul ist ein rein internes Modul, das unabhängig von der Flugdatenänderungsquelle über Konfigurationen bestimmte Konditionen auswertet und korrespondierende Aktionen ausführt, wie z.B. das Versenden von Emails mit den Flugdatenänderungen an den betroffenen Reisebüros und das Anstoßen von internen Prozessen, um eventuell Artefakte wie Voucher, Flugtickets usw. zu aktualisieren.

Fachlichkeit:
Fachlichkeit der Touristik-Industrie

Vorgehensmodell:
Agil (zum Teil Scrum)

Middleware:
JBoss Application Server, Tomcat

Datenbanken:
Oracle 11g

VCS:
Subversion, Git

Technologien:
JSE, JEE, EJB3, JPA/Hibernate, JUnit, Mockito, Ant, Maven, Jenkins, SQL

Tools:
Windows 7, Eclipse, MagicDraw, Oracle SQL Developer Cygwin, Subclipse, TortoisesSVN, Nexus, Sonar

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Senior Software Entwickler
Deutscher Global Player und weltweiter Marktführer, München
5/2014 – 1/2015 (9 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

5/2014 – 1/2015

Tätigkeitsbeschreibung

Es handelt sich um den gleichen Auftraggeber wie beim vorherigen Auftrag aber um eine andere Abteilung und ein anderes Projekt. Ich war diesmal in der Abteilung R&D tätig. Es ging um eine große Applikation zur Verwaltung von Einsätzen. Die Applikation wird hauptsächlich von der Polizei, der Feuerwehr und den Rettungsdiensten verwendet und ist weltweit im Einsatz. Sie besteht aus Drei Hauptteilen: Eine komplexe Web Start Frontend Klient-Applikation, die mit Java Swings implementiert wurde und zur Visualisierung mindestens drei Monitore voraussetzt, eine Tomcat Catalina Servlet Engine, in der ein Teil der Business Logik ausgeführt und über Servlets angesprochen wird und eine Runtime-Applikation, die komplett in der TCL-Skriptsprache geschrieben wurde und den zweiten Teil der Business-Logik ausführt. Es wurde agil im Rahmen eines ca. 10-köpfigen Scrum Teams entwickelt. Bei den Stories handelte es sich um Erweiterungen, Refaktorisierungen und Bugfixing. Neben der Refaktorisierung und des Bugfixings habe ich im Rahmen dieses Projektes folgende Erweiterungen übernommen:
- Implementierung eines neuen „Database Connection Pool“, das auf JDBC und dem HikariCP Framework basiert. Alle Java-DB-Schnittstellen der Applikation benutzen diesen Pool. Es können mehrere Pools konfiguriert und gleichzeitig verwendet werden. Bei den Datenbanken handelte es sich um Oracle 11g DBs.
- Komplette Refaktorisierung des Logging Mechanismus in der ganzen Applikation. Bis dahin waren mehrere Logging Tools wie Log4j 1.2, Java Logging und eine eigene Logging Implementierung im Einsatz. Das ganze war sehr unübersichtlich und ineffizient. Die Konfigurationsmöglichkeiten waren sehr begrenzt. All diese Tools wurden durch das neue schnellere Log4j 2.0 Framework ersetzt. Alle Konfigurationsmöglichkeiten, die Log4j 2.0 bietet, sind nun für die Applikation verfügbar. Im Rahmen dieser Aufgabe wurde das Pattern „Convention over Configuration“ umgesetzt.
- Überarbeitung und Erweiterung der Suche. Es ging um die Suche von Adressobjekten, Straßen, Bezirken, Regionen, Länder, aber auch Gebäude, Flure, etc.. Die Suche basierte bis dahin auf einer Suffixbaum-Implementierung, in der der „Oracle Soundex“ Algorithmus umgesetzt wurde. Die Suche wurde mit dem „Kölner Phonetik Soundex“ Algorithmus erweitert, so dass der neue Algorithmus für die deutsche und der alte für die englische Sprache verwendet wird. Die Suffixbäume können im Hintergrund jederzeit asynchron und transparent für die Suche neu generiert werden, ohne die Applikation neu starten zu müssen. Das ist immer notwendig, wenn sich die Suchdaten wie z.B. Straßennamen, Adressobjektnamen, Objekt-synonyme usw. geändert haben. Die Treffer-Genauigkeit wurde weiter verfeinert, so dass genauere Ergebnisse immer ganz vorne erscheinen. Soundex Treffer erscheinen immer am Ende.
- Implementierung eines Integrations-Test-Frameworks, das das Testen von Servlets in einem Tomcat Embedded Container sehr vereinfacht. Tests können einzeln oder in Gruppen in einer Container-Instanz ausgeführt werden. Das oben erwähnte DB Connection Pool wird automatisch konfiguriert und stellt DB-Verbindungen für die Tests zur Verfügung. Das Framework unterstützt Multithreading, so dass z.B. auch Last-Tests und das Testen von parallelen Prozess-Ausführungen möglich sind. Das Framework basiert auf Junit, Apache HttpClient und JayWay REST-Assured.
- Zerlegung der Java-seitigen Business Logik in mehrere eigenständige Web-Module, die später auch einfacher als Web Services zur Verfügung gestellt werden können. Die Konfiguration der Servlets in web.xml wurde durch entsprechende Annotationen ersetzt.
- Ein bereits vorhandenes in TCL geschriebenes Algorithmus zur Berechnung der Fahrzeugbesatzung (crew distribution) wurde nach Java portiert. Zur schnellen Umschaltung zwischen einem alten und dem neuen Algorithmus in der ersten Phase wurde das Abstract Factory Pattern implementiert.
- Für den arabischen Raum wurden einige Tasks im Frontend durchgeführt, die mit der Schreibrichtung Rechts-nach-Links zu tun haben.

Technologie:
Windows 7, JAVA SE 7, Oracle 11g, Oracle SQL Developer 4.0.1, Tomcat 7, Eclipse (Kepler), Servlets 3.0, Oracle JDBC Implementation (ojdbc6), HikariCP 2.3, Java Swings (u.a. Substance L&F), Log4j 2.0, Apache HttpClient 3.1, XML (StAX), Apache Commons, JMS(ActiveMQ 5.9.1), Tests(Junit 4, JayWay Rest-Assured 2.4), Build Management(Ant 1.8, Gradle 1.12), Continuous Integration (TeamCity, Artifactory, Sonar), Skriptsprache TCL, Scrum(RTC), SVN (Tortoises), Zugriff auf Linux-Test-VMs(Putty, FileZilla).

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Senior Software Entwickler
Deutscher Global Player und weltweiter Marktführer, München
7/2013 – 12/2013 (6 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

7/2013 – 12/2013

Tätigkeitsbeschreibung

Mein Auftraggeber ist führender Anbieter für innovative Produkte, Technologien und Lösungen in den Gebieten Industrie, Energie, Gesundheit und Infrastruktur-Lösungen. Ich war im Bereich IT tätig. Es ging um die Neu-Implementierung und Erweiterung einer unternehmensinternen web-basierten Anwendung für die Verwaltung von Kunden-Projekten, die weltweit in allen Filialen des Unternehmens im Einsatz ist. In meinem Team ging es hauptsächlich um die Präsentationsschicht.
Die GUI wurde mit JSF, Jboss Seam und Jboss RichFaces (AJAX) entwickelt. Über die GUI konnten interne Personen (Vertragspartner, etc.) im ActiveDirectory des Unternehmens gesucht oder externe Partner im System neu angelegt werden. Neben der Verwaltung der Vertragspartner konnten auch unterschiedliche Finanzierungsquellen und die einzelnen Arbeitspakete des Projektes angelegt und verwaltet werden. Dazu kommen noch zahlreiche globale Parameter wie Projektname, Projektbeschreibung, Vertragstyp, Laufzeit, Währung etc., die für jedes Projekt festgelegt werden müssen. Da die Auswahl der einzelnen Parameter die Anzeige beeinflusst, war es notwendig, die Anwendung sehr dynamisch über AJAX zu gestalten.

Technologie:
Windows 7, JAVA SE 6 , JAVA EE 5, SAP NetWeaver, Eclipse, Jboss, JDBC, JSF, RichFaces, Ajax, Jboss Seam, MS SQL Server, DBVisualiser.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Senior Software Entwickler
Internet-, Buch- und Medien-Handelsunternehmen, Augsburg
11/2010 – 6/2013 (2 Jahre, 8 Monate)
Handel
Tätigkeitszeitraum

11/2010 – 6/2013

Tätigkeitsbeschreibung

Mein Auftraggeber gehört zu den größten Internet-, Buch- und Medien-Handelsunternehmen in Europa. Ich bin im Bereich IT / E-Commerce (Applikationsentwicklung und Systembetrieb der Shopsysteme und der zentralen Medien- und Produktdatenbank) tätig. In dieser Abteilung werden neue Softwarekomponenten für Anwendungssysteme im JAVA-Umfeld implementiert und die bestehenden JEE-basierten Applikationen optimiert und weiterentwickelt. Dabei werden sämtliche Tätigkeiten wie technische Konzeption (Analyse, Design), Umsetzung, Tests, Fehleranalyse, Bugfixing und Dokumentation in einem Software-Entwicklungsteam im Rahmen eines agilen Entwicklungsprozesses (SCRUM) durchgeführt.
Die Daten zu den in den Online-Shops angebotenen Artikel werden sowohl von internen Systemen als auch von zahlreichen externen Zulieferern zur Verfügung gestellt, und zwar in unterschiedlichen Formaten wie XML (u.a. auch ONIX), CSV, etc.. Die Lieferung ist entweder Datei-basiert über FTP oder über Remote-JMS (MQSeries). Die sequentielle Prozessierung der Artikel-Daten findet in mehreren Modulen statt und wird parallel von mehreren Threads ausgeführt.
Im ersten Modul in der Kette, das Import-Modul, laufen mehrere Prozesse wie Daten-Bereinigung, -Filterung, -Zersplitterung und -Transformation über die Daten bevor sie in den Import-Bereich des Systems in mehreren relationalen Tabellen (DB2) importiert werden. Über lokales JMS wird das nächste Modul über die Ankunft von neuen oder ggf. die Änderung von vorhandenen Daten benachrichtigt.
An der Reihe ist nun ein Normierungs-Modul, in dem mehrere Konvertierungen stattfinden, um die Daten der unterschiedlichen Zulieferern, die im Import-Bereich in unterschiedlichen Formaten vorliegen, in ein einheitliches internes Format zu bringen und sie somit für die Prozessierung im Anwendungskern vorbereiten. Die normierten Daten werden auch in mehreren relationalen Tabellen (DB2) gespeichert. Über lokales JMS wird wiederum das nächste Modul über die Ankunft von neuen oder ggf. die Änderung von vorhandenen Daten benachrichtigt.
Das nächste Modul stellt den Kern der Anwendung. Hier laufen komplexe Prozessierungen der Daten (Business-Logik). Das Modul besteht aus mehreren Schritten (Steps), die sequentiell hintereinander ausgeführt werden und anhand von mehreren berechneten Parametern wie Preise, Verfügbarkeit, etc. darüber entscheiden welche Artikel für den Verkauf freigegeben werden sollen und welche nicht. Die Ergebnisse werden im Kern-Bereich der Anwendung in mehreren relationalen Tabellen (DB2) gespeichert.
Über lokales JMS wird nun das letzte Modul in der Kette, das Export-Modul, darüber informiert, dass neue oder ggf. Änderungen zu vorhandenen Artikel-Daten (z.B. Preise, Verfügbarkeit, Ausverkauf, etc.) vorliegen. Dieser sorgt dann dafür, dass die freigegebenen Artikel in die Shop-DB (Oracle) gelangen, damit sie von den Shop-Anwendungen auffindbar sind und für den Verkauf in den Online-Shops ausgelesen und angezeigt werden. Die Daten werden aber auch in andere sowohl interne als auch externe Ziele exportiert.

Technologie:
Windows XP/7, FileZilla (FTP), Putty(SSH), Eclipse IDE (Helios/Juno), JAVA SE 6 , JAVA EE 5, JAMon (Java Application Monitor), Subversion (Subclipse, TortoiseSVN), JBoss Application Server, DB2, Oracle, H2 Database (Lokale Tests), NoSQL (MongoDB für Medien), FlyWay (Datenbankmigrationen), DBVisualizer, Hibernate, Spring, JPA, EJB3, JMS (HornetQ), Apache Camel, Ning (Kompression), SOAP (SoapUI, Axis), REST(Resteasy, Jackson), XML (Castor, StAX, JAXB), Logging (log4j, slf4j), Apache Commons, Guava (Google Core Libraries for Java), JSF (MyFaces, Facelets, RichFaces, Tomahawk), JBoss SEAM, Umsetzung von ARIS Modellen, Tests (Cactus, Junit, Mockito, DBUnit), Continuous Integration (Ant, Maven, Ivy, Nexus, Jenkins, Cargo), JRebel.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Senior Software Entwickler
Anbieter von Energie-Mangement-Lösungen, München
1/2009 – 8/2010 (1 Jahr, 8 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

1/2009 – 8/2010

Tätigkeitsbeschreibung

Mein Auftraggeber ist im Energiebereich tätig. Er stellt elektronische Geräte (Energie-Manager) her, mit denen unterschiedliche Energiequellen wie Brennstoffzellen, Photovoltaik-Anlagen, Wind-Anlagen, Diesel-Generatoren, Batterien, etc. gesteuert werden können. Die bei den Kunden installierten Geräte erfassen kontinuierlich anhand von Sensoren verschiedene Größen wie Temperatur, Spannung, Strom, usw. von diesen Anlagen. Diese Werte werden in bestimmten Zeitabständen an eine Zentrale Anwendung, die bei meinem Auftraggeber läuft, als TCP/IP Pakete gesendet. Meine Aufgabe bestand darin, für diese zentrale Anwendung Analyse, Design und Implementierung durchzuführen.
Die Anwendung besteht aus fünf großen Modulen:
Das erste Modul horcht auf alle konfigurierten Geräte und sorgt dafür, dass die empfangenen Datenpakete (Byte-ströme) konvertiert und in unterschiedlichen Datenbanktabellen zentral gespeichert werden.
Das zweite Modul ist eine Webanwendung, über die diese Daten in Form von Ampeln und Charts visualisiert werden. Die notwendige Verarbeitung der Daten (Business Logic) passiert in EJB3 Komponenten, die alle Statistiken und Prognosen durchführen, die für die Kunden wichtig sind. Die Kundenpartitionierung der Datenbank und ein Rechte-Mechanismus sorgen dafür, dass die Daten von einem Kunden auch nur von seinen Anwendern und Betreuern (Auftraggeber) angesehen werden können. Die Kommunikation läuft über HTTPS mit Zertifikat.
Das dritte Modul ist auch eine Webanwendung, über die die Kundenbetreuer und Administratoren von meinem Auftraggeber die weltweit installierten, aber auch noch für bestimmte Kunden im Aufbau oder im Lager befindlichen Geräte, konfiguriert werden können.
Das vierte Modul ist eine Swing-Anwendung, die als Applet läuft und mit der die Geräte lokal oder remote gesteuert, getestet und gewartet werden können. Z.B. Ein- und Ausschalten, Download von Log-Files, Upload und Installation von neuen Softwareversionen, Simulationen, Monitoring und noch mehr.
Das letzte Modul ist eine Report Engine, die für die Berichterstellung (Reporting) zuständig ist. Die Berichte können online über das erste Web-Interface manuell erstellt, angesehen und ggf. gespeichert werden oder automatisch erstellt und an die interessierten Anwender per EMAIL geschickt werden. Unterschiedliche Formate wie PDF, XLS, PPT und DOC werden unterstützt. Die Report Engine basiert auf Eclipse BIRT.

Technologie:
Windows XP/7, Linux, Eclipse IDE, JAVA 1.6, ANT, Junit, Subversion, JAVA EE 1.5, JPA/EJB3, MySql, TCP/IP, HTTP/HTTPS, Servlets, JSP, JSF(Sun Mojarra), Apache MyFaces (Tomahawk), JBoss RichFaces (Ajax), JBoss Netty (Socktes, TCP, UDP), JFreeChart, Eclipse BIRT, Jboss Application Server, Java-Swings.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Senior Software Entwickler
Versicherung, München
3/2008 – 8/2008 (6 Monate)
Versicherungen
Tätigkeitszeitraum

3/2008 – 8/2008

Tätigkeitsbeschreibung

Es handelte sich um ein NPS-System (Net Promoter Score), das von meinem Auftraggeber und seine Tochtergesellschaften eingesetzt wird, um die emotionale Bindung und Zufriedenheit Ihrer Kunden zu messen. Über eine Datenzubereitungsschnittstelle bekommt das System die notwendigen Informationen über die zu befragenden Kunden eingeliefert und leitet die für die erste Befragung notwendigen Daten an einem Call Center und danach für die zweite Befragung an einem Innen- oder Außendienstmitarbeiter weiter. Dort werden die Kunden angerufen und befragt. Die Ergebnisse werden an das NPS-System zurückgeliefert. Nach einer Kampagne, die in der Regel zwei Monate dauert, werden die Ergebnisse vom System ausgewertet und in Form von Graphiken und Statistiken dargestellt. Die Analyse dieser Ergebnisse zeigen die Schwachstellen in der Organisation und helfen somit dem Unternehmen, seine Leistungen und Services zu verbessern.

Technologie:
Windows 2000/XP, WSAD (Websphere Application Developer mit integriertem Eclipse), J2EE, JAVA, ANT, JUnit, JavaScript, JSP, Servlets, Oracle, Oracle SQL Developer, DBVisualizer, HTML, XML, XMLSchema, XPath, XSLT, XMLSpy, XMLBeans, JAXB, Scrum.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Software Entwickler (Festanstellung)
Kunde Anbieter von Kundenwert- und Kundenrisikoman, München
11/2003 – 3/2008 (4 Jahre, 5 Monate)
IT & Entwicklung
Tätigkeitszeitraum

11/2003 – 3/2008

Tätigkeitsbeschreibung

Entwicklung im Team eines aufwendigen und sehr anspruchsvollen J2EE-Systems, das die Erstellung von projektbezogenen Workflows zur Bewertung von Kunden erlaubt. Um externe Datenquellen, hauptsächlich Auskunfteien, deren Informationen für das Beurteilen der Kunden relevant sind, an das System zu binden, wurde auch ein Gateway (eine Art einheitliche Schnittstelle) als Web Service implementiert. Durch das Plug-In Konzept konnte jede beliebige Auskunftei ohne großen Implementierungsaufwand über diese Schnittstelle an das Hauptsystem angebunden werden. Ich selber habe die Anbindungen der deutschen Auskunfteien Schufa und Deutsche Bank und der Kreditversicherung Euler Hermes übernommen. In Belgien waren es die Auskunfteien NBB und Graydon und in der Schweiz Teledata und NewZek. Die Daten, die mit den Auskunfteien ausgetauscht wurden, waren in den meisten Fällen mit für den Kunden erstellten Zertifikaten signiert und verschlüsselt oder eines von den beiden. Verschiedene Protokolle wie HTTP/HTTPS, SOAP über HTTP/HTTPS, SOAP über JMS, JavaMail (S/MIME) kamen zum Einsatz.
Die projektspezifischen Workflows zum Bewerten der Kunden bestanden neben den Auskunftei-Knoten meistens auch aus anderen Service-Knoten wie Scorecard- und Entscheidungsbäume-Knoten, die Mandanten-spezifisch sind. Eine komplexe Swing-Anwendung wurde entwickelt, mit der die Workflows erstellt, getestet und gewartet werden konnten.
Eine meiner Hauptaufgaben war aber auch die Administration der Entwicklungs-Datenbankserver, hauptsächlich Oracle, aber auch DB2 und MS-SQL-Server, unter denen die Entwicklungsdatenbanken liefen, und die Pflege der Datenbankskripte, sowie die Implementierung von Datenbanktools, zum Beispiel zum komprimieren und archivieren der Daten, so dass das hohe Wachstum des Datenvolumens in der DB, das bei manchen Kunden zum überlaufen der Tablespaces geführt hatte, ein Ende gesetzt wurde.

Technologie:
Windows 2000/XP, Linux, Solaris, Eclipse, Client/Server(2-tier), J2EE(3-tier), JAVA, JAVA Swings, ANT, JUnit, Oracle, Oracle SQL Developer, DBVisualizer, Toad, DB2, MS SQL, XML, XMLSchema, XPath, JAXB, TCP/IP, HTTP/HTTPS (SSL), JMS (ActiveMQ), SOAP, RMI, JavaMail, S/MIME (Verschlüsselung und Signierung von Emails), JSP, Servlets, Encryption/Decryption/Signing, EJB, Web Services mit AXIS, Hibernate, Tomcat, JBoss, WebLogic, WebSphere, Perforce, Subversion.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Software Entwickler (Festanstellung)
Anbieter von Controlling Software., München
1/2002 – 9/2002 (9 Monate)
IT & Entwicklung
Tätigkeitszeitraum

1/2002 – 9/2002

Tätigkeitsbeschreibung

Entwurf, Spezifikation und Implementierung einer auf J2EE basierenden Plattform und eines Transport- und Kommunikations-Layers, das sowohl auf RMI als auch auf SOAP basierte

Technologie:
Windows, Eclipse, J2EE, JAVA, JAVA Swings, Oracle, SOAP, RMI, EJB, Web Services mit AXIS, Tomcat, JBoss, CVS.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Software Entwickler (Festanstellung)
Anbieter von Software zur Erstellung von online Sh, Ulm
12/1999 – 12/2001 (2 Jahre, 1 Monat)
IT & Entwicklung
Tätigkeitszeitraum

12/1999 – 12/2001

Tätigkeitsbeschreibung

Entwicklung einer eProcessing-Plattform und einige darauf basierende Online Shops. Für den Entwurf von Workflows und die Verwaltung von Online Shops wurde eine komplexe grafische Benutzeroberfläche (GUI) implementiert, die auf JAVA Swings und JDBC basierte.

Technologie:
Windows, Borland JBuilder, JAVA, JAVA Swings, JDBC, Oracle, Apache Web Server, HTML, XML, CVS.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Junior Software Entwickler (Festanstellung)
Anbieter von Logistik Software., Ulm
4/1998 – 11/1999 (1 Jahr, 8 Monate)
Logistikdienstleister
Tätigkeitszeitraum

4/1998 – 11/1999

Tätigkeitsbeschreibung

Erstellung von EDV-Programmen mit mathematischen Verfahren für betriebswirtschaftliche Aufgaben und Erbringung der damit verbundenen Beratungsleistungen.

Technologien:
Windows 95/98/NT, Borland C++, C++, OWL.

Eingesetzte Qualifikationen

Softwareentwicklung (allg.)

Ausbildung

Industrieelektronik
Dipl. Ing. (FH)
1996
Fachhochschule Ulm

Weitere Kenntnisse

IT-Consulant (Java/JEE): Beratung und Entwicklung von auf Java/JEE basierenden Enterprise Systemen.

Persönliche Daten

Sprache
  • Englisch (Gut)
  • Französisch (Gut)
  • Deutsch (Fließend)
  • Arabisch (Muttersprache)
Reisebereitschaft
auf Anfrage
Home-Office
bevorzugt
Profilaufrufe
1417
Alter
56
Berufserfahrung
25 Jahre und 11 Monate (seit 04/1998)

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden