Over a million developers have joined DZone.

Powering Mobile Architecture with vFabric

DZone's Guide to

Powering Mobile Architecture with vFabric

· Mobile Zone ·
Free Resource

About the Author: Jay Marshall is a Senior Systems Engineer within VMware’s vFabric Cloud Application Platform team. He has been involved in enterprise Java development for more than ten years and his passion for technology has helped launch multiple startups and legacy modernization projects. Jay currently supports some of VMware’s largest customers in defining their next generation platform plans.

Mobile is driving a lot of new application development. But, how can vFabric help?

We’ve all heard the incredible growth trends of mobile. As an example, “The Future of Mobile” presentation by Henry Blodget, CEO of Business Insider (2012), shows how mobile apps are now a $10B market and growing at 100% per year.

This has led a number of companies, including Google, to adopt “mobile first” development strategies: build first for smartphones, then for laptops and desktops. At other companies, such as Urbanspoon, mobile growth is outpacing their desktop web traffic. It’s said that if Facebook were built today, it would be a mobile app.

The Mobile UI Development Dilemma

The challenge facing mobile application developers is that there are three major mobile UI technology stacks – iOS, Android Java, and HTML5 (mobile web), each with their own pros and cons.

Register for VMworld!
Click Here

Register for Session APP-CAP2682 – Build Your First Mobile Application…in the Cloud…in 60 Minutes:
Click Here

Follow all vFabric updates at VMworld on Twitter:
Click Here

For many development teams, it makes sense to start with HTML5 for building mobile applications. One UI will work across all modern devices, only one codebase is needed, and existing skills in HTML, CSS, and JavaScript can be reused, and there is no need to learn new programming languages, new operating systems, or have separate development teams. With this approach, you can support the significant majority of phones and tablets, in the shortest time, with the lowest amount of ramp up and effort.

For this approach, there is a whole new set of web-based frameworks that have emerged that allow you to reuse your existing web skills to build mobile applications. jQueryMobileSencha, and Dojo are all good examples. Each of these frameworks would use standard client-to-app communications like standard HTTP requests, REST, and JSON to talk to the back-end. This back end is essentially web servers, application servers, messaging servers, and databases – similar to the existing application infrastructure that underpins your current web applications.  In fact, native iOS and Android apps can communicate with back ends using HTTP/REST/JSON, enabling you to reuse your back end infrastructure and code should you someday decide to build native iOS or Java applications.

Each of these JavaScript Frameworks was written in conjunction with the WebKit browser engine, making it compatible with most all mobile devices.   And, these frameworks are delivering a true mobile experience to the end user. No matter what device your application is being displayed on, you can maintain a native look-and-feel. There is no need to learn the native application languages and platforms to do development.  You can even access cameras and accelerometers with HTML/JavaScript knowledge and tools like appMobiAppcelerator, or PhoneGap.

Let’s Get to the Back-end

The mobile back-end is where VMware solutions like vFabric and Cloud Foundry come into play. The architecture outline and diagram below roughly mirror the vFabric reference architecture, Nanotrader:

  • Application built in JavaScript, sending JSON payloads over HTTP(s) to RESTful endpoints of an application. These payloads are very small, much smaller than sending an entire page over the network, and thus consume much less bandwidth on mobile networks.
  • With tc ServerRabbitMQ, and Elastic Memory for Java (EM4J), we have a lightweight, robust middle-tier with a message-oriented architecture and elastic backbone.
  • By mixing in Spring Data – Rest, we can give front-end developers and back-end developers a clean way to read from and write to a wide range of databases.
  • With SQLFire, we have fast, in-memory speed and can scale out the data layer or interoperate with existing, legacy data stores without impacting performance.
  • With vFabric Application Performance Manager, we can monitor and scale the apps.
  • With vCloud and vFabric Application Director, the stack is largely automated and can run in public, private, or hybrid clouds.
  • By running the stack on vSphere and vCenter, we have a very cost-effective, scalable infrastructure.

Keep in mind that native iOS or Android programming could still leverage the same calls to this back-end.  In other words, the back-end provides a common set of services no matter which client is used.  This approach gives you a straightforward, flexible front-end with a super-performant, best-of-breed backend.  This architecture is primarily why I came to VMware.

Hopefully, you get to attend my session at VMworld “Build Your First Mobile Application… in the Cloud… in 60 Minutes.” (CAP-2682) where we will create an HTML5/JavaScript/Sencha application from scratch and deploy it live.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}