Tuesday Apr 30, 2013

Integration with Appcelerator Titanium

Today Appcelerator released a module for the popular Titanium development environment that enables integration with Oracle Database Mobile Server. We're excited about this, because Titanium is a great product. We already have customers using them together, and only hear good things. These enterprising (pun intended) folks figured out on their own how to get the two working with each other. You can see an example written up in this blog. Anand was actually the first person to get Oracle DMS working with Titanium!

Thanks to this module, he definitely will not be the last. Now that the module is available, it's easier than ever to develop disconnected mode applications using Oracle Database Mobile Server and Appcelerator Titanium. 

If you're not familiar with Appcelerator Titanium, it's a development environment that allows you to create apps for multiple different types mobile devices from a single JavaScript codebase. This approach saves both time and money, in that you're not recreating the same app from scratch multiple times, therefore you don't need large development teams dedicated to every type of mobile device you want to support. Many organizations find this approach vastly preferable to attempting parallel development projects in java, objective C, .NET etc. You can learn more about Titanium and also download it from the product page.

There is a press release, and you can download the module here.

Update: for any newcomers here's the link to Oracle Database Mobile Server. It is also freely available for evaluation, testing, demos etc.

I encourage you to give it a try! 

Thursday Jan 31, 2013

Connecting Mobile Apps to an Oracle Backend

As smartphone and table usages continues to proliferate in business, more and more traditionally PC-focused apps are migrating to these new platforms. One topic that often comes up is how to interface mobile applications, such as Android smartphone or tablet apps, to an Oracle Database backend.
The standard way would be to stand up some type of app server. You could choose to actually host the application on the web, and simply connect to it from the mobile device using the browser or some type of container app. Or set up a web interface for data access from a native app, typically through a RESTful interface. These approaches have advantages; development cycles are short, and it’s easier to scale when your data is all server-side. However, there are drawbacks as well. Most of these center around performance. Because of the extra layers of abstraction, web apps are slower than native apps in general. When you add in the latency of accessing all your data over the network the problem worsens. Data driven apps are the most susceptible to this.
Because of these drawbacks, there is a large and growing market for high performance native applications. These apps store their data in a local database to maximize throughput and minimize latency. Of course, this method creates a problem. These mobile devices are now islands of data, where valuable information is effectively trapped in local storage, not resident on the backend where its value can be maximized. The good news is Oracle already has the solution. Database Mobile Server was created specifically to solve this problem.
Oracle Database Mobile Server is designed to keep whole networks of mobile and embedded/M2M devices in sync with an enterprise backend. It has a compelling feature set:
  • Designed to synchronize any generic data set
    • On any combination of supported platforms
    • Sync can be 1-way or bidirectional
  • Initiated on the client or server side
    • Triggered by database or external events
  • Includes device/application management features (MDM/MAM) for centralized control over your device network, including remote provisioning of apps, databases
  • End-to-end encryption of data, both at-rest and in-flight, means you don’t have to sacrifice security for performance

To summarize, Database Mobile Server enables native applications utilizing local data to enjoy the best of both worlds: high performance, low latency UI as well as the numerous advantages of having all your data organized and available in a centralized location.
Before I wrap up, a quick sidebar: from time to time we run across folks who are tempted to solve this problem by simply connecting their mobile app directly to an Oracle Database, often using JDBC. This practice might seem appealing, especially given that Android already runs a JVM, however it should be avoided. The various forums are full of explanations why this is a bad idea, so I won’t go into it. Suffice to say, the approach outlined here offers the same advantage, simply developing a mobile app without standing up any web backend for data access. It also has the added advantages of not creating any of the security, performance, and reliability issues associated with direct mobile devices connections to backend Databases.
In a future blog post, I’ll cover the development steps necessary to use this approach in the most straight forward way possible. I think you’ll be surprised at how easy it is to have the best of both worlds.
I will also discuss how you can leverage popular mobile app frameworks such as Appcelerator Titanium to create native apps using technologies derived from the web, for dramatically shorter development timelines.

Until then,

- Eric

Tuesday Sep 25, 2012

Oracle OpenWorld and JavaOne are right around the corner!

It's that time of year again! Oracle OpenWorld and JavaOne are now upon us. Below is a list of events and demos at OpenWorld and JavaOne where you can check out the cool stuff people are doing with our products, Berkeley DB and Database Mobile Server.

We've got some exciting things lined up, hope to see you there!


Wed 3 Oct, 2012 8:00 AM - 9:30 AM

Java Embedded: Market Strategy

Hotel Nikko - Nikko Ballrooms II & III

Conference Session

Mon 1 Oct, 2012 8:30 AM - 9:30 AM

CON7100 - Developing with Berkeley DB and Oracle Database Mobile Server for Java Embedded

Hotel Nikko - Nikko Ballroom II & III

HOL (Hands-on Lab)

Mon 1 Oct, 2012 7:30 PM – 9:30 PM

HOL7889 - Java SE Embedded Development Made Easy

Hilton San Francisco - Franciscan A/B/C/D


JavaOne Exhibition: Unifying M2M and Mobile in Healthcare

Hilton Hotel Grand Ballroom Exhibition Hall

Booth 5605

mFrontiers mFinity demo

Moscone South

Left - 136

Thursday Jun 07, 2012

Getting a handle on mobile data

written by Ashok Joshi

The proliferation of mobile devices in the corporate world is both a blessing as well as a challenge.  Mobile devices improve productivity and the velocity of business for the end users; on the other hand, IT departments need to manage the corporate data and applications that run on these devices.

Oracle Database Mobile Server (DMS for short) provides a simple and effective way to deal with the management challenge.  DMS supports data synchronization between a central Oracle database server and data on mobile devices.  It also provides authentication, encryption and application and device management.  Finally, DMS is a highly scalable solution that can be used to manage hundreds of thousands of devices.  

Here’s a simplified outline of how such a solution might work. Each device runs local sync and mgmt agents that handle bidirectional data flow with an Oracle enterprise backend, run remote commands, and provide status to the management console. For example, mobile admins could monitor multiple networks of mobile devices, upgrade their software remotely, and even destroy the local database on a compromised device. DMS supports either Oracle Berkeley DB or SQLite for device-local storage, and runs on a wide variety of mobile platforms. The schema for the device-local database is pretty simple – it contains the name of the application that’s installed on the device as well as details such as product name, version number, time of last access etc.

Each mobile user has an account on the monitoring system.  DMS supports authentication via the Oracle database authentication mechanisms or alternately, via an external authentication server such as Oracle Identity Management. DMS also provides the option of encrypting the data on disk as well as while it is being synchronized.

Whenever a device connects with DMS, it sends the list of all local application changes to the server; the server updates the central repository with this information.  Synchronization can be triggered on-demand, whenever there’s a change on the device (e.g. new application installed or an existing application removed) or via a rule-based schedule (e.g. every Saturday). Synchronization is very fast and efficient, since only the changes are propagated.  This includes resume capability; should synchronization be interrupted for any reason, the next synchronization will resume where the previous synchronization was interrupted.

If the device should be lost or stolen, DMS has the capability to remove the applications and/or data from the device. This ability to control access to sensitive data and applications is critical in the corporate environment.

The central repository also allows the IT manager to track the kinds of applications that mobile users use and recommend patches and upgrades, while still allowing the mobile user full control over what applications s/he downloads and uses on the device.  This is useful since most devices are used for corporate as well as personal information.

In certain restricted use scenarios, the IT manager can also control whether a certain application can be installed on a mobile device.  Should an unapproved application be installed, it can easily be removed the next time the device connects with the central server.

Oracle Database mobile server provides a simple, effective and highly secure and scalable solution for managing the data and applications for the mobile workforce.

Tuesday May 22, 2012

Introductory Post

The purpose of this blog is to explore the intersection of enterprise, mobile and embedded technology. Our goal is understand where we are today, and explore where we should be headed. There’s a lot going on right now, and wrapping your head around all of it can be a real challenge.

The enterprise mobility space is very large; growing and changing every day. It encompasses topics such as mobile development frameworks, device management, HTML5, native/hybrid/web application development, mobile databases, and device sync. It relates to other classes of transformative technologies, such as cloud, social, and NoSQL.

There is another, related topic we’ll be covering on this blog. Think of it as a sister to enterprise mobility, or at least a first cousin! That is the intersection of enterprise and embedded. M2M networks continue to proliferate, and many feel that we are now at the dawn of a new, machine-driven internet era.

Given that both these knowledge domains are impacting businesses in new ways, and also impacting each other, it makes sense to have a stage dedicated to discussing them in one place. We hope to provide informative, incisive commentary that will assist our readers in making sense of this constantly shifting landscape. Comments and feedback are welcomed.

- Eric


Eric Jensen


« April 2014