SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
May the forge be with you
Sandro Sonntag - adorsys GmbH
05/16/12
Über mich
Sandro Sonntag

Principal Architekt bei adorsys GmbH
https://www.xing.com/profile/Sandro_Sonntag
Wir schreiben das
Jahr 2013

Das Raumschiff
Java Enterprise
fliegt in neuE Galaxien
KIRK:
WIE Lang BrauchT
DER BAU eines
NEUEN RESTSEVICES?
Scotty: CA 12
Stunden
KIRK: Ich geb Dir
4
Scotty: ich
machs in 1er !
Wozu Forge? Wir haben
doch Maven-Archetypes...
SLF4J

Arquillian
JPA

Bean V
alidatio
n
JSF

EJB
JAX-R

S

CDI
Was wir wirklich brauchen
ist ein RAD Baukasten...
SLF4J

JSF

EJB
CDI

JPA

Arquillian

JAX-RS
dation
an Vali
Be
Forge, das DRY Tool für
Softwareentwicklung

Heutzutage
Forge, das DRY Tool für
Softwareentwicklung
Forge, das DRY Tool für
Softwareentwicklung
Forge, das DRY Tool für
Softwareentwicklung
Was steckt drin ?
Was steckt drin ?
•

Scaffolding /
Generierungstool
Was steckt drin ?
•

Scaffolding /
Generierungstool

•

Generierung von
Javacode und
Konfigurationen
Was steckt drin ?
•

Scaffolding /
Generierungstool

•

Generierung von
Javacode und
Konfigurationen

•

Unterstützt die gängigen
JEE APIs
Was steckt drin ?
•

Scaffolding /
Generierungstool

•

Generierung von
Javacode und
Konfigurationen

•

Unterstützt die gängigen
JEE APIs

•

Maven
Was steckt drin ?
•

Scaffolding /
Generierungstool

•

Generierung von
Javacode und
Konfigurationen

•

Unterstützt die gängigen
JEE APIs

•

Maven

•

GIT
Was steckt drin ?
•

Scaffolding /
Generierungstool

•

Generierung von
Javacode und
Konfigurationen

•

Unterstützt die gängigen
JEE APIs

•

Maven

•
•

GIT
Unterstützung für die
gängigen OSS
Applicationserver
Was steckt drin ?
•
•

Scaffolding /
Generierungstool
Generierung von
Javacode und
Konfigurationen

•

Unterstützt die gängigen
JEE APIs

•

Maven

•
•

GIT

•

Pluginsystem (CDI, baut
auf JBoss Modules)

Unterstützung für die
gängigen OSS
Applicationserver
Was steckt drin ?
•
•
•
•

Scaffolding /
Generierungstool
Generierung von
Javacode und
Konfigurationen
Unterstützt die gängigen
JEE APIs
Maven

•
•

GIT

•

Pluginsystem (CDI, baut
auf JBoss Modules)

•

Ökosystem - zentrales
Pluginrepository

Unterstützung für die
gängigen OSS
Applicationserver
Cooking a new Plugin
Cooking a new Plugin

Java
Cooking a new Plugin

Java

CDI
Cooking a new Plugin

Java
Forge
CDI
Cooking a new Plugin
aven
Java
Forge
CDI
Cooking a new Plugin
aven

Arquillian
Java

Forge
CDI
Cooking a new Plugin
JBoss
Modules
aven

Arquillian
Java

Forge
CDI
What is a
What is a
 Plugin
 Plugin
 JBoss Module

 Plugin
 JBoss Module

 Plugin
 Commands
 JBoss Module

 Plugin
 Commands

 Setup Command
 JBoss Module

 Plugin
 Commands

ENV

 Setup Command
 JBoss Module

 Plugin
 Commands

 Setup Command
ENV

 Project
 JBoss Module

 Plugin
 Commands

 Setup Command
ENV

 Project

 Shell
 JBoss Module

 Plugin
 Commands

 Setup Command
ENV

 Project

 Shell
 Current Resource
 JBoss Module

 Plugin
 Commands

 Setup Command
ENV

 Project

 Shell
 Current Resource

 Facets
 Facets
 Facets

 REST Plugin
 Facets

 REST Plugin

 JSF Plugin
 Facets
 Project

 REST Plugin

 JSF Plugin
 Facets
 Project

 Java Facet

 REST Plugin

 WebResourceFacet FacesFacet

 JSF Plugin
 Forge Core Facets
• DependencyFacet
• JavaExecutionFacet
• JavaSourceFacet
• MavenCoreFacet
• MavenPluginFacet
• MetadataFacet

• PackagingFacet
• ResourceFacet
• WebResourceFacet
 Forge Resource System
 Forge Resource System
 Forge Resource System
Forge Java Type System
JavaSource<?> classUnderTest =
JavaParser.parse(
"package test; public class ForgeIt { public void doit(){} }");
Advanced Usecases
• Project Wizard
• Release Setup
• Clean Maven POMs
• DLL-Generierung
• Forge Server Build Integration - Continous
Delivery

• https://github.com/adorsys
Forge 2.0 steht vor der
Tür
• schneller!
• Designed for Modularity
• Neues Addon System - aus Plugins werden
Addons

• Transaction Support
Forge 2 Architecture
Referenzen
•

JBoss Forge: http://
forge.jboss.org/

•

Arquillian Tutorial: http://
arquillian.org/guides/
get_started_faster_with_
forge/

•

Beantest Forge Plugin:
https://github.com/
ersatzcapo/forgebeanstest

•

SLF4J Plugin: https://
github.com/xandrox/
forge-slf4jplugin

•

Forge GWT Plugin: http://
forge-gwtplugin.github.io/

•

Forge Artikel: http://
jaxenter.de/artikel/
MaytheForgebewithyou
Noch Fragen?

Weitere ähnliche Inhalte

Was ist angesagt?

Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)
Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)
Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)Christian Janz
 
Informatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und GrailsInformatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und Grailsschmichri
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptOPEN KNOWLEDGE GmbH
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenJan Hentschel
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Servergedoplan
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Rubyvesparun
 
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"Aberla
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreGregor Biswanger
 
Fix & fertig: Best Practises für "XPages-Migranten"
Fix & fertig: Best Practises für "XPages-Migranten"Fix & fertig: Best Practises für "XPages-Migranten"
Fix & fertig: Best Practises für "XPages-Migranten"Oliver Busse
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesGregor Biswanger
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenTorsten Kleiber
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit MavenStefan Scheidt
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Torsten Kleiber
 

Was ist angesagt? (20)

Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)
Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)
Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)
 
Informatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und GrailsInformatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und Grails
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
 
Spring 2.0
Spring 2.0Spring 2.0
Spring 2.0
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
 
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
 
Fix & fertig: Best Practises für "XPages-Migranten"
Fix & fertig: Best Practises für "XPages-Migranten"Fix & fertig: Best Practises für "XPages-Migranten"
Fix & fertig: Best Practises für "XPages-Migranten"
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Spring 2.0
Spring 2.0Spring 2.0
Spring 2.0
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit Maven
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020
 

Ähnlich wie May the forge be with you

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!gedoplan
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
Microservices mit Java und Go im Vergleich
Microservices mit Java und Go im VergleichMicroservices mit Java und Go im Vergleich
Microservices mit Java und Go im VergleichQAware GmbH
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Von Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenVon Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenQAware GmbH
 
Rapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFRapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFJomaSoft
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3Ralf Eggert
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtOPITZ CONSULTING Deutschland
 
Rapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und ApplikationRapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und ApplikationJomaSoft
 
Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007smancke
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführunggedoplan
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsRamon Anger
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampWerner Keil
 

Ähnlich wie May the forge be with you (20)

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
Microservices mit Java und Go im Vergleich
Microservices mit Java und Go im VergleichMicroservices mit Java und Go im Vergleich
Microservices mit Java und Go im Vergleich
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
.NET zu .NET Core
.NET zu .NET Core.NET zu .NET Core
.NET zu .NET Core
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Von Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenVon Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 Minuten
 
Rapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFRapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCF
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Rapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und ApplikationRapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und Applikation
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
 

May the forge be with you