JUG Münster. Modern Java web development. Thomas Kruse



Similar documents
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

MODERN WEB APPLICATION DEVELOPMENT WORKFLOW

AngularJS for the enterprise

GUI and Web Programming

Avaya Inventory Management System

Pentesting Web Frameworks (preview of next year's SEC642 update)

Debugging Mobile Apps

Start up Jobs Germany FEB 2014

Web Cloud Architecture

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

The Learn-Verified Full Stack Web Development Program

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

How To Build A Web App

Art of Code Front-end Web Development Training Program

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Developing ASP.NET MVC 4 Web Applications MOC 20486

A Comparison of Open Source Application Development Frameworks for the Enterprise

Gantry Basics. Presented By: Jesse Hammil (Peanut Gallery: David Beuving)

Rapid Application Development. and Application Generation Tools. Walter Knesel

Embracing Eclipse Orion

ICON UK 2015 node.js for Domino developers. Presenter: Matt White Company: LDC Via

Customer Bank Account Management System Technical Specification Document

Multi-touch app development with modern web tools. David Reagan, Advanced Visualization Lab

Grunt, Gulp & fabs. Build-System and Development-Workflow for modern Web-Applications

The Great Office 365 Adventure

AngularJS, Javascript, Prototype-based OO concept, RESTful Design Pattern, GWT, HTML5, Database.

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

GOA365: The Great Office 365 Adventure

Tech Radar - May 2015

Oracle Application Development Framework Overview

Developing ASP.NET MVC 4 Web Applications

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

2011 Marty Hall An Overview of Servlet & JSP Technology Customized Java EE Training:

What servlets and JSP are all about

WHITE PAPER on Flex to HTML5 The Migration Challenge. April 2014

Andrew Kovalenko Full Stack Web Developer

SAV2013: The Great SharePoint 2013 App Venture

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

HYBRID. Course Packet

Cloud Computing with Windows Azure using your Preferred Technology

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

Continuous Integration and Delivery. manage development build deploy / release

WEB AND APPLICATION DEVELOPMENT ENGINEER

Efficient Network Marketing - Fabien Hermenier A.M.a.a.a.C.

Understanding Evolution's Architecture A Technical Overview

dustin caruso JavaScript / WordPress / UI developer 1230 Parkside Drive South, Reading, PA, USA dustin@dustincaruso.com


WEB DEVELOPMENT IMMERSIVE GA.CO/WDI

Structural Patterns. Structural Patterns. Fritz Solms. October 16, 2015

Lucy Zhang UI Developer Contact:

Cross-domain Identity Management System for Cloud Environment

Modern Web Apps with HTML5 Web Components, Polymer, and Java EE MVC 1.0. Kito Mann Virtua, Inc.

NetBeans IDE Field Guide

Unlocking the Java EE Platform with HTML 5

Ultimate Skills Checklist for Your First Front-End Developer Job

Business Application Development Platform

Cloud computing - Architecting in the cloud

<Insert Picture Here> Java, the language for the future

SUHAIL DAWOOD Toronto, Ontario

Coding for Desktop and Mobile with HTML5 and Java EE 7

Triple-E class Continuous Delivery

Christopher Hill. Web Architect. HTML5, CSS3, Javascript, AngularJS NodeJS (Express), Ruby (Rails), Python (Django)

Mobile Test Automation Framework

Learning Web App Development

Rich Internet Applications

Monitoring the Real End User Experience

Alfresco. Wiley Publishing, Inc. PROFESSIONAL. PRACTICAL SOLUTIONS FOR ENTERPRISE. John Newton CONTENT MANAGEMENT. Michael Farman Michael G.

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Java Development for the Cloud, present and future. Scott Rich Distinguished Engineer, IBM Rational

JavaScript Programming

Progressive Enhancement With GQuery and GWT. Ray Cromwell

Symfony2 and Drupal. Why to talk about Symfony2 framework?

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

Agenda. Success Stories with OpenShift. 11:15-11:45 am. OpenShift Tech Overview 9:40-10:30 am. Red Hat Mobile on OpenShift 10:45-11:15 am

MDT Magazine. Magik on Java TM. perfect match. Get ready to meet Magik on Java. with the release of MDT PE 3.6 ADVANTAGE THROUGH INFORMATION

ios Cloud Development FOR Neal Goldstein WILEY John Wiley & Sons, Inc.

Introduction to the Cloud OS Windows Azure Overview Visual Studio Tooling for Windows Azure Scenarios: Dev/Test Web Mobile Hybrid

Considerations for Adopting PaaS (Platform as a Service)

Project Orwell: Distributed Document Integrity Verification

Getting Started Developing JavaScript Web Apps. this = that. VT Geospatial Forum 2015

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

Agenda. Project Goals. Introduction & Demo. Technology stack. Market Analysis and Opportunity. Lessons Learned

Safe Harbor Statement

12 Factor App. Best Practices for Scala Deployment

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview

Visualizing an OrientDB Graph Database with KeyLines

Power Tools for Pivotal Tracker

Migrating SaaS Applications to Windows Azure

A standards-based approach to application integration

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

ORACLE MOBILE SUITE. Complete Mobile Development Solution. Cross Device Solution. Shared Services Infrastructure for Mobility

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Networks and Services

Transcription:

JUG Münster Modern Java web development Thomas Kruse

INTRODUCTION Thomas Kruse Consultant Leader JUG Münster @everflux on twitter 2

SHOW CASE Social App (not only) for JUGs Twitter Facebook Keeping credentials centralized Timed publications Showcase Netbeans ;-) And modern Java Illustrate architecture decision making 3

SETTING Environment Architecture requirements User expectations More complex systems Mobile devices New major players / trend setters Decoupled front-end/back-end Low latency Manage front-end complexity Leverage the cloud Low latency Cross-device Ease of use Time to market Long lasting systems 4

FRONTEND OPTIONS Java Swing / JavaFX JSF HTML5+ REST 5

TOOLING OPTIONS IDE HTML5 diagnostic APIs Code-completion Navigation Hints Round-trip integration Instant Live-reload Debugging / breakpoints gulp / grunt / npm Chrome dev tools Browser Debugger gulp / grunt / live-reload 6

DEMO Netbeans round-trip editing 7

INTEGRATION IMPLICATIONS Front-End Back-End Finer grained Parallel Out-of-order Composition of multiple APIs Same API for M2M Coarse grained (JSF, MVC) Sequential Single-Threaded Container services Security Transactions Separate API for M2M 8

PROJECT STRUCTURE Single project Separate front end project Dependency WebJars Manual add to SCM npm bower Build system Maven Gradle grunt gulp Coupling Highly coupled Pace of evolution mismatch Loosely coupled Enables separate evolution Encourages testability Easy replacement of one part Deployment Part of application Simultaneous release Separate Low requirements for plain HTML 9

CHOOSING A FRAMEWORK Why a front-end framework? jquery is dead and was never a framework Testability Ease of development Team scaling Even outsourcing 10

REACT + FLUX Facebook and others React.js Library (virtual) DOM manipulation Unidirectional data-flow concept Server-side rendering possible No framework! HTTP Service - superagent 11

REACT/FLUX BLOCKS ACTION DISPATCHER STORE VIEW View components JSX (optional, no IDE support) Properties (immut.) input Dispatcher Receives actions, notifies callbacks Store Container for state and callbacks Action Passed to dispatcher (payload) 12

Angular Front-end framework Opinionated Dependency injection Model-View-ViewModel Two-way data binding Routing Directives, Services Java developers feel at home 13

ANGULAR DESIGN TwitterDisplay (directive) gettweets() TwitterService twitterlistentry twitterlistentry twitterlistentry twitterlistentry twitterlistentry [ { body : hi there.., sent : 2015-03-01... }, { body : i am aliiiive.., sent : 2015-02-28... },... ] 14

DEMO Angular message service fake or real 15

WEB COMPONENTS Mostly implemented across relevant platforms 16

DEMO Netbeans web-component editing

BACKEND LANGUAGE Java Java EE Spring Boot dropwizard Fancy other options like vert.x PHP / Ruby / Python node / io.js go 18

OUR STACK Backend Frontend Tooling Netbeans IDE curl Netbeans IDE Chrome / Firefox Build system/ Dependency mgmt Maven npm / bower grunt Frameworks Spring Boot Spring Integration Foundation CSS Angular Angular Foundation Runtime Tomcat Browser 19

BACKEND BOOTSTRAP jhipster spring initializr Code generation maintained by spring Maven + Gradle Cloud service maven archetype No broad support Hard to implement Often not well maintained One time scaffolding 20

21

DEMO Run spring-boot in Netbeans Configuration hint: resources:resources 22

FRONTEND BOOTSTRAP yeoman angular seed 23

DEMO Netbeans angular seed bootstrap 24

IMPLICATIONS Teams / Roles Develop stateless back-end services Develop front-end components Different skill set Development Testability Flexibility API management Different level of re-use Speed of change Operations Different infrastructure Distributed logging and diagnosis Scaling can leverage cloud infrastructure 25

LESSONS LEARNED Mindshift Architecture is different New architecture patterns API not only for m2m! Effort Transition involves many aspects Technology, Organization, Development Shift in complexity Evolution High evolution speed Prepare for (even more) constant change

Q&A Your Questions? Thomas Kruse @everflux 27

STOP BACKUP STOP 28

DEMOS HTML Round-trip-editing Angular message service Webcomponent editing Spring-boot-init opening, running on tomcat Angular-seed opening 29