Welcome!

PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder, Mobile IoT

PowerBuilder: Article

Getting Enterprise Data onto Multiple Platforms

It’s a mobile world!

No one would argue that the world is mobile. Let's discuss how mobility is impacting business on a global level. Currently we have explosive data growth leading to information everywhere. What is critical is access to useful information anywhere, anytime. End users want convenience, enterprises want ROI. Wireless now is everywhere and coverage is strong and constantly improving. People can literally work from anywhere today and be as productive out of the office as they would be in the office.

Consumer needs are defining the business needs for mobile users. New mobile devices are constantly coming on the market. New operating systems are also emerging as the mobile world evolves. This is a challenge for corporate IT to constantly support the latest and greatest devices that employees want to use. Business is always moving and there is no end in sight. Organizations require access to real-time information from any device, anywhere and reliably. It's also important to consider how this information and devices are managed and secured. Front lines are evolving into mission-critical computing environments and enterprises are increasingly mobilizing their workforces but also need to integrate with enterprise systems. Mobile applications are being used more and more by field workers and sales forces to improve customer service and productivity. Organizations are moving from siloed applications to strategic mobile platforms.

The Need for a Mobile Platform
The need for a mobile platform has been well documented with market drivers and metrics from well-known industry analysts. For example, IDC has stated that 70% of organizations are currently deploying at least one mobile application, with more than a third of these companies deploying multiple mobile applications. Enterprise customers today are poised to deploy mobile applications in greater numbers than ever before. As these businesses seek more strategic deployments of mobile applications for improved worker productivity, enhanced customer service, and increased organizational efficiency, mobile enterprise platforms represent the core architecture behind such deployments.

Gartner's view is that by 2010, 50% of enterprises will have migrated away from tactical mobile application silos (supporting a single application) to strategic platforms capable of supporting multiple applications, managing devices, and securing data and transport. J.Gold Associates recently analyzed the number of mobile application initiatives underway at enterprise companies and found that 32% had three projects underway, 22% had two projects underway, and 16% had one project underway. This shows that the number of simultaneous projects is likely to increase, and more than one initiative underway will likely require leveraging assets of previous or parallel projects. For some organizations, this could become a daunting task.

Why Enterprise Mobile Applications?
Mobilizing your workforce is all about a higher quality of service, not only for your external customers, and let's face it they should be your #1 concern, but also for your internal customers, your mobile workforce in their day-to-day duties. Addressing user needs and current inefficiencies for your mobile workforce will put you well on the way to a win-win situation.

First, your mobile workforce needs tools that give them accurate and timely data, providing them with a competitive edge out there on the business battleground. Second, these tools need to improve their productivity and responsiveness to the ever-changing business climate. Last and by no means least, nobody wants to re-input data. So a reduction in back-office data entry and a higher level of accurate data is key. If these are not compelling enough reasons of ‘Why go mobile?' I can't think of what would convince the decision makers in your organization.

Even in the current economic climate, the market trends and drivers state that mobile enterprise applications spending will increase to become multi-billion dollar markets and there will be one billion mobile workers in 2011, with more than 150 million mobile field workers.

What Is Sybase's Unwired Enterprise Vision?

  • Liquidity - Free flowing information with economic value
  • Mobility - Freedom to work anytime, anywhere
  • Liquidity + Mobility = Unwired Enterprise

Waves in Mobility
In the last few years I have seen three distinct waves in mobility. First there was Communicating, which contained two types of applications one of which was Mobile Alerts, which were made up of a thin-client, read-only, one-button response if any. Then Mobile Mail and PIM, which encompasses synchronizing email, contacts, calendar and instant messaging. The second wave was Leveraging, which contained mobile forms with structured input, varied architectures and devices, mostly browser based. At the tail end of the second wave came Mobile Smart Clients, a combination of forms, local small business logic and access to mobile platform hardware. The final and third wave, so far, is Integration, which is all about Mobile Services, basically having your Mobile Smart Client being able to access your existing powerful businesses processes.

Smart Client applications are occasionally connected by design, with data stored locally on the device; this allows the application to work without wireless connectivity and containing local business logic. Along with the data storage layer is a synchronization layer. For you Sybase folks you can think ASA/Ultralite and MobiLink.

The synchronization layer communicates with a back-end synchronization server; this communication can be wired or wireless, though nowadays this will be wireless. This synchronization server integrates with the enterprise data sources and is responsible for implementing synchronization logic via scripts (see example scripts) to ensure the minimal amount of data is transferred. Optionally, though it's more of a necessity in the scope of a typical mobile application, the synchronization server implements security including authentication and encryption.

Example Synchronization Scripts
1. Upload

  • Remote database keeps track of all changes since previous synchronization
  • All changes are sent in a single upload stream
  • Sync Server applies changes in a single transaction

2. Download

  • Scripts in the consolidated database determine changes that need to be downloaded
  • All changes are sent in a single download stream
  • Download Cursor

SELECT cust_id, cust_name FROM Customer WHERE last_modified > ?

  • Upload_insert

INSERT INTO Customer( cust_id, cust_name ) VALUES( ?, ? )

  • Upload_update

UPDATE Customer SET cust_name = ? WHERE cust_id = ?

  • Upload_delete

DELETE FROM Customer WHERE cust_id = ?

MEAP to the Rescue
With these waves in mobility we have seen an increasing number of devices, platforms, and application diversity, which continues to grow with greater intensity and these new technologies drive the need for a new infrastructure (see Figure 1).

MEAP or Mobile Enterprise Application Platforms are the next-generation architecture for mobilizing enterprise applications. A MEAP simplifies the development, deployment, and management of mobile enterprise applications. MEAPs also address the difficult mobile application challenges of back-office integration, secure access for mobile devices into the enterprise, reliable push data synchronization, and support for multiple device types. The vision for a MEAP is that enterprises will increase their employees' and customers' productivity by enabling them to access and use information anywhere, anytime, on multiple devices, on various networks. Also the supporting trends are that companies are realizing that delivery of information technology via mobile phones is a competitive advantage and employees/customers are increasingly demanding access to information anytime, on multiple devices.

The key mobile enterprise challenges that enterprises encounter when mobilizing applications and data are that developments are long and complex as well as difficult to deploy and manage. As you can see in Figure 2, there are other challenges.

When to use a MEAP is a question that's sure to be on your mind now. It has become apparent that deciding to use a MEAP can be helped by looking at the "Rule of 3." This rule states that if your projects falls into one or more of the categories below:

  • Three applications or more
  • Three devices or more
  • Investment timeline of three years or more

then you should use a MEAP that will allow you to start leveraging the investments on existing application investments to ensure faster and improved productivity.

Sybase's MEAP - Sybase Unwired Platform
Sybase's MEAP is called the Sybase Unwired Platform (SUP) and will help development in many different ways (see Figure 3). First the ease of development and deployment, as SUP has a visual tooling environment that greatly simplifies mobile application development. Integrating with the key IDEs of Visual Studio and Eclipse, the SUP tooling enables developers to leverage existing tools and expertise to develop new innovative mobile applications. Second, SUP aids to ease back-end integration as out-of-the-box with enterprise applications, including SAP and Remedy, make getting started easy. Finally the ease of management and security being fully integrated with a device management and security solution ideally provides a single administrative console to centrally manage, secure, and deploy mobile data, applications, and devices

Developing with Sybase Unwired Platform
Heterogeneous device application development is supported in the Sybase Unwired Platform through simplified development support of a common data persistence API for all major device platforms that abstracts local data store access. These are Mobile Business Objects (MBOs) and are also developed within the SUP Tooling. This provides an object layer to simplify mobile application development using object-oriented techniques and concepts, which in turn provides a composite widget library for device application development. SUP also supports device and software management capabilities.

SUP Visual Tooling

  • Powerful mobile application development using sophisticated and easy-to-use visual tooling (see Figure 4):
    -"Codeless" back-end development for straightforward scenarios with flexibility for custom coding
    -Leverage existing expertise with support for Visual Studio / Eclipse
    -Support development of object-oriented and service-oriented rich/thick client mobile applications

Integration with Enterprise Apps

  • Out-of-the-Box Connectivity:
    -Enables out-of-box enterprise connectivity for SAP and Remedy; plus full support for Web Services, databases, and a custom application integration connector architecture
    -Provides complete support for any JDBC/ODBC accessible database
    -Supports documents (PDF, Word, Excel, PowerPoint), binary content such as Flash, pictures, images, audio, and video
  • A metadata definition representing a "slice" of enterprise data and operations
  • A design-time element that manifests as a concrete runtime object
  • The building block for synchronization and transaction of multiple elements of an application
  • Personalization keys (device context) helps narrow data sets
  • MBOs (see Figure 5) are the basis for concrete C# and Java device-side object interfaces

Mobile Business Objects
MBO elements designed in SUP tooling and deployed to the SUP server:

Attributes (synchronized data)

  • Define the scope of the device-side data store
  • Attributes and parameters in an MBO definition form the shape of the server-side cache
  • Server cache and device is populated by reading data from the enterprise, e.g., through an MBO definition operation like a SQL select statement

Operations (enterprise playback)

  • Back-end tasks to be carried out within the enterprise or through an external service, typically with respect to the MBO attributes
  • Parameters can be passed to one or more operations:
    -Linked to upstream parameters or attributes
    -Defined by personalization keys for a user or group
  • Relationships form the basis of transactions by identifying the dependencies and state requirements of device-side entities
  • Relationships are formed by mapping attributes and parameters similar to primary-foreign keys
  • Relationships provide metadata support for:
    -Multiple (MBO) data change and operation playback ordering
    -Device-to-cache search semantics (keyed subset searches)
    -Server-side operation ordering and cache refresh
  • Device-side data subsets are defined by relationship filters:
    -Identifying attribute/parameter-level filtering on a subset of data synchronized
    -Identifying personalization keys device context

Once MBOs are designed within the SUP tooling in either Eclipse or Visual Studio, they can be used to create mobile application clients (see Figure 6). When the MBOs are deployed to the SUP Server and the generated (via Eclipse or Visual Studio SUP tooling) or developed (via the SUP Object API) applications deployed to the device, the applications can get to the data they require via the Data Persistence Layer, which uses UltraLite and MobiLink. I have created some simple videos that show many of the steps needed to create a sample application. Click here for demos.

Management and Security in SUP
This can often be overlooked or be an afterthought bolted on before a project is finished, but the Sybase Unwired Platform includes Sybase's industry-leading device management and security, Afaria, within the platform to cover the following areas:

  • Backup
  • Configuration
  • Document and Content
  • Inventory and License
  • Software
  • Security

Backup
Backup and restore mission-critical data so that users can recover lost or corrupted data. These backups can back up folders or files on a scheduled frequency, storing the backup data store at the server. Restoring folders or files can be achieved either selectively or in full. The reprovisioning of devices after failure, which is a major problem with mobile devices, is also addressed. For example, when batteries fail, devices can lose the entire contents of their memory. Devices are then in their initial "vanilla" boxed state, and applications, data, and configuration settings are all lost. Afaria has the means to restore these devices to a standard working state complete with applications, data, and user information. This can be achieved in the field very simply with only a single click of the stylus on screen, getting the user back up and working within minutes, without the need to send devices back to headquarters.

Configuration
Automatically configures critical device settings and verifies the successful implementation of settings on mobile devices. The policy-based configuration facility provides ease of administration and fast recovery of inadvertently modified settings. This in turn enhances the user experience. New applications usually mean new device software configurations and this can be achieved by remote device configuration maintenance. Rather than relying on the user to go into the "control panel" on the device and change its configuration, management allows the administrator to define configurations centrally. Then the server can push these configuration changes out to maintain standard configurations. This can even be used to correct configurations when a user inadvertently makes changes to them, ensuring the smooth running of the device and the software applications installed on it.

Document and Content
The delivery of important documents and content locally to a device gives users timely access to the latest corporate content. Eliminating the cost of burning and shipping CDs lowers the administrative costs of document management and maintenance, ultimately enhancing the user's productivity.

Inventory and License
Allows the detection of changes and notifies the administrator of changes, ensuring applications are current and compatible. With this feature, administrators can troubleshoot problems quickly and maintain a high level of service, as well as plan for mobile system upgrades and provide rule-based software distribution. Asset management is always a pain point but Afaria within SUP gives your company a central point of information to hardware and software configurations as well as changes that occur in real time. Software license control and usage monitoring allows the information necessary to understand exactly how many software licenses have been deployed and how they are actually being used to be available in the management console, making sure that software licenses are not exceeded and controlling licensing costs.

Software
Software can be distributed and supported with minimal impact to the user, such as application updates including those to vital anti-virus software. Administrators can maintain and monitor applications, supplying missing or corrupted files quickly and easily. These files can be compressed or segmented for efficient distribution over low-bandwidth connections.

Security
Power-on password protection, which locks out the device after a failed number of attempts, can be enforced, as well as the data on the device being encrypted with strong encryption algorithms. Administrators can also secure certain hardware features of devices, such as locking down IR and Bluetooth ports. The ultimate problem of security is that mobile devices can always be lost and are unfortunately too often a target of theft, which is a real worry if sensitive data resides on them. Administrators, through the management console, can cause a hard-reset on the device, sending it back to its "vanilla" or factory default state the next time that the device is activated and is available on the mobile network.

Summary
Next Generation Mobility
Sybase Unwired Platform is the next-generation architecture for mobile enterprise application development. It provides a set of comprehensive services that allow customers to mobilize appropriate data and business processes for enterprises using virtually any mobile device. SUP also combines 4GL tooling and integration with standard development environments for quick development, deployment across heterogeneous devices, and market-leading device management in a comprehensive platform to handle all of an enterprise's mobile application requirements. In addition, SUP significantly reduces a company's total cost of ownership by enabling strategic mobile deployments instead of tactical or siloed mobile application approaches.

For product details, check out http://www.sybase.com/sup.

More Stories By Ian Thain

As one of the Sybase Technical Evangelists, Ian regularly addresses technical audiences all over the world and his sessions are always very well attended. He also writes education classes, whitepapers, demos and articles for various Sybase products and publishes regularly in Journals such as SYS-CON's PBDJ and International Developer Magazine. He is also the Sybase Unwired Platform & PocketBuilder Evangelist and works closely with the team in Dublin, CA and Concord, MA on new features and demonstrations for the products. In his customer-facing Evangelist role, Ian is very involved with the design, production and testing of Enterprise class Unwired Solutions, that have been implemented using Sybase's Unwired tools for Sybase customers around the globe. In addition, Ian is a dedicated technical expert continually working with Sybase's key partners and clients to enhance the capabilities of the Unwired solutions that Sybase can offer to its customers. Ian can also be found on Twitter @ithain

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.