Showing posts with label JavaOne. Show all posts
Showing posts with label JavaOne. Show all posts

Thursday, October 4, 2012

Oracle Open World - thursday

Last day of the conference... Not a lot of sessions today (only 1 and the Java community keynote), but we've subscribed to a trip to Oracle HQ this afternoon. We're getting a tour in their usability labs.

But first things first. I started my day with the Java community keynote. It was mainly about innovation, and some cool demos of robots (by Perrone Robotics) were given. In the end, James Gosling entered the stage and showed us what he is currently doing: Liquid Robotics. Medium-sized robots that roam the seas and gather data.

Then I went to an ADF session by Eugene Fedorenko. He took us through the process of developing an ADF application. During his 'deep dive', he showed us how to programatically create entities and view objects, end display them on the screen. I found it a bit odd to do everything programatically, instead of using the declarative strength of the framework, but I'm sure that in some cases this will turn out to be the best way.

On to Redwood City then. Oracle took us on a tour in their usability labs. They showed us how their apps are tested and evaluated using some advanced eye-reading techniques. An interesting afternoon, as closure for a very interesting conference. I learned a lot, saw some very nice demos and met interesting people. All in the lovely setting of San Francisco.


Wednesday, October 3, 2012

Oracle Open World - wednesday

Another day in San Francisco! Today's sessions are mainly about deveoping apps in the cloud, but there's also some ADF and an ADF Meetup tonight. I saw my early morning session about Java Heap and memory usage cancelled, so I used the extra time to go running in a San Francisco where the sun was just coming up. Lovely!

Develop apps with Oracle database cloud services (Rick Greenwald)

This session was presented to us by Rick Greenwald, director of Projectmanagement at Oracle Cloud. It didn't really tell me anything new. It was more of an APEX session than a cloud DB session. Rick gave a demo of an APEX application, running in the cloud.

One thing I noticed, though, was that the Oracle cloud DB only supports 1 schema. And that it's expensive. Pricing is $175 a month (for 5GB storage, 50GB would be $2000 a month). If you consider it includes everything (license, server, support, ...), it's not all that much, but if you take into account you can get a 5 GB MySQL cloud database, $175 is quite a lot. There's also a data transfer limit of 6 times your storage. Rick however told us that they will be monitoring the traffic (to avoid DOS attacks), but won't undertake any immediate action upon exceeding.

Another issue is that when you want to access your database from outside Oracle cloud, you'll have to use RESTful services. SQLDeveloper has a cloud connector built in these days, so you can still easily connect to your database. But if you want to connect another application (not running in Oracle cloud) to your cloud database, you need to expose your queries to REST web services. We were shown this is quite an easy process, though, but you really don't want to do this for larger applications.

I think Oracle Cloud has a lot of potential, but also a lot of limitations. You'll be kinda forced to use a full Oracle stack if you want to have all the benefits. Of course, if you just intend to write an APEX application, one Oracle cloud database can work wonders.

Developing with cloud services (Chris Richardson)

Chris Richardson is the founder of Cloudfoundry. He presented a very nice session on using cloud services. He used an application he wrote as guidance through the session: VoteMeetEat.com. The concept is simple: you text the word 'register' to a certain number, you get a confirmation SMS with an URL, you subscribe to that URL and you're in the program. The idea is to find restaurants and friends nearby. Anyone can then vote on a restaurant of their choice, and a group of friends can meetup at the highest voted restaurant.

To vote, you have to call a certain number, and based on your location it reads you the available restaurants. You vote by using your keypad. All participants receive a text message with the results. If you have to all write this by yourself, it would take months to get it done. And it would be a huge headache. So Chris takes advantage of cloud services, in this case for location, data and telephony.

In the demo he gave, he showed the different services he used. As a database to store friends in, MongoDB was used. It has an integration with CloudFoundry, so it's easy to use. Then, to find the restaurants nearby, a 3rd party service named Factual was used. Based on the geolocation of your phone, the Factual API returns a list of restaurants, and their information.

The most difficult part to setup and maintain yourself, though, is telephony. Setting up a database isn't all that difficult, but setting up your own telephony provider and maintaining it, doesn't sound like something you'd want to do yourself. And then we didn't even mention the complex protocols. So Chris has Twilio to do that for him. You talk HTTP to Twilio, Twilio handles all the complexity of the telephony. It's on a pay per use basis, so if your app is rather small, it's not all that expensive.

The VoteMeetEat application is a very nice example of how cloud services can be used to make the life of the developer a lot easier. And to lower development , hardware and maintenance costs.

Monday, October 1, 2012

Oracle Open World - monday

This year, I have the privilege of going to one of the biggest conferences in the world: Oracle Open World. If you look at the numbers... they're pretty huge! During this week, I'll try to keep you posted on the most interesting sessions I followed. There'll be a short summary, and my personal thoughts and views.

Why should you switch to Java 7 (David Keenan, Staffan Friberg)

Summary

The presentation was a summary of, as the title says, why you should switch to Java 7. I'll just sum them up again!

JCommands
Garbage First
Runtime compiler improvements
Sockets Direct Protocol
Performance benefits to
  •    Date
  •    BigDecimal
  •    Crypto
  •    String to byte conversion
  •    concurrency API
  •    Hotspot JVM
  •    PermGen
  •    Internal strings
  •    XML API
Backwards compatibility (source, binary, behavioural)
Heap retuning

My thoughts

Not really a very innovating session, just a sum up of what's new in Java 7 and what's to come in Java 8. A good review, though, and makes you think of upgrading.

Future of development for Oracle Fusion (Chris Tonas)

Summary

Chris gave a demo using ADF Faces. It was a  typical ADF application with fancy graphs and components. Then he showed us the same app, but on an iPad. It had the same functionality, but HTML5 instead of Flash. It also had a slightly different layout and supported gestures and touch. The pagination in tables we so liked in ADF 10g has returned (in an  im:proved way), to avoid scrollbars.

He then talked about the iOS and Android SDK support in JDeveloper, and the visual preview of the app you're building. Apparantly, you build an ADF app once, and then deploy it to Android and/or iOS (and any other vendor Oracle decides to support). Pretty convenient! Further, Chris discussed offline support and gave an ADF Mobile demo. This time, it was a native iOS app, which I thought was pretty impressive.

To end the Mobile part, Thomas Quilligan presented a real-life case. He is from Accenture, an ADF Mobile Beta Program Partner. It was nice to see the Oracle ADF Mobile technology being used in a real-life project.

After that, we moved on to the Cloud part of the talk., with a strong focus on Developer Cloud Service. These are some of the out of the box services that the Developer Cloud offers:
  • Source control
  • Maven support
  • Issue tracking
  • Continuous Integration (Hudson) 
  • Wiki




The demo of the Developer Cloud Service that followed, was very nice. It showed the full development lifecycle, all brought to the cloud, organized in neat dashboards.






My thoughts

This was a very nice presentation. The ADF Mobile still looks promising, and appears to be finally released soon. The cloud part really surprised me. I've been waiting for Oracle Cloud for quite a while now, but I didn't know they were going to offer something like the Developer Cloud. I really liked that. If it all integrates as well as in the demos, this will definitely be a product I'd want and like to use!

Oracle's public cloud strategy (Abhay Parasnis)

I'm writing an article about this session on Cloudspring. I'll update the link as soon as it gets published.

Classic mistakes with ADF (Frank Nimphius, Duncan Mills)

This was a nice light session about some of the most made errors with ADF. Driven by real examples and questions, Duncan and Frank guided us through. I'll add the slides as soon as they're available, since writing it all out seems a little pointless.

I'll just give a bit more details about one of the errors discussed. It's one we ran into as well, and Frank and Duncan categorized it as 'silent, but deadly' (as opposed to 'unforgiveable' and 'bear traps'). It's about using a bean that is not request scope, but that contains references to UI components. The problem here is that UI components only last as long as a request. They are therefore not serializable, and any bean with a scope higher than request, will want to serialize all it's variables.