Migrating traditional Java EE applications to mobile

Similar documents
Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

Developing Applications with Java EE 6 on WebLogic Server 12c

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Java EE 7: Back-End Server Application Development

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

1 Markus Eisele, Insurance - Strategic IT-Architecture

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

CO Java EE 7: Back-End Server Application Development

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Java Enterprise Edition

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Courses For Event Java Advanced Summer Training 2018

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

Enterprise JavaBeans, Version 3 (EJB3) Programming

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Improve and Expand JavaServer Faces Technology with JBoss Seam

Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

Java Training Center, Noida - Java Expert Program

Contents at a Glance

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

Web Application Development Using Spring, Hibernate and JPA

open source community experience distilled

Deccansoft Software Services. J2EE Syllabus

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

com Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/-

Oracle Developer Day

What is it? What does it do?

Oracle Corporation

Web Application Development Using Spring, Hibernate and JPA

JVA-563. Developing RESTful Services in Java

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

JavaEE.Next(): Java EE 7, 8, and Beyond

@jbossdeveloper. explained

The Next Generation. Prabhat Jha Principal Engineer

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

Fast Track to EJB 3.0 and the JPA Using JBoss

2005, Cornell University

<Insert Picture Here> Java Virtual Developer Day

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

Market leading web application server product

Eclipse Java Ejb 3.0 Tutorial For Beginners With Examples Pdf

index_ qxd 7/18/02 11:48 AM Page 259 Index

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

presentation DAD Distributed Applications Development Cristian Toma

Erik Dörnenburg JAOO 2003

Web Application Development Using Spring, Hibernate and JPA

Oracle 10g: Build J2EE Applications

Java EE 6: Develop Web Applications with JSF

Oracle Fusion Middleware 11g: Build Applications with ADF I

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Hands-on Development of Web Applications with Java EE 6

WebSphere 4.0 General Introduction

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Introduction to Worklight Integration IBM Corporation

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Java EE und WebLogic Roadmap die nächsten Schritte

Java J Course Outline

Course Content for Java J2EE

<Insert Picture Here> Productive JavaEE 5.0 Development

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Red Hat JBoss Enterprise Application Platform 7.2

Lessons learned from real-world deployments of Java EE 7. Arun Gupta, Red

Java EE 5 Development for WebSphere Application Server V7

"Web Age Speaks!" Webinar Series

User s Guide 12c (12.2.1)

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Chapter 6 Enterprise Java Beans

Fast Track to Java EE

INTRODUCTION TO COMPONENT DESIGN IN JAVA EE COMPONENT VS. OBJECT, JAVA EE JAVA EE DEMO. Tomas Cerny, Software Engineering, FEE, CTU in Prague,

Building the Enterprise

Seam 3. Pete Muir JBoss, a Division of Red Hat

Java SE7 Fundamentals

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER

IBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release

Oracle Application Development Framework Overview

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

Lightweight J2EE Framework

Services Oriented Architecture and the Enterprise Services Bus

ClearPath Secure Java Overview For ClearPath Libra and Dorado Servers

Oracle Fusion Middleware 11g: Build Applications with ADF I

Enterprise JavaBeans. Layer:01. Overview

Comparative Analysis of EJB3 and Spring Framework

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX

object/relational persistence What is persistence? 5

Database code in PL-SQL PL-SQL was used for the database code. It is ready to use on any Oracle platform, running under Linux, Windows or Solaris.

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

Rational Application Developer 7 Bootcamp

ive JAVA EE C u r r i c u l u m

(9A05803) WEB SERVICES (ELECTIVE - III)

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

J2EE Interview Questions

Transcription:

Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

Agenda Migration motivations Traditional Java (2) EE technologies usage Migration approaches Migration of layers Modernize to Java EE 6 technologies Plan for mobile REST fits well with the mobile strategy Which Mobile application model to choose? Mobile Gateway architecture Mobile + JBoss EAP Runtime Demo and Q&A 2

Motivations Innovation, integration, cost reduction, modernization Market Demand, Time to market, Go-To Market strategy Complexity, performance, stability, security Vendor lock-in, lack of functionalities, standards compliance Multi-tenancy, Ready for the Cloud Penetrate New Market Segment Increase developer productivity 3

Motivations MOBILE VS. DESKTOP - Projection Source: visual.ly 4

Traditional Java (2) EE technologies usage Current situation 5

Traditional Java (2) EE technologies usage Current situation Persistence layer Standards are JDBC, CMP, BMP, JPA, JDO Non-Standards are Hibernate, ibatis,... Business layer Standards are Enterprise JavaBeans 2.x / 3.0 Non-Standards are Spring Framework, JBoss Seam, Google Guice,... Communication layer Standards are JAX-WS, JAX-RPC, RMI Non-Standards are legacy Web Service Frameworks 6

Traditional Java (2) EE technologies usage Cont. Current situation Presentation layer Standards are JSP+Servlets, JSF 1.2/2.0 Non-Standards are: Struts, Tapestry, GWT, Wicket,... 7

Migration approaches Complete migration Layer-oriented migration Module-oriented migration First Action Item: Migration Assessment 8

Migration assessment Looks at all facets of applications and infrastructure Helps to understand the risks, savings, and anticipated costs Enables stakeholders to scope the engineering time and effort required to migrate applications Free open source tool for Java EE migration assessment Analyzes code and generates report with known issues Provides an estimate of effort required to make changes Offers suggestions for replacement code Highlights vendor specific implementations 10,000 Foot View Report http://www.jboss.org/migration 9

Complete migration Big Bang style Unique new development Migration of the entire application in a new system High Complexity because of new development 10

Layer-oriented migration Based on layer oriented approach: each layer needs a specific handling Complexity is defined through Multiple migration with associated test and acceptance processes Migration of a layer affects overlying layers 11

Module-oriented migration Defined as Migration On Demand Migration of technical modules will be taken in consideration Complexity is defined through A mix of technologies of new and old ones Delimitation of technical modules 12

Persistence layer migration Current-Situation SQL/JDBC Data Access SQL Queries DAO / Repository Pattern Providing Value Objects Future-Situation JPA 2.0 Challenges Domain model introduction with relationship Detached entity objects handling Adaption of entity objects with unique identity EJB 2.x Data Access JPA 2.0 Challenges CMP 2.x - Entity classes and XML descriptors BMP 2.x - CRUD callback methods Domain model introduction with relationship Detached entity objects handling Adaption of entity objects with unique identity Data Access Objects introduction Hibernate Data Access JPA 2.0 Challenges O/R Mapping via XML Using Hibernate APIs No challenges (Hibernate is JPA provider in JBoss EAP) May be some challenges with proprietary Hibernate features JDO Data Access JPA 2.0 Challenges Domain model approach similar to JPA (based on annotation or configuration) JDO and JPA have similarities 13

Business layer migration Current-Situation EJB 2.x components Stateless and Stateful Session Beans EJB 2.x Pattern and communication Future-Situation EJB 3.1 Challenges No challenges Eliminate J2EE Pattern Eliminate proprietary infrastructure code EJB 2.x components CDI 1.0 Challenges Stateless and Stateful Session Beans EJB 2.x Pattern and communication No challenges Eliminate J2EE Pattern Eliminate proprietary infrastructure code Spring lightweight DI Framework CDI 1.0 Challenges Based on XML or annotation Strong integration support (JDBC template, Tx template, JMS template, Mail template) Supports other annotations (@Resource, @Inject) No challenges May be some challenges with Spring Add-On Different semantics in the field of scopes 14

Communication layer migration Future-Situation Introduction of a new communication interface JAX-RS - Challenges New fresh start Provide distinct URI for each resource you wish to expose Expose REST services by injecting EJBs into JAX-RS annotated POJOs Use nouns in the URIs Use links in your responses Make service stateless Define what actions should be able to perform on each resource Map the actions to an appropriate HTTP verbs (@DELETE, @GET, @POST, @PUT, @HEAD) Use JSON via JAXB as interchange data format 15

Presentation layer migration Standard like JSP with Servlet or JSF 2.0/2.1 and non-standard web frameworks like Struts, Tapestry, GWT, do not have a migration path in a mobile strategy Mobile-First strategy creating pages, UI components that address the constraints of mobile, then progressively enhances the experience to other screen spaces, features, and more Client side needs a clean / fresh start 16

Modernize to Java EE 6 technologies Future situation to enable mobile capabilities 17

REST fits well with mobile strategy REST is flexible and adequate for Client-Server communication Communication happens over HTTP using REST styles JSON over HTTP/HTTPs should be used for data-interchange Stateless, Cacheable, Lightweight, Scalable Using HTTP verbs (DELETE, GET, POST, PUT) Using Web technologies and security standards Fully supported in JBoss EAP (Java EE 6 compliant environment) by a JAX-RS implementation (RESTEasy) 18

REST fits well with mobile strategy Securing endpoints - Possibilities JBoss EAP 6.2 Basic Auth RealmUsersRoles with *-users.properties and *-roles.properties files Database login module - users and roles from a database system LDAP login module users and roles from a LDAP server JBoss EAP 6.3 PicketLink Identity Management (IDM) 19

Which Mobile application model to choose? Mobile Web HTML5 <html> <body> <div id= name /> <script src= x.js /> </body> </html> Native Shell HTML5 <html> <body> <div id= name /> <script src= x.js /> </body> </html> Native App Native Code Apple apple apple Android android Windows windows IOS ios ios Jave Objectve c Device Browser Apache Cordova Objective-C / Android Java Pros: Instant Deployment Reuse of Web Talents No App Stores Pros: Cross-Platform Native Device Features Push App Stores Pros: Limitless capability Cons: Limited Device Features Limited Offline Capabilities No Push No App Stores Cons: HTML/JS-based UI Non-native look & feel App Stores 20 Cons: Unique Codebases Unique skill-sets Addressing multiple screen dimensions App Stores

Mobile Gateway architecture Mobile + JBoss EAP Server Runtime JBoss Enterprise Application Platform Internal Internal System System AA APNS Internet GCM LDAP LDAP DB DB JAX-RS JAX-RS Fuse Fuse or or FSW FSW REST Unified Push Server push notification Internal Internal System System BB MSSQL MSSQL SalesForce SalesForce DB/2 DB/2 SAP SAP DB DB Firewall 21 Oracle Oracle

Demo Time! 22

Questions? Serge Pagop Email: spagop@redhat.com Burr Sutter Email: bsutter@redhat.com