Web Application: Shooting Script Server
Kunde: Filmprojects Schweiz, seit 2014 (07/2014 ? 02/2015, 02/2016 ? 07/2016, 04/2018?06/2019)
Rollen: Java Enterprise-Entwickler (Frontend, Backend), Solution Architekt
Aufgaben: Web-Anwendung zur kollaborativen Entwicklung von Drehbüchern zu Produktionsskripten
- Fachliche Analyse
- Fachliche Konzepte erstellen, Analyse Business-Rules, Wireframe / Mockup
- Erstellung Backlog von User Stories
- Technische DV-Konzepte erstellen / SW-Architektur
- DDD: Rich Entities, die Business-Logik enthalten. Nach dem ECB Pattern, interpretiert nach Adam Bien
- Implementierung der Fachlogik, Umsetzung von Backend und Dialogen
- Kunden-Workshops; Spikes
- Migration nach JEE 7, Wildfly
- DevOps: Deployment in Amazon EC2-Instanzen, Deplyoment-Skripting. Containerisierung mit Docker, Deployment-Skripte in bash&Windows Cmd.
- DevOps: Skripting für automatisiertes Deployment in Amazon EC2
Technologie:
- Analyse: UML 2.4, MagicDraw 17.0, arc42, Wireframe / Mockup mit Pencil Project
- Backend: Java 7 / JEE 6 / glassfish 3.1, EJB 3.1, CDI, Java 8 / JEE 7 / WildFly 8-10, EJB 3.2, CDI 1.1, JPA / Hibernate
- Security: JAAS, custom access rights based Security
- DB: HSQLDB, Oracle
- Frontend: JSF 2.1, PrimeFaces 3, CSS 3, HTML 5, JSF 2.2, PrimeFaces 5
- TDD: JUnit, Mockito, Arquillian, flyway, Unit-, Integrations- und Systemtests
- Entwicklungsumgebung: maven, git, eclipse
- Betrieb: Amazon Elastic Compute Cloud/AWS EC2, Linux, docker 1.3
BMW Backend
Kunde: NTT Data / BMW, 2016-2018 (08/2016 ? 02/2017, 09/2017 ? 01/2018)
Rolle: Java Enterprise-Entwickler (Backend), Architekt
Aufgaben:
- Microservices: Design, Implementierung, Test und Dokumentation neuer REST-Services
- Kontext: Kommunikation von Werkstätten ? Backendsystem ? Auto, Onboard-Diagnose
- Verbesserung der Makro-Architektur: Umsetzung einer Throttle für ConnectedCar in Form einer dynamisch konfigurierbaren Auftragswarteschlange
- Umfangreiche Analysen und Refactorings von altem Code
- Beratung zur technischen und Prozeß-Verbesserung
- Sicherheit: Bewertung von Sicherheitsanalysen OWASP
- DevOps: Skripting in Windows/Cmd und Linux/bash, um Deployment bis auf INT-Umgebung zu automatisieren.
- DevOps: Erstellung von PROD Change Requests.
- Integration Tests: SoapUI und groovy, um Microservices mit REST-API zu testen
- Integration Tests: Apache Camel Testdriver, um bestehende Routen zu testen
- Messaging: JMS
Technologie:
- Backend: Java 7 / JEE 6 / Payara 3, Java 8 / JEE 7 / Payara 4, EJB, CDI, JPA / Eclipselink, REST / Jersey, Camel, JMS
- DB: Oracle
- TDD: JUnit, Mockito, SoapUI, groovy, curl, Unit-, Integrations- und Systemtests
- Entwicklungsumgebung: Jira, Confluence, Jenkins, Sonar, maven, svn, eclipse, Shell-Skripte, UNIX sh / bash-Skripte, DOS cmd-Skripte, Swagger, OWASP
Methodik:
- Scrum
Beratung: Siemens Microservices & Scrum-Pilot
Kunde: Siemens, 06/2017 ? 12/2017
Rolle: Scrum-Trainer, Solution Architekt, Java Enterprise-Entwickler (Backend)
Aufgaben:
- Beratung & Coaching von SM und PO bezüglich: Rollenverständnis, Methodik, Best Practices
- Beratung & Coaching des Entwickungsteams bezüglich: Technik, Methodik, Best Practices
- Architektur Frontend + Backend
- Implementierung Backend Anteile
Technologie:
- Backend: Java 7 / JEE 6 / JBoss EAP 6.4, EJB, CDI, JPA / Eclipselink, REST / RESTEasy, Microservices
- Frontend: JSF, Angular 2, Angular 4, TypeScript
- DB: Oracle
- TDD: JUnit, Mockito, arquillian
- Entwicklungsumgebung: maven, svn, eclipse
Methodik:
- Scrum
- Coaching SM, PO
- Tech Talks, Refinement
Beratung BA: DDD-Blueprint
Kunde: Bundesarbeitsagentur (BA), Berufecheck, 01/2016 ? 02/2016
Rollen: Solution Architekt
Aufgaben:
- Performanz-Verbesserung
- Analyse und Verbesserung der Codequalität
- Eine wartbare und verständliche Codebasis und erweiterbare Architektur bereitstellen (Microservices-Blueprint auf Basis von DDD-Aggregaten)
- Erhöhung der Entwicklungsgeschwindigkeit unterstützen (Team-Velocity)
- Die Übergabe der Entwicklung an ein anderes Team ermöglichen
Methodik:
- Reviews, Präsentation, Architektur-Trockenübung
- Prinzipien aus Clean Code und objektorientierten Designs (OOD)
- Domain-driven Design (DDD)
- Prototyping
Technologie:
- Backend: Java 6 / JEE 5 / Weblogic, EJB, CDI / google guice
- Schnittstellen zu: Oracle WebCenter, SOAP-Services
- Frontend: JDeveloper / ADF 11
- Entwicklungsumgebung: JIRA, ant, svn, JDeveloper, Jenkins
Beratung VRL: Microservices & Scrum-Pilot
Kunde: VR-Leasing-Gruppe, 10/2015 ? 12/2015
Rollen: Scrum-Trainer, Java Enterprise-Entwickler (Backend)
Aufgaben: Beratung bei der Einführung von Scrum im Rahmen eines Pilotprojekts, Implementierung von Microservices
Methodik:
- Interviews
- Workshops
- Coaching
Technologie:
- Backend: Java 8 / JEE 7 / Weblogic 12c, CDI, EJB, JPA / Hibernate
- DB: Oracle 11g
CGM: Medical Cloud
Kunde: CompuGroup Medical (CGM), 04/2015 ? 08/2015
Rollen: Java Enterprise-Entwickler (Backend), Solution Architekt
Aufgaben:
- Design, Implementierung, Security und Test von SOAP und REST-Webservices
- Unterstützung der Produktentwicklung hinsichtlich Architekturdesign, Klärung der Durchführbarkeit, Identifikation von beteiligten Komponenten sowie im Rahmen der Aufwandsschätzungen für neu zu entwickelnde Plattformkomponenten.
- Erstellung, Beschreibung und Kommunikation der Softwarearchitektur von Teilfunktionen oder Modulen unter Verwendung der Unified Modeling Language und geeigneten Entwurfsmustern.
- Enge Zusammenarbeit mit den Produkt Managern, Product Ownern, Software Architekten und Qualitätsmanagern.
- Vorschläge zur Verbesserung des Software-Entwicklungsprozeß
- Messaging: JMS / HornetQ
- DevOps: Jenkins
Technologie:
- Backend: Java 7 / JEE 6 / JBoss EAP 6.2, EJB 3.1, CDI, SOAP, REST / RESTEasy, Jackson, JMS / HornetQ; orika
- DB: MS-SQL, Oracle, JPA 2.0 / Hibernate, flyway, NoSQL, Elastic Search
- Test: Unit- und funktionale Tests mit JUnit
- Entwicklungsumgebung: JIRA, maven, git, IntelliJ, Jenkins
Methodik:
- Scrum, Scaled Agile Framework (SAFe)
Beratung Daimler: Testautomatisierung
Kunde: NTT Data / Daimler AG, 09/2014
Rollen: Berater, Solution Architekt (Java Enterprise-Backend)
Aufgaben: Konzept für systemübergreifende Regressionstests erstellen
- Erfassung und Dokumentation funktionaler und nicht-funktionaler Anforderungen
- Analyse der Anwendungs- und Systemlandschaft, Schnittstellen
- Vergleich von 3 Alternativen: Bewertung, Aufwandsabschätzung; Präsentation, Empfehlung
- Proof Of Concept
Technologie:
- Test: HP-ALM, HP-UFT / QTP
- Backend: JEE 6, WAS Websphere Application Server, DB2
- Entwicklungsumgebung: JIRA, Jenkins, maven, svn, Python
- Analyse: UML 2.4, MagicDraw 17.0, arc42, PowerPoint
Beratung Siemens: GIS (Geoinformationssystem)
Kunde: Siemens/connexis, 08/2014
Rollen: Berater, Solution Architekt, Java Enterprise-Entwickler (Frontend, Backend)
Aufgaben: Beratung bei der Angebotserstellung für ein Geoinformationssystem
- Analyse: Workshop zur Erfassung von Anforderungen und Risiken; Dokumentation nach arc42
- Erstellung eines Lösungskonzepts für die SW-Architektur & einzelne technische Konzepte
- Aufwandsabschätzung, Erstellung eines Projektplans für die Realisierung
- Hierzu einen Prototypen implementieren, um mögliche Risiken abzuklären, dem Kunden die Machbarkeit demonstrieren zu können (Proof Of Concept)
- Prototyp: Offline Tile Server, Application Server, Test-Datenbank und JavaScript-Client, der ausgewählte Use Cases implementiert
- Planung und Vorbereitung eines weiteren Workshops beim Kunden: den Prototyp und Lösungskonzept präsentieren, Klärung offener Fragen
Technologie:
- Backend-1: openstreetmap tile server / PostgreSQL
- Backend-2: JEE 6, EJB 3.1, CDI, glassfish 3.1, REST-Webservice, JAX-WS, JAXB, JSON, JPA / Hibernate
- Frontend: JavaScript, OpenLayers, jquery, jquery-ui
- Test: Systemtests mit Selenium
- Entwicklungsumgebung: maven, eclipse, git, Ubuntu 12 / MS-Windows
- Analyse: arc42, MagicDraw 17.0, UML 2.4
Methodik:
- Workshop, Moderation, Strukturierung nach arc42
Beratung BA: Middleware-Tool
Kunde: Bundesarbeitsagentur (BA), 12/2013 ? 09/2014
Rollen: Solution Architekt, Java Enterprise-Entwickler (Frontend, Backend)
Aufgaben:
- Analyse und Bewertung der Software-Architektur für ein komplexes middleware-Tool, das in der Produktion zur Administration der JEE-Domänen eingesetzt wird
- Erarbeiten fachlicher und technischer Konzepte
- Ausführliche Dokumentation der Ist-Architektur, strukturiert nach dem arc42-Leitfaden: Use Cases, nicht-funktionale Requirements, Systemzerlegung, Betrieb etc.
- Erstellung eines Admin Manual / Betriebshandbuch
- Architektur- und Code-Review: Aufzeigen von Architektur-Alternativen und Optimierungsmöglichkeiten / Re-Design; Clean Coding Rules
- Teilprojektleitung: Aufwandsabschätzung, Koordination der Umsetzung in einem Team
Technologie:
- Backend: Oracle Weblogic 8.5, JMX, WLST, OSB (Oracle ESB), perl
- Frontend: JavaScript-Client, jquery / jquery-ui, HTML 4
- Entwicklungsumgebung: ant, cvs, eclipse
- Analyse: UML 2.4, MagicDraw 17.0, arc42, PowerPoint
Methodik:
- Kanban
Beratung Sabre: Portierung von Swing auf RIA
Kunde: Sabre Deutschland, 07/2013 ? 09/2013
Rollen: Solution Architekt, Java Enterprise-Entwickler (Frontend, Backend)
Aufgaben: Portierung einer Swing-Anwendung auf eine Rich Internet Application
- Einführung von Scrum
- Definition erster Stories, Setup der Entwicklungsumgebung
- Technisches Konzept erstellen: Software-Architektur, Analyse des Systemkontext, Definition der Schichten-Architektur, technische Konzepte für Frontend, Persistenz und Security
- Security: JAAS / Java EE Security, Rollen- und Berechtigungskonzept, Login-Dialog mit Form Based Authentication, Custom Realm
- Frontend: RIA auf Basis von JSF / CDI mit single-page Ajax, Internationalisierung, Validierung JSR-303 mit i18n-custom-Meldungen
- Frontend: Navigation, View State Management, Definition eigener JSF-Komponenten mit dynamischen JSF-Templates
- Persistenz: Generieren von Entitäten aus bestehendem DB-Schema, DAO, Mock
- Durchstich
- Implementierung erster User Stories wie: Login, Stammdaten-Suche, Stammdaten-Editor unter Verwendung aller Konzepte
Technologie:
- Backend: glassfish 3.1, JEE 6 / JavaEE 6, EJB 3.1, CDI
- DB: Informix, Derby, JPA 2.0 / EclipseLink, DbSchema
- Frontend: JSF 2.1, PrimeFaces 3.5, PrimeFaces Extensions, OmniFaces, PrettyFaces, HTML 4, Ajax, CSS 3
- Test: Selenium-IDE 2.0, WebDriver 2.32, Firebug 1.11, JUnit 4
- Entwicklungsumgebung: JIRA Atlassian, Bitbucket, GreenHopper, git, maven, eclipse
Methodik:
- Scrum, Moderation, Workshops
rc42: Web Content Monitoring
Kunde: rc42, 02/2013 - 11/2013
Rollen: Java Enterprise-Entwickler (Frontend, Backend), Solution Architekt
Aufgaben: Architektur und Entwicklung eines Web Content Monitors:
- Fachliche Analyse
- Technisches Konzept / Software-Architektur
- Automatisiert und unterstützt die Suche nach Web Content
- Search Recorder: zur einfachen Definition und Speichern von Suchstrategien
- Content Monitor: ermöglicht die automatisierte Suche auf allen Webseiten der Search Database. Übersichtliche Darstellung von Treffern mit farblich markierten Suchbegriffen und Antibegriffen.
- Website Change Detection: erkennt selbständig, wenn sich Web Content geändert hat.
Sogar bei dynamischen Webseiten.
- Vorteil: Der Benutzer kann über viele Webseiten suchen lassen und bekommt den für ihn relevanten Content präsentiert. Er kann ihn als bearbeitet markieren, so daß er bei nachfolgenden Suchen nicht mehr als Treffer auftaucht.
- Das System gibt es in einer Swing-Desktop-Variante und einer Web-Variante
Technologie:
- Backend: glassfish 3.1, JEE 6 / JavaEE 6, EJB 3.1, CDI, JPA 2.0 / Hibernate
- DB: MySQL 5.6
- Frontend-1: JSF 2.1, PrimeFaces 3.5, Ajax, CSS 3, HTML 4, jquery
- Frontend-2: Swing
- Test: EJB 3.1 Embeddable API (embedded container), Arquillian-Tests, Jetty, TestNG, JUnit 4, Selenium-IDE 2.0, WebDriver 2.32, Firebug 1.11
- Entwicklungsumgebung: maven, git, eclipse, Bitbucket
- Analyse: UML 2.3, MagicDraw 17.0, arc42
- Kanban
Beratung Baloise: Coaching des strategischen Einkaufs
Kunde: Basler Versicherung, 01/2013 - 12/2013
Rolle: Berater
Aufgaben:
- Für ein laufendes IT-Projekt: mehrere Workshops zur Klärung von Vision, Zielen und Risiken
- Coaching
Beratung mentopolis: Elektronische Richtfunkzuteilung für O2
Kunde: mentopolis / O2, 03/2013 - 04/2013
Rollen: Solution Architekt, Java Enterprise-Entwickler (Frontend, Backend)
Aufgaben: Architektur & POC für die Automatisierung des Mobilfunkbetreiber-Prozess.
- DV-Konzept / SW-Architektur
- Erweiterbarkeit: Das System soll einfach erweitert werden können, z.B. um einen Notification-Service, der bei jeder Zustandsänderung eines Antrags bestimmte Systeme oder Personen benachrichtigt.
- Wiederverwendbarkeit: Technische Bausteine sollen so entworfen werden, daß sie in anderen Projekten einfach eingesetzt werden können. Dazu dürfen sie z.B. keine Abhängigkeiten zu fachlichen Bausteinen besitzen
- Analysierbarkeit: Es soll ein geringer Aufwand sein, um Fehler zu lokalisieren oder um änderungsbedürftige Teile zu bestimmen.
- POC
Technologie:
- Backend: Tomcat 7.0, Spring 3.2, SOAP Webservice, Spring-WS, XML, JAXB, JavaMail
- DB: Oracle 11g, Spring iBatis 2.3
- Frontend: JSF 2.1, PrimeFaces 3.5, Ajax, OmniFaces 1.4, HTML 4, Ajax, CSS 3
- Test: Selenium-IDE 2.0, Firebug 1.11, JUnit 4, SoapUI
- Entwicklungsumgebung: NetBeans, ant, svn
- Analyse: UML 2.3, MagicDraw 17.0, arc42
comsoft: ATC (Air Traffic Control System) für die Schweizer Luftwaffe
Kunde: comsoft, 12/2011 - 10/2012
Rollen: C++ Entwickler (Backend), Solution Architekt
Aufgaben: Konzeption, Implementierung und Test von hochverfügbaren & erweiterbaren Komponenten
- Erstellung technischer Konzepte; SW-Architektur; Erarbeiten von Fachkonzepten
- Anwendung Launchpad: wichtig für das Gesamtsystem sind Safety & Security! Deswegen authentifiziert die Anwendung den User und kontrolliert den Zugriff auf weitere Anwendungen und Aktionen über Business-Rules und ein Rollen- und Berechtigungskonzept, das in LDAP hinterlegt ist. Andererseits wird die Systemumgebung genau gemonitort und nach definierten Geschäftsregeln darauf reagiert. Die Anwendung ist einfach zu erweitern, konfigurieren und zu warten. Aktivitäten im Einzelnen: Requirements, Architektur, Design, Implementierung, Test und Dokumentation der Anwendung.
- Anwendung Simulation-Display zum Training mit simulierten Air Traffic
- Komponente IL: Requirements, Architektur, Design, POC und Dokumentation. Der ?InstallationLoader? mappt XML-Daten aus unterschiedlichen Quellen in Objektnetzwerke, welche validiert und anschließend deployt, also dem Gesamtsystem nach dem startup zur Verfügung gestellt werden. Für das Mapping und die Validierung kommen XSLT und ein XML Data Binding Framework zum Einsat z (?xsd?).
- Facade Asterix: für das Simulations-Display wurde eine Facade bereitgestellt, die den Zugriff auf die simulierte Zeit und simulierte Health über ASTERIX UDP-Sockets vereinfacht.
- Facade User Management: eine Facade zum vereinfachten Zugriff auf den User Management Server
- Facade SysLog: Facade für das systemweite Logging
- Ausführliches Testen der Anwendungen und Komponenten
- Support des Testeams bei Test u. Buganalyse
- Workshops zur Demonstration
- (Mit-) Einführung von Scrum
Technologie:
- C++, Linux, Redhat CentOS 5/6, TCP/IP, udp, Sockets, OSF/Motif, LDAP, ASTERIX, XML (XSLT, XML Data Binding, xsd, verteiltes objektorientiertes System, multi-tier-Architektur, distributed map, Hochverfügbarkeit, Safety & Security, Generalunternehmer Cassidian, Mals Plus, ASR, PAR Precision Approach Radar
Methodik:
- agile Vorgehensweise, Scrum, Scrum-Einführung, Workshops
- Dokumentation nach MIL-STD-498
Generali: Maklerportal Betriebliche Altersvorsorge (bAV )
Rolle: Java Enterprise-Entwickler (Frontend)
Kunde: Generali Versicherung Deutschland, 10/2010 ? 11/2011
Aufgaben: Implementierung des Frontends mit JSF-Portlets; Backend
- Analyse u. Konsolidierung der fachlichen Anforderungen im Bereich Betriebliche Altersvorsorge (bAV)
- Frontend mit JSF-Portlets und BackingBeans (Spring MVC und Spring Beans)
- Komplexer Workflow mit Spring Web Flow
- Optimierung des Layouts und Browserunabhängigkeit mit CSS2;
Patchen des vorgegebenen CSS-Frameworks
- Konfigurierbarkeit des Backend-Codes für verschiedene Produktvarianten
- Aufruf von Business-Rules und des C-Rechenkerns in Spring ActionStates
- Anbindung an Webservices
- Beratung:
Optimierung bezgl. der Anforderungserfassung, der Entwicklungsumgebung und der Codequalität.
Technologie:
- Frontend: Portlet, JSF 1.2 / JSP, JSF-Komponentenbibliothek ?IBM Genesis?, HTML 4, CSS 2, JEE 5, WPS Websphere Portal Server, Spring, C-Rechenkern, Anbindung SOAP-Webservice / JAX-WS
- Entwicklungsumgebung: eclipse, svn
- Test: Firebug
- Analyse: RSA IBM-Rational Software Architect, UML
Beratungsprojekt: Prozessdokumentation für Thales
Kunde: Thales Defence Deutschland, 03/2009 ? 05/2010
Rolle: Architekt
Keywords: MIL-STD-498, IEEE 12207
Entwicklungsprojekt: GUI zur Maschinensteuerung für elumatec
Kunde: Elumatec, 07/2008 ? 12/2008
Rolle: C++Entwickler
Technologie: C++
Entwicklungsprojekt: Indexierung und Suche in EMail-Stores von T-Online
Kunde: T-Online , 11/2007 ? 01/2008
Rolle: JEE-Entwickler
Aufgaben:
- Design und Implementierung eines Such-Proxy auf Basis von Solr/Lucene
- Routing von Suchanfragen über EMails an den Indexserver des zugehörigen Mailstores
- Routing von Suchanfragen über andere Bereiche (z.B. Adressbuch) an weitere Indexserver und Aggregation der Suchergebnisse
- Caching der Routingadressen
- Die verteilte Suche über verteilte Indizes aus beliebigen Bereichen wie EMail, Adressbuch oder Kalender ist über einen zentralen Proxy möglich!
Technologie:
- Backend: Solr / Lucene, Apache Tomcat, Cyrus, IMAP-Mailstores, REST Web Service
- UML, subversion, eclipse
Entwicklungsprojekt: Automotive Plattform von Harman / Becker
Kunde: Harman/Becker, 07/2005 ? 12/2006
Rolle: C++ Entwickler
Aufgaben: Weiterentwicklung einer hoch-konfigurierbaren MoCCA-Komponente der Infotainment-Plattform. Sie stellt Schnittstellen zur Steuerung von Automotive-Tunern (AMFM, HDRadio) zur Verfügung; Einsatz in Kunden-Projekten wie DaimlerChrysler, Porsche, Audi, BMW, PSA, After-Market
- Betreuung der Projekte: verantwortlicher Ansprechpartner für die Projekte, Support, Koordination der verschiedenen Projekt-Interessen
- Analyse von Change Requests, Definition von User Stories, Pair Design und Implementierung
- Definition von TestCases, als Regressionstests im Build integriert
- Beispiele neuer Features: Traffic Announcements, PTY31, Radiotext, IBOC etc., konfigurierbare hierarchische State Machines
- Umfangreiches Refactoring und Übergabe
- Organisatorische Aufgaben: Releaseplanung, Interface Change Management, Bestellung eigener Change Requests, Dokumentation der Lieferungen etc.; Pflege des Projekplans der Arbeitsgruppe
- Weitere organisatorische Aufgaben: verantwortlich für die Einhaltung der Coding Styles in der Arbeitsgruppe. Einführung eines Tools zur automatisierten Überprüfung. Generierung der Reports unter CruiseControl.
Technologie: C++, zahlreiche Design Patterns, Scrum
Keywords: C++, component oriented Architecture, UML, UML-Editoren SI/SD, Scrum, test driven Development , DeveloperStories, Interviews, continous build, QNX auf SH4, MoCCA v2, MOST, Elvis, Perforce, MS-Project Server, Telelogic DOORS, Codecheck, MISRA, Visual C++, DocBook.
ältere Projekte auf Anfrage