Coordinating actions between the front-end of an app running on a mobile device and the back-end server or cloud that supports it can be tricky. Alpha Software's Alpha Anywhere mobile development and deployment platform builds all that in.
Written by John Ghrist
Some of the complexity of building mobile applications is because the task doesn't just involve building the functional application itself. There are also numerous supporting features to take into account, such as offline operation and data synchronization, resolving write conflicts to server databases, generating reports, security, and other factors.
Alpha Software describes its Alpha Anywhere as a "rapid application development platform for building and deploying mobile, web, and desktop business applications." It includes an extensive feature set that includes an application server, data integration, offline support with synchronization, cross-platform and cross-device support, a report writer, role-based security, and user interfaces that can include touch screens, signature capture, audio, video, and image annotations.
Even more importantly, Alpha Anywhere addresses both the front-end concerns of the mobile devices on which apps run and the back-end concerns having to do with the servers on which databases and other supporting business systems reside. For example, if an app potentially includes access to confidential information that only authorized users should see, Alpha Anywhere apps know on the back-end that this data should be omitted from any display, and the front-end part knows that it should hide where that information could potentially be displayed within the user interface. And Alpha Anywhere does it all by letting the developer simply check a box.
Developing Basic Apps
Letting Apps Access Databases
Using mobile apps is a two-way street between users and back-end servers. To that end, Alpha Anywhere includes a build-in system for developing electronic forms that help users on the front-end enter information that can be fed directly to order systems, databases, and other apps. Also, unlike apps on desktops, key selections are emulated, so programmers can include, for example, simulated keys that contain only characters valid for confirming certain data (e.g., numbered keys for entering phone numbers) to minimize incorrect data entry.
Alpha Anywhere apps can perform create, read, update, and delete (CRUD) operations from nearly any data source, including SQL databases, NoSQL databases, and web services. Alpha Anywhere integrates native drivers for a wide range of major database back-ends, including Microsoft SQL server, Access, Excel, MySQL, Oracle, DB2, and other databases for which there is an ODBC driver.
On the back-end, the Alpha Anywhere Standard Application Server handles HTTP and HTTPS requests from client browsers and servers. The server handles AJAX callbacks, translates pages and components for execution in the client's browser, and services other types of content that's stored in the server's file system (e.g., XML, JSON, multimedia) and may be required by an app.
Alpha Anywhere lets developers include touch-screen features, even for devices that don't support touch screens. Instead, Alpha Anywhere uses what's termed “abstract events,” which are events triggered by a touch event on a touch-enabled screen, or alternatively, a mouse on a desktop browser or a pointer on a pointer-enabled screen. As an alternative to the HTML5 OnClick event, abstract events can save up to 200ms per click on touch devices, improving user perception of performance. Also supported are rich user interfaces for all kinds of apps, which can include maps, charts, gauges, and special controls.
Extensive Report-Writing Features
Reports are an integral part of most applications. The Alpha Anywhere Report Writer is a banded report writer (i.e., one that uses table components with multiple, aggregated levels of detail. There's some debate about the efficacy of these for reporting on large data sets that we won't go into here), which is similar to Crystal Reports and is included with the development platform. The built-in Alpha Anywhere Quick Report Genie lets developers specify each report's overall structure and style, customize field and group labels, and adjust fonts with a few clicks.
The report-writing tools enable development of full-featured business reports that include grouping, calculations, summaries, and images, as well as the ability to optimize the reports for any device or platform. Users can jump directly to report sections of interest via bookmarks or links to each report's table of contents, with options at each point to drill down further into the supporting data. With a single button click, users can display reports as HTML, PDF, or both. In addition, users can export report data directly to Microsoft Excel, Word, or an ASCII file with the full structure of a report definition.
The performance of the report-writing features is augmented by the Alpha Anywhere Report Server, which can parcel out report-generating tasks to separate processes on different cores. This feature supports handling multiple report requests concurrently without bogging down server performance. The reporting tools also include charting options (e.g., bar, 3D, donut, hi-lo, box, spline, line, pie, scatter) that can function as visual components to reports or be used to support development of dashboards. The charting capabilities let users plot multiple data series on a single chart, mix chart types, activate server or client events based on user interactions, and dynamically display additional information based on user events. Reports can also include grouping, summaries, and images, all optimized for smartphones and tablets.
Finally, the report writing tools include the Google Visualization API, which lets developers set up creation of charts, gauges, and other visual elements by simply checking boxes to load the appropriate code.
What About Security?
Alpha Anywhere includes role-based security, encryption functions, and Secure Sockets Layer and Hash-based Message Authentication Code support. It also can use the security features of IIS and the .NET framework. Administrators can use the application server to track users, groups, and page accesses. Only users with correct permissions can update and modify data as their access is managed via field-level access controls.
Alpha Anywhere's security system tests every page and file request, eliminating the need to incorporate custom security controls. An inherent login/logout component works with integrated app security systems to handle new user registration and automates resetting lost passwords. It lets administrators hide controls when no one is logged in, set rules for login names, set expirations for logins, log all user activity, display warning dialog if sessions are about to expire due to inactivity, specify message templates, and similar functions.
Alpha Anywhere is also integrated with Apperian, the mobile app management platform and app store. Using app wrapping via Apperian, developers can provide additional security and policy controls without coding them. These controls potentially include corporate authentications, app-level VPNs, copy/paste protection, root protection, and crash log reporting. The controls also include data-at-rest encryption, which is encryption for inactive data stored physically in digital form (e.g., databases, archives, mobile devices).
Solving Offline Data Problems
One significant group of pitfalls for mobile apps is what happens when the mobile device, for whatever reason, has been offline for some period of time. Alpha Anywhere includes customizable capabilities for building offline HTML5 and web business apps. These capabilities can let developers control write conflicts in offline mode, let data (including data not backed up to the server) persist on the mobile device when the app is closed or the device battery fails, support conversion of SQL data into hierarchical JSON datasets, store and display transaction details (including changes and updates), and synchronize stored transactions between offline web apps and server apps. In addition, Anywhere-generated apps can incrementally download updated data from the server, better control long synchronization operations, and cache offline data.
When an offline synchronization occurs, if a write conflict happens because multiple users are trying to modify the same data, updates are suspended, notifications are sent to appropriate personnel to resolve the conflict, and the disputed updates are color-coded for easy diagnosis. Controls also exist for resolving synchronization errors based on server-side validation rules, setting rules for synchronizing list data, and dividing large updates into batches for better management of synchronization events between clients and servers.
Finally, Alpha Anywhere apps can integrate images and videos, provide access to Google Maps and GPS information, and incorporate calendars, scheduling controls, and date-picking capabilities if those are needed.
With its low-code app development, close coordination between front and back ends, granular data controls, extensive security options, and wide-ranging additional capabilities, Alpha Anywhere deserves consideration if your enterprise is looking for a platform for developing new mobile apps.