SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Opening the Window
Lee Chuk Munn
isslcm@nus.edu.sg

1
About Me

Teach HTML5 and Enterprise Java
Prior working experience
Sun Microsystems – 16 years
Help ISVs to port, tune and size their application
Java Platform Evangelist

Oracle – 2.5 years
Product manager for WebLogic and Coherence

Have been coding since 1981
Still coding today
Keeps busy with a few open source projects
2
3
Source: http://www.businessinsider.com/15-billion-smartphones-in-the-world-22013-2

4
5
6
Why HTML5?

Improving performance
More cores coming...
JavaScript's maturity – VM, tools, know how
asm.js – http://mzl.la/1hqEfkD

Platform fidelity and integration
Can be provided through wrappers or cross
compilation

Easier to hire web developers
Tonnes of tutorial, classes

Rich set of free libraries
7
HTML5 for Websites?

8
http://slides.html5rocks.com

9
HTML5 Options

Browser

Cross platform

Wrappers

Cross
Compilation
Tighter integration
10
11
12
Characteristics of Enterprise Web Application

Fairly static, mostly form based
Eg. Master-detail, graphs, data input, queries

Dynamic web pages are rendered on the
server
“Fat server” model

Assumes that you are using a desktop
browser for access
Viewport size and the content type

13
14
Mobile phones
Tables
Desktop monitors

< 480px
< 768px
> 768px
15
Adapting to Viewport Sizes

16
Responsive Enterprise Application – Intrinsic
Use mobile toolkit/renderkit if available

<h:form>
<h:panelGrid columns="2">
<p:outputLabel value="Name:"/>
<p:inputText label="Name" type="text" size="30"/>
<p:outputLabel value="Email:"/>
<p:inputText label="Email" type="email" size="30"/>
<p:outputLabel value="Topics:"/>
<p:selectManyCheckbox label="Topics">
<f:selectItem itemLabel="Sports" itemValue="sports"/>
<f:selectItem itemLabel="Movies" itemValue="movies"/>
<f:selectItem itemLabel="Food" itemValue="food"/>
<f:selectItem itemLabel="News" itemValue="news"/>
</p:selectManyCheckbox>
<p:commandButton value="Submit" type="button"/>
</h:panelGrid>
</h:form>
17
Responsive Enterprise Application – Intrinsic
Use mobile toolkit/renderkit if available
<pm:page id="mobile_index"
title="Mobile Form">
<pm:view id="main">
<pm:header title="Form" swatch="b"/>
<pm:content>
<h:form>
<p:inputText label="Name" .../>
<p:inputText label="Email" .../>
<pm:field>
<p:selectManyCheckbox ...>
...
</p:selectManyCheckbox>
</pm:field>
<p:commandButton value="Submit" .../>
</h:form>
</pm:content>
</pm:view>
</pm:page>
18
Responsive Enterprise Application – External

Leverage responsive CSS toolkit
Eg Bootstrap 3 – “mobile first”

Advantage
More work but better control over the layout,
break points, etc
One set of views instead of 2 or 3 separate view
catering to different dimensions

Disadvantage
Potentially more complex view to cater for
different sizes
Understand CSS and CSS toolkits

19
20
1

2
3

5
4

6
7

Fully rendered page or fragments

Enterprise – Fat server application architecture
HTML5 – Thin server application architecture
4

1

2
3

5
8

6
7

Data in JSON or XML format
21
Preferred Interactions

Desktop

Smartphones
22
RESTful Web Services

Generalization of the web application
paradigm
Default assumption is that the client is always a
browser so application will always return HTML

Separation of the view from the data
Shifting from MVC to MVVC

Allow your web application to be a web
platform
Eg. Facebook, Tumblr, Google, etc.
23
Implementing REST on Java EE

JAX-RS introduced in Java EE 6
Part of the platform, no mess no fuss

Supports POJO based programming
Plus dependency injection

Integrates with the rest of the EE APIs
Can be added to existing Java Web
application without modifying existing
codebase
24
http://example.com/hr/api/customer/1
Lifecycle management
@RequestScoped
@Path(“/customer/{custId}”)
public class CustomerResource {

Path template

@PersistenceContext EntityManager em;

Resource injection
Content negotiation

HTTP method

@GET
@Produces({“application/json”, “application/xml”})
public Response get(@PathParam(“custId”) int id) {
Customer customer = em.find(Customer.class, id);
if (null == customer)
return (Response.status(
Response.Status.NOT_FOUND).build());
return (Response.ok(customer));
}
}

25
26
100
100

27
HTTP – Don't Call Us We'll Call You

28
AJAX Polling

29
AJAX Long Poll

30
HTML5 Server Sent Events

31
HTML5 Websockets

32
33
Mobile HTML5 Course
April 14 – 17 2014

Launching a new
mobile course
Design and Develop
Mobile Enterprise
Application with HTML5

Client side focus
For developers who are
familiar with HTML5
Learn to write
maintainable HTML5
application

Tentative outline
Revision – HTML, CSS,
DOM and JavaScript
jQuery
Platform API
Geolocation, push state,
local storage, application
cache

Communications
jQuery Mobile
Backbone.js
Cordova
34
Download source from
http://bit.ly/demosrc2014

35

Weitere ähnliche Inhalte

Was ist angesagt?

Mvc presentation
Mvc presentationMvc presentation
Mvc presentation
MaslowB
 
Overview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMSOverview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMS
softweb009
 

Was ist angesagt? (20)

No brainer
No brainerNo brainer
No brainer
 
Hosting for wordpress sites
Hosting for wordpress sitesHosting for wordpress sites
Hosting for wordpress sites
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Webforms or MVC
Webforms or MVCWebforms or MVC
Webforms or MVC
 
Go Deep with AJAX
Go Deep with AJAXGo Deep with AJAX
Go Deep with AJAX
 
Exercise: Building Node-webkit apps
Exercise: Building Node-webkit appsExercise: Building Node-webkit apps
Exercise: Building Node-webkit apps
 
Mvc presentation
Mvc presentationMvc presentation
Mvc presentation
 
Overview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMSOverview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMS
 
MikeTaulty_Ux_Update
MikeTaulty_Ux_UpdateMikeTaulty_Ux_Update
MikeTaulty_Ux_Update
 
Migrating from flex or silverlight to HTML
Migrating from flex or silverlight to HTMLMigrating from flex or silverlight to HTML
Migrating from flex or silverlight to HTML
 
Web application framework
Web application frameworkWeb application framework
Web application framework
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
 
PHP Frameworks
PHP FrameworksPHP Frameworks
PHP Frameworks
 
Learn .net and develop the web applications
Learn .net and develop the web applicationsLearn .net and develop the web applications
Learn .net and develop the web applications
 
Php website developers sydney
Php website developers sydneyPhp website developers sydney
Php website developers sydney
 
Berlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworksBerlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworks
 
ASP.NET Web Forms vs. MVC
ASP.NET Web Forms vs. MVCASP.NET Web Forms vs. MVC
ASP.NET Web Forms vs. MVC
 
Aeternity Blockchain - Ecosystem & Devtools [2019]
Aeternity Blockchain - Ecosystem & Devtools [2019]Aeternity Blockchain - Ecosystem & Devtools [2019]
Aeternity Blockchain - Ecosystem & Devtools [2019]
 
Silver Light
Silver LightSilver Light
Silver Light
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 

Andere mochten auch

Andere mochten auch (20)

Online Collaboration - What’s Up in Singapore?
Online Collaboration - What’s Up in Singapore?Online Collaboration - What’s Up in Singapore?
Online Collaboration - What’s Up in Singapore?
 
NUS-ISS Learning Day 2015 - Making Dollars and Cents of IT
NUS-ISS Learning Day 2015 - Making Dollars and Cents of ITNUS-ISS Learning Day 2015 - Making Dollars and Cents of IT
NUS-ISS Learning Day 2015 - Making Dollars and Cents of IT
 
ISS Service Innovation Leadership Seminar, 28 March - Jochen Wirtz
ISS Service Innovation Leadership Seminar, 28 March - Jochen WirtzISS Service Innovation Leadership Seminar, 28 March - Jochen Wirtz
ISS Service Innovation Leadership Seminar, 28 March - Jochen Wirtz
 
Digital Innovation in Transport
Digital Innovation in TransportDigital Innovation in Transport
Digital Innovation in Transport
 
Beyond Carrots and Sticks
Beyond Carrots and SticksBeyond Carrots and Sticks
Beyond Carrots and Sticks
 
ISS Service Innovation Leadership Seminar, 28 March - Mrs Chew Kwee Tiang
ISS Service Innovation Leadership Seminar, 28 March - Mrs Chew Kwee TiangISS Service Innovation Leadership Seminar, 28 March - Mrs Chew Kwee Tiang
ISS Service Innovation Leadership Seminar, 28 March - Mrs Chew Kwee Tiang
 
Creating unforgettable customer experiences by Philip Whittaker
Creating unforgettable customer experiences by Philip WhittakerCreating unforgettable customer experiences by Philip Whittaker
Creating unforgettable customer experiences by Philip Whittaker
 
3 Cs of Employee Engagement: How NICF Helped Changi Airport Group IT
3 Cs of Employee Engagement: How NICF Helped Changi Airport Group IT3 Cs of Employee Engagement: How NICF Helped Changi Airport Group IT
3 Cs of Employee Engagement: How NICF Helped Changi Airport Group IT
 
NUS-ISS Learning Day 2015 - IoT with Pi
NUS-ISS Learning Day 2015 - IoT with PiNUS-ISS Learning Day 2015 - IoT with Pi
NUS-ISS Learning Day 2015 - IoT with Pi
 
ISS Service Innovation Leadership Seminar, 28 March - Stuart Smith
ISS Service Innovation Leadership Seminar, 28 March - Stuart SmithISS Service Innovation Leadership Seminar, 28 March - Stuart Smith
ISS Service Innovation Leadership Seminar, 28 March - Stuart Smith
 
Smart health healthcare cost projection
Smart health healthcare cost projectionSmart health healthcare cost projection
Smart health healthcare cost projection
 
NUS-ISS PCP for Data Analysts
NUS-ISS PCP for Data Analysts NUS-ISS PCP for Data Analysts
NUS-ISS PCP for Data Analysts
 
Integrated Care in Singapore: if not now, then when?
Integrated Care in Singapore: if not now, then when?Integrated Care in Singapore: if not now, then when?
Integrated Care in Singapore: if not now, then when?
 
Security in Smart City Implementation: Infrastructure and People
Security in Smart City Implementation: Infrastructure and PeopleSecurity in Smart City Implementation: Infrastructure and People
Security in Smart City Implementation: Infrastructure and People
 
Why ITSM Needs Lean IT
Why ITSM Needs Lean ITWhy ITSM Needs Lean IT
Why ITSM Needs Lean IT
 
Enterprise Approach towards Cost Savings and Enterprise Agility
Enterprise Approach towards Cost Savings and Enterprise AgilityEnterprise Approach towards Cost Savings and Enterprise Agility
Enterprise Approach towards Cost Savings and Enterprise Agility
 
Demystifying ISO 20000-1 Standard
Demystifying ISO 20000-1 StandardDemystifying ISO 20000-1 Standard
Demystifying ISO 20000-1 Standard
 
5th Agile CoP Forum Agile Transformation Journey in IBM
5th Agile CoP Forum   Agile Transformation Journey in IBM5th Agile CoP Forum   Agile Transformation Journey in IBM
5th Agile CoP Forum Agile Transformation Journey in IBM
 
IT Process Transformation Roadmap
IT Process Transformation RoadmapIT Process Transformation Roadmap
IT Process Transformation Roadmap
 
NUS-ISS PCP for FullStack Software Developers
NUS-ISS PCP for FullStack Software DevelopersNUS-ISS PCP for FullStack Software Developers
NUS-ISS PCP for FullStack Software Developers
 

Ähnlich wie Mobile for Enterprise

Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
george.james
 

Ähnlich wie Mobile for Enterprise (20)

Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server Architectures
 
Powering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogicPowering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogic
 
Full stack Java Developer
Full stack Java DeveloperFull stack Java Developer
Full stack Java Developer
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Angular JS Basics
Angular JS BasicsAngular JS Basics
Angular JS Basics
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Tech Lead-Sachidanand Sharma
Tech Lead-Sachidanand SharmaTech Lead-Sachidanand Sharma
Tech Lead-Sachidanand Sharma
 
JulianSerna2016
JulianSerna2016JulianSerna2016
JulianSerna2016
 
Crash Course HTML/Rails Slides
Crash Course HTML/Rails SlidesCrash Course HTML/Rails Slides
Crash Course HTML/Rails Slides
 
Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring Framework
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Sofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworksSofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworks
 
SeniorNET Bhanu Resume
SeniorNET Bhanu ResumeSeniorNET Bhanu Resume
SeniorNET Bhanu Resume
 
Symfony - A Bird's Eye View
Symfony - A Bird's Eye ViewSymfony - A Bird's Eye View
Symfony - A Bird's Eye View
 

Mehr von NUS-ISS

Mehr von NUS-ISS (20)

Designing Impactful Services and User Experience - Lim Wee Khee
Designing Impactful Services and User Experience - Lim Wee KheeDesigning Impactful Services and User Experience - Lim Wee Khee
Designing Impactful Services and User Experience - Lim Wee Khee
 
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
 
How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...
 
The Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
 
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
 
Understanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
 
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng TszeDigital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
 
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
 
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
 
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnSupply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
 
Future of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
 
Future of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
 
Product Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceProduct Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud Service
 
Overview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsOverview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and Foundations
 
Predictive Analytics
Predictive AnalyticsPredictive Analytics
Predictive Analytics
 
Feature Engineering for IoT
Feature Engineering for IoTFeature Engineering for IoT
Feature Engineering for IoT
 
Master of Technology in Software Engineering
Master of Technology in Software EngineeringMaster of Technology in Software Engineering
Master of Technology in Software Engineering
 
Master of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsMaster of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business Analytics
 
Diagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesDiagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System Archetypes
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 

Mobile for Enterprise

  • 1. Opening the Window Lee Chuk Munn isslcm@nus.edu.sg 1
  • 2. About Me Teach HTML5 and Enterprise Java Prior working experience Sun Microsystems – 16 years Help ISVs to port, tune and size their application Java Platform Evangelist Oracle – 2.5 years Product manager for WebLogic and Coherence Have been coding since 1981 Still coding today Keeps busy with a few open source projects 2
  • 3. 3
  • 5. 5
  • 6. 6
  • 7. Why HTML5? Improving performance More cores coming... JavaScript's maturity – VM, tools, know how asm.js – http://mzl.la/1hqEfkD Platform fidelity and integration Can be provided through wrappers or cross compilation Easier to hire web developers Tonnes of tutorial, classes Rich set of free libraries 7
  • 11. 11
  • 12. 12
  • 13. Characteristics of Enterprise Web Application Fairly static, mostly form based Eg. Master-detail, graphs, data input, queries Dynamic web pages are rendered on the server “Fat server” model Assumes that you are using a desktop browser for access Viewport size and the content type 13
  • 14. 14
  • 15. Mobile phones Tables Desktop monitors < 480px < 768px > 768px 15
  • 17. Responsive Enterprise Application – Intrinsic Use mobile toolkit/renderkit if available <h:form> <h:panelGrid columns="2"> <p:outputLabel value="Name:"/> <p:inputText label="Name" type="text" size="30"/> <p:outputLabel value="Email:"/> <p:inputText label="Email" type="email" size="30"/> <p:outputLabel value="Topics:"/> <p:selectManyCheckbox label="Topics"> <f:selectItem itemLabel="Sports" itemValue="sports"/> <f:selectItem itemLabel="Movies" itemValue="movies"/> <f:selectItem itemLabel="Food" itemValue="food"/> <f:selectItem itemLabel="News" itemValue="news"/> </p:selectManyCheckbox> <p:commandButton value="Submit" type="button"/> </h:panelGrid> </h:form> 17
  • 18. Responsive Enterprise Application – Intrinsic Use mobile toolkit/renderkit if available <pm:page id="mobile_index" title="Mobile Form"> <pm:view id="main"> <pm:header title="Form" swatch="b"/> <pm:content> <h:form> <p:inputText label="Name" .../> <p:inputText label="Email" .../> <pm:field> <p:selectManyCheckbox ...> ... </p:selectManyCheckbox> </pm:field> <p:commandButton value="Submit" .../> </h:form> </pm:content> </pm:view> </pm:page> 18
  • 19. Responsive Enterprise Application – External Leverage responsive CSS toolkit Eg Bootstrap 3 – “mobile first” Advantage More work but better control over the layout, break points, etc One set of views instead of 2 or 3 separate view catering to different dimensions Disadvantage Potentially more complex view to cater for different sizes Understand CSS and CSS toolkits 19
  • 20. 20
  • 21. 1 2 3 5 4 6 7 Fully rendered page or fragments Enterprise – Fat server application architecture HTML5 – Thin server application architecture 4 1 2 3 5 8 6 7 Data in JSON or XML format 21
  • 23. RESTful Web Services Generalization of the web application paradigm Default assumption is that the client is always a browser so application will always return HTML Separation of the view from the data Shifting from MVC to MVVC Allow your web application to be a web platform Eg. Facebook, Tumblr, Google, etc. 23
  • 24. Implementing REST on Java EE JAX-RS introduced in Java EE 6 Part of the platform, no mess no fuss Supports POJO based programming Plus dependency injection Integrates with the rest of the EE APIs Can be added to existing Java Web application without modifying existing codebase 24
  • 25. http://example.com/hr/api/customer/1 Lifecycle management @RequestScoped @Path(“/customer/{custId}”) public class CustomerResource { Path template @PersistenceContext EntityManager em; Resource injection Content negotiation HTTP method @GET @Produces({“application/json”, “application/xml”}) public Response get(@PathParam(“custId”) int id) { Customer customer = em.find(Customer.class, id); if (null == customer) return (Response.status( Response.Status.NOT_FOUND).build()); return (Response.ok(customer)); } } 25
  • 26. 26
  • 28. HTTP – Don't Call Us We'll Call You 28
  • 31. HTML5 Server Sent Events 31
  • 33. 33
  • 34. Mobile HTML5 Course April 14 – 17 2014 Launching a new mobile course Design and Develop Mobile Enterprise Application with HTML5 Client side focus For developers who are familiar with HTML5 Learn to write maintainable HTML5 application Tentative outline Revision – HTML, CSS, DOM and JavaScript jQuery Platform API Geolocation, push state, local storage, application cache Communications jQuery Mobile Backbone.js Cordova 34