Native mobile app development using LongRange
How does LongRange work?
LongRange consists of a server-side management service (LongRange Server) and an app that runs natively on a mobile device (LongRange native mobile app). Users download the app to their mobile device, connect to the server and are ready to use the business applications. The apps can also operate offline when no cell phone or Wi-Fi communications are available.
When a user of a mobile device invokes a form view in the LongRange native mobile app, the action sends a request to the LongRange Server, which calls the associated RPG, COBOL or CL program. These programs can also call other RPG, COBOL, Java or CL programs, Web services, message queues etc. The program performs its processing and issues a send screen command. The LongRange Server sends the screen to the app and it presents the screen on the mobile device. The LongRange mobile app is faster than browser-based mobile apps when rendering screens and responding to user actions.
What does a LongRange app look like?
The LongRange app processes input and output from IBM i (System i, iSeries, AS/400) programs with a significantly enhanced user interface on Apple and Android phones and tablets as well as Windows 10/8.1 tablets and PCs.
- The user interface is extended with touch and enhanced visually for use on mobile devices.
- Apps can send and receive files between a mobile device and a server.
- IBM i programs can use capabilities provided by mobile devices, including the camera and geo-location services.
The LongRange screen layout comprises panes for navigation, tabs, commands and a content area where developers snap in form views (screens generated by IBM i programs), HTML applications (pages and sites) and document views.
- Navigation is the equivalent of menus and shows options accessible from the mobile device.
- Tabs provide concurrent views of information from multiple programs and allow users to quickly switch between views.
- Commands are user actions, for example save and cancel.
- Form views are screens generated by RPG, COBOL or CL programs that are rendered in the LongRange native app.
- Web views are HTML applications, Web pages or sites.
- Document views show document files and folders either on the mobile device or on a remote server.
Developers can build business applications using only an IBM i program in a form view, or composite business applications using combinations of form views, Web views and document views.
LongRange mobile app
What's in the mobile app?
LongRange is a native mobile app comprising components for navigation, tabs, form views and commands, and it requires installation of the LongRange server on an IBM i server.
It provides the infrastructure of the application. Developers create programs and snap them into the application schema using LongRange Studio. Business applications developed with LongRange are easily maintained and extensible and developers can change and/or add programs without disturbing the whole application.
An application schema defines the static parts of a business application, including menus (captions and icons of the menu items), form views (tabs), Web views, document views and the program to call when a user selects a menu item or requests an action.
The program provides the screen layout and data content that the LongRange mobile app displays on a mobile device. Screen layouts adapt from portrait to landscape and landscape to portrait as the mobile device changes orientation. Screen layouts and content adjust when displayed on small (phone) or large (tablet) screen sizes. Developers do not need to design screen layouts and content for each screen size.
Form views are typical forms that contain data and labels (text describing the data).
The form views are screens generated by RPG, COBOL or CL programs.
Using Web views developers can include HTML applications, pages and sites as part of a composite application.
Document views show documents and files in folders on a mobile device or on a server. Users can take photos and store them in folders, and accept documents from other apps on the mobile device and save them in folders on the device or a server.
Sample applications and templates
LongRange includes an extensive collection of sample business applications and program templates. The sample applications range from the introductory "Hello World" style of application to fully functional applications. When you run a sample app you can see not only the screens and user actions, but also view the program code.
Use LongRange Studio to define the static parts of an application, such as the menus, the captions and menu item icons, form captions, which program to call when a menu is selected, etc.
Application schemas can include:
- Navigation – menu structure hierarchy and menu item icons.
- Form views - typical forms showing visual controls like labels and text boxes that present information to users.
- Document views - file and folder explorers showing lists of files and folders that contain documents, presentations, images photos, movies (videos) associated with the application.
- Commands - actions available to users such as save or cancel.
Developers can use their existing IBM i development tools and LongRange Studio to develop business applications for use on mobile devices.
Use RPG, COBOL or CL programming languages to develop business applications for use with LongRange. The programs can also call other programs on IBM i servers, use data queues, interact with the database, etc. From a developer's perspective the programs are just like any other IBM i program.
Developers familiar with the Programming Development Manager (PDM) and the Source Entry Utility (SEU) require a developer workstation, LongRange Studio and terminal access to PDM and SEU.
Developers familiar with the IBM Rational Developer for Power Systems require a developer workstation, LongRange Studio and the IBM Rational tools.
Developers also need an iPhone/iPad, Android or Windows device to test their programs.
Programs can access mobile device features
LongRange expands the capabilities of IBM i programs beyond the information displayable on a screen. With access to mobile device features including the camera, geo-location services, and files stored on the mobile device, IBM i programs can capture, manage and display not only screens but also photos, documents, maps, and mobile device geo-location information.
For example, a business requirement of an insurance claim system is a photo of a damaged motor vehicle. An assessor with a mobile device can take photos then use the app to save the photos in the database on an IBM i server, or save the files in a folder on the server's file system.
Using LongRange, IBM i programs can also send files to a mobile device from the server.
Operate offline without a network connection
Developers can design apps to operate online with a network connection or offline when no network is available. In offline mode, the apps use data stored in a database on the mobile device and forms that allow users to view and edit the data. When a connection is available, the apps can send data to a server and receive data from a server.
Business requirements will suggest the appropriate design for always connected or sometimes connected apps. Always connected apps need to access data on a server in real time. Sometimes connected apps can operate standalone and connect only when they have data to send to a server.
Prototyping and agile development
Use LongRange Studio to rapidly create a business application prototype to demonstrate to users. Building a prototype will help to define the required programs, estimate the size of the project, and also identify functionality missing from the design.
Developers build the business application a program at a time, snapping each completed program into the prototype and gradually turning it into a working application. This development methodology is agile and evolutionary. Users do not wait for months or years to work with a completed application. Instead they see an application that grows and adapts quickly to changing requirements.
Developers can use their existing debugging tools. Therefore, finding and debugging errors in programs developed for LongRange is no different to finding and debugging errors in any other programs.
To assist developers find errors LongRange provides two levels of tracing, one at the program level and a second at the system level. Developers can use tracing during testing or debugging to track activity of individual programs. System level tracing has a wider scope and produces much more trace data than program level tracing.
Deploying the LongRange native mobile app is as simple as downloading the app from an app store and configuring communications with an IBM i server.
Updating the mobile app is the same as enhancing and maintaining any IBM i program. Once you deploy program updates to your production system they are immediately available to users of the LongRange mobile app, without having to download or update anything on the mobile device.
Security is an integral part of the product and is designed to protect data and business applications while making them available to remote users with mobile devices. LongRange supports a number of physical implementations, including reverse proxy, each intended to provide different levels of scalability and performance and without compromising security, including the following:
- Supports the IBM i security and authentication mechanisms up to and including the highest security level (level 50).
- User identification and passwords are encrypted before transmission and cannot be cached in the browser.
- Supports log-in from specific IP addresses.
- Supports log-in from specific device names.
LongRange Server supports Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols which allow for secure authentication, encryption, non-repudiation and VPN technologies. Both SSL and VPNs prevent eavesdroppers from listening and intercepting traffic between a browser and a server.
Communications traffic between a mobile device and the server is compressed which offers two major benefits. Firstly, traffic is harder to monitor with sniffer devices. Secondly, when using SSL or VPN technologies, the amount of data transmitted between a server and a mobile device is reduced before the SSL or VPN encryption or decryption processing takes place. Compressing communications traffic achieves considerable savings in bandwidth and CPU cycles.
The applications run on the server and no business logic runs on the mobile device. Therefore, applications and the database are not exposed to the Internet or internal networks.
- LongRange mobile app
- LongRange Server
- LongRange Studio mobile app development tool
- Build native mobile apps
- Use familiar RPG, COBOL and/or CL programming languages to develop business applications
- Automatically generate mobile app screens
- IBM i programs can use the capabilities of mobile devices, including the camera and geo-location
- Apps can operate online when there is a network connection or offline when no network is available
- Apps can use storage on a mobile device
- Apps can send and receive files between a mobile device and a server
- App templates and extensive code examples
- Multilingual and DBCS language support
- Use existing IBM i infrastructure
- Uses strong IBM i security
- TLS/SSL encryption
LongRange requires IBM i V5R4 or later.
Document views require the installation of LongReach.
LongReach requires IBM i V5R4 or later.
LongRange Studio requires Windows 7, Windows 8 or Windows 8.1 and .NET Framework 3.5 or later.