X

An Oracle blog about Mobile & Embedded

Recent Posts

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! 

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...

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

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...

Announcing Oracle Database Mobile Server 11gR2

I'm pleased to announce that Oracle Database Mobile Server 11gR2 has been released. It's available now for download by existing customers, or anyone who wants to try it out. New features include: Support for J2ME platforms, specifically CDC platforms including OJEC(this is in addition to our existing support for Java SE and SE Embedded) Per-application integration with Berkeley DB on Android Server-side support for Apache TomEE platform Adding support for Oracle Java Micro Edition Embedded Client (OJEC for short) is an important milestone for us; it enables Database Mobile Server to work with any of the incredibly wide array of devices that run J2ME. In particular, it enables management of  networks of embedded devices, AKA machine to machine (M2M) networks. As these types of networks become more common in areas like healthcare, automotive, and manufacturing, we're seeing demand for Database Mobile Server from new and different areas. This is in addition to our existing array of mobile device use cases. The Android integration feature with Berkeley DB represents the completion of phase I of our Android support plan, we now offer a full set of sync, device and app management features for that platform. Going forward, we plan to continue the dual-focus approach, supporting mobile platforms such as Android, and iOS (hint) on the one hand, and networks of embedded M2M devices on the other. In either case, Database Mobile Server continues to be the best way to connect data-driven applications to an Oracle backend.

I'm pleased to announce that Oracle Database Mobile Server 11gR2 has been released. It's available now for download by existing customers, or anyone who wants to try it out. New features include: Suppo...

Enabling M2M and Mobility in Healthcare

Jim Connors has created a video showcase of a comprehensive healthcare solution, connecting a mobile application directly to an embedded patient monitoring system. In the demo, Jim illustrates how you can easily build solutions on top of the Java embedded platform, using Oracle products like Berkeley DB and Database Mobile Server. Jim is running Apache Tomcat on an embedded device, using Berkeley DB as the data store. BDB is transparently linked to an Oracle Database backend using  Database Mobile Server. Information protection is important in healthcare, so it is worth pointing out that these products offer strong data encryption, for storage as well as transit. In his video, Jim does a great job of demystifying M2M. What's compelling about this demo is that uses a solution architecture that enterprise developers are already comfortable and familiar with: a Java apps server with a database backend. The additional pieces used to embed this solution are Oracle Berkeley DB and Database Mobile Server. It functions transparently, from the perspective of Java apps developers. This means that organizations who understand Java apps (basically everyone) can use this technology to develop embedded M2M products. The potential uses for this technology in healthcare alone are immense; any device that measures and records some aspect of the patient could be linked, securely and directly, to the medical records database. Breathing, circulation, other vitals, sensory perception, blood tests, x-rats or CAT scans. The list goes on and on. In this demo case, it's a testament to the power of the Java embedded platform that they are able to easily interface the device, called a Pulse Oximeter, with the web application. If Jim had stopped there, it would've been a cool demo. But he didn't; he actually saved the most awesome part for the end! At 9:52 Jim drops a bombshell: He's also created an Android app, something a doctor would use to view patient health data from his mobile device. The mobile app is seamlessly integrated into the rest of the system, using the device agent from Oracle's Database Mobile Server. In doing so, Jim has really showcased the full power of this solution: the ability to build M2M solutions that integrate seamlessly with mobile applications. In closing, I want to point out that this is not a hypothetical demo using beta or even v1.0 products. Everything in Jim's demo is available today. What's more, every product shown is mature, and already in production at many customer sites, albeit not in the innovative combination Jim has come up with. If your customers are in the market for these type of solutions (and they almost certainly are) I encourage you to download the components and try it out yourself! All the Oracle products showcased in this video are available for evaluation download via Oracle Technology Network.

Jim Connors has created a video showcase of a comprehensive healthcare solution, connecting a mobile application directly to an embedded patient monitoring system. In the demo, Jim illustrates how you...

Getting a handle on mobile data

written by Ashok Joshi The proliferation of mobile devices in the corporate worldis both a blessing as well as a challenge.  Mobile devices improveproductivity 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 onthese devices. Oracle Database Mobile Server (DMS for short) provides asimple and effective way to deal with the management challenge.  DMSsupports data synchronization between a central Oracle database server and dataon mobile devices.  It also provides authentication, encryption andapplication and device management.  Finally, DMS is a highly scalablesolution that can be used to manage hundreds of thousands ofdevices.   Here’s a simplified outline of how such a solution mightwork. Each device runs local sync and mgmt agents that handlebidirectional data flow with an Oracle enterprise backend, run remote commands,and provide status to the management console. For example, mobile admins couldmonitor multiple networks of mobile devices, upgrade their software remotely,and even destroy the local database on a compromised device. DMS supportseither 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 ispretty simple – it contains the name of the application that’s installed on thedevice as well as details such as product name, version number, time of lastaccess etc. Each mobile user has an account on the monitoringsystem.  DMS supports authentication via the Oracle databaseauthentication mechanisms or alternately, via an external authentication serversuch as Oracle Identity Management. DMS also provides the option of encryptingthe data on disk as well as while it is being synchronized. Whenever a device connects with DMS, it sends the list ofall local application changes to the server; the server updates the centralrepository with this information.  Synchronization can be triggeredon-demand, whenever there’s a change on the device (e.g. new applicationinstalled or an existing application removed) or via a rule-based schedule(e.g. every Saturday). Synchronization is very fast and efficient, since onlythe changes are propagated.  This includes resume capability; shouldsynchronization be interrupted for any reason, the next synchronization willresume where the previous synchronization was interrupted. If the device should be lost or stolen, DMS has the capabilityto remove the applications and/or data from the device. This ability to controlaccess to sensitive data and applications is critical in the corporateenvironment. The central repository also allows the IT manager to trackthe kinds of applications that mobile users use and recommend patches andupgrades, while still allowing the mobile user full control over whatapplications s/he downloads and uses on the device.  This is useful sincemost devices are used for corporate as well as personal information. In certain restricted use scenarios, the IT manager can alsocontrol whether a certain application can be installed on a mobiledevice.  Should an unapproved application be installed, it can easily beremoved the next time the device connects with the central server. Oracle Database mobile server provides a simple, effectiveand highly secure and scalable solution for managing the data and applicationsfor the mobile workforce.

written by Ashok Joshi The proliferation of mobile devices in the corporate world is both a blessing as well as a challenge.  Mobile devices improveproductivity and the velocity of business for the end...

M2M Architecture: A Data Driven Approach

M2M is a hot topic these days! Last year Greg Bollella and Igave a talk at JavaOne on Cyber-Physical Systems, which many consider to be the future of M2M. That got written up here. More recently, Tim Hardy wrote a great blog piece, whereinhe details how companies can begin deploying M2M networks today using Oracletechnology. As Tim rightly points out, all this data being generated hasto go somewhere. In this post I’ll highlight how Oracle technology can enable secure, seamless data and command flow for your M2M network using two Oracleproducts in particular, Berkeley DB and Database Mobile Server. Berkeley DB Berkeley DB is a small footprint embedded database that runsalmost anywhere, making it ideal for deployments in zero-admin scenarios wherehigh reliability is a must. There are a few features that make Berkeley DB stand out in M2M environments. Scalability The last thing you want is to deploy your shiny new M2Msolution, only to find out the following year that a key component doesn’t scale.Berkeley DB comes from the server space, where we have customers inproduction with many-Terabyte databases. In other words, Berkeley DB has you covered on the scalability front. Security Berkeley DB includes the option of encrypting the database, whichgives you peace of mind, knowing your remote M2M systems are secure andresistant to unauthorized snooping. Even if you can’t be there to physicallymonitor them. Ease of development Berkeley DB’s open source pedigree means very broad platformand IDE support. Among the many platforms it's certified to run on are GNU/Linux, Oracle Java, Windows CE/Embedded, and VxWorks. It builds easily with MS Visual Studio, GNU toolchain,Eclipse, and a number of other Java IDEs. On top of that, you can choose yourdatabase type and access method, key/value, SQL API, ODBC, JDBC, ADO.NET, etc. Database Mobile Server Oracle’s other product targeting M2M devices themselves isDatabase Mobile Server. By offering data sync and device managementfunctionality, Database Mobile Server enables seamless integration of M2Mnetworks and existing enterprise infrastructure. Your M2M network can be securely plugged directly into an Oracle Database. Once the relationships with the devices are established, data will flow automatically. Database Mobile Server provides a worry-free mechanism for secure dataflow from your M2M networks to your enterprise backend. You’ll be able togenerate reports and statistics on your slick new M2M data just as you wouldwith any other data. This product's overriding design philosophy is that networks of embedded devices should build on the strengths of existing systems, rather than trying to reinvent the wheel. In other words: fancy new platforms and protocols are nice, but have limited utility if can't easily connect them with what you already have. When coupled with the Total Recall feature of OracleDatabase, the process is streamlined even more. Total Recall means values in the Oracle Database tables can simply be overwritten by the M2M network during a sync operation, but the prior values are also retained for future analysis. One of the most powerful features of Database Mobile Serveris device management. This can be used to control an M2M networkanywhere in the world from a single unified console. Here's a sample of the capabilities available: Check upon the health status of any device or collectionof devices Push new configuration info or command sets Upload new firmware versions, which could be remotely installedand verified Summary Our goal with these products is to take most of theguesswork out of hooking your M2M networks into your existing enterprisesystems, and thereby maximizing ROI. For more information, please visit the product pages using the links above. Also please remember that most Oracle products, including Berkeley DB and Database Mobile Server are available for anyone to download and evaluate.

M2M is a hot topic these days! Last year Greg Bollella and I gave a talk at JavaOne on Cyber-Physical Systems, which many consider to be the future of M2M. That got written up here. More recently, Tim...

Introductory Post

The purpose of this blog is to explore the intersection ofenterprise, mobile and embedded technology. Our goal is understand where we aretoday, 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 andchanging every day. It encompasses topics such as mobile developmentframeworks, device management, HTML5, native/hybrid/web applicationdevelopment, mobile databases, and device sync. It relates to other classes oftransformative technologies, such as cloud, social, and NoSQL. There is another, related topic we’ll be covering on thisblog. Think of it as a sister to enterprise mobility, or at least a firstcousin! That is the intersection of enterprise and embedded. M2M networkscontinue 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 discussingthem in one place. We hope to provide informative, incisive commentary thatwill assist our readers in making sense of this constantly shifting landscape. Commentsand feedback are welcomed. - Eric

The purpose of this blog is to explore the intersection of enterprise, mobile and embedded technology. Our goal is understand where we aretoday, and explore where we should be headed. There’s a lot...