Desktop to Cloud to Mobile with Azure
Richard Hubert
AUG 23, 2012 23:39 PM
A+ A A-

 

In the age of ubiquitous internet, intelligent devices, and mobile displays that are good for more than just ruining your eyes, companies can no longer afford to sidestep the expanding mobile market. Here, we exhibit how to effectively evolve desktop applications to leverage both mobile and telemetry markets, and why cloud platforms such as Windows Azure are justifiably supplanting the PC as the platform of choice.

Traditionally, migrating desktop applications to Internet-centric technologies was hard to justify due to technological challenges and uncertain market value. However, things have changed to the extent that if your desktop application is still just on the desktop, you're already behind the curve.

The burgeoning number of intelligent devices and mobile PCs beckons with new business opportunities while also obligating existing applications to support these new platforms to remain competitive. The good news is that the barriers to entry are now lower than ever. New Web and cloud technologies now provide feasible means to put almost any desktop functionality "on the wire."

In this do-or-die market evolution, the question now is just how to approach the task at hand: the strategy, the steps, the technologies. This move can be fairly straightforward, using the Windows Azure cloud platform and modern Web technologies.

 

Advantages of the strategy

It's important to maximize the revenue impact of a development effort that enables existing desktop solutions to embrace the mobile and telemetry market at-large. The "desktop to cloud to mobile strategy" that we propose aims to:

·         address a multitude of mobile devices and "the Internet of things,"

·         enable new vertical and horizontal markets,

·         consolidate the application landscape into a more holistic, flexible platform "on the fly, and

·         improve operational quality and business reactivity.

 

The process enlists a traditional management application used by agricultural warehouses and distributors. It requires significant data input from farmers, traders, and field participants. Communication of this data is via phone, e-mail, or webforms at best. Data acquisition is done in the central desktop application as are business calculations, visualization, and printed reporting.

 

Six steps and their technologies

The first step is getting the right team in place. We begin with the canonical team model suggested in "Convergent Architecture" (OMG Press, 2002) and tailor it to the specific project. For the project at hand, we require a senior Web developer as our project and development lead, participation by someone with hands-on experience in the Windows Azure platform, and participation of a senior database specialist.

The first development step is to migrate our data into the cloud, followed later by synchronization capabilities, with subsequent on-the-fly evolution of the new in-cloud data model. Our approach here is to remodel our desktop database into Azure SQL storage, in small steps, addressing just the bare essentials to begin with. Storing our data in the cloud sets the groundwork for a new generation of automatic data-acquisition endpoints to write data 24/7 to our solution, thereby reducing manual transmission of data.

Our existing desktop application now picks up time-stamped snapshots of new data from our cloud storage. The data is transferred in the form of a JSON structure via a simple REST interface provided by an Azure Web Role in our new cloud service.

Azure SQL is not the only data storage option. We have several at our disposal, each with its particular trade-off set:

·         Azure Blobs can store and stream of amorphous binary data of almost any size, such as multimedia data.

·         Azure Tables can store sets of addressable name-value properties at low cost with predictable performance, making it particularly good for collecting resource data from telemetry devices or mobile units in the field.

·         A wide selection of NoSQL databases such as CouchDB, MonoDB, RavenDB, RedisDB, to name a few, are available to us. Each NoSQL solution purveys its own special trade-off set concerning usability and performance in cloud systems, and each is runnable in an Azure Virtual Machine. If the NoSQL database is .NET-centric in nature, as is the case with RavenDB, it can be embedded directly in an Azure Role instance – an ASP.Net MVC service, for example.

·         Last but not least, Azure SQL can be used provide the myriad features of a full-blown SQL server including such things as business intelligence and federated databases.

 

We tend to use at least two of these data storage options in each project, sometimes more. Our new cloud data store now serves as a platform to refactor and integrate the data models from our other desktop application offerings without having to significantly change these desktop applications themselves – a simple JSON data transfer does the trick. We are now ready to develop our future "desktop" solutions as set of clients that access our new cloud data and services, but first, it is time to reap some immediate rewards.

The next step focuses on harvesting some low-hanging fruit of our efforts by adding one or more Azure Web Roles to enable mobile devices to access, search, and browse our new in-cloud data. For the system at hand, we use the ASP.Net MVC technology stack, jQuery, and Twitter Bootstrap to create flexible mobile browser applications for virtually any display geometry.

The next step in our strategy is to enable a new family of specialized data acquisition endpoints and mobile data entry applications. This adds considerable value to our offering by offloading the data entry to intelligent on-site devices or via simple tablet user interfaces available to field operators – 24/7. In addition, it sets the stage for a completely new data-acquisition product line, synergetic partnerships, and revenue streams, while reducing the operational costs and the environmental footprint of all stakeholders.

Here again, supporting these diverse field devices from the cloud is as simple as adding Azure Web Roles with ASP.Net MVC mobile web interfaces for our human interaction devices. Similarly, to interaction with our new "Internet of things," we add Web Roles to host either  .Net Web Communication Framework REST interfaces or the new built-in REST capabilities of ASP.Net MVC 4. Each of these new device services accesses the cloud data store and requires no knowledge of other systems that may access and synchronize to this data via various channels at varying intervals.

Moving on to the next step in our strategy, we further leverage our new cloud data store by adding a series of pay-as-you-go online services. The goal here is multiply the value of our existing assets simply by enabling a diverse ecosystem of specialized vertical applications – developed by ourselves or third parties – to effectively access these previously hidden gems of information. This is achieved by providing OData/ REST access to views of our in-cloud data at various levels: either in a protected private context for customer-specific information, or in a more open access context depending on the respective data-rights and constraints.

Now that we have some new revenue channels that are essentially just making better use of our existing information landscape and installed base, our final step focuses on setting the groundwork for the next wave of marketable product value: a cloud-centric service platform that will replace the entire legacy base over time.

We begin by migrating each desktop application's primary data-store, in its entirety, away from the desktop's hard disk into the cloud and into our consolidated cloud data scheme. The goal is to make the next version of our "desktop solution" just one of many Internet access points to our new software as a service (SaaS) offerings. Applying this same approach to the operational, support, and maintenance features of our traditional desktop applications – things like updates, printing, or mailing services – permits us to focus more effort on added-value features in the future, and less on the complexities of PC-platform idiosyncrasies, software logistics, and legacy support.

With six discrete, easily manageable development steps, we have achieved all four of our targeted strategic advantages. Each development increment along the way has reaped significant advantages from its predecessor, opening a door each time to new synergetic products or revenue streams.

 

Gaining strategic synergies

The approach covered here is not only for companies still pondering how to jump-start their desktop applications into the mobile market, it's about strategic synergies that can add incremental revenue through a cloud-centric approach even if you're already serving mobile users. It's about more than just achieving a mediocre "me too" position in the mobile market, it is about evolving (or introducing) an application strategy that thrives on the new opportunities afforded by the Microsoft Azure cloud platform, the "Internet of things", and ubiquitous mobile endpoints.

What's most pleasing about these new markets and development technologies is their tangible capability to reduce both environmental footprints and system complexity, while significantly increasing ROI. This is a great place to be, and if you're not there yet, you should consider taking advantage of the new markets and developments.

 

 

Richard Hubert is director of Hubert Associates [www.hubert-associates.com]. A system architect and CTO since 1992 and the holder of an IEEE Computer Society Certified Software Development Professional credential, Richard is the author of "Convergent Architecture" and an   IASA Fellow. He can be reached at hubert@acm.org.

 

Diagram: "A top level view of the strategic six-step architecture"

 

FIRST
PREV
NEXT
LAST
Page(s):
[%= name %]
[%= createDate %]
[%= comment %]
Share this:
 

Computing Now Blogs
Business Intelligence
by Keith Peterson
Cloud Computing
A Cloud Blog: by Irena Bojanova
The Clear Cloud: by STC Cloud Computing
Careers
Computing Careers: by Lori Cameron
Display Technologies
Enterprise Solutions
Enterprise Thinking: by Josh Greenbaum
Healthcare Technologies
The Doctor Is In: Dr. Keith W. Vrbicky
Heterogeneous Systems
Hot Topics
NealNotes: by Neal Leavitt
Industry Trends
Internet Of Things
Sensing IoT: by Irena Bojanova

 

RESET