SlideShare une entreprise Scribd logo
1  sur  34
Rapid Application Development
mit Grails und AngularJS
Stefan Glase
Stefan Scheidt
Ihre Sprecher
Stefan.Glase@opitz-consulting.com
twitter/stefanglase
github/codescape

Stefan.Scheidt@opitz-consulting.com
twitter/stefanscheidt
github/stefanscheidt
Mission

Märkte

Wir entwickeln gemeinsam mit allen
Branchen Lösungen, die dazu führen, dass
sich diese Organisationen besser entwickeln
als ihr Wettbewerb.

 Branchenübergreifend
 Über 600 Kunden

Unsere Dienstleistung erfolgt
partnerschaftlich und ist auf eine langjährige
Zusammenarbeit angelegt.

29%
Handel / Logistik /
Dienstleistungen

29%
Industrie / Versorger /
Telekommunikation

42%
Öffentliche Auftraggeber / Banken und
Versicherungen / Vereine und Verbände

Leistungsangebot

Eckdaten

 Business IT Alignment
 Business Information Management
 Business Process Management
 Anwendungsentwicklung
 SOA und System-Integration
 IT-Infrastruktur-Management

 Gründung 1990
 400 Mitarbeiter
 9 Standorte

<Präsentationstitel – bitte im Folienmaster ändern>

© OPITZ CONSULTING GmbH 2011

Seite 3
Frontend-Architekturen
"Multi-Page Web Apps"
Browser

HTML-Page
HTML

Server

Request

UI Values
Response

Model
View
Controller

Data

Backend
"AJAX Web Apps"
Browser

Server

Events
AJAXEngine

Fragments

Model
View
Controller

Data

Backend
"Single Page Web Apps"
Browser

Model
View
Controller

Server

Data

Backend
Laufzeit-Sicht "Single Page"
Browser
HTML
+ CSS
+ JavaScript

Initiales
Laden

JavaScript
aktualisiert DOM
Response:
JSON, HTML

Request

HTML
+ CSS
+ JavaScript

Web Server

REST
Endpoints
Multi-Page-Apps

sind bereits
länger im Einsatz

ermöglichen SEO

erleichtern
Bookmarking

Single-Page-Apps
erleichtern
interaktives UI
unterstützen
"Thin Server Architecture"
ermöglichen
Offline-Betrieb
bedeuten
Client-Server-Entwicklung
Grails
"Grails is an Open Source, full stack, web application
framework for the JVM. It takes advantage of the
Groovy programming language and convention over
configuration to provide a productive and streamlined development experience."

http://grails.org
Technologie-Unterbau
Spring

Groovy

Grails
Hibernate

SiteMesh
Einheitliche Verzeichnisstruktur
grails-app
- conf
- controllers
- domain
- i18n
- services
- taglib
- utils
- views
lib
scripts
src
- groovy
- java
test
- integration
- unit
web-app
Konfiguration

grails-app/conf/
hibernate/
spring/
resources.groovy
ApplicationResources.groovy
BootStrap.groovy
BuildConfig.groovy
Config.groovy
DataSource.groovy
UrlMappings.groovy
Fachklassenmodellierung
class Person {
String firstname
String lastname
String email

static constraints = {
firstname(blank: false)
lastname(blank: false)
email(unique: true, email: true)
}
String toString() {
"$firstname $lastname ($email)"
}
}
„Groovyness“
new File('beispiel.txt').eachLine {
line -> println line
}

new Person(
firstname: 'Max', lastname: 'Mustermann'
).save()

100.times {
println 'Hello World'
}
Demo: Grails

http://www.flickr.com/photos/dissolved/2514697398/
AngularJS
Erinnerung: "Single Page Web Apps"

Browser

Model
View
Controller

Server

Data

Backend
"AngularJS is a structural framework for dynamic web
apps. [...] It attempts to minimize the impedance
mismatch between document centric HTML and what
an application needs by creating new HTML
constructs."

http://docs.angularjs.org/guide/introduction
AngularJS im Überblick
Framework

Two-Way
Data Binding

Declarative
UI Templates

MVC with
Dependency Injection
Demo: AngularJS
Grails
&
AngularJS
Aufgabenverteilung
Browser
HTML
+ CSS
+ JavaScript
Request

Response: JSON

REST
Endpoints

Web Server

AngularJS

Grails
Optionen für die Integration bei der
Entwicklung:
Separate Projekte
AngularJS-App eingebettet als Asset
Optionen für die Integration bei der
Entwicklung:
Separate Projekte
AngularJS-App eingebettet als Asset
Optionen für die Integration bei der
Entwicklung:
Separate Projekte
AngularJS-App eingebettet als Asset
Demo
Bewertung und Fazit
Fazit (1)

Grails ermöglicht die produktive Entwicklung von MultiPage-Apps und des Backends für Single-Page-Apps.
AngularJS ermöglicht eine produktive Entwicklung von
Single-Page-Apps als Konsument eines REST Backends.
Fazit (2)
Eine Trennung in separate Projekte erlaubt die
Entkopplung von Frontend und Backend bei
Entwicklung und im Betrieb.
Da AngularJS optional nur Teile einer Page
"kontrollieren" kann, ist auch eine Mischung von MultiPage- und Single-Page-Architektur möglich.
Beispiel-Code

https://github.com/opitzconsulting/tasklist-grails-angular
Links
http://grails.org
http://angularjs.org
Grails in Action, 2nd Ed., Ch. 14
http://angular-tips.com/blog/2013/08/

my-workflow-with-lineman/
Herzlichen Dank für
Ihre Aufmerksamkeit!
youtube.com/opitzconsulting
twitter.com/OC_WIRE
slideshare.net/opitzconsulting
xing.com/net/opitzconsulting

Contenu connexe

En vedette

En vedette (19)

Chact ddhh0012
Chact ddhh0012Chact ddhh0012
Chact ddhh0012
 
Bootcamp - Forms Experience Builder v8.0
Bootcamp - Forms Experience Builder v8.0Bootcamp - Forms Experience Builder v8.0
Bootcamp - Forms Experience Builder v8.0
 
Facebook für Borkwalde
Facebook für BorkwaldeFacebook für Borkwalde
Facebook für Borkwalde
 
Curso prueba 14
Curso prueba 14Curso prueba 14
Curso prueba 14
 
tokio hotel
tokio hoteltokio hotel
tokio hotel
 
Tokio hotel
Tokio hotelTokio hotel
Tokio hotel
 
Spielend sprechen lernen
Spielend sprechen lernenSpielend sprechen lernen
Spielend sprechen lernen
 
12 fr
12 fr12 fr
12 fr
 
Tokio hotel
Tokio hotelTokio hotel
Tokio hotel
 
El crowdfunding en el mundo del videojuego
El crowdfunding en el mundo del videojuegoEl crowdfunding en el mundo del videojuego
El crowdfunding en el mundo del videojuego
 
Internet como ferramenta de apoio a leitura
Internet como ferramenta de apoio a leituraInternet como ferramenta de apoio a leitura
Internet como ferramenta de apoio a leitura
 
IBM Social Business Grupo Abril 2012
IBM Social Business Grupo Abril 2012IBM Social Business Grupo Abril 2012
IBM Social Business Grupo Abril 2012
 
EMC Document sciences
EMC Document sciencesEMC Document sciences
EMC Document sciences
 
ORDENACION DE LA BIBLIOGRAFIA
ORDENACION DE LA BIBLIOGRAFIAORDENACION DE LA BIBLIOGRAFIA
ORDENACION DE LA BIBLIOGRAFIA
 
IBM Social Business ONGs 2012
IBM Social Business ONGs 2012IBM Social Business ONGs 2012
IBM Social Business ONGs 2012
 
2010 2 psico 08
2010 2 psico 082010 2 psico 08
2010 2 psico 08
 
Shareville Approach
Shareville ApproachShareville Approach
Shareville Approach
 
Tokio hotel
Tokio hotelTokio hotel
Tokio hotel
 
Amaral Guitar Hero DJ Hero
Amaral Guitar Hero DJ HeroAmaral Guitar Hero DJ Hero
Amaral Guitar Hero DJ Hero
 

Plus de OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 

Plus de OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Rapid Application Development mit Grails und AngularJS