The Oracle Lite Blog

The Rekounas Blog about Oracle's Mobile Enterprise Application Platform

The Oracle Lite Blog header image 1

Updates on my activities

May 26th, 2013 · 6 Comments *

So as you can see not many Oracle Lite posts in a while. Ok, correction, no posts at all. The main reason for this is that I had a career move way back in 2011 and I became DBA focusing on MongoDB and MySQL.

Does this mean I will stop answering questions? No, but I will largely be going on memory and notes and programs I wrote a few years back. I also don’t have an active environment set up, so I would really only be relying on memory.

Having said that, I have done some pretty cool things in MongoDB and MySQL that I hope to share with you.

Share

→ 6 CommentsTags: Oracle Lite

Blog Overhaul Coming!

January 27th, 2012 · 1 Comment *

I have been putting off doing a blog overhaul off for a bit. Just need to find some time actually. Maybe this weekend.

A hint of what is coming… I recently changed jobs and I have a new role as a Mongo guy. I jumped into this role from another job where I was a Silverlight and ASP.NET MVC guy. Before that I was a Oracle/Oracle Lite/J2EE guy. Give Me a Technology and I will code in it!

Share

→ 1 CommentTags: Mongo

Setting up Mobile Server with GlassFish

November 17th, 2011 · 4 Comments *

With Oracle Database Mobile Server 11g (DMS), Oracle has removed the standalone version of the product.  Some might be squeamish to install Weblogic, but the alternative is to install GlassFish instead.  Install for this is pretty straight forward.  In most cases just select the defaults and let the installer do the rest.  At the end of the installation, make sure you start the server.  I am doing this on windows so the startup would be to go to Start –> All Programs –> Oracle GlassFish Server –> Start Application Server.

Make sure you also have JDK 1.5 installed as well.

Now, you want to start the Oracle Universal Installer by going to the Disk1\install of your DMS download and select setup.exe.  For the ORACLE_HOME location, select the GlassFish install directory (i.e. c:\oracle\glassfish).

Select the Server installation and click next.  When the wizard asks you to run the repwizard, just say “No” for now.  We can run this later.  I have a 10.3.0.3 repository on my machine, so my portion should just upgrade and migrate the server and applications.

Once the wizard is done, navigate to c:\oracle\glassfish\Mobile\Server\admin and run repwizard.bat.

image

image

image

image

This is the only new screen in the Repository Wizard.  The admin port is the glassfish administration console port. And the server port is your sync servers port.

image

image

image

Try really vps hosting cheap vps hosting?

Check to see if mobileserver domain installed successfully:

C:\Oracle\app\glassfish\bin>asadmin stop-domain mobileserver
CLI306 Warning – The server located at C:\Oracle\app\glassfish\domains\mobileser
ver is not running.
Command stop-domain executed successfully.

C:\Oracle\app\glassfish\bin>asadmin start-domain mobileserver
Waiting for mobileserver to start …………………
Successfully started the domain : mobileserver
domain  Location: C:\Oracle\app\glassfish\domains\mobileserver
Log File: C:\Oracle\app\glassfish\domains\mobileserver\logs\server.log
Admin Port: 4848
Command start-domain executed successfully.

Now that the server is started, fire up a browser and go to http://yoururl.com/mobile

First thing you will notice is that Oracle has finally changed the look and feel of the login screen

image

And as you can see from the following screen, the GlassFish server is the mode that is currently running.

image

Let me know if you have questions and I will be glad to help out.

Share

→ 4 CommentsTags: Oracle Mobile Server

New Release of Oracle Database Mobile Server

October 11th, 2011 · Add a comment *

The 11g version is finally out. I have yet to play with the new version of the product and will download it in the coming weeks. But in short, here is what the release notes contain:

  • The Oracle Database Mobile Server 11g supports synchronization from only two mobile clients, the Berkeley DB Mobile Client and the SQLite Mobile Client, to a back-end Oracle database.
  • Automatic synchronization is supported for the Android platform.
  • Device management is supported for the Android platform.
  • Support for Berkeley DB encryption.
  • Load balancing is now available through Oracle WebLogic Server Clusters or the Glassfish Cluster Server Instance instead of WebCache.
  • Because of the removal of Web-to-Go, OC4J, and an installed application server, several of the configuration files, configuration parameters and utility names have been eliminated or modified. Refer to the documentation for specific details on each of these changes.
  • There are new Java, native, and ADO.Net client synchronization and Sync Agent APIs. There is also a new pure Java synchronization client.
Things that are deprecated or de-supported in this release are:

  • The Oracle Lite Mobile Client is desupported in this release. The Sync Control APIs for the Oracle Lite Mobile Client are still provided in this guide, but will be removed when the Oracle Lite Mobile Client is fully deprecated.
  • Formerly this product shipped with two built-in servlet containers; OC4J on the server side, and Web-to-Go on the client side. However, as of Oracle Database Mobile Server 11g does not ship with a built-in Web application server, neither on the server nor the client side. Users will need to install a supported application server before installing the Oracle Database Mobile Server or mobile clients. On the server side, Oracle WebLogic Server (WLS), Glassfish, and OracleAS are supported. On the client side, the users can choose any servlet container that suits their needs.
Share

→ Add a commentTags: Android · Berkeley DB · Java · Oracle Lite · Oracle Mobile Server · SQLite · Webtogo

My Personal Experience with the iPhone and Android

July 27th, 2011 · 3 Comments *

This isn’t an article about how to get Oracle Mobile working with these two devices, but more of my own personal experience with the two devices.  So, no programming talk on this.

I have an iPhone 4 for work and my own personal Android device (Sony Ericsson Xperia X10).  My wife also has a Samsung Nexus S which I will refer to as well since it has a newer version of the Android OS than does the X10.  First off, I will tell you that I went to the iPhone kicking and screaming (not really, but it sounds good).  I really never wanted any Apple products, felt there wasn’t a need for them or their price tag.  So, I have gotten that out of the way.  But having said that, I will be giving my open an honest opinion about the iPhone regardless of my views on most/all Apple products :)

Size:
Not much between the phones in terms of size.  Both Android devices are slightly larger than the iPhone device… until you have to put the iPhone in an ugly protective case so you don’t lose your signal!  Yeah, I still find that funny.  Having said that, I like the added weight that the protective weight gives the phone.  It lets me know if the device is still in my pocket or back at my desk.  I actually prefer a heavier phone, but manufactures keep making them lighter.

Screen and Resolution:
Both the Androids have much larger screens than the iPhone, but the iPhone has a higher resolution, which makes things look pretty crisp.  For the real test ;) , I played Angry Birds on all 3 devices, I liked the Nexus S the best by far.

Performance and Battery:
The X10 battery life is pathetic!  Their spec sheet says stand by times between 415 and 425 depending on the network, I say “Yeah right!”  I know those stats are never accurate, but I am assuming they did the test with a bare bones Android 2.1 installation without all the Sony Ericsson bloated software.  Truthfully, I would be lucky to get 36 hours of standby time on the X10.  The Nexus S is better with it’s battery management and standby times were closer to 72 hours which is reasonable. The iPhone, of the 3 seemed to have the best standby time, but the battery drains quickly with use.

My X10 still has Android 2.1, which makes everything lag on my phone.  I also have to run programs such as Task Panel Xtra to kill some of the bloated software like Face Recognition that the kind folks at Sony Ericsson provided the phone.  The software would routinely take up 99% of the CPU of the phone!  Insane right?  Both the Nexus S (Android 2.3) and the iPhone are sleek though.  They are both very smooth to the naked eye, there isn’t much between them.  Again, the test of Angry Birds was used and they both performed well without any lag unlike the X10.

Camera:
Here is where Sony Ericsson spent a lot of time on the product and left in a bunch of blunders.  The Xperia comes with Timescape and Mediascape. This is a really novel idea but because of either performance issues with Android 2.1 or the phone itself, I stay away from these two applications as much as possible.  Both Timescape and Mediascape come with cool plugins for Facebook, Twitter, LinkedIn, etc and you can go to this dashboard and have either integrated views or separated by function.  The Xperia is so sluggish, that it is a waste of time and battery life keeping the thing up to date.  So, I have uninstalled all the plugins and barely ever sync it.  You can’t entirely remove the two applications unless you root the phone.  But I have digressed.  The Xperia comes with an 8.1 HD camera and the phone comes with a camera button so you can quickly take a photo… or at least you could try to quickly take a photo but this phone is so slow, it doesn’t really do anything quickly. Also, after you start the camera, you will have to kill the Face Recognition service again cause the camera fires it up.  Both the Nexus S and the iPhone feature a 5 megapixel camera and both phones have a front facing camera for facetime. The Samsung will do facetime either on WiFi or over your cellular network, but the iPhone will only work while on WiFi.  The one win so far that the X10 has is the Panoramic application from Sony Ericsson.  It is by far the best panoramic program I have seen out their for camera phones.

Notifications:
This part is OS specific.  Let me put it this way, the iPhone notifications stink!  If your phone is locked and you get an e-mail or a message and you don’t often mark your e-mails/messages as being read, you have no idea which application just got the message.  Furthermore, if you are away from your phone for a while, you will have to unlock your iPhone and check to see if you have received any messages/notifications.  It’s a complete guessing game.  The Android on the other hand has an notification bar along the top of the screen and you pull it down to look at what applications you received a notification from.  Both the Nexus S and the X10 have an LED light on the device that lets you know you have a notification.  The LED light on the Xperia changes color depending on the application that sent you the notification.  Not sure about the Nexus S as it is always in my wife’s possession.

Email (POP3 and Exchange):
I for one like the fact that the iPhone has a one stop Email client.  It is a limited client, but it is a one stop shop.  I have my work account (Exchange) and I have gmail and yahoo mail accounts.   The mail on all 3 gets pushed quickly to the phone, so I am always on top of the emails.  I can’t really search any of those emails, but at least they are in one place. The Androids come with gmail and a POP email client. The gmail client is great.  Does everything you would want a email client to do.  The default email client is much like the iPhone client, it’s a central location for your emails.  But like the iPhone, it can’t perform searches.  There is a decent email client for Android called K9 that supports IMAP, POP3 and Exchange 2003/2007 (with WebDAV).  I have tried it, but couldn’t get the push to work for my Yahoo mail, even though I have a IMAP on my Yahoo account.  My X10 comes with Moxier, so I was able to set up my Exchange email as well.  But, in the end, I got rid K9 and Moxier and just set up my gmail account to access my yahoo account.

The Interface:
When I first saw the iPhone, I often wondered if 1 button would be enough?  After using the iPhone for about 8 months now, I can honestly say, 1 button is not enough!  Different Android devices come with 3 buttons by default and some come with more.  The 3 buttons are Menu, Home, and Back.  Now, there is no standard as to how they are arranged on each Android device, but they are all there.  The Android 3.0 has these placed onscreen for Tablets, but they are there also.  Between the iPhone and the Android, I can navigate quicker through the Android than I can the iPhone.  The Android is more intuitive and really isn’t difficult to figure out how to get to anything.  One example is setting up WiFi.  The iPhone will annoyingly notify you of available WiFi in the area.  You could be driving down the road and try to make a call when the annoying notification comes up that you have picked up someones home network.  Yes, you can turn this off, but then you have to manually connect to the WiFi network by going into your Settings.  The Android displays a WiFi icon in it’s notification bar with a question mark through it.  If you want to connect to the available WiFi network, you simply select the notification and connect to the network.  It doesn’t interrupt you like the iPhone notifications do.  Other actions like long pressing the power button on the Android gives you the options to turn sound off, air plane mode, or power down.  Also, sliding the unlock pad from right-to-left turns the phone automatically to vibrate.  A long press on the iPhone just brings up the option to turn off the phone.  Androids also feature a long press as a touch screen function.  So, lets say I am in my email and I long press a selected email, it will give me options such as Read, Archive, Delete, Report Spam, etc.  The iPhone requires the developer to have placed that functionality on screen somewhere.

Music and Video:
For the Android, I use Winamp for my music. I can use the Winamp desktop to sync my files via WiFi, but I still hard wire the phone into my PC and I actually use Sony’s MediaGo to sync my files.  I don’t really use iTunes.  I know many people that use it and maybe those people can provide feedback on how slick it is.  But for now, I will stick with my Android and Winamp and be happy about it.  Video between the two, pretty much even.  I get YouTube on both.  But YouTube on iPhone manages my subscriptions better.  Strange, cause you would think that google would want to make YouTube experience on Android 100x better than on iPhone.

Keyboard:
The clear cut winner for keyboard interface is the Android.  I don’t mean the one that comes with Android, but Swype.  I know some Androids come with Swype pre-installed, but I had to install Swype on both my Androids.  Swype is a cool way to type.  Basically, you swype the keyboard and your fingers only leave the screen when you are done the word.  Also, if you need to get to an alternate key, you just perform a long press on the desired key and it will enter the character on screen for you without going to the alternate layout.  The Android 2.3 also has the added feature of Speech-to-Text on the keyboard.  You just select the Mic button on the keyboard and start talking.  Your dialog will be entered into the focused field.  Very cool feature that my X10 can’t use yet, but one of my wife’s most used feature on her Nexus S.

Applications:
Some people will use the argument that the iPhone has more applications hence the applications for the iPhone are better.  I wouldn’t be one of those people.  Since I have both phones, whenever I get an application/game for one phone, I will try and find it for the other.  Obviously there are device specific applications, but I have always been able to find similar applications that work on both phones.  The only application that I want on the Android that isn’t available for the Android in Canada yet is NetFlix.  It is suppose to be available for the Samsung Nexus S soon though.  I would imagine that for the next generation of Androids, this would be a standard feature.  Now, I don’t have data on this, but it seems to me that there are better free applications on the Android than the iPhone.  I am purely basing this on the number of applications that are loaded on my Android compared to my iPhone.

Conclusion:
Don’t buy an Xperia X10 :)  Sony Ericsson already have the Arc and the Play out and from what I hear, they have fixed the most of the flaws that came out in the X10.  I would be interested in trying the others out and if there is a Sony Ericsson rep that would like to send me one to review ;) I would be more than happy about the upgrade.   The Samsung Nexus S is a fantastic phone, but be prepared to install some applications after you start up the phone.  It has a bare bones Android system without any pre-installed software.  So, completely customize-able.  You can do worse than buying an iPhone.  On buying an iPhone, you will have to cover up that sexy exterior with a bulky piece of plastic and rubber so that you are able to make a decent phone call.

If you have any suggestions for improving my experience on the X10 or iPhone, leave a comment below.  And please, no Fanboy type bashing.  I am looking for honest discussions.

Update: I just upgraded the software on my X10.  So far, the device has been 100% more responsive.  I am having a small issue with “android.process.media has stopped unexpectedly.”  I am looking into it and correcting it, but the phone itself seems fine.  I removed some sony ericsson widgets off the bat and customizing the phone to my liking.

Share

→ 3 CommentsTags: Android · iPhone · Mobile Phones

Enabling Synchronization of the ADF Mobile Client Tutorial

April 25th, 2011 · 3 Comments *

Oracle has posted a quick howto on Enabling Synchronization of the ADF Mobile Client.

http://blogs.oracle.com/mobile/adf-mobile-client/#026377

Share

→ 3 CommentsTags: Mobile ADF

What is next for Webtogo users?

March 23rd, 2011 · Add a comment *

With Oracle’s announcement about the direction of Oracle Lite, Webtogo, and Branch Office, application development teams will be looking for possibly new directions.  So, decisions are going to have to be made.  Those decisions are:

  • Do we keep the JSP/Struts application and run it on another platform like JBoss or Tomcat and just migrate from Oracle Lite to SQLite.
  • Rewrite the application in another language and present the software as a thick client application.
  • Rewrite the application to target multiple devices

With a new breed of devices (Android, iPhone, BlackBerry, and Windows Mobile), are you planning on keeping your application designed for the laptop only?  I am sure some of you are thinking with the G3/G4 networks and extended Wi-Fi connectivity, what is the need for a disconnected database/client application?  In the past, the need for the disconnected application was usually due to lack of network connectivity.  Today, the requirements have changed. Users/consumers are using these devices more then just the phone feature.  Actually, when was the last time a cell phone was actually purchased because of it’s superior phone qualities?

Moving away from the offline model?
Not so fast.  We seem to have network connectivity where ever we go now right, so why do we need an application offline?  Before I answer this, lets take a look at the classic offline application, the e-mail client.  You might say “well, I have web based mail” but web based mail really only serves you 25-50 e-mails at a time so you aren’t really accessing all your mail.  Most of the time you are accessing your mail via Outlook or Lotus Notes(10 years of torture for me) in an offline mode.  Even on your smartphone, your accessing your mail via offline mode and with some pushing/pulling/polling at given intervals.  In fact, the need for offline storage is becoming greater.  Think HTML5.  HTML5 allows for various client side techniques for storing data in a offline mode.  There are even synchronization features, although not as robust as Mobile Server, the features are available for simple synchronization.

Webtogo Application staying on a Web Platform
The trickiest part of staying on the web platform is the deployment and configuration.  You could stay with the JSP/Struts application and just migrate to Tomcat or JBoss.  The only thing that would require a change would be the database connections and authentication.  In most cases, applications using Webtogo just used Webtogo’s internal authentication methods, but that would have to change.

Migrating to Thick Client
A thick client application can be a quick alternative solution to the web platform application and can simplify the deployment and application provisioning.  You can still use the same sync and data model as your existing Webtogo application and you could easily apply that to a new thick client application.

Targeting Multiple Devices
Since the sync model can be reused, you can actually apply the sync model to more then one publication meaning the sync model can go to more then one platform.  So far, Mobile Server supports sync to Windows, Windows Mobile 6, Blackberry, Android and Linux environments.  I have heard rumors that iPhone / iPad support is around the corner but I haven’t heard anything definitely about when they (Oracle) would support deployment to Apple products.

My Experience with Various Platforms
Here is my personal experience with all of these platforms.  I have been involved in development with Webtogo, thick client, and smartphone applications.  The need for the Webtogo applications almost always has been tied to the need to build a web based application that require an offline component.  So, to eliminate some of the development effort the choice is usually to use Webtogo.  The biggest issues with the web and Webtogo applications is usually keeping deployments of the application files in sync.  Seemed to be an issue with Struts more then the JSP and HTML files, but that is a topic for another time.  The thin client and smartphone applications are the ones that you can knock out the quickest.  Fast to develop.  Easy to test. Easy to deploy and maintain.  With HTML5, if you still require a web based application that requires an offline component, HTML5 could be a solution for you.  If there is complex synchronization that is still required though, Mobile Server would be the solution that could work along side that application to enable more complex synchronization.

I would like to here from experiences of the Webtogo community and the concerns or excitement about moving towards something new.

Share

→ Add a commentTags: HTML5 · Oracle Lite · Oracle Mobile Server · SQLite · Webtogo

Blog Direction

March 6th, 2011 · Add a comment *

I am moving the blog into a slightly different direction.  Not that I am moving away from Oracle Lite related posts, but what I will focus on more is mobile development with embedded databases blog posts.  This blog has been specifically targeted to Oracle Lite and specifically to the synchronization portion of the technology.  Although, I will be talking about the latest in the Oracle Mobile Server sync technologies, I will be posting relevant postings about mobile software development and smartphone devices.  Some of the topics I will be looking at covering are:

My personal phone is a Sony Ericsson XPERIA X10.  I have used Mobile 6.1, and BlackBerry in the past, and my new work phone is suppose to be an iPhone 4.  So, hopefully my experience with those devices translates well to the wide variety of technologies out there today.

Share

→ Add a commentTags: Oracle Lite

February Event in Moncton, N.B.

January 20th, 2011 · 1 Comment *

February event in Moncton, N.B. Canada:

Topic:
Oracle’s Mobile Enterprise Application Platform

With an increased focus of Smartphones and Mobile devices in all industries, for architects it is important to understand how these devices and infrastructure will integrate as part of your enterprises architecture.

In this talk, we will look at Oracle’s Mobile Enterprise Application Platform and the components and technologies that makes up the platform (Berkeley BD, SQLite, WebLogic, Lite Mobile Server, JDeveloper, ADF Mobile, and Oracle Database).

When: February 14, 2011 @ 12:00 P.M to 1:00 P.M.

Where:
Moncton Public Library
644 Main St.
Moncton, N.B.

Sponsor:

bsi

Cost: FREE!!! Please register via eventbrite to help with the count.

Share

→ 1 CommentTags: Berkeley DB · Java · JDeveloper · Oracle Mobile Server · SQLite

White Papers on Berkeley DB with SQLite API

November 24th, 2010 · 2 Comments *

Mike Owens has written the book on SQLite… and here it is.

Now he has provided two very good white papers on the comparison of the two products.

Share

→ 2 CommentsTags: Berkeley DB · SQLite

Synchronizing with Berkeley DB

November 9th, 2010 · 6 Comments *

Here is a quick overview for the Oracle Lite guys that are going to be or planning to move to Berkeley DB / SQLite API pretty soon.

There are plenty of options in Berkeley DB that make the the database more stable then Oracle Lite on the mobile device.

I was playing around with the Berkeley DB last night and here are some of the features I could see really useful that Oracle Lite does not have out of the box or at least you aren’t able to change the default option.

  • auto_vacuum – By turning on this option, basically it reduces the high watermark on the database when bulk of records are deleted. Oracle Lite has the use of the defrag tool, but that has to be run manually and it has to be provided to the users. It does not come built in. auto_vacuum has three modes: NONE, FULL, and INCREMENTAL. Read up on the auto_vacuum pragma here and the VACUUM statement here. Note that auto_vacuum does not defrag the database, but it can fragment it more. VACUUM command is the defrag option.
  • journal_mode – Journal mode is the rollback segment of the database. I am not going to repeat all of the 6 modes but here is a quick highlight: OFF, DELETE, TRUNCATE, PERSIST, MEMORY, and WAL (Write-ahead-log). For users in a synchronization environment, the following may be your best options in the following order MEMORY, TRUNCATE, and DELETE (Normal Mode). Since most of your data is stored on the server, it is probably safe to use a rollback segment that is in volatile memory. Read more about the journal_mode here.
  • synchronous – There are three modes here; FULL, NORMAL, and OFF. The default is FULL. What this pragma does is check the database on occasion to ensure that information is written to disk. So if your system crashes, you will be relatively safe from a corrupt database. Now with the mobile server, you always have a backup of your data on the server, so even if your client database becomes corrupt, completely refreshing the clients isn’t a problem. They will lose the data the was updated since the last sync. So, the damage is minimal. Knowing this, you can decide how synchronous you want your client database to be. By turning off the synchronous mode, some operations can improve by 50x. Something to consider.
  • As I get myself a little more familiar with Berkeley DB, I hope to have some more Do’s and Don’ts posted.

Share

→ 6 CommentsTags: Berkeley DB · Oracle Lite · SQLite

Oracle Mobile Enterprise Application Platform Group on Linkedin

November 2nd, 2010 · Add a comment *

There is a new LinkedIn group for Oracle Mobile Enterprise Platform. Oracle Mobile Server plays a big part in the platform and it would be a good way to get connected with like minded individuals. So, if you work with Oracle Lite, Berkeley DB, SQLite, JDeveloper and ADF Mobile, this is a good place to get connected.

Here is the group, and please join.

Also, please don’t hesitate to send me an invite
@ http://ca.linkedin.com/in/rekounas.

or

View Gregory Rekounas's profile on LinkedIn

I will also have some new tips and tricks working with SQLite and BDB coming shortly as well, so make sure you check out my blog if you don’t have the RSS feed.

Cheers,

Greg

Share

→ Add a commentTags: Berkeley DB · Mobile ADF · Oracle Lite · Oracle Mobile Server · SQLite

Migration from Oracle Lite to Berkeley DB

October 21st, 2010 · Comments Off *

If you are in the situation where you are migrating Oracle Lite to Berkeley DB including Webtogo Web Based migrations, I can help.

I have experience with Oracle Lite from versions 9i(5.0.2) to 10g(10.3.0.3) and I can help with your migration.

Contact me for further assistance.

Share

Comments OffTags: Berkeley DB · Oracle Lite

Speaker for a local Java User Group

October 20th, 2010 · Add a comment *

November event in Saint John, N.B. Canada:

Recently, I became a Director of a Maritimes Java User Group. The group holds monthly events and I thought I would hold one about Oracle’s Mobile Application Platform.

For more information on the Maritimes JUG, visit them at maritimes-jug.ca.

Topic:
Oracle’s Mobile Enterprise Application Platform

With an increased focus of Smartphones and Mobile devices in all industries, for architects it is important to understand how these devices and infrastructure will integrate as part of your enterprises architecture.

In this talk, we will look at Oracle’s Mobile Enterprise Application Platform and the components and technologies that makes up the platform (Berkeley BD, WebLogic, Lite Mobile Server, JDeveloper, ADF Mobile, and Oracle Database).

When: November 19, 2010 @ 12:00 P.M to 1:00 P.M.

Where:
Saint John Free Public Library
1 Market Sq.
Saint John, N.B.

Sponsor:

Cost: FREE!!! Please register via eventbrite to help with the count.

Update: Refreshments and snacks to be provided.

Please help us spread the word on twitter, blog, e-mail… bring your friends. Ask your companies about sponsorships. We are always looking for other speakers or programmers who would demo and talk about interesting Java technologies.

Share

→ Add a commentTags: Java

Oracle Mobile Server and Oracle’s Mobile Enterprise Application Platform MEAP

September 24th, 2010 · 1 Comment *

Here is a look at Oracle’s MEAP (Mobile Enterprise Application Platform)

With Oracle putting so much effort into ADF and Berkeley DB, developing scalable and reliable mobile applications in a rapid fashion never was quite this simple.  Oracle has replaced Oracle Lite with Berkeley DB and the gains there are in performance of the client database itself and a much smaller footprint.  Oracle is also expanding support of the devices that the Mobile Server will synchronize with.  Now with ADF Mobile Client and enhancements to JDeveloper to allow for deploying mobile applications through the IDE, Oracle has made a one-stop-shop of all your development needs.  Due to all this new technology coming into play, look for a lot more posts on this blog to keep you up-to-date on the evolution of the products.  I will be providing information on Synchronization, Mobile ADF Client, and Berkeley DB.  Also, I will be providing article on migration roadmaps from your exiting Oracle Lite, Webtogo, and Branch Office applications.

Here is a list of components and what they do:

Oracle Mobile Server: Provides database synchronization with data subsetting, application provisioning, and remote device management.  The Mobile Server also comes with the development and packaging tools required to deploy mobile applications.

Oracle Berkeley DB: The mobile device database and now with the added support of SQL92 compatibility.

Oracle ADF Mobile Client: Oracle’s Application Development Framework now ported to mobile devices in a client format.

Oracle JDeveloper: Oracle’s Java IDE that ties everything together for the application developers.

Feel free to contact me if you have any questions through the Contact Me link.  Or just comment to this blog post.

Share

→ 1 CommentTags: Berkeley DB · JDeveloper · Mobile ADF · Oracle Mobile Server

Oracle Mobile Server and Oracle Berkeley DB

September 15th, 2010 · 2 Comments *

Just to clear some things up.  Yes, Oracle has put Oracle Lite in maintenance mode… or at least it will be by the end of November 2010.  Oracle has replaced Oracle Lite with Oracle Berkeley DB.  Here is some information on BDB:

  • Written in C
  • Software Library
  • Key/value API
  • SQL API by incorporating SQLite
  • BTREE, HASH, QUEUE, RECNO storage
  • C++, Java/JNI, C#, Python, Perl, …
  • Java Direct Persistence Layer (DPL) API
  • Java Collections API
  • Replication for High Availability

What remains the exact same is the Oracle Mobile Server!  The Mobile Server will be providing data synchronization, data subsetting, application provisioning, and device management… these things have all been around for some time and are continuing to grow and be enhanced.  Oracle is also introduced  JDeveloper integration into the Mobile Server as well as ADF Mobile Client.  In short, Oracle wants to be able to offer a full end-to-end solutions.  From Database, Fusion middleware, ERP, and mobile applications, the moves in the last year are really pointing to that direction.

ADF Mobile Client comes with the latest download of JDeveloper.  Once installed, go to Help -> Check for Updates to download the ADF Mobile Client extension.

If you have questions or comments, be sure to add them below.

Share

→ 2 CommentsTags: Berkeley DB · Mobile ADF · Oracle Mobile Server · SQLite

How to Connect Eclipse to Oracle Lite

September 4th, 2010 · Add a comment *

I have done a How to Connect JDeveloper to Oracle Lite, now I will connect Eclipse to Oracle Lite.

  1. Window -> Preferences
  2. Expand Data Management and then Connectivity
  3. Select Driver Definitions and click Add…
  4. Select Oracle Thin Driver… vendor Oracle, the version doesn’t really matter but just select 10 for this example.
  5. Rename the Driver  Name to 
  6. Click the Jar List tab
  7. Select the only jar that is there and click Remove JAR/Zip
  8. Click Add JAR/Zip…
  9. Find %ORACLE_LITE_HOME%/bin/olite40.jar
  10. Select the Properties tab
  11. You can leave Catelog as USER or change it to something else.  Oracle Lite won’t use this.
  12. Edit the Connection URL to be jdbc:polite:<USERNAME>_<Database>
  13. Edit the Database Name to be <USERNAME>_<Database>
  14. Edit the Driver Class to be oracle.lite.poljdbc.POLJDBCDriver
  15. Edit the password to your password
  16. Edit the username to be system
  17. Click Ok
  18. Now, find the Open Perspective button and click it.
  19. Select Other…
  20. Select Database Development and click OK
  21. Data Source Explorer will attach to the left frame.
  22. Right click on Database Connections and click New…
  23. Select Oracle and enter POLJDBCDriver and click Next>
  24. You should now see all the information that you entered earlier.  Click Test Connection.  If everything is set up correctly, then you should get a Ping Succeeded message.
  25. Click Finish
  26. You should now see your database connection in the Database Connections tree.
  27. Right click on the POLJDBCDriver root and select Open SQL Scrapbook.

From the drop-downs in the Connection Profile, select Oracle_10 and the Type, POLJDBCDriver as Name and select your database name.

 

Share

→ Add a commentTags: Java · Oracle Lite

Getting started with Berkeley DB and Oracle Mobile Server

August 26th, 2010 · 16 Comments *

In this post, I will try to give a quick overview of setting up Berkeley DB to Sync with Mobile Server. It is important to note that we will be overriding the SQLite deployment.

Step 1: Building the Berkeley DB
Here is the document to get you started.

Step 2: Rename Binaries
Once you have built the binaries (libdb_sql50.dll and dbsql.exe) rename those files to sqlite3.dll and sqlite3.exe.

Step 3: Copy File to the Mobile Server
Copy those files to the Mobile Server under the following path:
$ORACLE_HOME/mobile_oc4j/j2ee/mobileserver/applications/mobileserver/setup/common/win32/sqlite

Modify the following file:
$ORACLE_HOME/mobile_oc4j/j2ee/mobileserver/applications/mobileserver/setup/dmc/common/sqlite_win32.inf

Add the following entry that is in bold lettering:

<item>
<src>/common/win32/sqlite/sqlite3.dll</src>
<des>$APP_DIR$\bin\sqlite3.dll</des>
</item>
<item>
<src>/common/win32/sqlite/sqlite3.exe</src>
<des>$APP_DIR$\bin\sqlite3.exe</des>
</item>

This is optional.  The sqlite3.exe is equivalent to msql or sql*plus.

You should now be able to run the setup.exe for the SQLite Win32 and the client will be set up for Berkeley DB SQL API.

If you perform a sync with the SQLite client, your directory structure will look something like this:

08/26/2010 01:25 PM 41,984 default.db
08/26/2010 08:42 PM 67,584 fod.db
08/26/2010 08:42 PM 20,480 OSE$default.db
08/26/2010 08:42 PM 34,816 OSE$fod.db

By using the Berkeley DB SQL API, your structure will differ by having <database>-journal folders.

08/26/2010 09:44 PM 32,768 default.db
08/26/2010 09:44 PM <DIR> default.db-journal
08/26/2010 09:44 PM 32,768 fod.db
08/26/2010 09:44 PM <DIR> fod.db-journal
08/26/2010 09:44 PM 32,768 OSE$default.db
08/26/2010 09:44 PM <DIR> OSE$default.db-journal
08/26/2010 09:44 PM 32,768 OSE$fod.db
08/26/2010 09:44 PM <DIR> OSE$fod.db-journal

For a lot of the Oracle SQL Developers, some things you will need to brush up on while using the new SQLite environment. Lack of Stored Procedures… but since Berkeley DB source code is availble as open source, a developer should be able to add functions to be able to perform the same tasks. SQLite doesn’t support sequences in the same way Oracle supports sequences. So, to have the ability to sync your sequences to the client, you will need to performance the following sql statements to keep your client and server in sync for sequences.

To get the nextval of a sequence
SELECT IFNULL((CUR_VALUE + INCREMENT_BY ), MIN_VALUE )
FROM C$SEQ_CLIENTS
WHERE NAME = 'MY_SEQ';

To update the sequence with the current value
UPDATE C$SEQ_CLIENTS
SET CUR_VALUE = IFNULL((CUR_VALUE + INCREMENT_BY ), MIN_VALUE )
WHERE NAME = 'MY_SEQ';

Other differences are obvious ones like SQL functions. As I do a little bit more development with Berkeley DB, I will try to benchmark it against the SQLite flavour and the Oracle Lite database to see how everything stacks up.

Share

→ 16 CommentsTags: Berkeley DB · Oracle Lite · SQLite

Oracle OpenWorld 2010

August 19th, 2010 · Add a comment *

I am headed to San Francisco again this year for Oracle OpenWorld. I will also be a co-speaker for the following session:

Session ID: S317033

Time/Location: Wednesday, September 22, 11:30 | Hotel Nikko, Golden Gate

Title: Oracle Berkeley DB: Enabling Your Mobile Data Strategy

Abstract: Mobile data is everywhere. Deploying applications and updates, as well as collecting data from the field and synchronizing it with the Oracle Database server infrastructure, is everyone’s concern today in IT. Mobile devices, by their very nature, are easily damaged, lost, or stolen. Therefore, enabling secure, rapid mobile deployment and synchronization is critically important. By combining Oracle Berkeley DB 11g and Oracle Database Lite Mobile Server, you can easily link your mobile devices, users, applications, and data with the corporate infrastructure in a safe and reliable manner. This session will discuss several real-world use cases.

Speaker(s): Eric Jensen, Oracle, Principal Product Manager
Greg Rekounas, Rekounas.org, Oracle Mobile Consultant

Event: JavaOne and Oracle Develop

Stream(s): ORACLE DEVELOP, DEVELOP

I am quite exited about going this year. Oracle Mobile Server is in the process of changing the client database from Oracle Lite Database to the Oracle Berkeley Database. I will be testing out some of these features and hope to have a how-to post about getting your synchronization working with Berkeley DB soon.

Share

→ Add a commentTags: Berkeley DB · Oracle OpenWorld

Changes to Oracle Lite Database components coming

August 4th, 2010 · 2 Comments *

Before you read too far into the note, this is note for the decommissioning or the Oracle Lite Database Client. The server, sync, and device manager along with the development tools are still being developed. The client database will be Oracle Berkeley DB with SQL support via SQLite. Basically, if you are on Webtogo or the Branch Office, these deployments will be in maintenance (which means no new development) .

Oracle Database Lite client sunsetting announcement [ID 1124003.1]
Applies to:
Oracle Lite – Version: 10.0.0.0.1 to 10.3.0.3.0 – Release: 10.0 to 10.3

Information in this document applies to any platform.
What is being announced?
We are announcing changes to the Oracle Database Lite product.

Some components will be shifted to maintenance mode, while others will continue to be actively developed and enhanced.

The Oracle Lite Client Database, as well as Branch Office and the Web-to-Go components, will be moved to maintenance mode.
The core underlying framework, including the Mobile Sync Client and Server, Device Manager and the Mobile Device Workbench, will continue to be actively developed.

Oracle Database Lite will be removed from the pricelist at the end of Q2FY11 (end of November 2010).
What do you need to do?
The primary product Oracle recommends to replace the Lite Client Database is the Oracle Berkeley Database, which is a fast, highly scalable, embeddable, transactional database.

Berkeley DB 11.2.5.0.21 has been enhanced with SQL support (SQLite SQL), in addition to its traditional key/value store interface. This is for situations where the customer requires a lightweight embedded database, with the ability to synchronize with the Oracle Database.

In situations where a multiuser database server is required, such as in existing Branch Office configurations, Oracle Standard Edition One is the recommended alternative. However, these products do not overlap 100%, so some application changes may be required.

In cases where customers are using Web-to-Go on the client side to run JAVA Servlets, the customer will need to replace Web-to-Go with a Servlet container of their choosing. Oracle is not offering an official mobile Servlet container at this time.

Who to contact for more information?
Oracle Database Lite will continue to be supported by the Oracle Support Team. For release 10.3, Premier Support will continue until December 2012. After that, Extended Support will continue until the end of 2015.

During both the Premier and Extended Support phases, Oracle Sustaining Engineering will provide program updates, fixes, security alerts, and critical patch updates to Oracle Database Lite customers. As with all Oracle products, support is available indefinitely to customers who purchase Lifetime Support.

Those customers will continue to have access to Oracle’s repository of security alerts, patches, solutions, and other documentation. Lifetime Support will be available beyond 2015, for as long as necessary.

For more information regarding the Oracle Support Policy, please refer to the Technical Support Policies page:

http://www.oracle.com/support/policies.htm

Share

→ 2 CommentsTags: Berkeley DB · Oracle Lite · SQLite · Webtogo