Mobile solutions present significant challenges for security, network reliability, distributed device and data management, and application architecture. Not widely recognized, however, is that the challenges of mobility are similar to those involved in implementing applications using service oriented architectures (SOA), especially those that cross company boundaries. For example, to run either a service oriented application for an extended supply chain or a mobile application for asset maintenance means managing an environment in which important components are out of the control of the data center in which networks may fail. These factors require disconnected operation and data synchronization, and a new approach to security. The conditions are more challenging than those that face the typical Internet or client/server application, but the applications that can handle them are more robust and allow users to continue working when the network is down because data and functionality is distributed and their work can later be transmitted to the central servers.
A new level of robust architecture
The demand for mobility has been rising since the first generation of mobile solutions offered applications that required always-on connectivity. The second generation solutions, the ones that the business side is clamouring for, uses a disconnected architecture in which the application works on the device and then synchronizes with the server when possible through a cradle or a wireless network. The benefits are tangible – CEOs receive critical data on a smart phone, or a mobile sales force in the field can close business at the point of customer contact instead of having to wait for forms to be filled out. Maintenance crews can improve scheduling and quality of service.
The danger for IT departments is to see mobile solutions as a sideshow or only implement mobility in isolation. The ultimate solution is a new level of robust architecture to meet the needs of both service oriented architecture and also provide the building blocks for mobile solutions. SAP, working with key partners like Intel, has realized that this mobile-ready architecture is the way forward.
Critical content over narrow pipe
What is required is an enabling layer of software, SAP Mobile Infrastructure (SAP MI), that provides developers with the tools to manage and integrate data arriving from the field with core enterprise applications as well as solve the problems of managing devices, security, and administration. SAP MI, a component of SAP NetWeaver, incorporates industry standards both on the client and on the server, so that companies can take advantage of the adoption of Bluetooth, WiFi, and WiMax standards for wireless networking by writing applications in Java that can run on many different types of hardware devices.
Mobile solutions distill applications to their essence: only the most critical data and functions can be sent over the narrow pipe. Architects must confront the challenges of server scalability, the risk of data collision, choosing the appropriate device for a scenario and then managing thousands of devices and their applications, implementing the solution, and ensuring data security at the device level from then on out.
In any mobile solution, data must be passed from central applications like Enterprise Resource Planning (ERP) or Customer Relationship Management (CRM) to mobile servers, and from there across a network to the device. SAP MI handles the data flow between servers and devices, while other SAP NetWeaver components like SAP Web Application Server and SAP Exchange Infrastructure provide the platform for integrating server-based enterprise applications with the new mobile solution.
Streamlining complex data
The server must have tools for streamlining data headed to the device and enriching it on its return so ERP apps might make use of it. SAP MI tackles the task of streamlining complex data from ERP apps for transport across networks to simple devices with limited storage space and computing power. SAP Mobile Infrastructure reaches in through the Application Programming Interfaces (APIs) to create a two-way pipeline for copying data to the temporary replica database, where streamlined data is kept. SAP NetWeaver, meanwhile, is used to integrate data and functionality from many different enterprise applications into a single mobile solution. In effect, mobile solutions are similar to a composite application made possible by a service oriented architecture (SOA), which can use data and services from many different applications.
Copied data is stored in flattened form inside a synchronization object. The objects then pass data to the devices, which send similar data back that must be enriched for use again. It’s SAP MI’s job to handle synchronization – which means avoiding data collision (by polling for new data) and collecting the relevant info from mobile apps. SAP MI’s smart synchronization ability ensures that only new data is passed back and forth, reducing the strain on the network.
SAP MI can also partition this data across multiple servers so that the mobile solution can scale. SAP MI also uses role-based user profiles to configure and manage devices – so IT merely has to configure a half-dozen profiles, rather than 10,000 devices.
The client side
Client-side applications constantly trade off between functionality and the device’s limitations. Applications must be conscious of saving power and be written with lowest-level hardware requirements in mind. That said, client-side data is also stored in synchronization objects, built atop Java code that either runs natively or else runs atop a mini web server running on the device. In both approaches, the Java code uses application programming interfaces (APIs) provided by SAP MI to access and synchronize data.
Securing the client side poses many headaches – while SAP NetWeaver’s single sign-on ability and basic security is a start, the loss (or theft) of a device leaves it vulnerable to hacking. That said, data can be encrypted, or automatically deleted after a period of time. But mobile security must ultimately be considered as part of a larger approach. All applications are built using the SAP MI Development Kit (MDK), which provides APIs, code libraries, sample apps, and emulators for Java. Developers can rely on these tools – as well as the resources of the SAP Developer Network – during the course of building mobile solutions.
Design and deployment roadmap
The rising demand for mobile solutions has led to an unusual tension between IT departments and users. Normally IT is the cheerleader for implementing new technology, while the business side takes a more skeptical view. But mobile solutions have turned the tables. In virtually every corner of the enterprise, the business side is clamoring for mobility, while IT is still cautious and should be.
Most IT departments will treat mobility as an experiment first, then scale it into an extension of the platform. Companies just starting down this road should first seek to connect all users’ devices to the network, then provide a software layer of security and functionality, and then secure those devices. Devices must be carefully chosen and introduced to avoid initial rejection. And IT should think long and hard about the strain on the network – thousands of users synchronizing their devices each morning could wreak havoc on the network. Start small and assume the worst when it comes to network performance.