Solving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First

Similar documents
Build CA Plex Web/Mobile App

Build Tizen HTML5 Apps w/ Sencha Architect & Sencha Touch

Enterprise Web Development

Lab 2 Examine More Development Features in IBM Worklight

Lab 1: Getting Started with IBM Worklight Lab Exercise

All India Council For Research & Training

I, J, K. Eclipse, 156

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

Introduction to Sencha Ext JS

Oracle Mobile Application Framework

Northern Arizona University. Capstone Team Project. Design Document. Bit Tag. Temitope Alaga, John Dance, Joshua Frampton, Jun Rao.

Why attend a Lianja training course? Course overview. Course Details

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array

PROCE55 Mobile: Web API App. Web API.

P a g e 1. Danish Tecnological Institute. Developer Collection Online Course k Developer Collection

Open Source Library Developer & IT Pro

Oracle Utilities Customer Self Service

AD406: What s New in Digital Experience Development with IBM Web Experience Factory

Developing Ajax Web Apps with GWT. Session I

Getting started with M-Files

Mobile Applications 2013/2014

Developing Cross Device Mobile Applications

Mobile Application Strategy

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Mobile Technologies. Types of Apps

Preface 7. 1 Introduction to OpenUI5 9

Oracle Utilities Customer Self Service

Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project

Review of Mobile Web Application Frameworks

2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

Full Stack Web Developer

Advanced Dreamweaver CS6

Wakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework

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

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

Adobe Dreamweaver CS6 Digital Classroom

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 05 May p-issn:

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM

Force.com Mobile Web with Sencha Touch

Advanced Development with the ArcGIS API for JavaScript. Jeremy Bartley, Kelly Hutchins, Derek Swingley

Mobile Application Development

Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery. Andy Gup, Lloyd Heberlie

Oracle Service Cloud Integration for Developers Ed 1

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

Oracle Fusion Middleware 11g: Build Applications with ADF I

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

By Stephen Cavell, Kerry Ellwanger, and Jack Livingston

Building Mobile Apps with HTML5

Oracle Forms Modernization Through Automated Migration. A Technical Overview

vsphere Web Client SDK Documentation VMware vsphere Web Client SDK VMware ESXi vcenter Server 6.5.1

Basics of Web Technologies

Oracle Service Cloud Integration for Develope

Feature Comparison Checklist

The Discussion of Cross-platform Mobile Application Development Based on Phone Gap Method Limei Cui

Accelerated Mobile Pages v1.x Configuration for Magento 1 From Plumrocket Documentation

Programming Fundamentals of Web Applications

DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI

WebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Oracle Service Cloud Integration for Developers Ed 1

A Model-Controller Interface for Struts-Based Web Applications

Mobilize Your Users Now with Oracle Mobile Application Framework (MAF)

Index LICENSED PRODUCT NOT FOR RESALE

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02

Android Online Training

Sharedien. Everything you need to know. Simply find it. sharedien.com. sharedien.com

Matthew Harris Senior Project Proposal getnote The Mobile Application

PROFESSIONAL TRAINING

HTML5 and CSS3 for Web Designers & Developers

Adobe ColdFusion 11 Enterprise Edition

Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools

Composer Guide for JavaScript Development

Oracle Fusion Middleware 11g: Build Applications with ADF I

Getting started with Convertigo Mobilizer

Firefox 4 for Mobile Reviewer s Guide. Contact us:

Getting started with Tabris.js Tutorial Ebook

Unleashing Your Marketing Collateral and Tools

Index. Alessandro Del Sole 2017 A. Del Sole, Beginning Visual Studio for Mac,

August, HPE Propel Microservices & Jumpstart

EBOOK. Mobile Experience Virtualization: Extend Virtualized Windows Apps to Mobile

Beginning PhoneGap. Mobile Web Framework for JavaScript and HTML5. Rohit Ghatol Yogesh Patel

Build a Mobile App in 60 Minutes with MAF

Modern App Architecture

Setup and Getting Startedt Customized Java EE Training:

The Great SharePoint 2016/2013 Adventure for Developers

Modern SharePoint and Office 365 Development

Strategies for Running Oracle Forms from Mobile Devices and Tablets.

IBM Worklight V5.0.6 Getting Started

Advance Mobile& Web Application development using Angular and Native Script

PHOTO GALLERY. USER GUIDE by Decima Digital. d e c i m a d i g i t a l. c o m

Oracle APEX 18.1 New Features

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Java SE7 Fundamentals

Transcription:

Solving Mobile App Development Challenges Andrew Leggett & Abram Darnutzer CM First

CM First WebClient Solutions CM WebClient Full desktop experience in browser CM WebClient Mobile Online mobile solution, direct access to CA Plex code and database CM WebClient HSync Offline mobile solution, record data anytime and synchronize when online

CM WebClient HSync An offline mobile application solution for CA Plex

Why do we need an offline mobile app? 100% availability Can t guarantee an internet connection Need to record information in remote locations, e.g. Building Sites Farms Traveling Salespersons Equipment Inspectors

Requirements for an offline mobile app Must run on all popular mobile devices Must provide good performance Must store persistent data on the device Must have ability to use device features if required Must allow data entry consistent with CA Plex model definitions Must be customizable Must be able to fetch and update data using CA Plex

How do we create an offline mobile app? Sencha Touch JavaScript framework Designed for mobile applications Can be integrated with Cordova/Phonegap Runs on all platforms Templates Maximum flexibility Meta-code Retrieve values from CA Plex model to populate templates Web Services Provides ability to call CA Plex functions when online

HSync Offline Mobile Application Default App for HSync Sencha Touch application ios, Android, Windows + Allows basic data entry Validates data based on Plex Model Same functionality as EditDialog Data stored on device Synchronize data via Plex functions when online Customized navigation

HSync Components HSync group model Your CA Plex model Template files HSyncServices Servlet Eclipse Workspace

HSync Group Model HSync/OfflineApplication HSync/TemplateGeneratorEntity HSync/Ability HSync/Generator Utilities

Setting up your CA Plex model Designed for minimum impact Create an Application Entity to inherit from the OfflineApplication entity Inherit from TemplateGeneratorEntity for each entity you want to include Add Application ENT comprises ENT triples Inherit from Ability entities to control behavior

Setting up your CA Plex model Set configuration to generate for Java Client Generate TemplateGeneration function for each entity being used Uses meta-code to query model details Creates a UI function to control application generation

Generator UI Set properties for generation Start generation process

Application Generation Reads HSync Templates Contains special tags Inserts values from Plex model Information from triples, labels and message objects Creates output files Typically JavaScript, flexible enough to generate HTML, XML, JSON, text and other types

HSync Templates Use tags to control how output is generated Attributes, e.g. /(entity.name) Loops, e.g. /(foreach.application.entity) Conditions, e.g. /(if:/(attribute.length)>=32) Modifiers, e.g. /(entity.name:upper)

HSync Templates Template Output

Abilities Control behavior with Abilities Inherit from Ability entities & fields, e.g. Ability.Delete, Ability.ReadOnly Can add your own Abilities Templates conditionally generate code based on inheritance

HSync Templates Simple constructs allow for advanced features Mandatory field validation Default values Referential integrity Virtual Attributes Selector panels Restricted parent/child Menus Edit Grids Filtered Grids Grid formatting Data Synchronization Add Custom JavaScript more to come

Sencha Touch JavaScript framework designed to work with touch screens Based on Ext JS library Build panels from Components Uses MVC structure Can be packaged as mobile app with Cordova/Phonegap

Sencha Touch HSync creates complete Sencha Touch application Sencha Cmd Tool Compiles JavaScript for performance Apply themes for mobile platforms Native packaging Upgrade Sencha Framework

Sencha Touch Themes

HSync Services Provides ability to call Plex functions over HTTP/HTTPS Can be called from JavaScript app using AJAX Uses CA Plex runtime Function interfaces available via templates Allows Fetch & Update functions to be called Used for Synchronization process Can use action diagram validation and processing Ensure data fits business rules

HSync Services Using Action Diagram to validate

CM WebClient HSync Demonstration

CM WebClient Mobile A multiplatform mobile solution for CA Plex

CM WebClient Mobile Built using Sencha Touch Mimics native mobile functionality using JavaScript Allows you to deploy the same application on multiple platforms CM WebClient Mobile applications run as web applications out of the box Deployed as a WAR file to a Web Server

Developing CM WebClient Mobile Mobile environment s limited screen size creates some screen layout challenges Need to consider what kind of device you are developing for (Phone, Tablet, either?) Reorganize and rethink panels to make them more effective for mobile users CA Plex inheritance can make rethinking existing functionality for mobile much easier

Apache Cordova/PhoneGap Mobile development framework that allows for JavaScript applications to be deployed on mobile devices Supports ios, Android, Windows Phone, etc. Allows you to wrap your web application for the mobile device stores Wrapped applications can access device specific functionality (Cameras, GPS, Device Storage, etc.) Large community developing new plug-ins

Using Cordova with CM WebClient Mobile Developing templates is the same as developing normal WebClient control and page templates Uses the same syntax and mark-up language as normal WebClient Functions that use Cordova functionality will need to reference the cordova.js file The Android/iOS/Windows application will be its own Project separate from your other projects. Install plug-ins for each Cordova feature that want to access

Specific Examples: Social Network Authentication Using a Cordova plug-in, we are able validate user sign-on using their Facebook account (https://github.com/wizcorp/phonegapfacebook-plugin.git) Requires the setup of a Facebook application. This can be done at https://developers.facebook.com/ The WebClient Template contains all the JavaScript needed to use this plug-in.

Specific Examples: Camera and Photo Upload Using several Cordova plug-ins, we are able access the device s camera, saved photos, and upload the picture from the device to our web server. Install the necessary plug-ins to your Cordova project. Reference the necessary JavaScript in your WebClient Template Once upload is complete, any other processing is handled in the CA Plex Action Diagram

Deploying Changes: Update App, or Update WAR? Changes that affect the Cordova application requires the App to be redeployed to the App Stores Changing Plug-ins Changing Permissions Changing Web Server address Changes to the Plex Model or WebClient Templates requires a new WAR file to be deployed to the web server No changes needed in the deployed app