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.
Showing posts with label Oracle. Show all posts
Showing posts with label Oracle. Show all posts
Thursday, October 4, 2012
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.
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.
Labels:
Cloud,
Cloudfoundry,
JavaOne,
Open World,
Oracle
Tuesday, October 2, 2012
Oracle Open World - tuesday
This day, I have done a lot of sessions on something I've been waiting for for quite a while: ADF Mobile. I won't discuss each session seperately (since it's all on the same topic), but I'll just give my general view.
First, it's worth noting that ADF Mobile really looks promising. The idea that you develop 1 application and then deploy it to different platforms, is really good. You build an app, then deploy it to Apple's App Store or Google's Play. Or both. Without having to deal with either Android specific stuff or Objective C. Pretty neat. Also, ADF Mobile makes sure your app is future proof. If Windows 8 turns out to be a huge hit, or any other OS that might appear in the future, ADF Mobile will have support for it.
All of this is possible because of an HTML5-based user interface. Below that, ADF Mobile uses PhoneGap to acces the device specific services. Build once, deploy everywhere. I did an hands-on session today, where we built a simple ADF Mobile app and deployed it to both iOS and Android, and I must say it works pretty good. The look and feel is generally the same and all of the functionality you build in is available in both versions.
Apart from that, I've seen quite a few demos on ADF Mobile. Or rather: demo. All presentations use the same demo app. I must admit, it looks definitely great, but seeing the same stuff over and over again gets dull after a while. Therefore I was very happy to see a real-world application demo by Infosys. They have built a mobile app using ADF Mobile for one of their customers. It's good to see the theory also appears to work in a real business usescase. The app also looked good, so I'm even more eager to get started with ADF Mobile myself now!
Labels:
ADF 11g,
Mobile,
Open World,
Oracle
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!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
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!
I'm writing an article about this session on Cloudspring. I'll update the link as soon as it gets published.Oracle's public cloud strategy (Abhay Parasnis)
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.
Tuesday, September 25, 2012
Oracle ADF Essentials
Oracle has released ADF Essentials: a free to develop and deploy core version of their Application Development Framework.
The following functionality, however, is not included in Oracle ADF Essentials, and requires the full Oracle ADF version: Oracle ADF Mobile, Oracle ADF Desktop Integration, Oracle ADF Security, The Oracle ADF Web service data control, Oracle ADF remote taskflows, Oracle ADF Business Component’s Service Interfaces, Oracle ADF Data Controls for BI, Essbase and BAM, Integration with Oracle Fusion Middleware features such as MDS, OPSS, OWSM, Enterprise Manager and MBeans, High Availability and Clustering.
All in all a good base to start from! We now await their cloud solution, so we can develop and deploy our ADF applications in the cloud.
What is included in Oracle ADF Essentials?
According to the documentation, Oracle ADF Essentials includes the following Oracle ADF components: Oracle ADF Faces Rich Client Components, Oracle ADF Controller, Oracle ADF Model and Oracle ADF Business Components.The following functionality, however, is not included in Oracle ADF Essentials, and requires the full Oracle ADF version: Oracle ADF Mobile, Oracle ADF Desktop Integration, Oracle ADF Security, The Oracle ADF Web service data control, Oracle ADF remote taskflows, Oracle ADF Business Component’s Service Interfaces, Oracle ADF Data Controls for BI, Essbase and BAM, Integration with Oracle Fusion Middleware features such as MDS, OPSS, OWSM, Enterprise Manager and MBeans, High Availability and Clustering.
All in all a good base to start from! We now await their cloud solution, so we can develop and deploy our ADF applications in the cloud.
Wednesday, September 12, 2012
ADF analyzed by Gartner
Gartner has recently published their analysis of Oracle's Application Development Framework. And while the general feelings towards ADF are rather hesitating, the Gartner conclusion is overall very positive. Of course, ADF is tightly coupled with Oracle's Fusion Middleware stack and JDeveloper (although an Eclipse plugin is available). But just because of those reasons, you can count on Oracle to continue developing and supporting ADF in the future.
A special mention goes to the MetaData Services provided in Fusion Middleware. It's an engine that allows users to personalize their own web-experience. Much like portals intend to do, but then in 'a regular' web application. It allows runtime customization of the look-and-feel, per user, group of users or the entire application.
Further, Gartner looks forward to the much anticipated ADF Mobile. They expect it to ship with the 12c release of ADF. As you could see earlier on my blog, I'm attending OpenWorld this year, and I hope to see some more details about ADF Mobile there.
So all in all a positive review of ADF. Let's hope customers also see the added value of the framework, and at least consider adapting it. Especially when an Oracle stack is already present, the step to start using ADF is not very big.
A special mention goes to the MetaData Services provided in Fusion Middleware. It's an engine that allows users to personalize their own web-experience. Much like portals intend to do, but then in 'a regular' web application. It allows runtime customization of the look-and-feel, per user, group of users or the entire application.
Further, Gartner looks forward to the much anticipated ADF Mobile. They expect it to ship with the 12c release of ADF. As you could see earlier on my blog, I'm attending OpenWorld this year, and I hope to see some more details about ADF Mobile there.
So all in all a positive review of ADF. Let's hope customers also see the added value of the framework, and at least consider adapting it. Especially when an Oracle stack is already present, the step to start using ADF is not very big.
Friday, July 13, 2012
ADF sessions at Oracle Open World
It's still more than 2 months away, but I'm already looking forward to Oracle Open World. I'm starting to look at the sessions that will be given, and I'm preparing my list. These sessions are must-see's for me!
- CON3923 - Classic Mistakes with Oracle Application Development Framework
- HOL9967 - Developing Applications for Mobile Devices with Oracle ADF Mobile Client: Hands-On Lab
- CON5623 - Deep Dive into Oracle ADF: Advanced Techniques
- CON2785 - Oracle ADF Implementations Around the Globe: Best Practices
- UGF10374 - Mobile Development with Oracle JDeveloper and Oracle ADF
- GEN9398 - General Session: Adaptive Development with Oracle Fusion—From Desktop to Mobile to Cloud
My selection is based on both topic and speakers. For now, I've only looked into the ADF sessions. I'll look into other topics (Cloud, Java, ...) later on, and will continue to update this list.
Wednesday, June 20, 2012
ADF in Eclipse
Oracle organizes a free virtual event, to show some best practices in building rich ADF applications, based on ADF Data Controls, using standard Java technologies (EJBs, JPA, ...).
There's also a live Q&A chat with Oracle technical staff. The event takes place on July 10. You can register here.
There's also a live Q&A chat with Oracle technical staff. The event takes place on July 10. You can register here.
Monday, April 16, 2012
Find constraint in Oracle database
When you're developing web applications, you usually persist against a database. And sometimes, that database throws errors at you. One of them can be a foreign key or other constraint violation. If you manage the database yourself, the constraint names are of course very logical and tell you immediately where the problem is. But sometimes the DB management isn't in your hands, and then the constraint key can be some random combination of letters and numbers. Obviously, it's not easy to find the cause of the problem then... unless you know how to search!
You can query all constraints in an Oracle database. Usually, the error you get from the database will be somewhere in your logs, or even displayed on the screen, so you have the name of the constraint that is violated. Once you have that, you can just run this simple query:
Now you know which table causes the error, and you can start solving the problem.
Of course, the 'all_constraints' table has more fields than just constraint_name and table_name. To find out what more you can query, just use following command:
This will give you a list of all queryable fields.
You can query all constraints in an Oracle database. Usually, the error you get from the database will be somewhere in your logs, or even displayed on the screen, so you have the name of the constraint that is violated. Once you have that, you can just run this simple query:
select constraint_name, table_name
from all_constraints
WHERE constraint_name = 'Faulted_Constraint_Name';
Now you know which table causes the error, and you can start solving the problem.
Of course, the 'all_constraints' table has more fields than just constraint_name and table_name. To find out what more you can query, just use following command:
desc all_constraints
This will give you a list of all queryable fields.
Wednesday, April 4, 2012
Test your PL/SQL skills!
The best way to deepen your knowledge of a certain topic is to practice it. Play with it, take quizzes about it, just be 'into it'. And when you can win prizes, that's always a nice extra.
Now there is a PL/SQL Challenge. It's completely free, and you can win (e-)books and Amazon gift cards. But apart from that, it's a great way to test, deepen and maintain your PL/SQL skills.
Find the PL/SQL Challenge at http://www.plsqlchallenge.com/ .
Now there is a PL/SQL Challenge. It's completely free, and you can win (e-)books and Amazon gift cards. But apart from that, it's a great way to test, deepen and maintain your PL/SQL skills.
Find the PL/SQL Challenge at http://www.plsqlchallenge.com/ .
Monday, March 19, 2012
Oracle Certified Professional (OCP), Java SE 7 Programmer
Oracle has announced a new certification, the Oracle Certified Professional, Java SE 7 Programmer. If you already are an Oracle Certified Professional (or a Sun Certified Java Programmer) for a previous version of Java, you can take an exam to upgrade your certification to the latest version.
If you're not yet certified, and want to become an OCP, you must first pass the Oracle Certified Associate (OCA) Java 7 Programmer exam.
If you're not yet certified, and want to become an OCP, you must first pass the Oracle Certified Associate (OCA) Java 7 Programmer exam.
Friday, March 16, 2012
Updated Java 6 EOL date
In its recently updated Java SE Support Roadmap, Oracle provides an updated date for Java 6 to go EOL (End Of Life). It used to be July 2012, but has now been postponed to November 2012.
Basically, it means that after November 201 Oracle will no longer post updates of Java SE 6 to its public download sites. Developers are encouraged to switch to the latest version.
Basically, it means that after November 201 Oracle will no longer post updates of Java SE 6 to its public download sites. Developers are encouraged to switch to the latest version.
Thursday, March 15, 2012
Oracle supports btrfs filesystem
Oracle has released the latest version of its Oracle Unbreakable Enterprise Kernel. You can find the release notes here. This release is based on Linux 3.0.16 and is a clone of the Red Hat Enterprise kernel.
With this release, Oracle is the 2nd vendor, after SUSE, to provide support for btrfs filesystems.
More information about btrfs can be found here.
With this release, Oracle is the 2nd vendor, after SUSE, to provide support for btrfs filesystems.
More information about btrfs can be found here.
Wednesday, March 7, 2012
Free Cloud DB
I was looking for a free cloud database for my online applications, and to play around with a bit, and found a few solutions.
One was Oracle. My background is Oracle, and it's by far the best database there is. Unfortunately, their cloud solutions doesn't seem to be quite ready yet. You can register, but don't get a cloud database to play with. Yet... As soon as Oracle cloud is up and running, I'll check it out and make a post about it.
We continued our search then. I figured there wouldn't be any free Oracle cloud database, so I extended my reach to all databases. I stumbled upon Xeround. They seem to provide a free MySQL solution. Which basically is Oracle as well, since they acquired Sun. So I signed up, and created a DB instance. Apparantly, instances up to 10MB are free. There are payed solutions if you want more capacity. But for the stuff I'll be doing, 10MB of data will be more then enough.
The creation of an instance took a few minutes, but once finished, my database was up and running. It comes with a very convenient phpMyAdmin online console to manage the database and execute queries. So far, it looks like a very decent solution. Later on, I'll try to use the database in an application!
One was Oracle. My background is Oracle, and it's by far the best database there is. Unfortunately, their cloud solutions doesn't seem to be quite ready yet. You can register, but don't get a cloud database to play with. Yet... As soon as Oracle cloud is up and running, I'll check it out and make a post about it.
We continued our search then. I figured there wouldn't be any free Oracle cloud database, so I extended my reach to all databases. I stumbled upon Xeround. They seem to provide a free MySQL solution. Which basically is Oracle as well, since they acquired Sun. So I signed up, and created a DB instance. Apparantly, instances up to 10MB are free. There are payed solutions if you want more capacity. But for the stuff I'll be doing, 10MB of data will be more then enough.
The creation of an instance took a few minutes, but once finished, my database was up and running. It comes with a very convenient phpMyAdmin online console to manage the database and execute queries. So far, it looks like a very decent solution. Later on, I'll try to use the database in an application!
Subscribe to:
Posts (Atom)