This article will provide a live account of the three day Enterprise Mobility conference, hosted by AMIS in Nieuwegein, The Netherlands. Oracle ADF Product Managers Frank Nimphius and Chris Muir are the keynote speakers. They are joined by Willem de Pater, Steven Davelaar and Lancy Silveira from Oracle and Luc Bors, Frank Houweling, Paul Swiggers, Aino Andriessen and Lucas Jellema from AMIS. The presentations and demonstration during this conference cover the next step for most enterprises (with ADF or without): introducing enterprise mobility. Many of the themes currently or shortly relevant to any organization will take center stage: multi device UI, mobility, security, agile & automated software engineering, performance & scalability, user experience, web & mobile oriented architecture and cloud. It will discuss and demonstrate Oracle’s vision and the upcoming generation of products.
The audience is composed of about 40 experienced ADF application architects and developers that not just sit back and relax, but share their experiences and ask the tough questions. How well does ADF fit in the mobile world? What is the role of ADF in a future that consists of HTML 5 and mobile? What is the long term evolution of ADF – and the use Oracle itself makes of the framework?
Note: the Twitter hash tag for this event is #amis_m2e (follow us on Twitter: live twitter-feed)
Friday 23rd May
16:30 Aino is still going strong. He is advocating the use of automation in our build, test and deployment processes. To use Maven (with 12c) and Ant (for 11g). To use Hudson or Jenkins to organize frequent, automated build in our development and testing environments and to perhaps look a little bit further (XL Deploy, Bamboo, Go) when it comes to deployment strategies for Acceptance Testing and Production environments.
Aino badgers us about software craftmanship. Code quality, leaving code better than we found it, being proud of code. Ensure that our code is clear, readable, well documented to explain implementation decisions. I quite agree with him. Using terms like stuff, junk or even crap (meuk, zooi, bagger) to refer to your own (team’s) software when talking about compiling, checking in or building is common and is very wrong! Very unprofessional.
15:09 Aino started the last session of the conference: Continuous Delivery and ADF – Manage the modular architecture. He comments how fitting it is that application architecture, testing and continuous deployment are discussed at the end of the conference – as they are typically dealt with in fairly late stages in most projects too. Even though they are hugely important.
Aino discusses possible modular architectures for ADF applications – ways to organize the ADF application in a way that makes the development work and the deployment, versioning, resue and testing manageable.
13:47 Frank starts his presentation on the Oracle Application Testing Suite. First of all: what is the cost of not properly testing an application – functionally and performance oriented – before introducing the application into production.
12:25 A lot of questions and some discussions during Frank’s presentation. He talks about many things, including the ADF BC configuration parameters, the memory scope of managed beans, the JVM Heap Space settings, the rangeSize of ViewObjects, the use of specialized VOs for Form and Table pages.
He then demonstrates the HR Application from Hell – and shows how to analyze the extremely poor behavior of this application.
More information – and some webcasts – on the ADF Performance Monitor and how to fix the application from hell can be found on: http://www.amis.nl/ADFPerformanceMonitor.
11:58 Frank Houweling is about to start his presentation on performance monitoring, analysis and tuning – all the way down, from ADF Faces via ADF BC into the JVM gaining insight into the internals and acting on that insight. Chris Muir does a very good job of introducing Frank, highlighting the AMIS ADF Performance Monitor that Frank has worked on for the last three years. This tool is very good at providing fine grained as well as aggregate insights in the performance of ADF applications and identifying the exact pain points in the ADF application. The tool analyzes all steps in both the ADF Faces, the ADF Binding and the ADF BC tiers of the application, allowing quick pin pointing of the potential improvement points in the ADF application. Many best practices and common mistakes are recognized by this tool.
11:00 Paul Swiggers introduces Real User Experience Inside (RUEI), specifically applied to ADF applications.
10:20 Frank Nimphius presents ADF Programming – Best Practices
(his slides were very similar to http://www.slideshare.net/Berryclemens/con3075-nimphius-con3075programmingbestpracticesbeginneradffusionapps)
09:45 Chris Muir is done presenting the wonderful By the Poolside presentation in which he manages to turn this tough topic into a very clear, enjoyable and educational session. He divulges the following URL as an exclusive sneak preview to the video recordings of this presentation (nothing like the live experience of course, but still very valuable.
07:12 The final day of this three day event. I am sure it will add even more value to what already has been a very valuable event. After last night’s ADF Community Event and the kick off of the AMIS & Oracle ADF FIFA World Cup Football challenge and the launch of the XML Data Control ADF EMG open source project by Wilfred and Richard (see http://t.co/gF64zuP9SZ) , some fatigue may set for the speakers (especially Chris and Frank who are doing outstanding jobs).
Thursday 22nd May
21:03 A Hot May Night – time to hit the bar (and continue the discussions there). Frank and Chris have just concluded their presentation for the ADF Community Night. They have enthused the audience with the next steps to come with ADF (12.1.3, 126.96.36.199, 12.1.4 and beyond). They have been slightly grilled by the audience and probably a little bit more by the heat generated by the warm May night and the over 60 ADF developers attending the session.
19:00 After the dinner buffet (out on the terrace on account of the pretty good weather conditions), there is a special announcement by Wilfred van der Deijl and Richard Olrichs.
This pair of top ADF specialists have collaborated – as part of a project at Dutch financial institute MN – on what is duped the XML Data Control. They publish this component as an ADF EMG open source project (courtesy of MN). Their use of the Safe Harbor slide is a tongue in cheek reference to Frank’s and Chris’s reliance on that slide to waive any responsibility for whatever they present afterwards.
The XML Data Control is an ADF Data Control that is used by developers to create data bindings in ADF Faces pages, just like the ADF BC Data Control and the POJO Data Control. The data exposed through this data control can be any XML source – from a SOAP or REST WebService, from a static XML document or a custom Java Class that produces an XML document from anywhere. It offers much more control and flexibility than the Web Service Data Control does (that is very limited in scope and usability).
Through this XML Data Control, it will become very simple for developers to leverage fairly complex web services or any other XML producing provider in ADF applications. Additionally the source for this component will be a great example for developers to see how custom data control can be developed.
In the very near future, an official launch event for this component will be held on the premises of MN in The Hague. To attend this event or to be informed about the next steps with the XML Data Control, you can register at: http://bit.ly/signupxml . The slides for Wilfred’s and Richard’s presentation are here: http://bit.ly/mnxmldc .
17:59 Last minute preparations by Wilfred and Richard:
17:45 The ADF Community Night starts. Brian Wolff (Oracle) and Luc Bors (AMIS) & announce the AMIS & Oracle ADF World Cup Football 2014 Challenge – develop an ADF app(lication) associated with the World Cup Football 2014 and win the Oculus Rift 2 VR glasses.
Will this team (Paco and Wilfred) compete too?
17:25 Chris is close to concluding the first part of his presentation on ADF BC Application Module Pooling. This is undoubtedly by far the best (and most fun) explanation of what are extremely important and intrinsically complex subjects. Incredible how well the audience engagement still is at this time of the (long, hot and intensive) day!
Chris indicated that his presentation (in the form of a series of video recordings) will soon be available on OTN. As you probably understand gather: it is highly recommended.
15:30 Lancy and his “groupies” after his presentation. They want to hear more (and more and more)
Download the eBook on realizing UX and Simplified UI using ADF: tinyurl.com/SimplifiedUI.
15:00 Lancy in the middle of his very entertaining session on implementing UX using ADF Faces. “We use the new Deck component like hell”.
The Deck component (ADF 12.1.3) is rendered as a card that can be flipped. The card can have two faces, or many more. The flip-method can be configured, using various animations (similar to slide transitions).
Some examples of creating nice UI implementations using ADF Faces – using components such as Spring Board, Panel Drawer, PanelTabbed:
Glance, Scan Commit
Lucas introduced the notion of Glance, Scan, Commit in general terms:
14:00 – Lucas Jellema presents on User Experience (really the lead-in to Lancy’s presentation). See for the slides:
12:55 After the lunch break, Steven Davelaar is presenting a very challenging demo – using ADF Mobile against a REST interface put on top of the BPM Suite and the Human Workflow service. He demonstrates a Claims processing app (and backend) where an insurance claim can be submitted from the mobile device – including pictures taken at the seen and documents associated with the claim – causing a BPM process to be triggered.
Claims handling staff can use their own Oracle mobile app to get an overview of the tasks waiting for them – rather the claims they have to review. Each task can be handled very easily (glance & scan) from the mobile device. Dealing with a claim will then cause the BPM process to continue. To top if of, Steven showed how the ‘local persistency mechanism’ in Oracle’s Mobile solution allows the app to present the claims even when in off-line mode.
Negotiating an intricate path between all the devices he brought to the party and the many steps in the demo, Steven did a very good job of demonstrating the integration between many of the bits and pieces we have discussed over the last day and a half.
11:00 Lucas Jellema – The mobilization of SOA Suite – the rise of REST
See for the slides for this presentation: .
10:21 Frank Nimphius – The REST-side story.
Even though some of Frank’s demos are challenging, he seems pretty relaxed:
10:13 Remotely Wiping a Container
After wipe, container App is still on the device, but the configuration is lost (as is the data associated with the container).
When the container is started again, the user can access the ‘container catalog’ and have the container reinitialized based on the selected configuration. This includes reinstalling the apps that were previously part of the wiped container.
Note: The container can be used in off line mode too.
Note: there is no ‘restore container after wipe including all documents and app data'( there is no container-back-up mechanism)
To initially get going with the enterprise secure mobile container, we can simply have an LDAP user sent an email with a URL that the user can click to start the installation procedure:
Enterprise Admin console
dashboard of container management:
details of a specific container:
Catalog of containerized apps
Add new app of type Web (site)
And see it in the catalog
Also: add SMB server path
Also: upload/register containerized app.
Users are managed using existing IDM solutions – such as Active Directory or OID. These details are available in the Mobile Security Container Admin Console.
09:47 The containerization of an app: no SDK required, the App is not modified. Can be done for custom built apps as well as COTS apps. The process of containerization adds a security layer around the app. In the process the unsigned app gets the APK injected and is signed with a corporate certificate. It is a straightforward, simple process that takes minutes or less.
After these steps, the ‘container-enabled’ app is added to the catalog, from which it can be added to mobile container instances. Container == Enterprise Mobile Workspace (shared by all containerized apps).
Microsoft is not yet willing to make unsigned versions of its apps available. Note that an app has to be unsigned in order to be containerized.
09:27 To put apps in the secure mobile container is fairly straightforward: it is a simple process of selecting apps from the corporate catalog and signing the app with your own certificate.
Right now the option to take a screenshot – while the secure container is shown on the screen- cannot be disabled. However, if the screen is showing anything that should be kept secret, taking a picture of the screen with an external camera has the same effect.
Note: this white paper provides more information: http://www.oracle.com/us/products/middleware/identity-management/mobile-security/secure-adoption-of-byod-wp-2199321.pdf .
The App Tunnel – the secure connection between the mobile app container and the enterprise back end – does not require a VPN connection.
09:09 – After a brief recap of day one and an overview of what day two is going to bring, Willem de Pater (Oracle) starts his presentation on Oracle’s Mobile Security strategy – focusing on the Bitzer acquisition (Bitzer in bits). Note how very up to date these details on mobile device theft really are (see lower left hand corner):
A crucial aspect of the Bitzer offering is the ‘application container’: a secure container in which corporate applications and data can be installed and managed. It is this container that should be secured by the enterprise and that should be remotely wipeable by the enterprise when the device is lost or the employee is. The container has a number of standard apps out of the box – such as a web browser, a file manager, secure email, document editing etc.
The network rules that apply to the corporate network can also made to apply to the secure mobile container: if you cannot access Dropbox from your desktop in the office, neither can you access Dropbox from within the container on your BYOD device. However, outside the container on that device, you can still access Dropbox.
08:58 – Everyone eagerly seated and awaiting day two of the Enterprise Mobility conference. Well, perhaps it took us until 9:02 to get everyone in the room, but no longer.
Wednesday 21st May
17:01 – Chris shows a video with a number of examples of apps developed with Oracle’s Mobile development technologies. This video is available at http://www.oracle.com/us/corporate/events/oracle-cloud-forum/index.html – PaaS & IaaS – Part 2
16:54 – Chris is back on to discuss the various mobile solution areas Oracle is offering. Currently he talks about security. Things like: how to guarantee that our enterprise apps do not store passwords in clear text? How do we make sure that all (relevant) network communication to and from mobile apps is secure (transport layer, encryption)? How do we manage the BYOD devices – ensuring that the enterprise cannot access, read or wipe the personal data on the BYOD yet how do we ensure that when the device is lost or stolen or when the employee leaves the organization all the enterprise stuff on the device can be removed? The Bitzer acquisition offers functionality to take of these requirements.
15:47 – Steven is in the middle of a complex demo of how REST data services can be used to provide data to the ADF Mobile application (and how these are ideally accessed using a business objects layer that allows the app to also run against a local storage (a very crude summary of what he is doing).
See the A-Team blog articles on Implementing Data Caching and Data Syncing for more details.
Steven’s slides (although the demo is of course what really brings it to life):
15:10 – Popsicles for our tea break; well deserved and needed because of the hot day and the exciting presentations…
14:55 Chris: You do not need ADF at all (in the back end) to be using ADF Mobile! It is the same programming paradigm. It is not the same technology!
14:33 Luc completed a very thorough overview of ADF Mobile. He demonstrated how to implement a number of fairly advanced application features (including a custom spring board and push notification (!). Luc’s book will go production in Q3 2014 (around OOW that should be)
13:45 “As soon as anything goes into production, it is legacy” says Chris Muir. Chris discusses a number of enterprise mobile challenges, including the lack of resources to develop iOS/Android applications for the enterprise environment.
13:17 We have resumed – after a nice outdoor lunch in great weather with lively discussions (as much about World Cup Football as about ADF), we have reconvened for an afternoon of ADF Mobile – with Chris, Steven and Luc.
12:45 – Lunch:
12:17 – Device integration from ADF Faces is not so hard in certain situations: add prefix in destination attribute of goLink component (mailto: , tel:).
Steven manages to engage the audience, even when their minds start to turn to lunch:
12:05 – Steven explains how device specific UI component manipulation can be implemented in a generic way in ADF Faces using a JSF Phase Listener that triggers a VisitCallback implementation in the before RenderResponse phase. Examples are: adapt table scrolling to device with proper fetchSize and autoHeightRows and pagination controls (note: 12.1.3 introduces tablet-optimized-scrolling), conditionally switch off features that do not make sense on the current device, add inline overflow on small screen device to cater for wide tables.
11:29 – Steven is getting off to a very good start with setting himself a serious challenge – showing code, demonstrating applications and staying on time.
Steven discusses how ADF Faces applications can be adjusted for tablets – still browser based, still also used on desktop browsers. Provide a good user experiences, use the form factor and screen size as appropriate on each device and also handle touch based gestures.
See Stevens slides here:
11:10 – Frank is in the middle of this key note on mobile (Mobile is eating the enterprise) in which he explains how pervasive mobile has become, for the world in general and for the enterprise environment in specific. Some keywords: Mobile first, adaptive design and responsive layout.
09:53 ADF 12.1.4 brings the notion of Remote Regions. This would allow an ADF application to have regions based on task flows deployed in other applications (that run either on the same WebLogic Server instance or a different, remote one). Similar to WSRP Portlets – but geared towards ADF (and hopefully usable). It should cater for contextual events being exchanged between the remote region and the local application (however, obviously, no transactions or session state can be shared).
9:47 Frank mentions the Alta look and feel that is expected in the ADF 12.1.4 timeframe – to be used with both Mobile and Web applications (with a somewhat iOS7 like look and feel):
09:12 Frank and Chris get the show on the road with their ‘State of the ADF nation’ presentation about past, present and future of ADF.
They ask the audience whether anyone is still on ADF 9.0.5 (no one is) and who is on 10g, 11gR1 or 11gR2. ADF 12c seems to have relatively small uptake; perhaps we are all waiting for 12.1.3 – soon to be released (no date given).
12.1.2 new feature: af:target component (to do more fine grained partial page refresh).
ADF 12.1.3 will be part of the full breadth FMW 12.1.3 release. It provides a lot of features – no large architectural changes.
DVT has been extended and improved (including nice thematic map features and the diagrammer chart component as well as new gauges and an interesting looking dependencies visualization component.
09.00 (well, 9:03 perhaps) – Kick off of the Enterprise Mobility conference – introducing the speakers, the objectives and the roadmap for the three days. This includes the ADF Community Night on Thursday (22nd May). This might be an event to celebrate the 10 year anniversary of ADF (which I believe was first launched in 2004). AMIS celebrates about 14 years of working with ADF and its immediate predecessors (BC4J).