javascript applicaties voor enterprise met angularjs

26
Teun Hakvoort Much demo – few slides.

Upload: nljug

Post on 08-May-2015

3.460 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: JavaScript applicaties voor Enterprise met AngularJS

Teun Hakvoort

Much demo – few slides.

Page 2: JavaScript applicaties voor Enterprise met AngularJS

I’m

• Teun Hakvoort• Trainer / Consultant• [email protected] m

Page 3: JavaScript applicaties voor Enterprise met AngularJS

The IdeaUI

logicUI

logic

JAX-RS

Page 4: JavaScript applicaties voor Enterprise met AngularJS

Types of frameworks

http://www.aadip9.net/freeway.jpg

Page 5: JavaScript applicaties voor Enterprise met AngularJS

deployment

Page 6: JavaScript applicaties voor Enterprise met AngularJS

Two projects

Web Application (WAR)

with

JAX-RS services

Web Application (WAR)

with

JAX-RS services

Project with static content

-JavaScript-CSS-HTML files

Project with static content

-JavaScript-CSS-HTML files

What type of project is this?What type of

project is this?

Page 7: JavaScript applicaties voor Enterprise met AngularJS

Web Fragments

• Since the servlet 3.0 specification – Web Resources can exist in external Jar files

• Web archive structure:Content Web Application

(WAR)Content Web Application

(WAR)

WEB-INFWEB-INF

ClassesJAX-RS classes

ClassesJAX-RS classes

Other depencenciesOther depencencies

Static content JARStatic content JAR

META-INFMETA-INF

resourcesresources

JavaScriptJavaScript

CSSCSS

HTMLHTML

Static content JARStatic content JAR

Page 8: JavaScript applicaties voor Enterprise met AngularJS

build integration

Page 9: JavaScript applicaties voor Enterprise met AngularJS

How to develop in application server?

• Every JavaScript change a redeploy?– NO!

Application serverApplication server

JAX-RS applicationJAX-RS application

Node JS server for JavaScriptWith GRUNT

Node JS server for JavaScriptWith GRUNT

Static JavaScript content

Static JavaScript content JAX-RS callsJAX-RS calls

Life reloadLife reload

Page 10: JavaScript applicaties voor Enterprise met AngularJS

Build integration

• Running by Maven• In the Maven bootstraps the Grunt build– Minimizing JavaScript files– Bundling JavaScript– Optimizing images

Page 11: JavaScript applicaties voor Enterprise met AngularJS

Security

Page 12: JavaScript applicaties voor Enterprise met AngularJS

Configuring services

12

var demoModule = angular.module('demoApp', []);demoModule.config(function ($routeProvider) {

$routeProvider.when('/start', {

  templateUrl: 'partials/start/start.html',  controller: 'StartController'

})....otherwise({ redirectTo: '/start' });

});

var demoModule = angular.module('demoApp', []);demoModule.config(function ($routeProvider) {

$routeProvider.when('/start', {

  templateUrl: 'partials/start/start.html',  controller: 'StartController'

})....otherwise({ redirectTo: '/start' });

});

Page 13: JavaScript applicaties voor Enterprise met AngularJS

AngularJS AJAX: Abstraction levels

• AngularJS has extensive support for AJAX– With the $http service, you can make AJAX calls– The $resource service is for making RESTful AJAX

calls

13

Not for use in production

code, this used is for testing

For addressing REST services

For non-RESTful AJAX requests

Page 14: JavaScript applicaties voor Enterprise met AngularJS

Security mechanism

• Intercept every request• Check http status code • if Forbidden, redirect to login page

Page 15: JavaScript applicaties voor Enterprise met AngularJS

Demo Security

Page 16: JavaScript applicaties voor Enterprise met AngularJS

modularity

Page 17: JavaScript applicaties voor Enterprise met AngularJS

Modularity

Module fileModule file

APP configAPP config ControllersControllers

DataAccessDataAccess DomainDomain

Page 18: JavaScript applicaties voor Enterprise met AngularJS

Modularity Demo

Page 19: JavaScript applicaties voor Enterprise met AngularJS

internationalization

Page 20: JavaScript applicaties voor Enterprise met AngularJS

i18n

• Not default available in AngularJS• Then use another framework– i18next

• Are there AngularJS directives?

Page 21: JavaScript applicaties voor Enterprise met AngularJS

i18n

• Not default available in AngularJS• Then use another framework– i18next

• Are there AngularJS directives?– ng-i18next

Page 22: JavaScript applicaties voor Enterprise met AngularJS

i18n

• Configure languages• JSON files for messages• ng-i18next="teksten.taak"

Page 23: JavaScript applicaties voor Enterprise met AngularJS

Logging and exception handling

Page 24: JavaScript applicaties voor Enterprise met AngularJS

Setup

• Configure AngularJS exception handler• Create log service

Page 25: JavaScript applicaties voor Enterprise met AngularJS
Page 26: JavaScript applicaties voor Enterprise met AngularJS

Thanks!

github.com/teunh/jfall2013