Operation am offenen Herzen
|
|
- Götz Meyer
- vor 6 Jahren
- Abrufe
Transkript
1 Operation am offenen Herzen Praxisbericht einer erfolgreichen JEE-7 Migration Dirk Ehms, GameDuell GmbH
2 GameDuell Plattform Topologie Classic Platform Social Platform 64x Frontend Server OpenMQ 16x Frontend Server Randbedingungen: keinen Einfluss auf Betrieb Entwicklung 10x Persister Server 10x Reporting / Administration SQL / NoSQL / LDAP
3 GameDuell Entwicklungsumgebung Werkzeuge Maven Module EAR WAR 10x Deployment Artefakte 1x Assembly pro Stunde 1-2 Deployments pro Tag
4 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 4
5 Dependency Management: Module POM <project> <parent> <groupid>de.gameduell</groupid> <artifactid>jee-parent</artifactid> <version>2.8.0</version> </parent> <dependencies> <dependency> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <version>6.0</version> <scope>provided</scope> </dependency> </dependencies> </project> $ mvn clean install $ mvn clean install P jee7 5
6 Dependency Management: Parent POM <project> <profiles> <profile> <id>jee6</id> <activation> <activebydefault>true</activebydefault> </activation> <dependencymanagement> <dependencies> <dependency> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <version>6.0</version> <scope>provided</scope> </dependency> </dependencies> </dependencymanagement> </profile> <profile> <id>jee7</id> <dependencymanagement> <dependencies> <dependency> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <version>7.0</version> <scope>provided</scope> </dependency> </dependencies> </dependencymanagement> </profile> 6
7 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 7
8 Source Code Branches 1. Anlegen einer Kopie vom Trunk / Master 2. Notwendige JEE-7 Anpassungen durchführen 3. Weiterentwicklung erfolgt wie bisher auf dem Trunk 4. Änderungen automatisch zusammenführen 2) svn commit JEE-7 Branch 3) svn commit Trunk / Master 8
9 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 9
10 GameDuell Build Pipeline Source Repository Artifact Repository 1. Check-in 2. Trigger Jenkins 3. Artifact Deploy 4. Update JIRA Ticket 5. Success 6. Status: Integrated $ svn ci m XYZ-4711, //minor 10
11 Jenkins konfigurieren (Trunk) SECONDARY PRIMARY $ mvn clean verify P jee7 Jenkins Job ARTIFACT ARTIFACT social-services jar social-services jar 1. Neuen Jenkins Job anlegen 2. Nachfolger-Job starten
12 Jenkins konfigurieren (Branch) SECONDARY PRIMARY Jenkins Job ARTIFACT ARTIFACT social-services jar social-services jee7.jar 1. Neuen Jenkins Job anlegen 2. VCS Merge 3. Nachfolger-Job starten 4. Merge Konflikt (optional)
13 Module POM und Maven Classifier <project> <profiles> <profile> <id>jee6</id> <dependencies> <dependency> <groupid>de.gameduell.social</groupid> <artifactid>social-services</artifactid> <version>2.9.1</version> </dependency> </dependencies> </profile> <profile> <id>jee7</id> <dependencies> <dependency> <groupid>de.gameduell.social</groupid> <artifactid>social-services</artifactid> <version>2.9.1</version> <classifier>jee7</classifier> </dependency> </dependencies> </profile> </profiles> </project> 13
14 Byte Code Incompatibility public class SomeManagedBean { } public void foo() { FaceletContext faceletcontext = (FaceletContext) FacesContext.getCurrentInstance().getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY); String formid = (String) faceletcontext.getattribute("formid"); } // JEE-6 public abstract class FaceletContext extends ELContext { } public static final String FACELET_CONTEXT_KEY = "com.sun.faces.facelets.facelet_context"; // JEE-7 public abstract class FaceletContext extends ELContext { } // The key in the FacesContext attribute map for the FaceletContext instance. public static final String FACELET_CONTEXT_KEY = "javax.faces.facelet_context"; 14
15 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 15
16 GameDuell Release Pipeline Artifact Repository Assembly Monkey 1. Assembly Monkey (1x pro Stunde) 2. Integrated Tickets 3. Dependency Update 4. Trigger Jenkins 5. Artifact Deploy 6. User Acceptance Tests Source Repository 16
17 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 17
18 Rolling Deployment / Zero Downtime Load Balancer UAT Ops Team QA Team EAR WAR 1. 50% der Frontends auf Standby 2. Deployment auf einem Frontend 3. User Acceptance Tests 4. Exploratives Testen 5. Echte User auf das Frontend 6. Rollout fortsetzen 7. Vollständiger Rollout
19 Inkrementeller Rollout 19
20 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 20
21 Laufzeitverhalten überwachen Vergleich zwischen GF3 und GF4 (Speicherverbrauch, CPU, Threads, GC) Tools: JConsole, Java VisualVM, Java Mission Control, Java Flight Recoder 21
22 Schritte zum Erfolg 1. Maven Dependency Management, Maven Profile 2. VCS Branches für nicht-kompatiblen Source Code 3. Continuous Integration 4. Continuous Delivery / Release Pipeline 5. Rolling Deployment / Inkrementeller Rollout 6. Laufzeitverhalten überwachen 7. Aufräumarbeiten 22
23 Aufräumarbeiten 1. Integration aller Banches in die zugehörigen Trunks 2. Umstellen der Entwicklungsumgebung auf JEE-7 3. Primäre Jenkins Jobs anpassen (Maven Profil) 4. Alle zusätzlichen Jenkins Jobs löschen 5. Optional: Branches löschen 2) svn delete JEE-7 Branch Trunk / Master 23
24 Ausgewählte Glassfish Migrationsbeispiele 24
25 GF3: JAX-RS (web.xml) <web-app> <servlet> <servlet-name>jersey Web Application</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.servletcontainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>de.gameduell.rest.accounting</param-value> </init-param> <init-param> <param-name>com.sun.jersey.api.json.pojomappingfeature</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> 25
26 GF4: JAX-RS (web.xml) <web-app> <servlet> <servlet-name>jersey Web Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.servletcontainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>de.gameduell.rest.accounting</param-value> </init-param> <init-param> <param-name>jersey.config.server.provider.classnames</param-name> <param-value>org.glassfish.jersey.jackson.jacksonfeature</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> 26
27 public class RestfulServiceApp extends Application { public Set<Class<?>> getclasses() { Set<Class<?>> appclasses = new HashSet<Class<?>>(); appclasses.add(shopresource.class); // enable request debugging with LoggingFilter appclasses.add(loggingfilter.class); // substitution for class :: // com.sun.jersey.api.container.filter.rolesallowedresourcefilterfactory appclasses.add(rolesalloweddynamicfeature.class); // use Jackson Feature instead of POJOMappingFeature appclasses.add(jacksonfeature.class); return appclasses; public Set<Object> getsingletons() { Set<Object> singletons = new HashSet<>(); // substitution for class :: com.sun.jersey.api.container.filter.postreplacefilter singletons.add(new HttpMethodOverrideFilter(new HttpMethodOverrideFilter.Source[0])); return singletons; } 27
28 JAX-RS Type Mapping (GF3 -> GF4) Jersey 1.x JAX-RS2 / Jersey 2.x com.sun.jersey.api.client.client com.sun.jersey.api.client.webresource com.sun.jersey.api.client.clientresponse com.sun.jersey.spi.container.containerrequest Filter com.sun.jersey.spi.container.containerrequest com.sun.jersey.spi.container.containerrespons e com.sun.jersey.core.util.readerwriter com.sun.jersey.api.json.jsonconfiguration com.sun.jersey.api.json.jsonjaxbcontext javax.ws.rs.client.client javax.ws.rs.client.webtarget javax.ws.rs.core.response javax.ws.rs.container.containerrequestfilter org.glassfish.jersey.server.containerrequest org.glassfish.jersey.server.containerresponse org.glassfish.jersey.message.internal.readerwri ter org.glassfish.jersey.jettison.jettisonconfig org.glassfish.jersey.jettison.jettisonjaxbcontext 28
29 JPA / EclipseLink <?xml version="1.0" encoding="utf-8"?> <persistence version="2.0 xmlns=" xmlns:xsi=" xsi:schemalocation=" <persistence-unit name="social-bus" transaction-type="jta"> <provider>org.eclipse.persistence.jpa.persistenceprovider</provider> <jta-data-source>jdbc/busdatasource</jta-data-source> <exclude-unlisted-classes>false</exclude-unlisted-classes> <shared-cache-mode>enable_selective</shared-cache-mode> <properties> <!-- Multiple persistence units clash with EclipseLink 2.5 annotation pre-processor --> <property name="eclipselink.canonicalmodel.subpackage" value="bus" /> </properties> </persistence-unit> <persistence-unit name="social-mps" transaction-type="jta"> <provider>org.eclipse.persistence.jpa.persistenceprovider</provider> <jta-data-source>jdbc/mpsdatasource</jta-data-source> <exclude-unlisted-classes>false</exclude-unlisted-classes> <shared-cache-mode>enable_selective</shared-cache-mode> <properties> <property name="eclipselink.canonicalmodel.subpackage" value="mps" /> </properties> </persistence-unit> </persistence> 29
30 @PostConstruct & Checked Exceptions // public class AccountingService { public void init() throws IOException { } // public class AccountingService { public void init(){ try { } catch(ioexception e) { throw new EJBException(e); } } 30
31 Resource public class DataRetriever = "jdbc/reporting_3") private DataSource datasource; public class DataRetriever = "jdbc/reporting_3") private DataSource datasource; } 31
32 Weitere Migrationsbeispiele Jackson-Lib package name (ObjectMapper) org.codehaus.jackson.map com.fasterxml.jackson.databind Geändertes Verhalten der JAXB Implementation Neue Atmosphere-Lib Version ( ) CDI standardmäßig aktiv Fehlende Methoden für handgeschriebene Test-Mocks HttpServletRequest.login() in Verbindung mit Custom Authentication Modules JAX-RS: Default Konstuktoren für Result-Objekte bei WADL Generierung Dateistruktur domain.xml für Embedded Glassfish RESTful Ressource innerhalb von EAR-Artefakten nicht mehr verwenden 32
33 Vielen Dank
Operation am offenen Herzen
Operation am offenen Herzen Case Study zur erfolgreichen JEE-7 Migration Dirk Ehms, GameDuell GmbH GameDuell Plattform Topologie Classic Platform Social Platform 64x Frontend Server OpenMQ 16x Frontend
MehrDaniel Tschan Technischer Leiter. Continuous Delivery mit OpenShift
Daniel Tschan Technischer Leiter Continuous Delivery mit OpenShift Puzzle Tech Talk, Bern, 30.10.2014 Geschichte Integration Hell und «works on my machine» 1991: Object Oriented Design: With Applications
MehrContinuous Delivery mit OpenShift, 2nd Edition
Daniel Tschan CTO Continuous Delivery mit OpenShift, 2nd Edition OpenShift Tech Lab, Bern, 27.10.2014 1 Grundlagen Kleine Geschichte «Integration Hell» und «Works on My Machine» 1991: Object Oriented Design:
MehrContinuous Integration (CI) Workshop
Continuous Integration (CI) Workshop Seminarunterlage Version: 1.05 Version 1.05 vom 28. Februar 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen
MehrSchritt 4: Hallo Enterprise Bean
Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen
MehrAxis2, CXF und JAX-WS RI im Vergleich
Axis2, CXF und JAX-WS RI im Vergleich Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Gliederung Die Standards: JWS, JAXB und JAX-WS Axis2 Apache CXF JAX-WS RI und
MehrArtem Eger. Build-Systeme in java Maven & ANT
Artem Eger Build-Systeme in java Maven & ANT Gliederung (1) Motivation und Überblick (2) Bauen mit Ant (3) Praxisbeispiel Ant (4) Bauen mit Maven (5) Praxisbeispiel Maven (6) Ausblick 2/31 (1) Motivation
MehrBuildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012
Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten
MehrMit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart
Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH
MehrApplication Server und Continuous Integration
Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene
MehrJAX-RS 2.0 REST mit Java EE 7
Enterprise Java, Web Services und XML JAX-RS 2.0 REST mit Java EE 7 Java User Group Darmstadt 13. Juni 2013 http://www.frotscher.com thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und
MehrEnd-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at
End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at www.celix.at September 2015 celix Solutions GmbH Spezialist für Team Collaboration und IT Prozess Management Agile
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrDennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring
Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de
MehrRenée Bäcker. Perl $foo Magazin
Renée Bäcker Renée Bäcker Perl Renée Bäcker Perl $foo Magazin Renée Bäcker Perl $foo Magazin OTRS Renée Bäcker Perl $foo Magazin OTRS u.v.m Früher... Am Anfang steht der Kunde... dann kommt der Auftrag
MehrPlatform as a Service (PaaS) & Containerization
Platform as a Service (PaaS) & Containerization Open Source Roundtable Bundesverwaltung; Bern, 23. Juni 2016 André Kunz Chief Communications Officer Peter Mumenthaler Head of System Engineering 1. Puzzle
MehrBuild-Pipeline mit Jenkins
JUG Augsburg 24.10.2013 Seite 1 Wer sind wir? Agiler Architekt und Entwickler Eigenes Produkt mit kompletter Pipeline / CD aktuell: Architekt / Entwickler in einem großen Entwicklungsprojekt im Automotiv
MehrCI von Eclipse RCP Anwendungen mit Gradle/Jenkins
Make Catchphrase Eclipse RCP gradle again CI von Eclipse RCP Anwendungen mit Gradle/Jenkins Johannes Tandler Michael Barth 09.03.2017 Dresden Agenda 1. Eclipse IDE 2. Eclipse RCP 3. Repositories I 4. Architecture
MehrProjektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi
Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE
MehrWir implementieren Lösungen. + DevOps-in-the-Box. Rainer Heinold VP Technology and Services
+ DevOps-in-the-Box Rainer Heinold VP Technology and Services Über ASERVO Software GmbH - Gegründet 2004 - Unabhängiger Anbieter von DevOps- und ALM-Lösungen - Schwerpunkt im deutschsprachigen Raume -
MehrDevOps with AWS. Software Development und IT Operation Hand in Hand. Matthias Imsand CTO Amanox Solutions AG
DevOps with AWS Software Development und IT Operation Hand in Hand Matthias Imsand CTO Amanox Solutions AG Agenda Evolution agiles DevOps AWS Kurzeinführung Automation und Infrastruktur als Code AWS CloudFormation
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrWER ERZÄHLT DIE NÄCHSTEN 55+ MINUTEN ETWAS?
WER ERZÄHLT DIE NÄCHSTEN 55+ MINUTEN ETWAS? Gerrit Brehmer, Karlsruhe Auf der Arbeit: Software-Entwickler/Architekt ( / Projektleiter) bei der inovex GmbH In der Freizeit: Smart Home BEAN-MAPPING: EINSATZ
MehrContinuous Delivery in der Realität eines Großunternehmens
Continuous Delivery in der Realität eines Großunternehmens Agile World, 28. Juni 2013 Christian Weber 01 Continuous Delivery Das Versprechen Das Versprechen Sch Entspanntes Release Time To Market 3 02
MehrDirk Reinemann Working Student Sales Consulting
JDeveloper 12c in 30 Minutes Dirk Reinemann Working Student Sales Consulting Program Agenda 1. Integrated Development Environment 2. Java Development 3. Web Development 4. Team Development 5. Application
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrDer Weisheit letzter Schluss:
Der Weisheit letzter Schluss: Maven 2 in der Java Entwicklung Web Site: www.soebes.de Blog: blog.soebes.de Email: info@soebes.de Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1. Was ist Maven? 2. Features von
MehrMartin. Spiller. Maven 3. Konfigurationsmanagement mit Java
Martin Spiller Maven 3 Konfigurationsmanagement mit Java Danksagungen............................................ 17 Vorwort.................................................. 19 1 Einführung...............................................
MehrAnt + Ivy Building with dependencies
Ant + Ivy Building with dependencies Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Björn Feustel Version: 1.0 www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory
MehrProjekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe Java API for XML Web Service (JAX-WS) April 2008
Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe2008 - Java API for XML Web Service (JAX-WS) - 07. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik
MehrContinuous Delivery mit OpenShift
Daniel Tschan Technischer Leiter Continuous Delivery mit OpenShift Puzzle Tech Talk, Bern, 23.10.2014 1 Grundlagen Kleine Geschichte «Integration Hell» und «Works on My Machine» 1991: Object Oriented Design:
MehrDominik Helleberg inovex GmbH. Auf Augenhöhe mit Android Studio und Gradle
Dominik Helleberg inovex GmbH Auf Augenhöhe mit Android Studio und Gradle Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+ The new Dream Team Gradle + Android
MehrContinuous Delivery. für Java Anwendungen. Axel Fontaine 28.10.2010. Software Development Expert
28.10.2010 Continuous Delivery für Java Anwendungen Axel Fontaine Software Development Expert twitter.com/axelfontaine blog.axelfontaine.eu business@axelfontaine.eu Ceci n est pas une build tool. Ceci
MehrAxis2, CXF und JAX-WS RI im Vergleich
Axis2, CXF und JAX-WS RI im Vergleich predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Inhalt Einführung Die Standards: JAXB, JWS, JAX-WS Axis2 CXF JAX-WS RI /
MehrES GIBT EIN LEBEN NACHCI!
ES GIBT EIN LEBEN NACHCI! DEVOPS, CONTINUOUSDELIVERY& CO RUDOLFE. GROETZ, HEAD OFQA, JUMIOINC RUDOLF@JUMIO.COM 1 Wer zum Teufel ist Jumio? 2 Kennen sie diese Fragen? - Ist der neue Build schon getestet?
MehrWeb-Technologien Kick-Start
Web-Technologien Kick-Start Software-Praktikum im Grundstudium WS 2004/2005 Dipl.-Inform. Michael Kirchhof Dipl.-Inform. Bodo Kraft Prof. Dr.-Ing. Manfred Nagl Department of Computer Science III Software
MehrMaven 2 Softwareprojekte mit Kultur
Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark
MehrGeronimo, konfigurierbarer Java EE Application Server
Geronimo, konfigurierbarer Java EE Application Server http://www.hs furtwangen.de http://www.informatik.hs furtwangen.de/~reich http://geronimo.apache.org/ Christoph Reich 01.06.2007 Überblick Geronimo
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrConsultant & Geschäftsführer, enpit consulting OHG E-Mail: ugb@enpit.de
ADF Spotlight - Entwicklungswerkzeuge & - methoden - ADF 12c mit Git, Maven & Co. - Status Quo Ulrich Gerkmann-Bartels Consultant & Geschäftsführer, enpit consulting OHG E-Mail: ugb@enpit.de +++ Bitte
MehrDas Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de
Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes
MehrCONTINUOUS DELIVERY. Entmystifiziert. codecentric AG
CONTINUOUS DELIVERY Entmystifiziert WIE SOFTWARE LIEFERN? 01.07.2014 2 WAS IST CONTINUOUS DELIVERY? Robust Wiederholbar Effektiv 01.07.2014 3 LANDSCHAFTEN Continuous Integration Public / Private Hybrid
MehrPluginbasierte Entwicklung auf Basis einer eigenen JAR Datei
Pluginbasierte Entwicklung auf Basis einer eigenen JAR Datei 2017-03-07 2017.06 by Paul Rochowski MyCoRe bietet die Möglichkeit innerhalb des Konfigurationsverzeichnisses in dem Ordner lib eigene Anwendungserweiterungen
MehrSoftware(technik)praktikum: SVN-Tutorial
Software(technik)praktikum: SVN-Tutorial Übersicht Kurz: Übersicht VKM (siehe auch Vorlesungs-Folien) Werkzeuge Grundsätzliches Integration in Eclipse Praktische Übung mit SVN Commits, Updates, Konflikte
MehrGerrit und Jenkins ein Traumpaar für Pre-Tested Commit
und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 6809 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und Pre-tested
MehrMaven 2.0. DRV Jahrestagung Java Würzburg 26.2.2008 Rainer Vehns, codecentric GmbH. 2008 codecentric GmbH
Maven 2.0 DRV Jahrestagung Java Würzburg 26.2.2008 Rainer Vehns, codecentric GmbH Agenda Einführung Project Object Model (POM) Repositories Maven und Eclipse Maven - LIVE 1. EINFÜHRUNG Einführung - Was
MehrRESTful Services mit Java EE
RESTful Services mit Java EE Thilo Frotscher thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und Trainer Fachliche Schwerpunkte Java Plattform Services und Integration Kundenspezifische
MehrAGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM
AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM 09.07.2015 NATALIE WENZ JAN GERTGENS Vorstellung Natalie Wenz Studium Medieninformatik an der Hochschule Reutlingen mit Abschluss als Master
MehrGerrit und Jenkins ein Traumpaar für Pre-Tested Commit
und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und
MehrEnterprise Java Beans Einführung
Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse
MehrJava Web Services Metadata JSR-181
Java Web Services Metadata JSR-181 Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Albertus-Magnus-Str.
MehrNeue Wege mit Contao 4
Neue Wege mit Contao 4 Schöne neue PHP-Welt Contao Konferenz 2016 Über mich Andreas Schempp / terminal42 gmbh Schweiz Contao Core Entwickler Vorstand (Schatzmeister) Contao Association Hauptentwickler
MehrProzessautomatisierung mit BPMN 2.0 und Java. bernd.ruecker@camunda.com
Prozessautomatisierung mit BPMN 2.0 und Java bernd.ruecker@camunda.com Bernd Rücker camunda services GmbH Demo Was ist Prozessautomatisierung mit BPMN 2.0 Prozessautomatisierung mit Process Engine Monitoring
MehrContinuous Everything
Continuous Everything Development, Integration, Deployment, DevOps Peter Hormanns cusy GmbH, Berlin Vortrag OpenRheinRuhr 5./6. November 2016 de.slideshare.net/cusyio/continuous-everything Kapitel you
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrDevOps. Alexander Pacnik, Head of DevOps Engineering
DevOps Alexander Pacnik, Head of DevOps Engineering 29.09.2016 Einführung... Produktfokussierung die Entstehungsgeschichte der Veränderung Umsatz / Features Innovative Phase (technisch orientiert) Deliver
MehrOhne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012
Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Ein Builtool?
MehrThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
MehrBean-Mapping mit MapStruct
Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much thomas@muchsoft.com www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000
MehrRene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate
1 von 43 Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 27.11.11 Agenda Einleitung Ist-Zustand Bookstore Was ist Hibernate? Wie funktioniert Hibernate? Was ist Spring? Architektur
MehrBekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013
Bekannte Tools in einem agilen Ansatz Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Vorher Lange Planungszeiten und Releasezyklen Manche Features brauchten lange und wurden nicht gebraucht
MehrPlatform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich
Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche
MehrJava Batch Der Standard für's Stapeln
Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN
MehrMICRO-BATCH-SERVICES MIT SPRING BOOT
MICRO-BATCH-SERVICES MIT SPRING BOOT Ein Praxisbericht Tobias Flohre Düsseldorf @TobiasFlohre www.github.com/tobiasflohre blog.codecentric.de/en/author/tobias.flohre tobias.flohre@codecentric.de www.codecentric.de
MehrALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG
ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online
MehrKurzanleitung Eclipse
Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon
MehrJBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013
JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013 Jboss 7 AS... worum es in diesem Vortrag geht. Einführung Installation Konfiguration Management Deployment Betrieb
MehrOpen Source. Hendrik Ebbers 2015
Open Source Hendrik Ebbers 2015 Open Source About me Hendrik Ebbers Lead of JUG Dortmund Java Architect @ Canoo Engineering AG JavaOne Rockstar, Java Expert Group Member Speaker, blogger & author Engineering
MehrPersönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy
Über Ant und Maven zu SBT und Gradle Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy 07.04.2011 Speaker Andreas Hartmann [hartmann@adesso.de] Principal Software Engineer
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrIterativ. Inkrementell
Iterativ Inkrementell Build Release Test Qualität Architektur & Documentation Distributed Version Control Continuous Integration TDD Design Agile Architektur Dependency Feature Branches Mocks
MehrMit OSGi Webanwendungen entwickeln Was geht, was nicht?
Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Peter Roßbach (Systemarchitekt) Gerd Wütherich (Freier Softwarearchitekt) Martin Lippert (akquinet it-agile GmbH) 2009 by P. Roßbach, G. Wütherich,
MehrHAGEN KLATT. Geburtsjahr 1989 Profil-Stand Juni Triona Information und Technologie GmbH Dekan-Laist-Straße 15a Mainz
HAGEN KLATT Geburtsjahr 1989 Profil-Stand Juni 2017 Triona Information und Technologie GmbH Dekan-Laist-Straße 15a 55129 Mainz Fon +49 (0) 6131 / 501538-0 Mail projekte@triona.de FACHLICHE SCHWERPUNKTE
MehrBenutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server 5.0
Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server 5.0 Installation Eclipse in der Version Ganymede können Sie von http://www.eclipse.org/downloads/ herunterladen.
MehrProgrammieren II. Exkurs: Apache Maven. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Programmieren II Exkurs: Apache Maven KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Agenda Einführung in Apache Maven Was ist Apache Maven? Verwendung Einbindung in IDE APACHE
MehrSoftwareprojekte mit Kultur
Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrFrom Agile Project Management to Continuous Integration Thomas Bergmüller
From Agile Project Management to Continuous Integration Thomas Bergmüller Übersicht Produkt & Authentic Vision Anforderungen an PM Von der Versionsplanung zur fertigen App Ausgewählte techn. Aspekte zur
MehrEinfache Bean-Mappings mit MapStruct 1.2
t 11. 14.12.2017 Frankfurt am Main Thomas Much Einfache Bean-Mappings mit MapStruct 1.2 @thmuch #ittage Wer steht hier vorne? Thomas Much Agile Developer Coach & XP Coder (Java et al.) Mag coole kleine
Mehrebusiness Übung 3a Spezifikation und Nutzung von Web-APIs (Services) Prof. Dr. Andreas Schmietendorf 1
ebusiness Übung 3a Spezifikation und Nutzung von Web-APIs (Services) 14.03.2017 Prof. Dr. Andreas Schmietendorf 1 Aufgabenstellung 14.03.2017 Prof. Dr. Andreas Schmietendorf 2 Ziele der Übung Spezifikation
MehrEinführung in den NetBeans Profiler
Let s talk about IT Wenn s mal wieder länger dauert Einführung in den NetBeans Profiler Dominik Hofmann 14.01.2010 Themenüberblick Themen Grundlagen und Features des NetBeans Profilers CPU Profiling Memory
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
MehrPersistenz. Ralf Gitzel
Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte
MehrProgrammieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik
Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem
MehrBuildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008
Buildwerkzeuge für Javaprojekte Christian Bunse Institut für Informatik 03.07.2008 Inhalt Der Build Besonderheiten von Javaprojekten Ziele von Buildwerkzeugen Continuous Integration Vorstellung von Buildwerkzeugen
MehrDevOps in der Praxis. Alexander Pacnik 24.11.2015
DevOps in der Praxis Alexander Pacnik 24.11.2015 Einführung... DevOps Versuch einer Definition Alexander Pacnik IT Engineering & Operations Project Management inovex GmbH 2 Einführung... DevOps Versuch
Mehr<Insert Picture Here> Grid Control 11g und My Oracle Support Ulrike Schwinn
Grid Control 11g und My Oracle Support Ulrike Schwinn Herausforderungen 2 verschiedene Welten IT Operationen Support Performance Management Configuration Management Provisioning,
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrÜbungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
MehrDatenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier
JPA mit Hibernate Alexander Stautner, Harald Zauner, Sascha Schreier Agenda Objektrelationales Mapping JPA / Hibernate Demo # 2 Objektrelationales Mapping Objektorientierte Welt Objekte Objektidentität
MehrTHOMAS WEHRSPANN. Diplom Wirtschaftsinformatiker Scrum Master. Geburtsjahr 1978 Profil-Stand Oktober 2016
THOMAS WEHRSPANN Diplom Wirtschaftsinformatiker Scrum Master Geburtsjahr 1978 Profil-Stand Oktober 2016 Triona Information und Technologie GmbH Dekan-Laist-Str. 15a 55129 Mainz Fon +49 (0) 61 31 / 501538-0
MehrAutomatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland
Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c Robin Müller-Bady Systemberater, Oracle Deutschland The following is intended to outline our general product direction. It is intended
MehrBPMN 2.0 gehört in den Werkzeugkasten JEDES Java Entwicklers! bernd.ruecker@camunda.com
BPMN 2.0 gehört in den Werkzeugkasten JEDES Java Entwicklers! bernd.ruecker@camunda.com Bernd Rücker camunda services GmbH Was ist Prozessautomatisierung? Das Ganze ist ein BPMN Prozess Aber auch (und
MehrInhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI
Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.
MehrFH LU JEE Vorlesung SS Ralf Gitzel
FH LU JEE Vorlesung SS 2016 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik
MehrUm asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.
Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence
MehrTool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel
Tool-Chain Übung Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" 2009 Sebastian Meyer und Kai Stapel 05.05.2009 Überblick SVN Grundlagen SVN in Eclipse Ant in Eclipse Cobertura
MehrDeep Dive in WebLogic Server und Multi- Tenancy
überraschend mehr Möglichkeiten! Deep Dive in WebLogic Server 12.2.2.1 und Multi- Tenancy Mohammad Esad-Djou, Solution Architect Borys Neselovskyi, Solution Architect OPITZ CONSULTING 2016 Agenda 1 2 3
MehrOracle WebLogic Server 12c Was gibt es Neues? Erik de Linde Pre-Sales PITSS
Oracle WebLogic Server 12c Was gibt es Neues? Erik de Linde Pre-Sales PITSS 1 PITSS GmbH Geschichte Wer wir sind: Forms und Reports Modernisierungsexperte über 15 Jahre Erfahrung mit Oracle Technologien
Mehr