Wednesday, 13 June 2012

Intro and purpose of this Blog

Hello! I am working on a project in India that requires us to deploy a set of applications with some complexity to the mobile device. We have already created and rolled out six applications for the Web Browser using Oracle Application Express on Oracle 11g. We are now trying to get slightly-scaled  down versions of these applications on Android phones that we are planning to provide to our field agents.

While I have over a decade's experience with Oracle database technology and application development, this is my first serious venture into the enterprise mobile space. I thought it would be good to share my ride with others. I hope that some of the information here will allow others to move along a little bit quicker than they would have otherwise.

My journey thus far... I have spent considerable time reviewing the Oracle Database Mobile Server documentation. I have got the product installed on both Windows as well as Linux and have successfully deployed a couple of small applications. However, there is a twist! Because I am from an earlier generation of software development, I am not comfortable with Java. I have discovered and liked the Appcelerator Titanium Platform. So, I am going to try and use this platform to design, build and deploy my Android-based applications. I will describe my business problems and situation a bit more in my next blog shortly.

16 comments:

  1. Hello,

    This is really great help. I am developing for Android device, and almost get success with sync. I have 3 different users and they are using 3 mobile device and run the application and inserts data. When they sync each device load data from other 2 users as well. Is there any way we can just load specific users data on device who is currently logged in. Any example or documentation will be great help.

    Thanks again for providing this blog.

    Kaushal

    ReplyDelete
  2. Yes, you can. Please see http://docs.oracle.com/cd/E22663_01/doc.11100/e22677/mdw.htm#CEGGFJHG . There are options to subset data retrieved when you create a query for a publication item

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. Thanks for your help, it worked. I am also running in one serious issue. Whenever I add new table to oracle server and try get Android application sync, but the new table not added to android database. If I uninstall application and install it again then it worked. What can be the solution for this. Thanks again.

      Delete
  3. What is the error? In the Mobile Sync application. click Settings-> Error log

    ReplyDelete
    Replies
    1. It is not showing any error but just not able to find new tables. (This is not related with question but FYI, I am using the SQLite Database Browser windows application to explore .db file created inside android device, and this shows me old database schema which I connected first time).

      Delete
  4. Then it is something specific to your situation. May I suggest you post your issue on the Oracle forum for DMS? I am on the road until January 15 and will not have the time or access needed to help you further. thanks

    ReplyDelete
    Replies
    1. I will sure try to get help from Oracle forum, thanks you sir for your time and help in this.

      Delete
  5. Hi Double A,
    First thank you for all of this info. I am reading all of it.
    I am developing a java Android app which needs data synch. I'm considering DMS because I'm using an Oracle back-end DB anyway.
    I'm having difficulty finding much info or discussions on DMS esp. re: Android.
    The client-side implementation in the demo app simple_synch_android seems pretty complex.
    I've installed the back-end, the midtier Glassfish, and the client(=Android) software and am currently reviewing the demo app.
    But since the demo app seems complex and there doesn't seem to be much discussion of DMS, my question is do you have any opinions on what I'm doing (re: Android synch to Oracle back-end using DMS) ??
    I'm considering approaches other than DMS too such as Google Cloud Msg'g and Android java SyncAdapter.
    My biggest concern is how well does DMS actually work and how many enterprises are actively engaged with it and actually using DMS???

    ReplyDelete
    Replies
    1. Also, since (by your own admission) you're not a Java dev'r, do you know of any good sources/forums for info on DMS and Android java??
      The Oracle DMS forum

      https://community.oracle.com/community/developer/english/oracle_database/database_mobile_server_(inc._legacy_database_lite)

      doesn't seem to be very active nor technical. Mostly discussions on install probs. w/ little to no code examples.

      Delete
    2. p.s I'm a dev'r w/ > 30 years overall exp., & 15 years in Oracle and Java. I've got the tech ability but don't want to deal w/ yet another bad foundation for my app.

      Delete
    3. JD, sorry for the delayed response. I have been on the road. I will try to respond to each of your many comments over the last few days - separately.

      As I have mentioned in my blogs, I chose Oracle DMS simply because I feel comfortable in the Oracle world. I have spent the better part of 20 years working with a variety of Oracle products and just feel comfortable because of this. Secondly, on our project, we are already invested in Oracle Database and all of our Web applications are built using Oracle APEX. I work with a small team that is comfortable with these technologies, so DMS in a way was an automatic choice for us.

      Our main requirements for DMS were:

      1) Ability to subset data and download to a mobile device
      2) 2-way sync of this data in an environment where network access is not always a given thing. India is a broad geography and while there is good coverage, there are pockets where data access is not guaranteed. So we wanted a robust sync mechanism. We deploy an average of 100 mobile clients simultaneously and sync about 30MB of data/device
      3) Because everything is in the database, we feel comfortable with our Backup & Recovery processes etc

      I personally have no experience with Google Cloud messaging. Also, I am an old generation techie and have not invested in Java myself. I have a small team of awesome Android developers who built the Android app for us and I assisted with the data connect to the Oracle database

      Delete
    4. With regards to your comment on good forums, you are right. In the limited search that I did, I did not find a decent or active forum. This is one of the reasons I chose to publish my learnings on this blog to help people get started

      Delete
  6. p.s. This guy has come to the conclusion that I am afraid of:
    http://stackoverflow.com/questions/20235618/enter-database-administrator-account-information-oracle-database-mobile-server/20722782#20722782
    "Note to New DMS Users: Oracle DMS is in extremely early stages, with lack of documentation/community support. Don't use it as yet to develop database driven synchronization applications with any mobile platform."

    ReplyDelete
    Replies
    1. Yes, I encountered a few quirks myself but nothing that I could not figure out. I also can vouch for the fact that the current version (11.3) is far better than the earlier ones. Like any other product I guess it will get better with each version.

      The good news is that Oracle is obviously continuing to invest in the product. When I ran into 1-2 issues that I could not resolve, I got help from the Oracle Product Manager and team to my posts on the forum. They were also nice enough to handhold couple of my queries via email..

      Delete
    2. Thank you Anand for all your help and all your great posts on this topic. They give me some assurance. I'm warming up to DMS as I slog thru the Android example. My current issue is config'g the network agent so that DMS server can push to the device. Little to no doc'n on this core topic. The forum will be hearing from me soon.
      And yes, comfort w/ Oracle is one of the reasons I want DMS to work.

      Delete

Note: only a member of this blog may post a comment.