Axional Mobile Core

Connect mobile users to the precise
data and functionality they require

Axional Mobile is a software platform which allows IT departments to dynamically roll out business applications to users of Android™ devices from a centralized system. In this way, companies can mobilize their applications with unprecedented flexibility.

As opposed to the conventional development of mobile applications, whereby each new development requires a new app, Axional Mobile provides a global infrastructure through which apps built on the server can be executed while leveraging all features of the device.

This solution consists of:

  1. Server system for service-oriented architecture (SOA) applications with horizontal scalability, available for Linux OS. Infrastructure services (connection to database systems, load balancing, application dictionaries, data transport, etc.) are provided.
  2. Operating system designed to run in the cloud, allowing administrators to define security policies and user privileges while providing a wide range of system services, from access to the company disk drive to management of wifi printers.
  3. A layer of transport and communications that allow corporate servers to process the requests of multiple mobile users via SOAP services with cloud load balancing.
  4. A framework for the design of apps that make complex forms and key transactions available to mobile users, as well as operational reports and OLTP reports.
  5. A framework to develop the business intelligence reporting units which let programmers provide end users with high-quality reports and dynamic graphics.
  6. A system of high-quality, on-demand PDF document generation, both for reporting systems and for formatted documents (orders, delivery notes, invoices).
  7. A geospatial module for data processing with data map projections, as well as requests for points of interest located near the device.
  8. A GPS tracking and real-time localization module which allow orders to be sent to and received by devices according to their position.
  9. A replication module which allows the synchronization of data between central systems and mobile devices to be maintained automatically.
  10. A local printer management module with printer discovery capabilities, allowing mobile users to see the printers available in their environment.

Architecture

Given that scalability, reliability and transactional integrity are even more important in a mobile environment, and as interruptions of communication are frequent in mobile devices, Axional Mobile incorporates error recovery capabilities and emergency contingencies.

In a traditional scenario, if the communication between client and server stops, the current processes simply cease to function. On a mobile level, however, switches to offline modes happen all the time. Therefore, processes must remain available as much as possible and resume as soon as communications become available again.

Based on these needs, the system provides the infrastructure necessary for the deployment of enterprise applications on mobile devices.

SOAP


Dialog between central systems and mobile users takes place using a combination of services based on the SOAP protocol.

SOAP is a protocol for the exchange of information structures using web services on the HTTP transport network, which is maintained in XML.

The system’s core server grants mobile clients multiple SOAP services, grouped into four categories:

  1. Operating system and application control services, which supply infrastructure for users to access resources such as desktops, intelligent data channels, menus, and access to data sources and applications. It also includes the essential data replication system.
  2. The SQL operation service, which allows client applications to conduct operations with security controls in both directions.
  3. An app operations service, which makes it possible for transactions, reports and queries defined in the central systems to be used by mobile terminals.
  4. ‘Groups of transactions’ service, which permits the processing of complex operations grouped into more basic, atomic operations.

To solve the dilemma of interruption of coverage, maintaining the system’s smooth functioning, Axional Mobile uses a SOAP message serialization mechanism on the mobile device’s SDCARD memory.

Read Cache

SOAP dialog received on the servers is kept in a local cache. In this way, all requests made during the last few hours are still available if coverage is lost.

When a mobile user with no connection requires data, the system reviews if there is an available copy in the cache. This copy is treated as an original system message and offers the same performance. The user does not notice a difference when disconnected, aside from an indicator on the control bar and possible vibration settings.

Transaction Cache


If the data that the user is seeing can be modified, and at the moment of confirmation there is no connection, the transaction is automatically stored so that it can be transmitted as soon as a signal becomes available.

Multi-Tenant: Scalability in Mind

Axional Mobile is designed according to a scalable multi-tenant architecture. A multi-service architecture is prepared to attend to multiple environments simultaneously (whether departments within one organization or multiple).

Tenants of a multi-user service function in virtual isolation between themselves: organizations can customize an application as if each one had a separate request. As such, your data and personalizations remain completely isolated from the activities of all other tenants of the service. A single instance of an application effectively transforms itself into time needed to execute that particular tenant’s requests at a given moment.

Scalability

The system features mechanisms to maximize the benefits of corporate systems in terms of scale, using options such as:

  • Round robin load balancing of SOAP requests to clusters of application servers.
  • Intelligent redirection of database access requests by mobile devices to primary or secondary servers, according to the nature of the request.
  • Load thresholds for groups of users, thus determining the number of active requests in the connection pool.
  • Operating performance sampling to obtain usage statistics and detect bottlenecks.

Replication

However, not all operations can be handled through read/write caching. While the cache may be perfectly viable to consult reports or carry out simple transactions, more complex operations cannot be supported efficiently.

To overcome this gap, the system incorporates a data replication system, allowing mobile devices with database structures shared with corporate systems to remain synchronized.

Synchronization Policy

Replication is defined in a synchronization policy. This policy configures the following:

  • Which tables of the system are replicated.
  • Direction of replication (upload, download, neutral, merge).
  • Synchronization intervals (hourly, at 8:30 PM on Saturdays, the first day of the month, etc.).
  • Operations to delete obsolete data in terminals (discontinued items, expired pricelists, former clients).

Changes to the Data Model

Replication supports structural changes to the server’s data model, which are then detected by clients who will adapt local tables to these changes without the need for manual user adjustment. Adding a new column or even a new table requires no effort.

Remote Administration

Replicated information is stored in a local database managed through SQLite. The database can be analyzed remotely by the IT department by sending SMS commands.

An IT administrator can define, in the server, a series of SQL operations to execute (a batch of commands). Subsequently, an SMS message can be sent to a specific mobile device, indicating: “process batch N”.

The device, with no need for user intervention, requests the batch of operations from the server, executes them, and sends the results to the central server.

The administrator will get SMS messages confirming both the receipt of the operation and the entire result of the process.

Content Provider

The data replication system is available to other applications via a content provider — a mechanism of the Android™ operating system which allows applications to interact with data that does not belong to them.

For example, a salesforce application like Axional Sales Force or a maintenance function such as Axional Mobile CMMS doesn’t need to implement complex synchronization mechanisms nor transaction transport. It simply operates with local data structures. Axional Mobile does the rest.

Application Launch

One of the problems with conventional development environments is that they are not equipped for the design of mobile applications.

Axional Mobile uses an architecture based on metadata, providing ultimate flexibility and scalability in mobile app design.

In Axional Mobile, all components which programmers use and users see are representations of metadata stored in a relational structure called the ‘dictionary’.

Data entry forms, reports, access privileges, and company-specific business rules (including the definitions of tables and indices) are abstract constructions which exist in the metadata and define the application.

Initial System Download

The emergence of systems such as Apple™ and Android™ have revolutionized application deployment mechanisms. Axional Mobile is distributed as an APK which can be sent by email (rendering it auto-installable) or downloaded from the Android™ market.

Resource Administration

The mobile user identifies themselves to the corporate system with an identifier and access code. Via their web interface, administrators can manage:

  1. Available database resources, i.e. which systems or data sources will be able to access the user’s applications (whether real versions, test versions, or company-specific versions).
  2. System resources such as the shared remote disc, the CPU quota, etc.
  3. Desktops and access menus for applications, allowing a user to have multiple mobile desktops to organize different tasks.
  4. Information channels for system applications.

Publication of New Applications

Once the Axional Mobile Core has been installed, your organization is equipped to provide access to your corporate portals in a dynamic way.

It is no longer necessary to reinstall mobile applications to have all new features at your disposal. All devices are administered from a single point.

Security

Security is more important than ever in mobile environments. Axional Mobile provides the necessary security infrastructure to manage distributed application scenarios, which include:

  1. The system of database assignment and control, which defines which users are granted access and under what conditions.
  2. A system of entity rules, which define access to data patterns and allow independent definition of applications with accessible subsets.
  3. A system for assignment of entity rules to users.
  4. A system protecting SOAP operations, ensuring not all services are available to all users.
  5. A logging system which allows query operations to be drawn up at any time, as well as transaction operations. The system can also track and trace what a specific user has consulted or what changes have been performed in a specific table registry.
  6. Data transport security using SSL protocol.
  7. 256-bit AES encryption of SQLite database files to prevent illegal access to device data.

Furthermore, in case of device loss or theft, options exist to both block access and send an SMS message to destroy the device’s locally-stored data.

Desktops

The application allows IT departments to organize their mobile systems on desktops.

  • Each desktop can configure its own display style and background images.
  • Each desktop can provide distinct menu options. For example, a sales desktop can display different options than customer relations desktops.
  • Each desktop has a specific collection of data channels which utilize access to business intelligence resources.

Desktop options can be grouped together, improving the usability of the application on smaller devices.

Application Service

So how does one publish applications on mobile without the need for custom development specific to each new app? The server incorporates a web development environment for menu design, sophisticated consultation screens, forms, work reports, transactions, PDF documents, etc.

These applications are assigned to users by means of their database profiles, from among the databases to which the user has access.

Menus


The system provides administrators the ability to construct hierarchical menus and rapid access to the application system. Similarly, the client application permanently stores updated lists of the most frequent operations.

The user therefore has three mechanisms by which they can rapidly access operations.

Consultation System


Database searches can require data filters and guided questions, e.g. to request client sales in a specific period or to check the warehouse stock level of a certain product.

With Axional Mobile, making these complex reports available to users is simple, and users are also granted search capabilities which can include:

  • Operators (equal to, larger than, smaller than, between, etc.).
  • Single-select data lists.
  • Multi-select data lists.
  • Logical OR operators (as opposed to just AND).

Operational Reports


The outcome of a consultation is a real-time operational report with results obtained from the database assigned to the mobile user. This report may contain aggregated data, totals, and links to more detailed reports.

As such, with a single click on a piece of data, users will be able to navigate to relevant details and related reports.

Transactions


Consultations may be carried out to obtain results used in operations, such as a client’s terms and conditions. With the appropriate permissions, the mobile user will be able to modify the visualized data which the server processes in a transaction. This transaction could trigger such processes as, for example, an approval request of new terms and conditions.

Rapid data capture and lightweight transactions help design forms that are simple, yet possess great operational depth. These data captures may include conditional questions based on answers to earlier data, granting the terminal more intelligence. Just like other transactions, these run online against the central database system.

Document Generation

If a mobile user needs to print data, an equivalent PDF can be requested at any time. The server will immediately generate a high-quality PDF which can be printed locally through the wifi-integrated print manager.

These documents include not only reports, but also complex documents such as incident reports, invoices, delivery notes, offers, or purchase orders.

  • Business Operational Reports, which allow the production of work reports including breakout groups, totals, etc. with automatic layout and font adjustment.
  • Pixel Perfect Reports, which allow the sending of document forms or templates with automatic layout and font adjustment.
  • Page Perfect Reports, which allow the generation of documents formatted according to predefined measurements, such as invoices, delivery notes, etc.

Analytics

Axional Mobile Analytics is a fully integrated web and mobile access tool that provides business users with OLAP analysis and reporting capabilities which they can rely on for their information needs. It gives businesses flexible tools to dynamically obtain reports and graphics on a highly interactive, easy-to-use mobile interface. Users gain instant access to business information, making it meaningful and relevant according to the demands of their specific work.

Characteristics

  • Reporting
    • Intuitive reporting by simple drag-and-drop of dimensions and measures
    • Output in most extended formats: HTML, Excel, CSV, etc.
  • Data analysis
    • Drill-down capabilities for richer data analysis
    • Graphic visualization of results
  • Integration
    • Security and authentication, with user role-based access to data and analytic content
    • Use of XML for Analysis (XMLA) standard language for data access in analytical systems
    • Use of an XML SQL grammar that the system automatically translates to native syntax during execution
    • Built-in schemas integrated with the Axional ERP data model
    • Integration with Informix Warehouse Accelerator

Benefits

  • Increased productivity through faster, analytics-enabled access to relevant business data
  • Ease of app development through the use of XMLA standard language and access
  • Consistent security and authentication roles thanks to integration with Axional Webstudio
  • Time and resources saved through multi-database interaction, which removes the requirement to develop interfaces to obtain data from different engines

Business Intelligence

One of the principal functions of a mobile application is to supply key data to users who find themselves away from their work centers. To attain this goal, Axional Mobile incorporates a potent design and publication system of high-quality reports which go much further than traditional operational reports.

Just as in the applications module, the IT department gains web tools for the design and publication of business intelligence resources. These resources are assigned to an individual or collectively to a group of permitted users, through the desktop channels system.

Business Intelligence Components

The BI system allows mobile device users to have potent views of data such as:

Lists (read more)

The list viewer supports lists of data which could include alphanumeric values and performance indicators. It includes capabilities such as:

  • Navigation across data in tabular form.
  • Horizontal and vertical scrolling.
  • Column aggregators.
  • Breakout groups.
  • Search and sorting.
  • Percentage columns.
  • Cell formatting.
  • Hyperlinks to other reports in a cell.

Superlist (read more)

The superlist is a powerful tool which allows data to be visualized in tabular form via a strong software library, allowing:

  • Blending of alphanumeric data and graph columns.
  • Alerts and trend indicators.
  • Defining line graphs, area graphs, toolbars, columns, superimposed columns, combined graphs, pie charts, and tables.
  • Analyzing detail row-by-row by means of a single click.

Catalogs (read more)

The catalog viewer is designed for hierarchical navigation of information, and is especially useful when managing data collections structured in mobile or tablet devices.

The catalog permits navigation across hierarchical information, down to the deepest level of data and graphing detail which can be shown for the metrics analyzed.

Pie Charts (read more)

The pie view is a way to visualize proportions, in which the percentages of a metric are represented as a pie graphic. Each portion is represented by a different color indicating an element analyzed. The component supports:

  • Animated touch rotation to allow travel around the elements of the pie chart.
  • Defining the number of elements and colors used in the pie chart.
  • Operating with series of multiple values, allowing focus on more significant Ns while simultaneously analyzing them all in tabular form.
  • Operating with multiple series (for example: sales from different quarters), with horizontal shift when series changes.
  • Drilling down to manage auxiliary data (alphanumerical, geographical, etc).

Funnel Graphs

Funnel graphs show values as progressively decreasing proportions. The area is determined by the value of the series, e.g. a certain percentage of the total sum of values.

The funnel graph is useful for processes which begin with a full 100% and end with a lower percentage, highlighting the stages and magnitude of reduction.

If the graph is combined with control data, that is to say, measurements that quantify the number of elements lost in each step of a process, then the funnel graph will display procedural bottlenecks.

Radar Charts

A radar chart is a graphic method of visualization of multivariate data, in the form of a two-dimensional graph with three or more quantifiable variables represented in the axes radiating from the same point.

Radar charts are a useful way to show multivariate observations with an arbitrary number of variables, where each star represents an observation.

Series (read more)

Series analysis is optimized for drill-down analysis of measures (sales, profits, subscriptions, television ratings, etc.) of points organized in time sequences spaced into uniform intervals (minutes, days, months, years).

The series viewer allows:

  • Time axis coarsening.
  • Performance indicators and alerts for each period.
  • Three values for each measure:most recent value observed, total change, and percentage of change.
  • Floating labels on series.
  • The simultaneous comparison of two points by selecting or touching them to obtain positive and negative differences between the selected intervals.
  • Navigation to the desired level of detail.
  • Associating an external link to each point in time, i.e. to see the details of an event (a collection of data, news, a video).
  • Series comparison.
  • Adjustment of level of increase.
  • Trend adjustments according to type: linear, polynomial, logarithmic, moving average.

Treemaps (read more)

The treemap is a powerful visualization model used to represent hierarchical relationships between quantitative data. Each data element in a group is represented by a
rectangle. All rectangles have different sizes, and as such, their area is proportional to a specific attribute.

When the color and size are related in some way with the structure of the treemap, it is often easy to see patterns which would otherwise be difficult to detect, for example, whether a specific color is particularly relevant. A second advantage of treemaps is that, by construction, they make efficient use of space. As a result, thousands of elements can show onscreen simultaneously and legibly.

The system allows, among other options:

  • Changing units of measurement.
  • Different series of colors to indicate different attributes.
  • Drilling down into the hierarchy.

Gauges

Gauges are instrumental indicators such as thermometers and speedometers. The system of gauges gives designers the ability to represent meters through easily-interpretable visual indicators.

Geospatial Analysis

This helps with organizational decisions, providing the wealth of data that users need. Using powerful and detailed Google Maps images as a layer of visualization, you can show your data in the most meaningful way for decision-making.

Much data has a component which references a place: an address, post code, census, region, country, GPS coordinates, etc. Geospatial maps allow the visualization, analysis and management of data with this geographical component. With Axional Mobile, you can create maps which will help you visualize data patterns, trends or exceptions (read more).

Multi-Layer Maps


The system allows combining multiple layers of data, whether from internal or external sources. Combine your company’s geo-referenced information with demographic and geographic data. For example, correlating distinct data on a map, such as the location of your customers and their sociodemographic data (age, average income, number of computers) by
area (region, district, postal code).

Thematic Maps


These maps display statistical data aggregated for preset regions, such as cities or states, coloring in or shading certain geographic areas.

Heat Maps


Heat maps are one of the most potent tools for data analysis in BI systems. They illustrate the density and

distribution of a piece of data on a map. The influence of the point and its color level can be configured to make the most relevant data visible.

Points of Interest


Using the powerful capabilities of geospatial consultations, localize points of interest around your current position, such as banks, and display them on a map.

Clustering


Some applications require showing large sets of positions and markers on a map. By means of a process called “clustering”, positions near each other are grouped and represented by a single indicator.

Adjusting the zoom level of the map, the system will automatically add or remove data according to needs for its correct visualization.

Geopositioning

In a mobile application, device GPS is highly relevant at every given moment. For example, knowing vehicle positioning is essential when making adjustments to a product delivery route.

GPS Tracking

Axional Mobile incorporates mechanisms to help IT administrators determine what user information they would like access to (position, speed, altitude) and to what degree of precision (meters, time intervals). At any time these parameters can be changed, and the system will be notified and take it into consideration via an SMS message.

Data is received in real time and stored in the corporate database. It can be analyzed immediately via geospatial modules which can visualize the devices via mapping, track the routes they cover, determine the distance covered, or calculate the approximate time of arrival to a location.

GPS Events

Upon receiving online data on mobile users’ positions, the system allows events to be deployed according to geographic conditions. For example, an SMS can be sent to a customer when the merchandise in delivery is about 10 minutes away from their location.

The geopositioning system of Axional Mobile allows organizations to improve the management of personal itineraries efficiently and at a low cost (via the use of simple latest-generation phones).

Benefits

Axional Mobile is an ideal platform to rapidly deploy business applications to mobile device networks.

  • It gives organizations a centralized infrastructure to develop mobile applications.
  • It allows consultation forms and corresponding reports to be designed in minutes and published in real time, operating with information directly from the corporate databases.
  • It offers a vast variety of rich visual components to provide users with detailed information according to their specifications.
  • It operates in real time against central company systems, so that information can still be provided when system connection is lost.
  • It drastically reduces application deployment costs. After a one-time installation, all applications are designed in the server.

Technical Specifications

Mobile Client

  • The system is designed to run on Android™ devices regardless of the display.
  • Available on Android™ 2.3 or higher devices (smartphones, tablets, etc.)
  • Automatic synchronization and intelligent power systems using SOAP protocol and HTTP or HTTPS transport.
  • Support for 256-bit AES encryption of SQLlite databases.
  • Support for corporate databases such as IBM Informix, IBM DB2 UDB, IBM DB2 400, IBM DB2 Z/OS, Oracle, PostgreSQL.
  • Central network connection via WiFi, 3G or GPRS.

Server

The Axional Mobile Server acts as a bridge between the demilitarized zone (aka DMZ, or Internet) and company databases, offering SOAP services to mobile devices and transforming requests for SQL processes on the database systems.

It consists of a Java J2EE system equipped for use in Linux machines.

  • The server incorporates a web interface for the administration of users and applications.
  • It includes SOAP (over HTTP/HTTPS) transport mechanisms and authentication.
  • Two databases (schemas) are used so that, at the request of the main database system or a specific one, they can be accommodated. These databases are:
    • The configuration and startup databases which describe the guest system architecture (network addresses, database servers, databases, connection groups and permissions), user settings (permissions, available applications, synchronization rules), and tracking systems (queries, transactions, processes, SOAP messages).
    • The database of application metadata in which methods of data access and representation (input and output) are defined to mobile device users.
  • The system can operate simultaneously with a heterogeneous collection of data sources, equally transparent to the administrator and the user.
  • The server analyzes SOAP requests from mobile devices, interacts with databases via the JDBC protocol and produces metadata as a response to both input (question) and output (reply).
  • Each request is treated atomically, without the need for status to remain active in any of the three points (mobile device, server, database). Thanks to this architecture of service without active status, groups of servers can configure themselves in a cluster using round robin load balancers.
  • Physically, the Axional Mobile Server requires at least two networks, one to connect to the secure zone (company database systems) and another to the DMZ (Internet).

Axional Mobile Server Architecture diagram