06:30 Keynote by Joel Kallman
Join Joel when he talks about Oracle Application Express. How it started out and what it became. Hear about Joel's passion to make customers extraordinarily successful with the Oracle Database, PL/SQL and Oracle Application Express.
07:45 From Python/Postgresql to APEX in the Oracle Cloud
FOEX was running an open source Forum software built with Python and Postgresql for more than 5 years. Since none of our developers had any Python knowledge, any kind of customisation was problematic. Also connecting the forums data to our internal CRM (APEX/Oracle DB) was wished for. This was when we decided to rebuild the Forum using the tool we know by heart: Oracle APEX. What started out as a training project for our summer intern turned into a big success. The forum now runs live on our Oracle cloud server at https://forum.tryfoexnow.com and will be open sourced in 2018. In this session we want you to learn about how we built the forum app, using Quick SQL and APEX, and how data migration from Postgresql to Oracle worked using SQL Developer.
07:45 APEX Shared Components- Revised
In this presentation we will look at features of the APEX Shared Components that we all know but are often overlooked or at least we don’t know all the good stuff about them. We will focus on Global Application Items, new features of Build Options in APEX 5.1, Data Load Definitions, Shortcuts and Text Messages. This presentation is not about basic usage of this features, it is about tips and tricks. We will look at how to overcome limitations when we work with Data Load Definitions, how to combine Shortcuts with Text Messages and also and exciting feature of APEX 5.2 - Authentication Scheme using OAuth2 ( Google, Facebook, …)
08:45 Structuring an APEX application
Creating beautiful applications with APEX is easy, especially after the introduction of Universal Theme. It is easy to follow the wizards and drop SQL and PL/SQL all over the place in your application thereby creating a maintenance nightmare. When a table is changed, which pages are affected? How can you easily find out? Getting the structure of your application right requires a method to follow. In this session I will share my thoughts on structuring your APEX application. This session will focus on just that: build robust applications; leverage views, packages, instrumentation, etc.
08:45 APEX Nitro - Your essential APEX companion
APEX community is full of great open source products. One of them is APEX Nitro - must have for every APEX project. It's the tool that will boost your productivity and make JS and CSS coding faster and easier than ever. Also, it will speed up your apps because of file compression. In this session, you'll learn how to install it and how to use all of its cool features, like: - Device synchronization - CSS and JS file compression - File merging - File uploads to APEX - Handling JS and CSS errors - And a lot more…
09:45 Continuous Integration and Testing with APEX
Continuous Integration and Testing is a hot topic right now, in this session I will show how you can configure your Development environment to get the benefits of a Continuous Integration and Testing metholodology. Why would you want to do this? Simple - to make our lives as developers less stressful. We will gain confidence in our releases and streamline the deployment process.
09:45 Exploring the details of APEX sessions
A session is one of the main features of APEX. It established a stateful behavior across pages for each user. Usually, we take a session for granted but knowing how sessions work in detail can be of great use when debugging errors. How does APEX secure and validate a session and its items? We will see what happens between creation and destruction of a session and how you can interact with it. There are some important differences when assigning a value to an item via Automatic Row Fetch, Computation, Source or Default value. We all struggle with these things from time to time. And what happens exactly when you submit a page for page processing? Ever heard about a 32k limitation in APEX? We’ll go into detail to clear out the exact problem and how to deal with CLOBs. The latest APEX releases have introduced additional features like asynchronous page submits, rejoin session and session cloning. We’ll take a look at how these things work and what the possible consequences are for our applications. This presentation will be of value for both beginners and experienced APEX developers.
10:45 Oracle APEX 5.2 - The Golden Nuggets
Every new APEX Release contains a few major features that everybody talks about. For APEX 5.2 for example this will be Remote SQL Data Access, REST service consumption, the new REST workshop and improvements in the interactive grid. In addition to this there will certainly be almost 100 other smaller features and improvements delivered by the APEX team. The wizards will be improved, the PL/SQL and Javascript APIs will be enhanced and the plugin infrastructure will be extended. Many of these features are certainly not talked about enough because they continually increase our productity or make things simply easier ... if and only if you are aware that they exist and how to use them. In this presentation we will have a close look at the most noteworthy of the smaller new features. Certainly we will see hands on demos and the full demo application will be provided as a download.
10:45 Alexa, what about APEX?
Voice assistants like Amazon Echo with Alexa becoming more and more attractive and usable. Since Amazon marketing almost gave Echo Dots away like free gifts a lot of people have such assistants at home. But what about using Alexa in the company or enterprise? How could such a voice assistant be integrated inside of my business applications and what can be the benefit doing it? This talk is supposed to bring light into the dark, so attendees will learn how an Alexa Skill will work and how to put the different components like Alexa Skill, RESTful Services, Web Sockets, Amazon Lambda Functions and of course the integration into an APEX app, together.
11:30 Lunch Break
Enjoy your lunch !
12:15 Oracle ORDS 101 - Jumpstart your Development
Being able to provide RESTful interfaces to our data has become a common requirement and we as APEX developers certainly have to deal with it, too. This presentation is designed to give beginning ORDS / REST developers an overview of the most important use cases in order to get productive immediately. We will cover simple to more advanced use cases typically used in modern web applications. The examples and use cases will be practical and relevant. We will cover the definition, management and features of ORDS based RESTful services. We will cover security and how to protect your RESTful services. Being able to provide a script based deployment of your services becomes even more important when dealing with devops and agile development practices. We will also cover good practices for designing your api and how to manage the evolution of your api by providing multiple versions of it. The Open API Initiative (OAI) provides an open specification, originally know as the Swagger specification, for describing and documenting REST APIs. From version 17.4 onward, Oracle REST Data Services (ORDS) exposes the metadata of specific web services in Open API 2.0 format. We will have a first look at the generation and automatic documentation of your API by using Swagger.io.
12:15 Life after Forms: The Move to APEX
Companies struggle with the question: Should we move to APEX when the time has come to let go of Oracle Forms? This session will tell the story of a migration project where the Oracle Forms application needed to be replaced with an APEX application. What could we have done better? What are the lessons learned? What was the best choice that we made during this project? Not from the books, but from experience.
13:15 Oracle JET: No Slides, Just Code!
What's Oracle JET? JET is the JavaScript Extension Toolkit, which is Oracle's official enterprise JavaScript solution. It is used throughout Oracle as the frontend user interface technology for all modern Cloud products, while it is also Oracle's strategy for extending Oracle products, such as Oracle Sales Cloud, Oracle HCM Cloud, and more. In this session, see how everything fits together, without slides, just code!
13:15 Integration of OpenLayers into APEX - a hands-on example
Presenting geospatial data on maps is a very popular topic for companies for visual analyses. Beside very expensive commercial solutions with limited functionality, this can be achieved by the use of the great open source JavaScript library OpenLayers. In this presentation, Andreas Hocevar, a main contributor and developer of OpenLayers, will give an introduction to its architecture and features. Christian Klingbacher will then demonstrate, by a hands-on example, how fast and easy this library can be integrated into an APEX application. Furthermore, he will show the integration of OpenLayers into a real life application where geospatial data is not only displayed, but where searching, drawing, routing, measuring, and dynamic changes on the map are possible - all of this by using either Bing Maps, HERE, or OpenStreetMaps.
14:15 Building an Image library for an International Organisation
This case study will describe the approach and challenges faced when overhauling a 14-year old image library of over 40’000 photos. The new version was developed using Oracle APEX 5.1, Oracle Multimedia and PL/SQL. Issues addressed include: automatic extraction of image metadata to facilitate searches and image description; automatic resizing of images using Oracle Multimedia; customization of APEX reports to produce a modern presentation format for the photo library.
14:15 Plugins Unplugged - Revised
Oracle Application Express enables developers to build data-centric web applications declaratively, meaning, you can build feature rich applications, running in web browsers. But APEX declarative functionality is limited, not providing the full capabilities of what is possible with web technologies these days. And, let’s admit, not all developers are able (yet) to easily integrate these capabilities in APEX. Fortunately APEX offers a mechanism to those who do seem to understand advanced HTML/JavaScript, to expand it’s functionality and expose it in a declarative way to other developers: Plugins. Unplug yourself from APEX’s declarative limits Plug-in’s are where it all comes together: PL/SQL, HTML, JavaScript, CSS and APEX framework. At first glance, Plug-in’s seem to be complex. But this isn’t true. Once you have a closer look, you will find that creating Plugin’s isn’t magic. With some basic knowledge and understanding of the APEX Plugin API one can build amazing Plug-in’s. All you need is an idea or inspiration. It will not surprise you, that most (well-known and community-wide used) APEX Plug-ins are made from components prior published as jQuery Plug-in’s or JavaScript Libraries. But it’s not just cut-n-paste. This session will start with some fundamental Plugin basics to start with and accelerate to more advanced techniques, which will help you to kick-start your own Plugin development. Additionally, this presentation will cover the recent changes of the plug-in framework since APEX version 5.
15:15 Insider News from the APEX Development Lab
Join Patrick Wolf and Joel Kallman to hear about the current and planned enhancements of Oracle Application Express. Take the opportunity to get insider information and a first look at the new features of the upcoming Oracle APEX 5.2 from one of the core developers of Application Express. See it live how easy, seamless and how quick it will be to integrate remote data sources like REST services and Remote SQL into your own application. With the new chart types, it will be even easier to visualize that data. I will also show you the new Create Application wizard which allows to create beautiful applications in no-time. In addition, you will get an outlook what we plan after APEX 5.2.
16:00 Drinks and Fingerfood
Refresh after a long study day and enjoy a refreshment and some snacks. But still talk APEX :-)
16:45 Party
Get some more food and dance it off!