MAF, ADF, MCS? Jeff Davies gives answers

  • Created by DOAG Online
  • Development, Mobile

Mobile is an increasingly important issue in the application development of enterprise applications. In an interview with Stephan La Rocca, Jeff Davies, Senior Principal Product Manager for Oracle Mobile Technologies, talks about Oracle's products for mobile application development as well as their plans for the future.

Jeff, mobile and cloud computing are currently the key drivers for the development teams. What’s your advice: Go to the mobile cloud services (MCS), or is it still too early to switch to that platform?

Well, MCS is currently in Beta and will be released very soon. Although MCS is not released yet, there are still things that people can do to prepare for it. One major concept in MCS is that you create mobile back-ends. Essentially what you’re doing is you’re creating a set of APIs that should be application neutral for any of your back-end systems or any number of third party cloud services that you may want to incorporate; then weave them together into your mobile back-end for your specific applications.
A lot of it may be based around skill set. MAF is great for Java-Developers, but when you’re working with MCS, your Javascript skills and your Node.js skills are also going to be important. So if you don’t have these skills now, you can start learning about Node.js and JavaScript now to take full advantage of MCS when it’s released.

If you switch to mobile cloud services, does it mean that your database also has to be a cloud service?

No, not necessarily. If you want to have database as a cloud service, we do have a product that will do that for you. If you want to integrate MCS with your existing cloud service database you can. If you have an existing database that you want to connect to using MCS, we make that a simple process. You should be publishing your enterprise applications through a layer like the mobile cloud service to help mobile-enable enterprise applications. If you have been on the SOA path for the past decade or more, all the skills and the architecture directly translates into going mobile.

Right now Oracle offers three different kinds of suites for MAF. Simply based on only MAF application I would like to say the other one is the mobile suite and the mobile security suite. What do you think are the major differences between these approaches?

Well, MAF itself is a mobile client developer tool. Mobile suite is a combination of MAF and Oracle Service Bus. Oracle Service Bus is a very good tool for using in the enterprise for creating application neutral services that you can then publish through something like MCS. In the past we had a set-up so that the mobile client could directly call the services that you create with Oracle Service Bus and that’s a fine way to go. But there are things that you want to do on mobile for which Oracle Service Bus is not a hundred percent good fit.
MCS has capabilities that you want to use as a mobile application developer. For example, the ability to store objects or information in an application neutral way. One of our example applications that we use is called Fix-It-Fast. Fix-It-Fast represents a service company that will come out and fix a problem that’s in your home. A user that has the Fix-It-Fast application could go down, take the picture of some damage, maybe the water heater has failed or something like that. They take the picture and then upload it using the Fix-It-Fast mobile app for consumers. That image will be stored in the cloud. It wouldn’t go back to any particular enterprise application and this allows the mobile application developer really to start and build a meta enterprise application that doesn’t map specifically to any single enterprise application, but provides additional, necessary information for that mobile application to be effective.

How do you differentiate the mobile security suite to these products?

Mobile security suite is really going the extra step to provide security on the mobile services and the mobile client itself. When you use MAF, you are still getting security. You can use HTTPS, and anything you store in the local database on a MAF application is automatically encrypted. So you get a fair bit of security automatically. However, mobile security suite provides additional layers of security. It goes beyond just HTTPS. It can also secure the mobile application themselves, because it creates an,  "application space" in which you install these MAF applications. I think mobile security suite is a big value add to MAF applications. It give you greater control over enterprise data on a personally owned mobile device. For example, if you have an employee that leaves the company and you want to make sure that employee no longer has those particular enterprise applications and data on his phone, then you just want to wipe the applications space, but you don’t want to wipe their holiday photos with the other applications on it.

If we start in a very small project with MAF only – are there any pitfalls to consider if we like to think bigger at the end? Are there any architecture decisions to take care about?

No, not really. MAF is great for the standalone clients and it will connect to any cloud/REST service that you want. When you then move on to the Mobile Cloud Suite, it’s largely a matter of changing the service end-points in the mobile application. The client is independent of the server as long as it knows where to contact the server.
If you would have Oracle mobile suite today and you do all of your work, using the Oracle Service Bus and then you add MCS, then you essentially just replicate through Service Bus your Services into MCS. But then you have an additional layer with MCS to begin to map in other services like Google maps, or add something from another cloud provider to augment the information.
So the overall architecture from mobile that’s been provided by Oracle is very flexible.

Partners are often stuck with the question of what to use: MAF or on the other hand ADF mobile browser? What do you think are the important questions to ask to decide between MAF and ADF mobile browser? Is it only the connectivity or are there any other differentiators?

I think it is still very important to have the ability to operate in a disconnected environment. Today, there are still many places where there is no internet connectivity. So having the ability to operate while disconnected from a network is certainly a major consideration for customers. With MAF you also get a richer mobile experience because it’s designed for that. The mobile browser is good for simply more web based applications: you will not need a local database, and you will not be concerned about securing that application itself.
So having products like MAF and Mobile Security Suite really takes your mobile options to the next level. Personally, a lot of work that I do on mobile application framework is strictly HTML5. You could argue you do the same thing with ADF mobile browser, but with MAF I get everything all in one. If I need to store things in a database, I can, and if I need to provide some business logic on the mobile applications site, I can do that. I can also package up that business logic into feature archives that I can share across multiple MAF applications that I create. So I am beginning to have centralized business logic that I can reuse.

When we look a little bit into the future and keeping the safe harbor statement of Oracle in mind – what do you think are the main features coming up in the next MAF release?

The future is going to be very exciting. Oracle will be introducing new platforms of support for MAF. So the one thing that I can just guarantee to MAF users is that – as new mobile platforms on the client site become popular – Oracle will work hard to include those in MAF.
I'm hoping that as these new wearable devices really take hold that we’re going to see more support for those as well. It’s kind of interesting to think about a MAF application on your suits and dresses. Not everything wearable in the future will be a watch. So I think you will see MAF continue to mature and evolve and keep pace with the changes in technology in the mobile market which don’t seem to be slowing down anytime soon.

Right now Oracle supports applications on iOS and Android. What about other platforms? Are there any future plans to support Microsoft or blackberry?

There are. Unfortunately, I cannot comment on the specifics. But I can tell you that we are going to be supporting another mobile platform in an upcoming release of MAF. MAF is alive and well at Oracle and remains our strategic product for mobile application development.

Jeff, many thanks for your time and the interview!

Bye, bye Stephan! Thank you very much for your time!