This article originally published in the Architects Corner section of our LANSA Review customer magazine Issue 43, 2013.
Mobile devices have become extremely popular with consumers for accessing email, interacting with social media, online shopping, games, music and more. The uptake of mobile technology in the business world is rapidly increasing as well, as companies use mobile apps to streamline business processes and improve productivity.
Building a mobile app is a new programming experience, especially for traditional RPG and COBOL IBM i developers. These developers generally have a deep understanding of the business and its existing IT systems, but may have little knowledge about building apps for mobile devices.
LongRange gives the advantages of native mobile without the usual disadvantages. That's possible because the business logic of a LongRange native mobile app is driven from LongRange on the corporate server.
- The advantages: Performance, reliability, offline capability, productive user interface, full utilization of device features such as geo-location, signature capture, barcode scanning, photos, video, audio and phone.
- Avoid the usual disadvantages: With LongRange you don't have to re-publish an app every time the business logic changes. You don't have to develop and maintain a separate version for each device type. You don't have to learn Java or Objective-C or other new development skills.
It’s not hard to guess that the best business opportunities for mobile are in the areas of streamlining business processes and improving productivity for employees who travel and for staff who are on their feet all the time. Mobile apps are also frequently used to improve service to customers and partners.
Below are example scenarios of LongRange customers using their mobile apps. In all these examples, the mobile apps access and update information directly in corporate IBM i server systems. In most cases the apps replace paper based procedures that were laborious and error prone, or they streamline procedures that could previously not be dealt with in real-time.
|Asset Management:||Auditors use apps to scan the asset's bar code, update relevant details and photograph the asset.|
|Workflow:||Any workflow procedure where multiple people are involved in preparing, reviewing, approving or fulfilling a transaction.|
|Business Intelligence:||Managers use apps for real-time access to reports on staffing, inventory and sales.|
|Customer service:||Customers and business partners use apps to place orders, inquire in the status of a delivery, and other usual self-service tasks.|
|Sales:||Visiting sales reps use apps to access product information, view a customer’s sales history, and place orders.|
|Retail:||Sales assistants, while serving a customer, use apps to view product details, such as availability, pricing and delivery time.|
|Employees:||Employees use apps to submit their time sheets, activity reports, leave applications and expense claims. Workplace incidents can be submitted as well, with photos if needed.|
|Insurance claim assessors:||Insurance claim assessors use apps to take photos of the accident scene, make notes and photo annotations, access and update customer data and upload the claim for processing.|
|Delivery & distribution:||Drivers use apps to view delivery and route details, capture electronic signatures and post those with real-time delivery updates.|
|Quality control and stock intake:||Inspectors use apps to confirm deliveries and to record any quantity or quality differences.|
|Repairs & maintenance:||Technicians use apps to update the maintenance history of a product, consult diagrams and repair instructions, take photos, and order parts.|
|Stock replenishment:||Sales reps who visit customers use apps to do stock takes, generate a suggested order, review and amend the order with the store manager, and place the order.|
|Assembly/Manufacturing:||Assembly staff use apps for scrap reporting, engineering change notifications and to signal the need for stock/part replenishment at the assembly line.|
|Warehouse:||Warehouse staff use apps with barcode scanning for the recording of inventory moves and for cycle counting.|
These are just a few examples. to give you some idea where mobile apps can provide efficiency and productivity improvements to business activities.
IBM i developers who use LongRange are generally productive in a very short time. They have no new development language to learn and they are already familiar with the back-end application with which the mobile app needs to integrate. Apps developed with LongRange have a relatively low total-cost-of-ownership and a quick time to market.
There are multiple options for developing apps for mobile devices. Each option requires different levels of time and effort to build, and delivers different levels of user experience, as illustrated in the diagram in Figure 1.
Browser apps that interact with an existing Web site that has not been optimized for mobile access, are quick to implement, but the ease of use will be questionable at best. Web sites that are optimized for mobile access provide a better user experience, but do not have access to device features like signature capture, geo-location and bar code scanning.
Native apps provide the optimum ease-of-use, performance and user experience. When productivity is vital, or when signatures need to be captured, barcodes scanned or other hardware features need to be utilized, a native app is the only option. However, building native apps takes longer than the other options. Developers need to use device-specific development languages (e.g. Objective-C, Java and C#) and they must build a separate version of the app for each device type (Apple, Android, Windows, etc).
LongRange allows IBM i developers to build native apps for multiple mobile platforms using their existing skills, making them productive immediately. LongRange also comes with a range of templates, sample applications and RPG/COBOL code.
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 mobile business solution.
When a mobile user 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, and interact with Web services, message queues, etc. From a developer's perspective the programs are just like any other IBM i program. The program performs its processing and issues a send screen command to LongRange Server sends the screen to the mobile app.
The LongRange Mobile app processes input and output from IBM i programs with a significantly enhanced user interface, extended with touch, automatic portrait/landscape rotation and screen resizing for phone or tablet. IBM i programs can use the mobile device hardware capabilities, such as camera and geo-location, and the app can send and receive data between the mobile device and the server.
The LongRange native mobile app is faster than mobile Web apps when rendering screens and responding to user actions, providing a high performance solution.
The app contains components for navigation, tabs, views and commands. It provides the infrastructure of the application. Developers snap programs into the application schema using LongRange Studio.
Tabs provide concurrent views of information from multiple programs, allowing users to quickly switch between views. There are 3 types of views rendered in the LongRange native app:
- Form views are screens generated by RPG, COBOL or CL programs.
- Web views are HTML applications or Web pages.
- Document views show document files and folders either on the mobile device or on a remote server.
Developers can build applications using only IBM i programs in form views, or composite applications using a combination of views.
Developers use LongRange Studio to define the static parts of an application, such as the menu item captions and icons, form captions and which IBM i program to call when a menu item is selected.
Deployment and management
The LongRange mobile app is downloaded from an app store and configured to connect to the server.
Updating a LongRange mobile app is the same as updating any IBM i program. Once updates are applied to your IBM i production system, they are immediately available to users of the app, without them having to download or update anything on the mobile device. This is a major advantage of managing LongRange apps out in the field, in comparison with standard native apps that require mobile users to download a new app for every program update.
Security is an integral part of the product. LongRange supports:
- IBM i security and authentication mechanisms up to and including the highest security level (level 50).
- Encrypted User identification and passwords.
- Log-in from specific devices only (an administrator can instantly remove a device from the list of accepted devices).
LongRange Server supports Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols which allow for secure authentication, encryption, non-repudiation and VPN technologies.