SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
| 
Ist Gradle auch für die APEX-Projekte? 
DOAG Konferenz 2014 (Nürnberg) 
Oleg Kiriltsev 
Nürnberg, November 2014 
1
| 
Meine Person 
Oleg Kiriltsev 
Diplom Angewandte Informatik, Uni Duisburg-Essen 
Seit März 2013 Junior Berater, MT AG in Ratingen 
Kontaktdaten: 
-E-Mail: oleg.kiriltsev@mt-ag.com 
-Twitter: @OKiriltsev 
DOAG Konferenz 2014 
2
| 
UNSER PORTFOLIO 
BUSINESS INTELLIGENCE SOLUTIONS 
SOCIAL BUSINESS SOLUTIONS 
MOBILE 
SOLUTIONS 
APPLICATION DEVELOPMENT 
INTEGRATION SERVICES 
IT SYSTEM SERVICES 
DATA INTEGRATION 
SELF SERVICE BI 
MOBILE BI 
COLLABORATION 
SEARCH 
SOCIAL 
APPS 
ABLÄUFE 
LOKALISIERUNG 
APEX / ADF JAVA .NET 
STRATEGIE 
ARCHITEKTUR 
SAP HANA 
MANAGED SERVICES BETRIEB MIGRATION 
3
| 
Gradle – was ist das? 
Build-Toolkit basiert auf Groovy DSL 
Sammlung von Tools 
DOAG Konferenz 2014 
4
| 
Gradle – was ist das? 
Build-Toolkit basiert auf Groovy DSL 
Sammlung von Tools 
-Plugins 
-Konfigurationsregel 
-DSL-Erweiterung 
convention over configuration 
Entwickler-Plugins für IDE‘s (Eclips, IDEA, …) 
Unterstützung von Ant-Tasks 
DOAG Konferenz 2014 
5
| 
Gradle-Benutzer 
DOAG Konferenz 2014 
6 
Hibernate 
Grails 
Spring Integration 
Spring Security 
Android
| 
Gradle Wrapper 
Demo 1 
DOAG Konferenz 2014 
7
| 
Gradle Wrapper 
Keine Installation notwendig 
Definition der genauen Gradle-Version 
DOAG Konferenz 2014 
8 
Vorteile
| 
Gradle Wrapper 
task wrapper(type: Wrapper){ 
gradleVersion = '2.2' 
} 
DOAG Konferenz 2014 
9 
Skript
| 
Gradle: Groovy 
Programmiersprache und Skriptsprache 
Groovy wird zum Bytecode kompiliert 
Dynamische und statische Typisierung 
Sehr gute Integration mit der Java-Plattform 
DOAG Konferenz 2014 
10
| 
Kennenlernen von Gradle 
Demo 2: Gradle out the box 
-Tasks 
-Files 
-Custom Tasks 
DOAG Konferenz 2014 
11
| 
Gradle build-Skript 
task hello { 
description= 'Say Hello' 
group = 'Greeting' 
doLast { 
println "Hello from $name task" 
println "Project dir is $projectDir" 
println "Project buildir is $buildDir" 
} 
} 
DOAG Konferenz 2014 
12 
Task Hello
| 
Kennenlernen von Gradle (2) 
Demo 3: Gradle out the box 
-Ant-Tasks 
-Erstellung der Zip-Datei, Hochladen zur Repository 
-Dependencies 
DOAG Konferenz 2014 
13
| 
Gradle build-Skript 
task compress << { 
ant.taskdef(name: 'jscomp', classname: 'com.google.javascript.jscomp.ant.CompileTask', classpath: configurations.closureCompiler.asPath) 
ant.jscomp(compilationLevel: "simple", warning: "verbose", debug: "false", output: "$buildDir/output.js") { 
sources(dir: "$projectDir/js", files: "file1.js file2.js") 
} 
} 
DOAG Konferenz 2014 
14 
Ant-Task Aufruf
| 
Gradle-Plugin 
„Stück“ der wiederverwendbaren Build-Logik 
Demo: Plugin 
Plugin-Class 
Resources 
DOAG Konferenz 2014 
15
| 
Woraus besteht ein APEX-Projekt? 
APEX läuft in Datenbank 
PL/SQL-Skripte 
-DDL 
-DML 
-PL/SQL 
Statische Dateien 
-JavaScript 
-CSS 
-Bilder und Grafiken 
DOAG Konferenz 2014 
16 
Artifacts
| 
Build-Prozess in APEX 
Wie? 
-Per Hand 
-Batch/Shell-Skripte 
Ergebnis: 
-Skript mit den Änderungen 
DOAG Konferenz 2014 
17
| 
Deployment-Prozess in APEX 
Einspielen der PL/SQL-Dateien 
Aktualisierung der statischen Dateien 
DOAG Konferenz 2014 
18
| 
APEX & Gradle 
Erstellung eines Master-Skriptes 
Aktualisierung der DB-Objekte 
DOAG Konferenz 2014 
19
| 
APEX & Gradle 
Demo 4: Gradle und PL/SQL-Skripte 
-Template-Engine 
Änderungen im Template 
-Erstellung eines Master-Skriptes 
DOAG Konferenz 2014 
20 
Demo
| 
Gradle und SQL*Plus 
def db = [un: ''username'', pw :''password'', tns :''tnsname''] 
def sqlplus= """sqlplus ${db.un}/${db.pw}@${db.tns}@script.sql""".execute() 
Quelle: http://altarasystems.com/blog 
Ausgabe von SQL*Plus-Output in der Konsole 
sqlplus.in.eachLine { line -> println line } 
DOAG Konferenz 2014 
21
| 
Gradle-Plugins 
Datenbank 
-Liquibase-Plugin (https://github.com/tlberglund/gradle-liquibase-plugin) 
-Flyway-Plugin (http://flywaydb.org/) 
-DBDeploy mit Hilfe der Ant-Tasks 
JavaScript / CSS 
-Javascript-Plugin (http://eriwen.github.io/gradle-js-plugin) 
combinejs 
minifyjs 
etc. 
DOAG Konferenz 2014 
22
| 
Alternativen 
JavaScript-Welt 
-Gulp 
-Grunt 
-Node.js & Co 
Batch/Shell-Skripte 
DOAG Konferenz 2014 
23
| 
Zusammenfassung 
Sauberes Build-Skript 
DOAG Konferenz 2014 
24
| 
Zusammenfassung 
Sauberes Build-Skript 
Plugins sind wiederverwendbar 
DOAG Konferenz 2014 
25
| 
Zusammenfassung 
Sauberes Build-Skript 
Plugins sind wiederverwendbar 
Groovy läuft in JVM 
DOAG Konferenz 2014 
26
| 
Zusammenfassung 
Sauberes Build-Skript 
Plugins sind wiederverwendbar 
Groovy läuft in JVM 
Gradle ist besser als Batch / Shell etc. 
DOAG Konferenz 2014 
27
| 
Weiße Folien für den eigentlichen Vortrag 
DOAG Konferenz 2014 
28
| 
DOAG Konferenz 2014 
29 
apexmeetups.com
| 
Telefon: Telefax: 
E-Mail: 
www.mt-ag.com 
Vielen Dank… 
Junior Berater APEX Development 
+49 2102 30961-00 
+49 2102 30961-101 
oleg.kiriltsev@mt-ag.com 
Oleg Kiriltsev

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (19)

Website
WebsiteWebsite
Website
 
T. J. 2 landLab
T. J. 2 landLabT. J. 2 landLab
T. J. 2 landLab
 
KITKRAK_M15bizkaia
KITKRAK_M15bizkaiaKITKRAK_M15bizkaia
KITKRAK_M15bizkaia
 
7759522[2]
7759522[2]7759522[2]
7759522[2]
 
Proyectos termopilas
Proyectos termopilasProyectos termopilas
Proyectos termopilas
 
Pdf de eu_new_72ppi
Pdf de eu_new_72ppiPdf de eu_new_72ppi
Pdf de eu_new_72ppi
 
D&D 2.0 -el libro de los elfos
D&D   2.0 -el libro de los elfosD&D   2.0 -el libro de los elfos
D&D 2.0 -el libro de los elfos
 
#HONDARTZAN_12 - ESTO ES UNA CITA (informe)
#HONDARTZAN_12 - ESTO ES UNA CITA (informe)#HONDARTZAN_12 - ESTO ES UNA CITA (informe)
#HONDARTZAN_12 - ESTO ES UNA CITA (informe)
 
Gost 8249 89
 Gost 8249 89 Gost 8249 89
Gost 8249 89
 
La seño ana nos cuenta un cuento
La seño  ana  nos  cuenta  un  cuentoLa seño  ana  nos  cuenta  un  cuento
La seño ana nos cuenta un cuento
 
Implementación de Software SIGBYS en FANAR
Implementación de Software SIGBYS en FANARImplementación de Software SIGBYS en FANAR
Implementación de Software SIGBYS en FANAR
 
Brás cubas defunto estrambótico
Brás cubas   defunto estrambóticoBrás cubas   defunto estrambótico
Brás cubas defunto estrambótico
 
Johan Eliasch
Johan EliaschJohan Eliasch
Johan Eliasch
 
B 50 maravillas del_mundo
B 50 maravillas del_mundoB 50 maravillas del_mundo
B 50 maravillas del_mundo
 
Reglamento de funcionamiento de las comisiones mixtas
Reglamento de funcionamiento de las comisiones mixtasReglamento de funcionamiento de las comisiones mixtas
Reglamento de funcionamiento de las comisiones mixtas
 
Feria multimedia
Feria multimediaFeria multimedia
Feria multimedia
 
Servicios de atención a la infancia
Servicios de atención a la infanciaServicios de atención a la infancia
Servicios de atención a la infancia
 
benjamin
benjaminbenjamin
benjamin
 
Pequena agricultura en_chile
Pequena agricultura en_chilePequena agricultura en_chile
Pequena agricultura en_chile
 

Ähnlich wie Ist Gradle auch für die APEX-Projekte?

Dateien per Drag & Drop in APEX Applikationen ablegen.
Dateien per Drag & Drop in APEX Applikationen ablegen.Dateien per Drag & Drop in APEX Applikationen ablegen.
Dateien per Drag & Drop in APEX Applikationen ablegen.MT AG
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFenpit GmbH & Co. KG
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFUlrich Gerkmann-Bartels
 
Datenmodellierung ist langweilig, lassen Sie Datamodeler das machen
Datenmodellierung ist langweilig, lassen Sie Datamodeler das machenDatenmodellierung ist langweilig, lassen Sie Datamodeler das machen
Datenmodellierung ist langweilig, lassen Sie Datamodeler das machenMT AG
 
Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?enpit GmbH & Co. KG
 
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Trivadis
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Trivadis
 
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
 
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)NETWAYS
 
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
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der PraxisTobias Kraft
 
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?enpit GmbH & Co. KG
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles EntwicklungswerkzeugeChoice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeugeenpit GmbH & Co. KG
 
Effective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADFEffective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADFenpit GmbH & Co. KG
 
Ü̈ber Ant und Maven zu SBT und Gradle
Ü̈ber Ant und Maven zu SBT und GradleÜ̈ber Ant und Maven zu SBT und Gradle
Ü̈ber Ant und Maven zu SBT und Gradleadesso AG
 

Ähnlich wie Ist Gradle auch für die APEX-Projekte? (20)

Dateien per Drag & Drop in APEX Applikationen ablegen.
Dateien per Drag & Drop in APEX Applikationen ablegen.Dateien per Drag & Drop in APEX Applikationen ablegen.
Dateien per Drag & Drop in APEX Applikationen ablegen.
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADF
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADF
 
Datenmodellierung ist langweilig, lassen Sie Datamodeler das machen
Datenmodellierung ist langweilig, lassen Sie Datamodeler das machenDatenmodellierung ist langweilig, lassen Sie Datamodeler das machen
Datenmodellierung ist langweilig, lassen Sie Datamodeler das machen
 
Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?
 
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
 
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
 
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
 
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...
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
 
RAP im Enterprise - Quo Vadis Portal ?
RAP im Enterprise - Quo Vadis Portal ?RAP im Enterprise - Quo Vadis Portal ?
RAP im Enterprise - Quo Vadis Portal ?
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
 
Enterprise APEX
Enterprise APEXEnterprise APEX
Enterprise APEX
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles EntwicklungswerkzeugeChoice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
 
Effective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADFEffective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADF
 
Ü̈ber Ant und Maven zu SBT und Gradle
Ü̈ber Ant und Maven zu SBT und GradleÜ̈ber Ant und Maven zu SBT und Gradle
Ü̈ber Ant und Maven zu SBT und Gradle
 

Mehr von MT AG

20160307 apex connects_jira
20160307 apex connects_jira20160307 apex connects_jira
20160307 apex connects_jiraMT AG
 
20160307 apex on_the_rocks
20160307 apex on_the_rocks20160307 apex on_the_rocks
20160307 apex on_the_rocksMT AG
 
20160308 apex sso
20160308 apex sso20160308 apex sso
20160308 apex ssoMT AG
 
MT AG Data Vault Generator
MT AG Data Vault GeneratorMT AG Data Vault Generator
MT AG Data Vault GeneratorMT AG
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG
 
MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1MT AG
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
APEX & MTdoxx
APEX & MTdoxxAPEX & MTdoxx
APEX & MTdoxxMT AG
 
Tune up your APEX
Tune up your APEXTune up your APEX
Tune up your APEXMT AG
 
Echtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenEchtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenMT AG
 
Echtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenEchtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenMT AG
 
Five Finger Death Punch
Five Finger Death PunchFive Finger Death Punch
Five Finger Death PunchMT AG
 

Mehr von MT AG (14)

20160307 apex connects_jira
20160307 apex connects_jira20160307 apex connects_jira
20160307 apex connects_jira
 
20160307 apex on_the_rocks
20160307 apex on_the_rocks20160307 apex on_the_rocks
20160307 apex on_the_rocks
 
20160308 apex sso
20160308 apex sso20160308 apex sso
20160308 apex sso
 
MT AG Data Vault Generator
MT AG Data Vault GeneratorMT AG Data Vault Generator
MT AG Data Vault Generator
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum Apex
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 
MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
APEX & MTdoxx
APEX & MTdoxxAPEX & MTdoxx
APEX & MTdoxx
 
Tune up your APEX
Tune up your APEXTune up your APEX
Tune up your APEX
 
Echtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenEchtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisieren
 
Echtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenEchtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisieren
 
Five Finger Death Punch
Five Finger Death PunchFive Finger Death Punch
Five Finger Death Punch
 

Ist Gradle auch für die APEX-Projekte?

  • 1. | Ist Gradle auch für die APEX-Projekte? DOAG Konferenz 2014 (Nürnberg) Oleg Kiriltsev Nürnberg, November 2014 1
  • 2. | Meine Person Oleg Kiriltsev Diplom Angewandte Informatik, Uni Duisburg-Essen Seit März 2013 Junior Berater, MT AG in Ratingen Kontaktdaten: -E-Mail: oleg.kiriltsev@mt-ag.com -Twitter: @OKiriltsev DOAG Konferenz 2014 2
  • 3. | UNSER PORTFOLIO BUSINESS INTELLIGENCE SOLUTIONS SOCIAL BUSINESS SOLUTIONS MOBILE SOLUTIONS APPLICATION DEVELOPMENT INTEGRATION SERVICES IT SYSTEM SERVICES DATA INTEGRATION SELF SERVICE BI MOBILE BI COLLABORATION SEARCH SOCIAL APPS ABLÄUFE LOKALISIERUNG APEX / ADF JAVA .NET STRATEGIE ARCHITEKTUR SAP HANA MANAGED SERVICES BETRIEB MIGRATION 3
  • 4. | Gradle – was ist das? Build-Toolkit basiert auf Groovy DSL Sammlung von Tools DOAG Konferenz 2014 4
  • 5. | Gradle – was ist das? Build-Toolkit basiert auf Groovy DSL Sammlung von Tools -Plugins -Konfigurationsregel -DSL-Erweiterung convention over configuration Entwickler-Plugins für IDE‘s (Eclips, IDEA, …) Unterstützung von Ant-Tasks DOAG Konferenz 2014 5
  • 6. | Gradle-Benutzer DOAG Konferenz 2014 6 Hibernate Grails Spring Integration Spring Security Android
  • 7. | Gradle Wrapper Demo 1 DOAG Konferenz 2014 7
  • 8. | Gradle Wrapper Keine Installation notwendig Definition der genauen Gradle-Version DOAG Konferenz 2014 8 Vorteile
  • 9. | Gradle Wrapper task wrapper(type: Wrapper){ gradleVersion = '2.2' } DOAG Konferenz 2014 9 Skript
  • 10. | Gradle: Groovy Programmiersprache und Skriptsprache Groovy wird zum Bytecode kompiliert Dynamische und statische Typisierung Sehr gute Integration mit der Java-Plattform DOAG Konferenz 2014 10
  • 11. | Kennenlernen von Gradle Demo 2: Gradle out the box -Tasks -Files -Custom Tasks DOAG Konferenz 2014 11
  • 12. | Gradle build-Skript task hello { description= 'Say Hello' group = 'Greeting' doLast { println "Hello from $name task" println "Project dir is $projectDir" println "Project buildir is $buildDir" } } DOAG Konferenz 2014 12 Task Hello
  • 13. | Kennenlernen von Gradle (2) Demo 3: Gradle out the box -Ant-Tasks -Erstellung der Zip-Datei, Hochladen zur Repository -Dependencies DOAG Konferenz 2014 13
  • 14. | Gradle build-Skript task compress << { ant.taskdef(name: 'jscomp', classname: 'com.google.javascript.jscomp.ant.CompileTask', classpath: configurations.closureCompiler.asPath) ant.jscomp(compilationLevel: "simple", warning: "verbose", debug: "false", output: "$buildDir/output.js") { sources(dir: "$projectDir/js", files: "file1.js file2.js") } } DOAG Konferenz 2014 14 Ant-Task Aufruf
  • 15. | Gradle-Plugin „Stück“ der wiederverwendbaren Build-Logik Demo: Plugin Plugin-Class Resources DOAG Konferenz 2014 15
  • 16. | Woraus besteht ein APEX-Projekt? APEX läuft in Datenbank PL/SQL-Skripte -DDL -DML -PL/SQL Statische Dateien -JavaScript -CSS -Bilder und Grafiken DOAG Konferenz 2014 16 Artifacts
  • 17. | Build-Prozess in APEX Wie? -Per Hand -Batch/Shell-Skripte Ergebnis: -Skript mit den Änderungen DOAG Konferenz 2014 17
  • 18. | Deployment-Prozess in APEX Einspielen der PL/SQL-Dateien Aktualisierung der statischen Dateien DOAG Konferenz 2014 18
  • 19. | APEX & Gradle Erstellung eines Master-Skriptes Aktualisierung der DB-Objekte DOAG Konferenz 2014 19
  • 20. | APEX & Gradle Demo 4: Gradle und PL/SQL-Skripte -Template-Engine Änderungen im Template -Erstellung eines Master-Skriptes DOAG Konferenz 2014 20 Demo
  • 21. | Gradle und SQL*Plus def db = [un: ''username'', pw :''password'', tns :''tnsname''] def sqlplus= """sqlplus ${db.un}/${db.pw}@${db.tns}@script.sql""".execute() Quelle: http://altarasystems.com/blog Ausgabe von SQL*Plus-Output in der Konsole sqlplus.in.eachLine { line -> println line } DOAG Konferenz 2014 21
  • 22. | Gradle-Plugins Datenbank -Liquibase-Plugin (https://github.com/tlberglund/gradle-liquibase-plugin) -Flyway-Plugin (http://flywaydb.org/) -DBDeploy mit Hilfe der Ant-Tasks JavaScript / CSS -Javascript-Plugin (http://eriwen.github.io/gradle-js-plugin) combinejs minifyjs etc. DOAG Konferenz 2014 22
  • 23. | Alternativen JavaScript-Welt -Gulp -Grunt -Node.js & Co Batch/Shell-Skripte DOAG Konferenz 2014 23
  • 24. | Zusammenfassung Sauberes Build-Skript DOAG Konferenz 2014 24
  • 25. | Zusammenfassung Sauberes Build-Skript Plugins sind wiederverwendbar DOAG Konferenz 2014 25
  • 26. | Zusammenfassung Sauberes Build-Skript Plugins sind wiederverwendbar Groovy läuft in JVM DOAG Konferenz 2014 26
  • 27. | Zusammenfassung Sauberes Build-Skript Plugins sind wiederverwendbar Groovy läuft in JVM Gradle ist besser als Batch / Shell etc. DOAG Konferenz 2014 27
  • 28. | Weiße Folien für den eigentlichen Vortrag DOAG Konferenz 2014 28
  • 29. | DOAG Konferenz 2014 29 apexmeetups.com
  • 30. | Telefon: Telefax: E-Mail: www.mt-ag.com Vielen Dank… Junior Berater APEX Development +49 2102 30961-00 +49 2102 30961-101 oleg.kiriltsev@mt-ag.com Oleg Kiriltsev