Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 1 JavaScript/HTML5 Rich Clients Using Java EE 7 Reza Rahman Java EE/GlassFish.

Slides:



Advertisements
Similar presentations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1.
Advertisements

 Java EE 7 The new features of the upcoming Enterprise Edition.
ISE 390 Dynamic Web Development Java EE Web Applications.
Fabian Vilers Hands on ASP.NET MVC.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
 Java  Python  Bigtable(Bt) is a distributed storage system for managing structured data that is designed to scale to a very large size.  Query Language.
Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 1 Applied Domain-Driven Design Blue Prints for Java EE Reza Rahman Java EE/GlassFish.
1.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 1 Testing Java EE Applications using Arquillian Reza Rahman Java EE/GlassFish.
Android and iOS Development with JAX-RS, WebSocket , and Java EE 7
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
J AVA SE, EE, AND ME Compiled (with permission) from Sang Shin’s Introduction to Java EE Online Course Introduction to Java EE Online Course.
Struts 2.0 an Overview ( )
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
MVC 1.0 Manfred Riem Oracle Geertjan Wielenga Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
WHAT IS A WEB APP? Van Kelly Yeshiva University July 6, 2013.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Introduction to the Oracle Application Development Framework 11g
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 1.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1.
Session Beans INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
Message Driven Beans & Web Services INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Or, Hey can’t we just do it using HTTP for the envelope?
Fall CIS 764 Database Systems Design L8. Web ….
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Introduction to Web Dimitar Nenchev Ivan Nakov
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
© 2007 IBM Corporation SOA on your terms and our expertise Software WebSphere Process Server and Portal Integration Overview.
JavaServer Faces (JSF) and Ajax Integration. Agenda 대강의 ( 정말로..) 개요 예제 아키텍트라면..
INTEGRATION OF BACKBONE.JS WITH SPRING 3.1. Agenda New Features and Enhancements in Spring 3.1 What is Backbone.js and why I should use it Spring 3.1.
API Crash Course CWU Startup Club. OUTLINE What is an API? Why are API’s useful? What is HTTP? JSON? XML? What is a RESTful API? How do we consume an.
Getting started with ASP.NET MVC Dhananjay
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
Jonathan Gallimore | Tomitribe Cluster your application with JCache and CDI.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Using WebSockets in Web apps Presenter: Shahzad Badar.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
JAVA EE 6 Best Practices for Migrating Spring to WTF ?!?
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
Overview Web Technologies Computing Science Thompson Rivers University.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Intro to J2EE Concepts Mimi Opkins Fall 2016 CECS493.
Technologies For Creating Rich Internet Applications Presenter's name
Web Technologies Computing Science Thompson Rivers University
BluePrints Reimagined
ISE 390 Dynamic Web Development
Distributed System Using Java 2 Enterprise Edition (J2EE)
JavaServer Faces: The Fundamentals
Web Technologies Computing Science Thompson Rivers University
Intro to J2EE Concepts.
Presentation transcript:

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 1 JavaScript/HTML5 Rich Clients Using Java EE 7 Reza Rahman Java EE/GlassFish

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public Agenda  JavaScript/HTML5 Rich Client Landscape  Java EE 7  Java EE + JavaScript

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 3 JavaScript/HTML5 Rich Clients Rising?  The thin client vs. rich client debate is pretty old…  Server-side web frameworks have ruled for a while – JSF, Struts, Spring MVC  AJAX was a mild shift to the client – PrimeFaces, GWT, Vaadin  Rich clients powered by JavaScript/HTML5 appear to be making a comeback? – Improving JavaScript engines (V8, *Monkey) – Better tools (jQuery, MV* frameworks, Chrome, FireFox) – Standards advancement (CSS3, HTML5, WebSocket, HTML Components…)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 4 Perhaps not a Slam Dunk?  Richer clients clearly better at some things – Highly dynamic, interactive interfaces – Complex, feature-rich UIs – “Single page applications” (“Applets” )  But perhaps not a panacea – Heavily form/workflow driven applications – Server-side rendering still a better bet for performance, reliability, security, accessibility, SEO? – JavaScript/HTML development is not without it’s pains… – Server-side frameworks are a strong incumbent  Co-existence in the short and long term? – Islands of rich client functionality within server-centric UIs? – Different strokes for different folks?

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 5 My Big Fat Rich-Client Architecture  Very similar to client/server architecture of lore – Client responsible for UI rendering, basic input validation, logic and state – Server responsible for business logic, domain model, persistence – Web/HTTP is glue that connects client and server  Typical communication protocols – REST for majority of cases – WebSocket when full-duplex communication is needed – JavaScript tools support REST well, but not WebSocket (yet)  The typical (ideal?) data interchange format is JSON Java EE is a great server-side platform for this architecture!

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 6 Java EE + JavaScript EJB 3 Servlet CDI JPA JAX-RS Bean Validation Java API for WebSocket Java API for WebSocket Java API for JSON Java API for JSON JMS JTA JavaScript/HTML5 JAXB JCA

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 7 JAX-RS  REST development API for Java  Server and client  Annotation based, @Consumes  Pluggable and extensible – Providers, filters, interceptors

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 8 JAX-RS public class @Produces("text/plain") public String String String pin) { return Double.toString(getBalance(card, pin)); }...

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 9 JAX-RS public Money String String pin, String amount) { return getMoney(card, pin, amount); }

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 10 Java API for WebSocket  High level declarative API for WebSocket  Both client and server-side  Small, powerful @OnError, Session, Remote  Pluggable and extensible – Encoders, decoders, sub-protocols

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 11 WebSocket public class ChatBean { Set peers = public void onOpen(Session peer) { peers.add(peer); public void onClose(Session peer) { peers.remove(peer); }...

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 12 WebSocket Example public void message(String message, Session client) { for (Session peer : peers) { peer.getRemote().sendObject(message); } } }

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 13 JavaScript Movers and Shakers

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 14 Java EE + JavaScript Demo

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 15 Summary  JavaScript/HTML5 clients gaining traction as opposed to server-side web frameworks  Communication between the client and server happens via JSON over REST or WebSocket  Java EE well positioned as a JavaScript rich client backend, especially with JAX-RS, the Java API for WebSocket and JSON-P  You can use the demo code as a starting point to exploring the emerging space  Most importantly, have fun!

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 16 Try it Out! /promoted/

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 17 Resources  Java EE Tutorials –  Digging Deeper – – –  Java EE 7 Transparent Expert Groups –  Java EE 7 Reference Implementation –  The Aquarium –

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 18