dinsdag 2 oktober 2012

OOW & JavaOne 2012: Thursday

Sunday - Monday - Tuesday - Wednesday - Thursday


HOL9967 Developing Applications for Mobile iOS and Android Devices with Oracle ADF Mobile: Hands-on Lab

Nice hands-on using the not-yet-available JDev R3 with the ADF mobile plugin.  Nice to see that we got rid of the Trinidad components and the simplified development and deployment architecture.
To get the rumors out of the way: they are still using the PhoneGap solution to interact with the device capabilities.

Very good news is the general availability of the solution.  Now this is targeted within 3 weeks.  Really looking forward to that.  To keep up to date, follow the ADF Mobile blog on http://blogs.oracle.com/mobile.

Oracle Usability Lab Tour

This was not a traditional session, but we were able to go to HQ of Oracle and see how the usability team is tackling the different challenges.  Nice to see is the amount of work they are doing and growth of the team itself.  Now you have people looking after the applications, fusion applications and even middleware solutions.  Also the developer tools are being monitored.
The coolest demo was off course the eye-tracker.  It keeps track on the focus of the eyes to determine how people look at pages when searching for information.  This information is then used to make the screen of the products more user-friendly.

We were back @5pm and that was then our last action @OOW12.
Hopefully the ready was interesting and we are looking forward to the release of all this great new products and features from Oracle.

If you still hungry for more information on OOW12, please join us @OracleExperienceDay.  Hope to see you all there.

OOW & JavaOne 2012: Wednesday

Sunday - Monday - Tuesday - Wednesday - Thursday


CON2425 Do It Yourself: Custom JavaFX Controls

It is always a good idea to start your day with an impressive demo of a "cool" technology.  Again an hour of impressive demo's.  One thing is sure, I really need to start getting into it.
The speaker talked about the different ways of creating your own JavaFX controls.  Looking at the result, it is really worthwhile.
Ending the hour with some very good tips:
  1. Use cache and cachehint
  2. Tricky effects: set the animation on the group, not on the shape
  3. Visualizations
  4. Read-only properties
  5. Use Scenic View: a separate tool for debugging your code and the JavaFX Components
  6. Use FxExperience tools: easy tool, allowing you to visually create your own styelsheet or to inspect an existing stylesheet.
  7. Get the source of the components.  
  8. JFXtras project: good resource for examples and a place where you can share your components with the community.
  9. Use FXML for design, not for animations

CON3870 What's New in JSF: A Complete Tour of JSF 2.2

Nice to hear that JSF was already present on the JavaOne2001 and that today it is used everywhere on the world, even Antarctica.
This new version tries to restate the scope of the features on JSF, between the server side and the client side.
They do not foresee any big releases anymore, like happened with the 2.0 release.  Off course, who can look into the future :-).
A small overview of the different new features:
  • HTML5 friendly markup support
  • Faces Flows: are like modules of pages.  Being an ADF developer, this sounds very familiar.  The need thing here is the fact that you can declare this flow in java or in xml.
  • Cross site request forgery protection
  • Load facelets via resourcehandlers
  • FileUpload component
  • Multi-templating
A bit strange to look at in the beginning, is the combination of writing pure HTML5 code and embed JSF attributes in them.  So you can do things like : <input type="color" jsf:value="#{requestScope.MyBean.colorValue}".  Once you are using this kind of construct, the standard input-component will be transformed into a JSF component.
Another cool concept is the ClientWindow, it maps to the browsers view and covers multiple view node (=pages).
Another feature is the viewactions.  You can declare an action and define when it should be executed, like after loading a page or during load or before load.  Really something that could be helpful in the ADF solution also.

CON9013 Best Practices for Extending Oracle Applications with Oracle WebCenter Portal

Nice to have again a typical Igor Polyakov session: a lot of very interesting information, even for seasoned webcenter  people.
WebCenter Portal is mostly used for application dashboarding and self-service environments.  These kind of applications rely heavily on integration.  Here are the different integration possibilities:
  • Markup Integration: this means integration on the glass.  It has a quick ROI and very little development effort.  Possible markup integration methods are:
    • WSRP Portlets
    • ADF Taskflows
    • Pagelet Producer: this a product of the WebCenter stack allowing you to extend existing applications or render existing applications as pagelets that can be used in portal environments.
  • Data Integration: here we are not integration UI, but the data sources themselves.  This means that you will need to create a new UI on top of the existing data sources.  Also here we have different possibilites:
    • Through API's: you are using web services or connect directly to different data sources.  On top of these you will need to create your UI, this can be done by ADF Taskflows, portlets or business mashups.
    • BI Integration: instead of going directly to the database, you can use the BI Presentation Services to deliver you pre-calculated information.  This can be done through BiReports and Dashboards.
    • BPM Integration: you can make use of the BPM Process Portal, which is integrated in your WebCenter Portal solution.  You can also make use of the BPM Human Tasks integration points.
    • Service Access Layer: is a new product which is going to be released in PS7 somewhere next year.  It is a solution that allows for separation of data gathering and data visualization, very comparable with the setup you do for a BiPublisher Report 11g.  How to work with this product:
      • Domain experts will need to address the applications integration challenges and will need to create the necessary SQL, WS or REST artifacts.
      • With these artifacts, one can create reusable data provider.
      • There will be OOTB data providers and you will be able to create your own.
      • These data providers will be exposed as REST endpoints, allowing different technologies to make use of them.
      • Now business users can use the new Data Presenter, which is a wizard driven development tool allowing users to create rich ui's based on the data providers.  All @runtime!!

CON9440 Mobile Enablement of Oracle Fusion Applications with Oracle Fusion Mobile Development

Welcome to the new buzz-word for Fusion Applications: TAP.  The name is not an abbreviation, but simply referring to the way one works with a tablet; through tapping on the device.
It has become a nice clean app with simple and consistent UI's.  For the application world, this is really a game changer, the technology world was already aware of these capabilities.
For Oracle mobility is all about true flexibility, getting things done.  It is not the purpose to recreate CRM on the tablet.  This application should really fit in the way you live and work.  Meaning when and where you can work and what kind of actions you perform the most.  It should increase your organization's velocity, not slowing momentum down.

What are the key capabilities of this TAP product:
  • Because it is available on a tablet, the application is always on. You don't need to wait for it.
  • There is a TAP composer, allowing you to define the layout of the tap application.
  • It has off-line capabilities, allowing you to work wherever there is no internet connection.  The way this works, is by caching everything you touch will you are on-line.  So once you are off-line, the same information is still available.
  • Possible deployments:
    • Cloud apps for mobile web browsers: not yet there, but soon :-)
    • Cloud apps for tablets: native apps
    • Cloud apps for smartphones: there are more focused on single applications. Not integration of different applications, like with TAP
  • It tries to give you the functionality you need depending on your role in the company
  • Productivity amplified: Live - Work - Connect: which is the key principal!
  • It is only available for cloud based solutions.  So you can not connect to your Fusion Applications running on-premise, for the moment.
  • You can download it right now from the Apple Store and play with.  When you open the application, you have the possibility to login or to use test data.  Use the latter if you just want to play around and you do not have a Fusion Application SAAS service running.
  • The whole idea is to combine different Fusion Applications into one single tablet app: TAP. No matter from which domain the information needs to come, it will be shown in the same app with the same UI controls.
  • It is designed for business users, who can access business information with it and transact on it.
  • License: you need a Fusion Cloud application license, this include the use of the TAP application.
  • They are still looking for early adapters.  So if you are interested, let them know.

CON8952 BPM: An Extension Strategy for Enterprise Applications

A good overview on the possible integration points between the Oracle Enterprise applications, like Siebel, eBusiness Suite, PeopleSoft, ... and the Oracle BPM product.  For best practices, visit their best practices page on http://www.oracle.com/technetwork/topics/index-096924.html.
Nice to see is that there is already a Belgium reference case: FN Herstal.  Who are using Oracle BPM for their Order2Cash Project, together with the Oracle Business Rules product.

OOW & JavaOne 2012 : Tuesday

Sunday - Monday - Tuesday - Wednesday - Thursday


KEY10723 Oracle OpenWorld Keynote:Oracle and EMC

This was the traditional Keynote of Thomas Kurian.  The main theme was also here the Cloud.  He gave a little more detail as Larry, but unfortunately nothing more.  Also a big drawback, was the fact that the demo's were simple powerpoint presentations.
One new information was the fact that by the end of the year, we should have a preview edition of the cloud services Collaboration and Analytics.

HOL10217 Getting Started with Oracle Java Cloud Service

This hands-on-lab started with a negative announcement: the lab environment was not available anymore.  Some problems occurred during the night.
With every negative force, there must be a positive one.  So we got a very nice demo and the possibility to ask any questions we wanted.  Hence the vast amount of information for this session.

For the use of the cloud services, the development tools of Oracle (JDeveloper, OEPE, NetBeans, SQLDeveloper) will get a new "plugin" for easy connection with your cloud service.  These special editions can be download from the cloud website.  Just follow the Resources - Download links on the cloud service page.

You can create as many trials as you want, certainly for the first couple of months.
Be aware that this is PAAS, not IAAS.  This means that you can not stop the clock.  With IAAS you can stop your environment and you do not need to pay anymore.  With PAAS, your environment is always running.  Once you stop it, it is gone.
Oracle has foreseen the concept of geo-locations.  This mean, that you can define where in the world you want to run your service.  Be aware, that the identity service runs per geo-locations.  Meaning you can not share your identities over geo-locations.  Hence, make sure that the services that need to work with each-other are running in the same geo-location.

The hardware setup for the database and java service is as follows:
  • The database service is based on a RAC based database running on ExaData machines.  Oracle is running a couple of databases on these machines.  But, according to them, they assure schema isolation, so no database isolation like Larry mentioned before.
  • The java service, which is composed of the WebLogic Server, runs on ExaLogic machines.
in this kind of environment it is not important to know on what the services are running, but instead knowing the SLA's that Oracle is setting forward.  An example of this, is the fact that Oracle will guarantee that your applications keep on running even after an upgrade done by Oracle.  This means that Oracle needs to make sure that it keeps there products backward compatible.

For the moment, the concept of friendly URL's isn't implemented yet.  The problem is the fact all URL's are SSL enabled and Oracle can only act as a CA for the oracle.com domain.

Once your java service has been activated(=instantiation of your environment) , you have 4 portals at your disposal:
  • My Accounts: allowing you to buy more services
  • My Services: portal for the service owner.  Also here you will get the notification of Oracle when they are going to upgrade your environment.
  • Identity Console: managing your users in the cloud
  • Service Instance Console: you have one console for each service instance.
In your environment, you have 2 kind of loggings.  One is the Job log, this is log for everything you ask Oracle to do something, like deploy application, stop application, ....  On the other hand you have the Service log, this is the logging of the application server and your applications.

There is a Cloud SDK, allowing you to do everything from the command line.  There is even the possibility to have a "tail" functionality of your log files.  Very cool.

Whenever you do a deployment, the following things happen:
  • Virus scanning of your application and sources
  • Whitelist scanning: looking for forbidden technology, like remote EJB's, unsupported protocols, ...
  • Deployment of your application
When you have different services started, under the same user name, then these services are linked automatically to each other.  For example: your Developer service will know about your java and database service and will have a connection to them declared automatically.  In your java service,you will have a JDBC connection declared automatically to your database service.

ESS11121 Oracle and NetSuite: Thriving in the Hybrid Cloud

Finally my first encounter with Larry's other flagship: NetSuite.  While Oracle is building solutions for the the fortune top 500 companies, NetSuite primary vision is the fortune top 5 million companies.
The solution is based on a single system to run your entire business on.  It is not only cloud enabled, but also internationalized; meaning that different languages, currencies and country specific regulations can live in the same system.
It was a great eye-opener.  Perhaps also a good candidate for the smaller market countries, like Belgium.

CON4644 JavaFX Extreme GUI Makeover

Again a waaauw session on JavaFX.  Very good demo's.  I really need to get my hands on these things.  The session started off with a bit unconventional menu based application.  It looked really impressive, but yet based on really simple building blocks like the viewport.  Again, CSS development is key here.  Really check out these demo's, they should be available after JavaOne on the presenters blog.

KEU10724 Oracle OpenWorld Keynote: Oracle and Infosys

In this second keynote of Larry, we saw a bit of the same over again.  It is clear that this OOW is all about Cloud Computing, Fusion Applications and Mobile development.
Here are few of the key points, that I take back from this session:
  • Fusion Applications (FA) is a complete suite, not a point implementation
  • FA is based on best in class platform (a bit of marketing here :-))
  • Apparently already 400 FA Cloud customers
    • CRM(38%), ERP(23%), HCM(39%)
    • On Premise(26%), On Demand(9%), SAAS(65%)
    • EMEA(23%), APAC(10%), America(67%)
  • It is very easy to move your apps between the different solutions, like on premise, on demand and cloud
  • FA is off course based on the FMW and DB technologies
  • According to Larry, data privacy should be put at the VM architecture or using the Oracle 12c multitenant DB layer.  But certainly not in the application layer.
  • Oracle is the only one who have build their social solution as a platform and not as a suite of applications.  This allows them to put social functionality in all of the solutions based on FMW.

CON8901 Optimize Enterprise Business Processes with Oracle WebCenter and Oracle BPM

This session gave a simple overview of the different features of the product set.  Nice to see, clean demo, but no best practices on how to handle this.  But again, very nice to see the integration between the different Oracle products.

OOW & JavaOne 2012: Monday

Sunday - Monday - Tuesday - Wednesday - Thursday


CON6234 Do You Really Get Class Loaders?

Good session on not only the way classloaders are working and how many there actually are, but also on what situations you can get yourself into as a developer and how (not also) to solve this.  The use of real examples and naming the different type of exceptions and errors possible in a certain situation, was well received.
What was new for me :
  • Normally a classloader checks first the parent classloader and then his context in searching for a class.  Except the WAR-classloader, he checks first his own context and then calls out to his parent classloader.
  • You can get the URI of the class that is being loaded.  Doing this shows you from where the class is really loaded.
  • Nice help is the "-verbose:class" jvm attribute and the "javap -private MyClass" command to help you understand how the classloaders are loading your class
  • The full classname is build up from the Class name and the Classloader name, the same goes for the packaging.  This means that when different classloaders are loading classes from the same package, you can get into trouble.
  • Classloaders are build for applets, not application servers (according to the speaker).  Hence the different kind of problems you can run into.
What I'm not sure about, is the fact whether all JVM's do this in the same way.  But at least, if(when) something goes wrong, you know where to look for.
One really clear message he had for all of us: never trust your assumptions. Always verify them.

GEN9433 General Session: Oracle Fusion Applications - Overview, Strategy and Roadmap

A really packed session.  I counted 828 chairs, not one was free when the session started.
The strategy of Apps remains the same as it was years before:
  • Continued investment in the "old" applications (Siebel, eBusiness Suite, PeopleSoft, ...)
  • Combine both the "old" apps with the new Fusion Applications.
  • Or go for the full suite.
The objectives of Fusion Apps:
  • User Experience : Intelligent, Social, Mobile
  • Innovation : Easy extensions, Upgrade friendly, Standards base
  • Deployment : Incremental, Cloud, Engineerd
I still got the feeling they have some work to do on these objects :-).

Release 5 of 11g is coming out this or next month.

Something new, that I wasn't expecting to hear, was the fact that you are able to get information from the "social  network" sites on the internet, like Google+, LinkedIn, Facebook, discussion forums, on your brand.
There are 4 area's of personalization in the Fustion Apps:
  1. BI Perspective: changing graphs
  2. Application Composer: change business objects and logic
  3. Process Composer : change the business processes themselves
  4. Page Composer : personalize the pages themselves
They also have there mobile solution ready.  It is based on ADF Mobile (which itself is not available yet), allowing them to run on browsers, native apps and smarphone apps.  In this solution they take the ADF Mobile approach of having ADF UI and then using the REST SDK to call out to the REST API's of the Fusion Apps.

What does the future holds:
  • More Localization
  • More Mobile
  • More Industries
  • More Power (Exa-ranges)
  • More Configurability
What's coming in Release 5:
  • Time & Labor
  • Social Marketing
  • Resource and Project "Management"
 Your choice:
  • Continuee on your current path ("old" apps)
  • Adopt a Co-Existence Solution
  • Embrace the Complete Suite

GEN11418 General Session: Overview of Oracle's Public Cloud Strategy

They see a shift in the Cloud offerings from a "capacity cloud" to a "capability cloud".
Famous quote : "Think big, start small, fail fast, scale soon".
Technology trends:
  • Globalization
  • Big Data
  • Modernization
  • Mobility
  • Social Interactions
I believe these were the same last year also :-).
You have to look at cloud as a key enable of choice between service delivery (IAAS, PAAS, SAAS) and service deployment (private, hybrid, public).

IAAS offering: Storage, Compute, Secure Identity, Cache, Queues, Messaging services
PAAS offering: DB, Java, Developer, Mobile, Collaboration and Analytics services and Application Store.  These PAAS offering is based on the use of the IAAS offering !!
And PAAS itself is fully integrated with their SAAS solution.
On the SAAS side, much effort is done on the Social part of the cake, in terms of Social Marketing and Social Campaign.

My colleague will have more in depth information on this session.

CON8914 Oracle Coherence: past, present and future

Very nice overview on the history of Coherence.  A clean picture on the evolution of the product over the years.
Currently Coherence is focusing on the on-premises and cloud adoption.  In the whole Oracle FMW stack, Coherence is suited in the Oracle Cloud Application Foundation.  In the context of the Exa-machines, what important is to Coherence here is the Infiniband network, which reduces the time to recover a node by 1/16th.

Now that we know where we are coming from, let's see where we are going to.
Coherence 12c (12.1.2) will be expected somewhere next year (how very precise :-)).  The fact that Coherence got now a FMW numbering, remember they are coming from 3.7.x), signifies the importance of this product in the entire FMW stack.
Here are the themes for this release:
  • Database sync: use of the Goldengate adaptor to sync changes in the database with the grid.
  • Configuration and Usability Improvements
  • One programming model for all events (triggers, backing maps, ...).  Curious how that would like and how they would make sure all existing applications on Coherence wouldn't break.
  • Configuration Modernization
  • Asynchronous backups: speed vs consistency.  Possible use-cases: session management (apps servers are working like this also) and when you have big processing to be done when setting a value, like a Ticker feed.
  • Backup Management improvements.  This talks about the backups of your primary objects and backups above 1.  These weren't always assured.  They will also add rack- and server-safe backups.  Now only the primary objects had this feature.
  • Exabus Improvement
  • Install, Upgrade and Patching: they are going to use the OUI Installer for production release and a Quick Installer for development releases.  For patching they will be using OPatch.
    Oh my God!!!  I believe this was the pay off to have a FMW numbering :-)
  • Managed Coherence Servers being able to make use of the GAR (grid archive file)
  • Maven support
  • Execution Context ID (ECID).  This is something really cool.  Other FMW components had this already.  It is a unique id for a request throughout the entire FMW stack.  This enables you to follow the request from WebServer to Database and Coherence in between.  Very nice feature for debugging and impact analysis.
  • Dynamic Thread Pool Sizing for Proxy Servers.
  • OSGi support via Library bundling
  • Enterprise Manager 12c
  • OEPE support
  • Coherence Incubator
What's coming after 12c (initial release, except for everything that didn't went into the first release):
  • Cache Persistence: this feature will allow you to dump the cache objects onto discs and load it backup again after a crash or when you had data loss in the grid. 2 approaches : per node (very scalable) or by a network drive (less scalable).
  • Federated Caching: this actually the inclusion of a Coherence Incubator pattern in the product with some enhancements to it.  Allowing you to easily setup an Active-Active, Active-Passive and Hub&Spoke configuration.

CON4038 Project EASEL: Developing and Managing HTML5 in a Java World

Impressive project of the NetBeans people.  You can test it using the NetBeans 7.3 Beta release.
It is all about a client-side project and JQuery knowledge in the editor.  It gives you a very nice tight integration between the browser and your IDE.  Selecting something in the browser (with the install of the NetBeans plugin) will set the focus in the IDE to this component and viceversa.
Again, very impressive.

Nice after thought: there is a big change that this feature will find his way also into JDeveloper.  Thanks a lot for that folks.

BOF4279 In-dept layout and styling with the JavaFX Scene Builder

Nice overview of some techniques to take into account when working with the JavaFX Scene Builder.  There is already a preview version of the 1.1 available, worth while to test it out.

BeNeLux Architect Event @Jasper's

I traded in 3 sessions for this event and it was a good descission.
We had the opportunity to talk to the Oracle experts on different domains, like database, WebLogic Server, ADF, SOA, WebCenter (thanks to Yannick) and the applications.  Very good admosphere and I had many good and open conversations with the pm's.
Also nice to know that there is still a place for me @Oracle.  Thanks folks, very much appreciated.