SlideShare a Scribd company logo
1 of 27
Download to read offline
Build CA Plex Web/Mobile App
Mobile Application Workshop
• Create two mobile applications
– Offline with CM WebClient HSync
– Online with CM WebClient Mobile
• Workshop files available on USB Flash if not downloaded
• CM WebClient HSync Workshop
– Introduction, Demo, Hands-on exercises
• CM WebClient Mobile
– Introduction, Demo, Hands-on exercises
CM First Group. Confidential & Do Not Distribute 2
CM WebClient Family
• Developed by CM First Group
• CM WebClient
– Desktop experience in a browser
• CM WebClient Mobile
– Full business logic with a mobile UI
• CM WebClient HSync
– Standalone mobile application
CM First Group. Confidential & Do Not Distribute 3
HSync – The power of templates
HSync interprets template files, inserts values from your Plex model and
generates output files.
CM First Group. Confidential & Do Not Distribute 4
HSync Template
Generator
Templates Output Files
[Generated from your
CA Plex Model]
HSync Templates
CM First Group. Confidential & Do Not Distribute 5
/(foreach.application.entity)
Entity: /(entity.name:unscoped)
/(foreach.view.attribute:Fetch)
.../(attribute.name) (/(attribute.type))
/(end.view.attribute)
/(end.application.entity)
Entity: Product
...ProductID (Character)
...ProductDescription (Character)
...ProductPrice (Numeric)
...ProductImage (Character)
...SupplierID (Character)
...SupplierName (Character)
Entity: Order
...OrderNumber (Numeric)
...OrderStatus (Character)
...OrderDate (Date)
...CustomerID (Character) etc…
Template Files
• Application templates ( *.atp)
– Generate once per application
– Template file: index.html.atp
– Output file: index.html
• Entity templates (*.etp)
– Generate once per entity
– Template file: Grid.js.etp
– Output file: CustomerGrid.js
CM First Group. Confidential & Do Not Distribute 6
Generating Solutions
• HSync can generate any type of text file, some examples:
– JavaScript
– HTML
– XML
– Java
• Current HSync Solution templates
– Full-featured offline mobile application
– RESTful API servlet (proof of concept)
CM First Group. Confidential & Do Not Distribute 7
RESTful API Servlet (In development)
• Template creates Java code
• Will support List, Retrieve, Replace, Create and Delete operations
• Can control which operations and which attributes visible per entity
• Provide entity data via URL for authenticated users
• Returns JSON format
• https://yourserver.com/HSyncREST/api/v1/supplier/CM1
{
"SuppID" : "CM1", "SuppName" : "CM First(Main Office)",
"AddrLine1" : "7000 North Mopac Expressway Plaza 7000",
"AddrLine2" : "SUITE 325", "City" : "Austin", "State" : "TX"
}
CM First Group. Confidential & Do Not Distribute 8
Offline Mobile Application
• Generates a stand-alone Sencha Touch application from CA Plex model
definitions.
• Full data-entry with validation and referential integrity.
• Data stored on the device.
• Provides HSync services to allow the mobile application to synchronize data via
your CA Plex functions.
CM First Group. Confidential & Do Not Distribute 9
HSync Offline Application
CM First Group. Confidential & Do Not Distribute 10
Device Local
Storage
HSync
Services
Web Server
Synchronize
Plex
Runtime
Fetch
Update
Insert
Delete
Validate
Plex Server
functions
Main
Database
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
– Drivers
What makes an offline mobile app?
• Sencha Touch JavaScript framework
– Designed for mobile applications
– Can be integrated with Cordova
– Runs on all platforms
• HSync Templates
– Maximum flexibility
– Conditional Generation
• CA Plex Meta-code
– Retrieve values from CA Plex model to populate templates
• Web Services
– Servlet provides ability to call CA Plex functions when online
HSync Components
• HSync group model
• Your CA Plex model
• Template files
• HSync Services 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
• 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
HSync Templates
• Use tags to control how output is generated
– Values, e.g. /(entity.name)
– Loops, e.g. /(foreach.application.entity)
– Conditions, e.g. /(if:/(attribute.iskey)==Y)
– Modifiers, e.g. /(entity.name:upper)
• :upper – ORDER DETAIL
• :varname – Order_Detail
• :camel - OrderDetail
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 Offline Mobile Application Features
• 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 your own custom JavaScript
– Derived calculated fields
– Calculated totals
– Upgrading templates preserves customizations
– Auto-sequence keys
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 automatically adapt to deployment platform
HSync Services
• Provides ability to call Plex functions over HTTP/HTTPS
• Can be called from JavaScript app using AJAX
• 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
HSync Offline Mobile Application
CM First Group. Confidential & Do Not Distribute 27
Demonstration
and
Workshop

More Related Content

What's hot

Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Eric Shupps
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
tboyt
 
Mobile GIS in the Browser (by Adam Conner)
Mobile GIS in the Browser (by Adam Conner)Mobile GIS in the Browser (by Adam Conner)
Mobile GIS in the Browser (by Adam Conner)
geeknixta
 

What's hot (19)

Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
 
Building a ArcGIS mobile, cloud, checkin app in 75 minutes - zero to hero
Building a ArcGIS mobile, cloud, checkin app in 75 minutes - zero to heroBuilding a ArcGIS mobile, cloud, checkin app in 75 minutes - zero to hero
Building a ArcGIS mobile, cloud, checkin app in 75 minutes - zero to hero
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
 
ADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guideADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guide
 
Xamarin on azure
Xamarin on azureXamarin on azure
Xamarin on azure
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013
 
Angular JS and Magento
Angular JS and MagentoAngular JS and Magento
Angular JS and Magento
 
Introduction to Office and SharePoint Development
Introduction to Office and SharePoint DevelopmentIntroduction to Office and SharePoint Development
Introduction to Office and SharePoint Development
 
Send to sf training 3 20
Send to sf training 3 20Send to sf training 3 20
Send to sf training 3 20
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
Rails Engines
Rails EnginesRails Engines
Rails Engines
 
Info path advanced development @ Sri Lanka SharePoint Forum
Info path advanced development @ Sri Lanka SharePoint ForumInfo path advanced development @ Sri Lanka SharePoint Forum
Info path advanced development @ Sri Lanka SharePoint Forum
 
Application devevelopment with open source libraries
Application devevelopment with open source librariesApplication devevelopment with open source libraries
Application devevelopment with open source libraries
 
Palm WebOS Overview
Palm WebOS OverviewPalm WebOS Overview
Palm WebOS Overview
 
Mobile GIS in the Browser (by Adam Conner)
Mobile GIS in the Browser (by Adam Conner)Mobile GIS in the Browser (by Adam Conner)
Mobile GIS in the Browser (by Adam Conner)
 
Visualforce
VisualforceVisualforce
Visualforce
 
RoR 101: Session 3
RoR 101: Session 3RoR 101: Session 3
RoR 101: Session 3
 
RoR 101: Session 2
RoR 101: Session 2RoR 101: Session 2
RoR 101: Session 2
 
Extending Office with Salesforce Apps and Data
Extending Office with Salesforce Apps and DataExtending Office with Salesforce Apps and Data
Extending Office with Salesforce Apps and Data
 

Viewers also liked

How to Conduct a Mobile Expert Review
How to Conduct a Mobile Expert ReviewHow to Conduct a Mobile Expert Review
How to Conduct a Mobile Expert Review
Matt Bruce
 
OF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - Community
OF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - CommunityOF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - Community
OF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - Community
Robyn L. Kirsch
 
Plan de clase sandra
Plan de clase sandraPlan de clase sandra
Plan de clase sandra
pipoca5
 
The Lion Learning Lab
The Lion Learning LabThe Lion Learning Lab
The Lion Learning Lab
jadesierra
 

Viewers also liked (16)

Ficha15
Ficha15Ficha15
Ficha15
 
How to Conduct a Mobile Expert Review
How to Conduct a Mobile Expert ReviewHow to Conduct a Mobile Expert Review
How to Conduct a Mobile Expert Review
 
OF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - Community
OF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - CommunityOF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - Community
OF_News_5, BLV_NewsBroad 08-11-2016, OFallon 1st - Community
 
Varios matrices y determinantes
Varios   matrices y determinantesVarios   matrices y determinantes
Varios matrices y determinantes
 
Anglés de Lockhart Academy a La Vitxeta (dimarts i dijous)
Anglés de Lockhart Academy a La Vitxeta (dimarts i dijous)Anglés de Lockhart Academy a La Vitxeta (dimarts i dijous)
Anglés de Lockhart Academy a La Vitxeta (dimarts i dijous)
 
Scannen0216[1]
Scannen0216[1]Scannen0216[1]
Scannen0216[1]
 
Designer-Amanda Endres
 Designer-Amanda Endres Designer-Amanda Endres
Designer-Amanda Endres
 
Moving Toward a Modular Enterprise - All About the API Conference 2016
Moving Toward a Modular Enterprise - All About the API Conference 2016Moving Toward a Modular Enterprise - All About the API Conference 2016
Moving Toward a Modular Enterprise - All About the API Conference 2016
 
Gauss
GaussGauss
Gauss
 
Plan de clase sandra
Plan de clase sandraPlan de clase sandra
Plan de clase sandra
 
Graph theory discrete mathmatics
Graph theory discrete mathmaticsGraph theory discrete mathmatics
Graph theory discrete mathmatics
 
Resume Ritesh Ranjan Thakur
Resume Ritesh Ranjan ThakurResume Ritesh Ranjan Thakur
Resume Ritesh Ranjan Thakur
 
Lorena Fernandez presentación proyecto ley Mutualia
Lorena Fernandez presentación proyecto ley Mutualia Lorena Fernandez presentación proyecto ley Mutualia
Lorena Fernandez presentación proyecto ley Mutualia
 
How to double_your_income_in_12_months_tip_10
How to double_your_income_in_12_months_tip_10How to double_your_income_in_12_months_tip_10
How to double_your_income_in_12_months_tip_10
 
Final proyect
Final proyectFinal proyect
Final proyect
 
The Lion Learning Lab
The Lion Learning LabThe Lion Learning Lab
The Lion Learning Lab
 

Similar to Andrew leggett & Abram Darnutzer - How to build CA Plex Web & mobile app

Windows phone app development overview
Windows phone app development overviewWindows phone app development overview
Windows phone app development overview
Alan Mendelevich
 
Srinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_Resume
Srinivasa Pavan
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 

Similar to Andrew leggett & Abram Darnutzer - How to build CA Plex Web & mobile app (20)

Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobility
 
Xoriant Smartphone apps accelerator
Xoriant Smartphone apps acceleratorXoriant Smartphone apps accelerator
Xoriant Smartphone apps accelerator
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Windows phone app development overview
Windows phone app development overviewWindows phone app development overview
Windows phone app development overview
 
Srinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_Resume
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarin
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with Xamarin
 
Resume.H.Zhang
Resume.H.ZhangResume.H.Zhang
Resume.H.Zhang
 
Richland County Lost Pet Mobile App
Richland County Lost Pet Mobile AppRichland County Lost Pet Mobile App
Richland County Lost Pet Mobile App
 
Building high performance
Building high performanceBuilding high performance
Building high performance
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
 
Building Rich Internet Apps with Silverlight 2
Building Rich Internet Apps with Silverlight 2Building Rich Internet Apps with Silverlight 2
Building Rich Internet Apps with Silverlight 2
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
 
SUE AGILE Framework (English)
SUE AGILE Framework (English)SUE AGILE Framework (English)
SUE AGILE Framework (English)
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
Twelve Factor Serverless Applications
Twelve Factor Serverless ApplicationsTwelve Factor Serverless Applications
Twelve Factor Serverless Applications
 
Custom Tile Generation in PCF
Custom Tile Generation in PCFCustom Tile Generation in PCF
Custom Tile Generation in PCF
 

More from John Zozzaro

More from John Zozzaro (11)

Steve Solomon - iCAthon 2016 and CA Plex 721 Final
Steve Solomon - iCAthon 2016 and CA Plex 721 FinalSteve Solomon - iCAthon 2016 and CA Plex 721 Final
Steve Solomon - iCAthon 2016 and CA Plex 721 Final
 
Rolf Stephan - Axon Ivy Intro
Rolf Stephan -  Axon Ivy IntroRolf Stephan -  Axon Ivy Intro
Rolf Stephan - Axon Ivy Intro
 
Mark Schroeder - Considering APIs?
Mark Schroeder - Considering APIs?Mark Schroeder - Considering APIs?
Mark Schroeder - Considering APIs?
 
Marcel Pruegel - RESTful APIs & Automated Workflows
Marcel Pruegel - RESTful APIs & Automated WorkflowsMarcel Pruegel - RESTful APIs & Automated Workflows
Marcel Pruegel - RESTful APIs & Automated Workflows
 
Marcel Pruegel - Building an Automated Process That Interacts With Different ...
Marcel Pruegel - Building an Automated Process That Interacts With Different ...Marcel Pruegel - Building an Automated Process That Interacts With Different ...
Marcel Pruegel - Building an Automated Process That Interacts With Different ...
 
Kiyoshi Terasawa - Build Plex XAML UI – Advanced Training
Kiyoshi Terasawa - Build Plex XAML UI – Advanced TrainingKiyoshi Terasawa - Build Plex XAML UI – Advanced Training
Kiyoshi Terasawa - Build Plex XAML UI – Advanced Training
 
John Rhodes - CA Plex for CA 2E Shops
John Rhodes - CA Plex for CA 2E ShopsJohn Rhodes - CA Plex for CA 2E Shops
John Rhodes - CA Plex for CA 2E Shops
 
John Rhodes - DevOps Automated Testing
John Rhodes - DevOps Automated TestingJohn Rhodes - DevOps Automated Testing
John Rhodes - DevOps Automated Testing
 
Jason Olson - Test What You've Built
Jason Olson - Test What You've BuiltJason Olson - Test What You've Built
Jason Olson - Test What You've Built
 
Jason Olson - IBM i DB2 Modernization to SQL
Jason Olson - IBM i DB2 Modernization to SQLJason Olson - IBM i DB2 Modernization to SQL
Jason Olson - IBM i DB2 Modernization to SQL
 
James Higginbotham - API Design
James Higginbotham - API DesignJames Higginbotham - API Design
James Higginbotham - API Design
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Andrew leggett & Abram Darnutzer - How to build CA Plex Web & mobile app

  • 1. Build CA Plex Web/Mobile App
  • 2. Mobile Application Workshop • Create two mobile applications – Offline with CM WebClient HSync – Online with CM WebClient Mobile • Workshop files available on USB Flash if not downloaded • CM WebClient HSync Workshop – Introduction, Demo, Hands-on exercises • CM WebClient Mobile – Introduction, Demo, Hands-on exercises CM First Group. Confidential & Do Not Distribute 2
  • 3. CM WebClient Family • Developed by CM First Group • CM WebClient – Desktop experience in a browser • CM WebClient Mobile – Full business logic with a mobile UI • CM WebClient HSync – Standalone mobile application CM First Group. Confidential & Do Not Distribute 3
  • 4. HSync – The power of templates HSync interprets template files, inserts values from your Plex model and generates output files. CM First Group. Confidential & Do Not Distribute 4 HSync Template Generator Templates Output Files [Generated from your CA Plex Model]
  • 5. HSync Templates CM First Group. Confidential & Do Not Distribute 5 /(foreach.application.entity) Entity: /(entity.name:unscoped) /(foreach.view.attribute:Fetch) .../(attribute.name) (/(attribute.type)) /(end.view.attribute) /(end.application.entity) Entity: Product ...ProductID (Character) ...ProductDescription (Character) ...ProductPrice (Numeric) ...ProductImage (Character) ...SupplierID (Character) ...SupplierName (Character) Entity: Order ...OrderNumber (Numeric) ...OrderStatus (Character) ...OrderDate (Date) ...CustomerID (Character) etc…
  • 6. Template Files • Application templates ( *.atp) – Generate once per application – Template file: index.html.atp – Output file: index.html • Entity templates (*.etp) – Generate once per entity – Template file: Grid.js.etp – Output file: CustomerGrid.js CM First Group. Confidential & Do Not Distribute 6
  • 7. Generating Solutions • HSync can generate any type of text file, some examples: – JavaScript – HTML – XML – Java • Current HSync Solution templates – Full-featured offline mobile application – RESTful API servlet (proof of concept) CM First Group. Confidential & Do Not Distribute 7
  • 8. RESTful API Servlet (In development) • Template creates Java code • Will support List, Retrieve, Replace, Create and Delete operations • Can control which operations and which attributes visible per entity • Provide entity data via URL for authenticated users • Returns JSON format • https://yourserver.com/HSyncREST/api/v1/supplier/CM1 { "SuppID" : "CM1", "SuppName" : "CM First(Main Office)", "AddrLine1" : "7000 North Mopac Expressway Plaza 7000", "AddrLine2" : "SUITE 325", "City" : "Austin", "State" : "TX" } CM First Group. Confidential & Do Not Distribute 8
  • 9. Offline Mobile Application • Generates a stand-alone Sencha Touch application from CA Plex model definitions. • Full data-entry with validation and referential integrity. • Data stored on the device. • Provides HSync services to allow the mobile application to synchronize data via your CA Plex functions. CM First Group. Confidential & Do Not Distribute 9
  • 10. HSync Offline Application CM First Group. Confidential & Do Not Distribute 10 Device Local Storage HSync Services Web Server Synchronize Plex Runtime Fetch Update Insert Delete Validate Plex Server functions Main Database
  • 11. 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 – Drivers
  • 12. What makes an offline mobile app? • Sencha Touch JavaScript framework – Designed for mobile applications – Can be integrated with Cordova – Runs on all platforms • HSync Templates – Maximum flexibility – Conditional Generation • CA Plex Meta-code – Retrieve values from CA Plex model to populate templates • Web Services – Servlet provides ability to call CA Plex functions when online
  • 13. HSync Components • HSync group model • Your CA Plex model • Template files • HSync Services Servlet • Eclipse Workspace
  • 14. HSync Group Model • HSync/OfflineApplication • HSync/TemplateGeneratorEntity • HSync/Ability • HSync/Generator Utilities
  • 15. 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
  • 16. Setting up your CA Plex model • Generate TemplateGeneration function for each entity being used • Uses meta-code to query model details • Creates a UI function to control application generation
  • 17. Generator UI • Set properties for generation • Start generation process
  • 18. HSync Templates • Use tags to control how output is generated – Values, e.g. /(entity.name) – Loops, e.g. /(foreach.application.entity) – Conditions, e.g. /(if:/(attribute.iskey)==Y) – Modifiers, e.g. /(entity.name:upper) • :upper – ORDER DETAIL • :varname – Order_Detail • :camel - OrderDetail
  • 20. 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
  • 21. HSync Offline Mobile Application Features • 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 your own custom JavaScript – Derived calculated fields – Calculated totals – Upgrading templates preserves customizations – Auto-sequence keys
  • 22. 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
  • 23. 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
  • 24. Sencha Touch • Themes automatically adapt to deployment platform
  • 25. HSync Services • Provides ability to call Plex functions over HTTP/HTTPS • Can be called from JavaScript app using AJAX • 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
  • 26. HSync Services • Using Action Diagram to validate
  • 27. HSync Offline Mobile Application CM First Group. Confidential & Do Not Distribute 27 Demonstration and Workshop