may the forge be with you
DESCRIPTION
JBoss One Day Talk Vortrag Kennen Sie das? Sie sind gerade dabei, die Projektkonfiguration für Ihre gefühlt tausendste Java-Web-Anwendung zu erstellen. Sie nehmen sich Ihr letztes erfolgreiches Projekt-Setup als Vorlage. Und dann versuchen Sie durch beherztes Copy und Paste das neue Projekt zu erstellen? Wenn Sie sich damit auch nicht abfinden wollen sind Sie in diesem Vortrag genau richtig. Wir werfen einen Blick auf das noch sehr junge RAD-Tool JBoss-Forge und sehen, wie uns JBoss Forge den Entwickler Tag bereichern kann.TRANSCRIPT
05/16/12
May the forge be with youSandro Sonntag - adorsys GmbH
Principal Architekt bei adorsys GmbH
https://www.xing.com/profile/Sandro_Sonntag
Über michSandro Sonntag
Das Raumschiff Java Enterprise
fliegt in neuE Galaxien
Wir schreiben das Jahr 2013
KIRK: WIE Lang BrauchT DER BAU eines NEUEN REST-SEVICES?
Scotty: CA 12 Stunden
KIRK: Ich geb Dir 4
Scotty: ich machs in 1er !
Wozu Forge? Wir haben doch Maven-Archetypes...
SLF4J
JSF
EJB
JAX-RS
Arquillian
Bean Validation
CDI
JPA
Was wir wirklich brauchen ist ein RAD Baukasten...
SLF4J
JSF
EJB
JAX-RS
Arquillian
Bean Validation
CD
IJPA
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
• Unterstützung für die gängigen OSS Applicationserver
• Pluginsystem (CDI, baut auf JBoss Modules)
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
• Pluginsystem (CDI, baut auf JBoss Modules)
• Ökosystem - zentrales Pluginrepository
Cooking a new Plugin
Cooking a new Plugin
Java
Cooking a new Plugin
CDI
Java
Cooking a new Plugin
ForgeCDI
Java
Cooking a new Plugin
ForgeCDI
aven
Java
Cooking a new Plugin
Arquillian
ForgeCDI
aven
Java
Cooking a new Plugin
Arquillian
JBoss Modules
ForgeCDI
aven
Java
What is a
PluginWhat is a
Plugin
Plugin
JBoss Module
Plugin
JBoss Module
Commands
Plugin
JBoss Module
Commands
Setup Command
ENV
Plugin
JBoss Module
Commands
Setup Command
ENV
Plugin
JBoss Module
Commands
Setup Command
Project
ENV
Plugin
JBoss Module
Commands
Setup Command
Shell
Project
ENV
Plugin
JBoss Module
Commands
Setup Command
Shell Current Resource
Project
ENV
Plugin
JBoss Module
Commands
Setup Command
Shell Current Resource
Project
Facets
Facets
Facets
REST Plugin
Facets
REST Plugin JSF Plugin
Facets
Project
REST Plugin JSF Plugin
Facets
Project
FacesFacet WebResourceFacet Java Facet
REST Plugin 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/forge-beanstest
• 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?