1 / 45

i Nomads

i Nomads. Michael F. King PVX Plus Technologies. i Nomads - Overview. Designed to allow Nomads applications to run NATIVELY on the web Reduces years of development to months Eliminate need to recreate/code application for web use Generally 90-95% of application runs with no changes

Télécharger la présentation

i Nomads

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. iNomads Michael F. King PVX Plus Technologies

  2. iNomads - Overview • Designed to allow Nomads applications to run NATIVELY on the web • Reduces years of development to months • Eliminate need to recreate/code application for web use • Generally 90-95% of application runs with no changes • Provide a true web experience • HTML • JavaScript • Ajax data exchange with host

  3. iNomads - Overview Allows applications to run on virtually any browser Can be run on a wide variety of operating systems And on devices such as iPod, iPhone, iPad DROID phones, Android tablets Blackberry phones and Playbook

  4. iNomads - Overview Uses Object defined controls to emulate standard ones All controls emulated through the use of server side Objects Objects generate required HTML and handle events Many controls use AJAX to update dynamically List view, formatted lists, and Grids maintain data on host Reduces transmission and screen load times All control properties emulated by server-side objects Eliminates WindX-style packet exchanges for updates Generally faster than a WindX solution

  5. iNomads - Overview Templates and CSS Stylesheets control visual styling Provides ability to stylize/customize controls and panels Template mechanism allows panels to take on different style Allows ‘wrappers’ around panel content Simple mechanism to override specific HTML layout Style sheets provide easy control of fonts, colors, etc System default style sheet provides baseline layout Can customize colours and sizes Maintenance tool provided for many aspects of display Allows selection of line height, column width, tab styles Controls whether application or style sheet takes colour precedence All system text maintained in control files for multi-lingual systems

  6. iNomads (initialize for demo)….….. Basic Demonstration

  7. iNomads – Web Servers iNomads can run using any of following web servers: Apache (Apache 2 preferred) Windows or Linux IIS 7 IIS interface requires VB script and ASP.NET (2.0) ProvideX Web server Requires user licenses separate from Nomads Apache is the fastest, next is IIS then Web Server Special load module interface for Apache High level interface intercepts messages without CGI overhead 'C' source provided to enable compilation on variety of platforms

  8. iNomads Improvements over WindX based solutions Better application performance List view/grids etc are maintained on server System only sends what is displayed to the Browser List contents updated on demand Properties are handled locally on the server No turnaround delay as experienced on WindX Faster rendering of images Any format type supported by browser can be used

  9. iNomads Improvements over WindX based solutions (continued) Flexible output through Style sheets and templates You can tailor virtually all controls Visible attributes can be tailored based on control name/class

  10. iNomads Improvements over WindX based solutions (continued) Full reconnect capability provided All state information preserved on host Screens can be fully restored even after browser terminated using ‘Rescue’ utility provided Ability to directly launch application from URL URL can define: What to run, style / template and parameters URL can also pass inputs/events to applications Allows for pre-filling input data from URL links

  11. iNomads - Overview Runs most applications with very few changes Almost all functionality of Nomads provided Provides web based alternatives for SYSTEM_HELP command OPEN (nn) “*VIEWER*” GETFILE_BOX emulation Includes security hooks to control directory access Other tools include File Upload/Download functions Direct access to JavaScript from server Remote debugger facility

  12. iNomads Sample Applications 5M Lighthouse Legal Our thanks to these companies for providing their application

  13. iNomads - Basic setup Can be used with any of these Web servers Apache (version 2 preferred) Apache load module provided (source included) IIS Version 7 with ASP.NET 2.0 default.aspx provided to forward messages ProvideX Web Server Apache is the recommended solution

  14. iNomads – Data Flow When message received by web server from browser If start of session: New session/process started Server routes message to process Process handles the input iNomads sends back HTML and/or Ajax data Web server routes response to the browser IIS

  15. iNomads – Data Flow Can run on one or two computers (servers) One server runs the web service (Apache, IIS, ..) The other server runs the application logic If using two server there must be a shared 'tmp' directory tmp IIS

  16. iNomads – Process Creation Process can be created two ways: By the web server directly Launched processes limited to rights of the web server Generally as a background services on Windows PxPlus Simple CS PxPlus Simple CS server has access to rights of CS host Multiple CS hosts could be used for different security Simple CS required if using multiple servers • Each process has unique ID and ‘tmp’ directory • ‘tmp’ directory holds images, pdfs, etc unique to session • Directories cleared automatically if 2 days old

  17. iNomads – Templates Q: What’s a Template? A: A Template defines the way that panels will be presented to the browser. It controls the visual characteristics of the web page such as size, font, colours, and images.

  18. iNomads – Templates • A template defines layout of the panels • Templates can override and/or provide a wrapper for the standard HTML code used to present a panel. • Controls generation of HTML and defines style sheet • Allows different looks for different applications • Subdirectories within *plus/inomads/templates • May contain any/all of the following • template.conf with configuration settings • .tpl files with HTML segments • style.css file with style override information • sysimage directory with replacement system images (!xxx) • custom.conf or customi.ini with custom settings • Custom.ini new with Version 10

  19. iNomads – Templates HTML generation and .TPL files Contain HTML code used to generate panels Embedded PxPlus code can be included within <?bb ... ?> Code runs within system control object Has access to all parameters from inomads.conf and template.conf .TPL file taken from current template if present Defaults to default template tpl file if absent Only have to define what is unique

  20. iNomads – Sample Sample Template ‘allstars’

  21. iNomads – Templates Template maker Simple utility to create basic templates Select basic layout Chose from one of 15 layouts, or define you own Define fonts/colors for each section Built in menu system for template menues Multi-level menu processing

  22. iNomads – Transactions Q: What’s a Transaction? A: A Transaction defines the program or Nomads panel, starting directory, and template to use for an iNomads application. Only those programs/applications defined as transactions can be run by iNomads.

  23. iNomads – Transactions Defines programs/processes that can be accessed These define the entry points to the system by providing Name of program -or- Name of panel and library Starting directory Template/style sheet to use URL to launch when complete (or ‘close’) Maintained in *plus/inomads/tx.conf file Transaction ID is 12 characters long – case sensitive Can be supplied on URL E.G. http://www.example.com/?txid=DEMO1 inomads.conf provides default txid to use if not on URL

  24. iNomads – System Images • All “!xxx” bitmaps stored in sysimage directory • Searches sysimage when looking for !xxxxxx • Any file type with matching name of xxxxxx used • System comes with all standard images as GIFs • Image should have transparency (gif or png format) • Size should match standard 20 pixels wide by 16 high • Templates may override/add to sysimage • Template sysimage directory searched first

  25. iNomads – System Messages • Customizable error message screens • Can be translated into languages of your choice • System comes with English messages • Error message HTMLs saved in syshtml directory

  26. iNomads – Version 10 Version 10 Features • Absolute control placement • Eliminates issues with table driven placement • Added Shadowing and rounded corners • MSGBOX, Menus • Improved Button rendering for flat buttons • Touchscreen improvements for Scroll bars etc. • Screen layout design tool • Added password protection on Transactions

  27. iNomads – How it Works The %Inomads object Controls the session Global variable having value used by Nomads routines to determine if running iNomads Sets NID to uniquely identify the workstation Uses a cookie to allow for re-connect at a later date Cookie expires in five years You CANNOT count on it remaining as user can clear it Different browsers will have different NID on same workstation

  28. iNomads – How it Works The %Inomads object Provides access to session information Commonly used values: ‘Session$ Session id ‘Browser$ Type of browser being used ‘Template$ Current template (or set to change) ‘Remote_addr$ Workstation IP address ‘Http_host$ Your host name ‘Https$ “ON” / “OFF” based on using SSL ‘Touch_scrn 0/1 (if we can determine touch screen)

  29. iNomads – How it Works Reads Nomads libraries Standard *WINPROC (nomads) processing replaced with new modules Controls replaced with Object Defined Controls Objects generate HTML and JAVASCRIPT Support for dynamic control and window creation Applications can dynamically create/delete controls on the fly Not limited to Nomads panels Supported controls:Buttons, Check boxes, List boxes, Grids, and Charts Dynamic floatable Child windows also provided

  30. iNomads – Getting Started Development copy included with PxPlus Pro No need to purchase for development Can be used to develop and/or demonstrate Only restriction is hourly message

  31. iNomads – Migration issues Issues that may affect application migration: Fonts vary on Platform Direct access to workstation devices/programs You are in a “RESTRICTED” browser environment Function keys require "ALT-Fn“ If you use ALT-Fn then you need to adjust True mouse tracking not possible Overhead makes this undesirable No text mode (Under consideration for future version)

  32. iNomads – URL options • Predefined URL parameters: • txid=xxxxx • Declares the TX definition to use • Overrides default TX declared in inomads.conf • Provides security so only defined programs can be run • Predefined transactions: • admin runs *plus/inomads/admin • debug runs web based debugger (more later) • default sample application selector • rescue runs rescue process to reconnect to task • connect allows you to connect to another iNomads task

  33. iNomads – URL options • Predefined URL parameters (continued): • template=xxxxx • Defines the template to use • Overrides system default template and TX definition • If not found ‘default’ will be used • _exit=xxxx • Defines what to do at end of transaction • Can be URL to launch • The word ‘close’ will attempt to close browser (if allowed) • The word ‘blank’ to display a blank screen • Overrides exit logic for transaction

  34. iNomads – URL options • Predefined URL parameters (continued): • _cmd=xxxxx • Allows emulation of entry into form fields • xxxxx contains name of control • To set value append slash and value e.g. _cmd=cust_id/000555 • To send signal (button press) just provide name • To change folders use ‘fldr.ffffff’ • Multiple inputs can be separated by ‘@’ e.g. _cmd=cust_id/000555@del_btn@ok_btn@exit_btn • This would enter customer #, then press delete, okay and exit

  35. iNomads – URL options • You can access URL parameters from your code • %inomads’url_arg$() provides access to them: • %inomads’url_arg$(n) • Returns ‘nth’ argument (base 1, index 0 = host address) • Generates error 42 if passed an invalid index • %inomads’url_arg$(x$) • Returns argument value for xxxx=yyy • Generates an error 11 if specified value not found on URL • %inomads’url_arg_cnt has number of arguments

  36. iNomads – Debug System comes with web based debugger Allows you to view/debug processes Access to: Program stack with code and variable dumps Open file list Tracing Text mode screen Can debug iNomads and non-iNomads tasks

  37. iNomads – Debug System comes with web based debugger Allows you to view/debug processes Access to: Program stack with code and variable dumps Open file list Tracing Text mode screen Can debug iNomads and non-iNomads tasks

  38. iNomads – Debug System comes with web based debugger Allows you to view/debug processes Access to: Program stack with code and variable dumps Open file list Tracing Text mode screen Can debug iNomads and non-iNomads tasks

  39. iNomads – Debug System comes with web based debugger Allows you to view/debug processes Access to: Program stack with code and variable dumps Open file list Tracing Text mode screen Can debug iNomads and non-iNomads tasks

  40. iNomads – Printing • System automatically converts *viewer* to PDF • PDF file is generated in the session ‘tmp’ directory • When complete system will initiate a popup window of the PDF • User will be able to view, save or print the document • File will be deleted at end of session • SYSTEM_HELP also modified to pop windows • If application attempts to open a document a window will be created • e.g. SYSTEM_HELP “test.xls” • File will be copied to ‘tmp’ directory This functionality is subject to browser security settings

  41. iNomads – Get file box New GET_FILE_BOX emulator for iNomads Uses list view to show file names, size, and dates Includes ICONs to indicate file type where possible Based on file suffix Can be used externally GET_FILE_BOX X$,"","Enter file" Includes security torestrict access Directories are defined in the inomads.conf file Additional directories can be set in %GFB_DIR_TBL$

  42. iNomads – File transfers Two functions provided to upload/download files To request user upload file from workstation %inomads’upload_file(from_file$, to_file$, asciiflg) To initiate download of a file to workstation %inomads’download_file(from_file$, to_file$, asciiflg) Browser security rules mandate: USER CANNOT BE FORCED TO COMPLY FILE NAME CANNOT BE PROVIDED FROM SERVER A non-zero ‘asciiflg’ requests CRLF conversion System will attempt to determine browser OS If Windows->Unix system will change CRLF accordingly

  43. iNomads – COM/OCX iNomads does notsupport COM/OCX controls It does emulate ‘Shell.explorer’ however Replaces control with an iframe within the web page Provides emulation of following methods/properties: LOCATIONURL$ - Current page NAVIGATE2$(…) - Go to specified page GOHOME() - Go to home page GOBACK() - Go back a page iNomadsdoessupport the following PxPlus objects: Google Maps Enhanced Charts HTML Editor (tinyMCE)

  44. iNomads – JavaScript Method provided to interface with JavaScript %inomads’js_eval$(…) Forwards JavaScript to browser for execution Returns value returned Allows application to interact with other browser tools

  45. End of Presentation Thank you

More Related