Top Banner
1 From Legacy Java to Dynamic Web and Mobile Applications Hongbiao Chen, Sr. Pr. Web Developer Ishita Verma, Software Engineer From Legacy Java to Dynamic Web and Mobile Applications
28
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: cuttingEdgepresentation0318

1

From Legacy Java to Dynamic Web and Mobile Applications

Hongbiao Chen, Sr. Pr. Web DeveloperIshita Verma, Software Engineer

From Legacy Java to Dynamic Web and Mobile Applications

Page 2: cuttingEdgepresentation0318

CUTTING EDGE 2014

Back End

From Legacy Java to Dynamic Web and Mobile Applications 2

Why Get Rid of HTML Responses?1

REpresentational State Transfer2

The Symantec Trust Center Application3

Server Side Frameworks roundup4

Mobile App Frameworks roundup5

Page 3: cuttingEdgepresentation0318

CUTTING EDGE 2014

Why Get Rid of HTML Responses?

• Pushes you towards a decoupled RESTful design of reusing couple pool of resources for serving different clients

• Client side MVC have faster page load for most parts*.• HTML responses are just not very flexible. • Faster to iterate over presentation logic with client side

technologies.

*if you don’t often need to go to server to render

3From Legacy Java to Dynamic Web and Mobile Applications

Page 4: cuttingEdgepresentation0318

CUTTING EDGE 2014

REpresentational State Transfer

"REST is defined by four interface constraints:

- identification of resources;-manipulation of resources through representations; -self-descriptive messages; and, -hypermedia as the engine of application state.“

From Legacy Java to Dynamic Web and Mobile Applications 4

Page 5: cuttingEdgepresentation0318

CUTTING EDGE 2014

The Symantec SSL Trust Center Application

From Legacy Java to Dynamic Web and Mobile Applications 5

Give every “thing” a URILink things together Use standard methodsResources with multiple representationsCommunicate statelessly

Page 6: cuttingEdgepresentation0318

CUTTING EDGE 2014

Technology Roundup: Spring

• Spring HATEOAS – provides common abstractions

(representaiton models, a Link class, API to build links pointing to Spring MVC controllers etc.) to ease building hypermedia driven REST APIs with Spring MVC in general.

• Spring Data JPA, – makes it easy to easily implement JPA based

repositories. • Spring Data REST

– uses Spring HATEOAS to automatically expose resources for entities managed by Spring Data repositories and leverages hypermedia aspects to do pagination, link entities etc.

From Legacy Java to Dynamic Web and Mobile Applications 6

Page 7: cuttingEdgepresentation0318

CUTTING EDGE 2014

Technology Roundup: Play!

From Legacy Java to Dynamic Web and Mobile Applications 7

Page 8: cuttingEdgepresentation0318

CUTTING EDGE 2014

PhoneGap & Sencha Architect

From Legacy Java to Dynamic Web and Mobile Applications 8

Page 9: cuttingEdgepresentation0318

CUTTING EDGE 2014

Front End

From Legacy Java to Dynamic Web and Mobile Applications 9

Mobile App1

Web App2

AngularJS3

Jasmine4

Grunt5

Page 10: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 10

Sign In

Page 11: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 11

Home

Page 12: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

Presentation Identifier Goes Here 12

Home

Page 13: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 13

Certificates

Page 14: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

Presentation Identifier Goes Here 14

Certificates

Page 15: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 15

Certificate Details

Page 16: cuttingEdgepresentation0318

CUTTING EDGE 2014

Mobile App

Presentation Identifier Goes Here 16

Certificate Details

Page 17: cuttingEdgepresentation0318

CUTTING EDGE 2014

Web App

From Legacy Java to Dynamic Web and Mobile Applications 17

Enrollment

- Configure

Page 18: cuttingEdgepresentation0318

CUTTING EDGE 2014

Web App

From Legacy Java to Dynamic Web and Mobile Applications 18

Enrollment

- Contact

Page 19: cuttingEdgepresentation0318

CUTTING EDGE 2014

Top JavaScript MVC Frameworks

Source: InfoQ

Page 20: cuttingEdgepresentation0318

CUTTING EDGE 2014

Features Comparison

Feature Angular Backbone Ember Knockout

Observables Y Y Y Y

Routing Y Y Y

View binding Y p Y Y

Two-way binding Y Y Y

Partial view Y p Y

Filter Y p Y

Module Y

Controllers Y Y Y

Directives Y Y

Factories Y

Services Y

Dependency Injection Y

From Legacy Java to Dynamic Web and Mobile Applications

Page 21: cuttingEdgepresentation0318

CUTTING EDGE 2014

Community

Metric Angular Backbone Ember Knockout

GitHub Stars 20,797 17,169 9,448 4,675

Plugins 486 195 14 40

Sites using 106 86 ? ?

From Legacy Java to Dynamic Web and Mobile Applications

Page 22: cuttingEdgepresentation0318

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 22

Page 23: cuttingEdgepresentation0318

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 23

Page 24: cuttingEdgepresentation0318

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 24

Page 25: cuttingEdgepresentation0318

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 25

Page 26: cuttingEdgepresentation0318

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 26

Page 27: cuttingEdgepresentation0318

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 27

Page 28: cuttingEdgepresentation0318

CUTTING EDGE 2014

Questions?

[email protected]

[email protected]

From Legacy Java to Dynamic Web and Mobile Applications 28