SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
REAL-LIFE ORACLE MAF
Luc Bors eProseed NL
ODTUG KScope 2015
Hollywood Florida
June 23rd 2015
Things You Don’t Learn from Oracle’s
Developer’s Guide
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |2
WHO AM I ?
•  Luc Bors
•  Managing Partner
•  eProseed NL
•  Oracle Partner
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared for the Server Side Developer ?
1
2
3
4
5
3
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |4
BEFORE WE START
•  Let’s look at some basic terms related to MAF and
Mobile
– Springboard
– Gestures	
– Feature
– Device Interaction
– Notifications
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared ?
1
2
3
4
5
5
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |6
TO DND OR NOT TO DND ?
•  Drag and Drop Development
•  Pro’s
– Quick
•  Cons
– Dirty
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |7
TO DND OR NOT TO DND ?
•  Drag and Drop Development Demo
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |8
TO DND OR NOT TO DND ?
•  Drag and Drop Development of your app
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |9
CREATE FRAGMENTS
•  Create Fragments that
can be re-used
•  Fragments can have
styling
•  Assign Attribute values
when Fragment is used
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |10
USE FRAGMENTS
•  Drop fragment on
page
•  Assign Attribute
values
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |11
TO DND OR NOT TO DND ?
•  The hard work
– Create page fragments first
– Create bindings manually
– Assign attribute Values
•  VS
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared ?
1
2
3
4
5
12
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |13
DEVICE PROPERTIES
•  Benefit from Device properties
•  Do what is possible,
avoid what cannot be done
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |14
LOADING IN THE BACKGROUND
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
HOW IT WORKS
•  Check network connectivity
– #{deviceScope.hardware.networkStatus}
– "wifi", "2g", "unknown", "none”, etc etc
•  Start background thread
– Load Images in background
15
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |16
LOADING IN THE BACKGROUND
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DEMO
17
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared ?
1
2
3
4
5
18
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
CONTROLLING YOUR APPLICATION
•  Springboard configuration in adfmf-application.xml
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THE DEFAULT SPRINGBOARD
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THE CUSTOM SPRINGBOARD
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
CONFIGURING THE SPRINGBOARD
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
FEATURE ARCHIVES
•  Feature Archives can be reused
•  Deploy MAF app as FAR
•  Consume features from FAR in other apps
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |24
CUSTOM TOGGLE SPRINGBOARD
•  What is the Default ?
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |25
CUSTOM TOGGLE SPRINGBOARD
•  Use AdfmfSlidingWindowUtilities API.
– oracle.adfmf.framework.api.AdfmfSlidingWindowUtilities
– Note that the sliding window plugin API can only be used for
features defined within the application that do not appear in
the navigation bar and is not the springboard feature .
– So in order to make a custom springboard that nicely slides in
and out of view we need to instruct the app that it has NO
springboard, and create a custom feature that functions as a
springboard.
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |26
CUSTOM TOGGLE SPRINGBOARD
•  What is the Custom ?
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DEMO
27
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared ?
1
2
3
4
5
28
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
GESTURES ( AND UX )
•  Gestures can be
used from:
– Buttons
– Links
– List Item
<amx:showPopupBehavior popupid="pop1"
type="tapHold“ />
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
GESTURE ABUSE
•  .. Or how to confuse your app user…
<amx:showPopupBehavior popupid="pop1"
type=”swipeLeft“ />
<amx:actionListener binding="#{mybean.deleteRow}"
type=”swipeDown"/>
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
WHAT APPLE DID (IOS6 à IOS7)
•  I rest my case……
•  Make sure to be
aware of the right
standard:
– For Device
– For OS
– For version
•  They changed delete swipe from right to left…….
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THIS IS HELPFULL
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
USE CASE EXAMPLE
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
INGREDIENTS
•  A (Web) service and datacontrol
•  A Page with Listview
•  An ActionListener with type
SwipeDown
•  Smart Java Code to call service
(conditionally)
<amx:listView var="row”
value="#{bindings.allLocations.collectionModel}"
fetchSize="#{bindings.allLocations.rangeSize}”
id="lv1">
<amx:listItem id="li1">
<amx:actionListener type="swipeDown”
binding="#{pageFlowScope.locationsBackingBean.checkForUpdates}”>
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
EXAMPLE
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
BONUS PATTERN (ACTION COMPLETE)
•  Description:
– User performs action
– App confirms and navigates back
•  Challenge:
– Programmatic popup from JAVA
•  Solution:
– Call Javascript from Java
– Invoke (Hidden) Buttons (with showPopupBehavior) from JavaScript
36
AdfmfContainerUtilities.invokeContainerJavaScriptFunction(
FeatureContext.getCurrentFeatureId(),
"popupUtilsShowPopup",
new Object[] {"_popShowId", text});
adf.mf.api.amx.triggerBubbleEventListener(popupOpener,"tap");
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DEMO
37
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared ?
1
2
3
4
5
38
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
WHERE ARE MY LOGFILES ?
•  Finding the actual log file for an app, particularly since
iOS 8 and Xcode 6, is a somewhat tricky
•  Logfile
– application.log
39
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE ARE MY LOGFILES !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator
40
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE ARE MY DEVICES !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator/Devices
41
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE IS MY DEVICE !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator/Devices
– Use ls -lt
42
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE IS MY APPLICATION !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator/Devices/
<device>/data/Containers/Data/Application
43
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE IS MY LOGFILE !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator/Devices/
<device>/data/Containers/Data/Application/<app>/Documents/
logs
44
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
WHERE ARE MY LOGFILES ?
•  Change Location
45
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared ?
1
2
3
4
5
46
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DEVICE INTERACTION
•  The Device
Datacontrol
•  Drag n Drop support
•  Attributes as fields
•  Operations as buttons
•  Or as a link
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
BEHIND THE SCENES
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
CAMERA INTERACTION
•  Take a picture ……………
import oracle.adf.model.datacontrols.device;
DeviceManager dm = DeviceManagerFactory.getDeviceManager();
if (dm.hasCamera){
dm.getPicture(
100,
DeviceManager.CAMERA_DESTINATIONTYPE_FILE_URI,
DeviceManager.CAMERA_SOURCETYPE_CAMERA,
false,
DeviceManager.CAMERA_ENCODINGTYPE_PNG,
200,
200);
}
DeviceManager.CAMERA_SOURCETYPE_PHOTOLIBRARY
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
MOBILE MAPS
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
GOOGLE PLACES
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
USE GPS FOR LOCATION BASED SERVICES
public Location getPosition(){
DeviceManager dm=DeviceManagerFactory.getDeviceManager();
Location currentPosition = dm.getCurrentPosition( 60000,true);
return currentPosition;
}
Location myPosition = getPosition();
String locationParameter = “location=”
+ myPosition.getLatitude();
+”,”
+ myPosition.getLongitude();
restServiceAdapter.setRequestURI(
"json?”
+locationParameter
+”&radius=1000”
+”&types=food”
+”&sensor=false&key=<yourApiKey>");
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DISPLAY ON THE MAP
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |54
PUSH NOTIFICATIONS
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
LOCAL NOTIFICATIONS
•  Declarative
– DeviceFeatures DC
•  JavaScript API
– adf.mf.api.localnotification
•  Java API
– adfmfContainerUtilities
55
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
CREATING A LOCAL NOTIFICATION
•  AdfmfContainerUtilities.addLocalNotification(options)
•  AdfmfContainerUtilities.cancelLocalNotification(notificationId);
56
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
REPEATING LOCAL NOTIFICATIONS
57
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |58
CANCELING REPEATING NOTIFICATIONS
•  Cancelling a notification means that the notification is
COMPLETELY cancelled even if it was scheduled to
fire every DAY
•  Create a new one after cancelling
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DEMO
59
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
The Basics; DnD Development
Device Properties, Springboard, Gestures (Common Patterns)
Some Annoyances
Device Interaction
REST JSON : Be Prepared
1
2
3
4
5
60
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |61
OVERVIEW OF A MAF SOLUTION
JSONBeanSerializationHelper
POJO Datacontrol Data Objects
Data Objects
Data ObjectsDataArray
REST Adapter
MAFBindingLayer
RemoteRESTJSON
R
E
S
T
C
o
n
n
e
c
t
i
o
n
MAF App
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |62
MAF WITH REST JSON ON OSB
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |63
CLASS HIERARCHY
RestCallerUtil
FlightCustURIs
JsonArrayToFlightPassengerListArray JsonArrayToFlightDetailsArray
FlightPassengerListArray FlightDetailsArray
FlightPassengerListEntity FlightDetailsEntity
FlightPassengersDC
CustomerComplaintEntity
FlightsRestService
CustomerComplaintObject
CustomerComplaintObjectToJsonObject
CustomerRestService
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |64
RESTSERVICE ADAPTER DOES THE CALL
•  setRequestType
– REQUEST_TYPE_GET à to GET flights and Passengers
– REQUEST_TYPE_POST à to POST a complaint
•  setConnectionName: To use the correct REST-connection
•  setRequestURI à What is it that we want to do
–  /flights/KL34
–  /flights/KL34/passengerlist
–  /complaints
•  NOTE: Request URI are bundled in a Custom Class (FlightCustURIs)
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |65
DEMO WITHOUT THE OSB
{ "FlightCode": {
"CarrierCode": "KL",
"FlightNumber": "34"
},
"FlightDate": "2015-03-07T09:50:00.000+01:0
"TotalNumberOfPassengers": "22",
"Passengers": [
{
"FirstName": "Diana",
"LastName": "Woodstock",
"Country": "UK",
"FrequentFlyerNumber": "BB123332",
"Seat": "2B"
},
{
"FirstName": "William",
"LastName": "Simon",
"Country": "US",
"FrequentFlyerNumber": "KK9182673",
"Seat": "4C"
},
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |66
SUMMARY
•  Many Options to Develop
•  Many Features to Use
•  Highly Configurable
•  Use Common Patterns
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

Weitere ähnliche Inhalte

Was ist angesagt?

Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxLuc Bors
 
Accumulo Summit 2014: Accumulo on YARN
Accumulo Summit 2014: Accumulo on YARNAccumulo Summit 2014: Accumulo on YARN
Accumulo Summit 2014: Accumulo on YARNAccumulo Summit
 
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeServer Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeJAXLondon2014
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLo Ki
 
Cross-platform mobile apps with Apache Cordova
Cross-platform mobile apps with Apache CordovaCross-platform mobile apps with Apache Cordova
Cross-platform mobile apps with Apache CordovaIvano Malavolta
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentEngin Hatay
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016Ed Burns
 
PROGRAMMING IN JAVA- unit 4-part II
PROGRAMMING IN JAVA- unit 4-part IIPROGRAMMING IN JAVA- unit 4-part II
PROGRAMMING IN JAVA- unit 4-part IISivaSankari36
 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksJeff Smith
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Bruno Borges
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future KeynoteSimon Ritter
 
AFNetworking
AFNetworking AFNetworking
AFNetworking joaopmaia
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Jeff Smith
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsChris Muir
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXBruno Borges
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache CordovaIvano Malavolta
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Diego Zuluaga
 

Was ist angesagt? (20)

Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptx
 
Accumulo Summit 2014: Accumulo on YARN
Accumulo Summit 2014: Accumulo on YARNAccumulo Summit 2014: Accumulo on YARN
Accumulo Summit 2014: Accumulo on YARN
 
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeServer Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
Cross-platform mobile apps with Apache Cordova
Cross-platform mobile apps with Apache CordovaCross-platform mobile apps with Apache Cordova
Cross-platform mobile apps with Apache Cordova
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016
 
PROGRAMMING IN JAVA- unit 4-part II
PROGRAMMING IN JAVA- unit 4-part IIPROGRAMMING IN JAVA- unit 4-part II
PROGRAMMING IN JAVA- unit 4-part II
 
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David DelabasseeJavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future Keynote
 
AFNetworking
AFNetworking AFNetworking
AFNetworking
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 

Ähnlich wie Real life-maf-2015-k scope-final

eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 DatabaseeProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 DatabaseMarco Gralike
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleChris Muir
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETSimon Haslam
 
BGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack SurfaceBGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack SurfaceGeorgi Kodinov
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleSimon Haslam
 
JFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionJFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionGeertjan Wielenga
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentGeertjan Wielenga
 
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Damien Antipa
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXBruno Borges
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
 
Hybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JETHybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JETRohit Dhamija
 
Building Your API for Longevity
Building Your API for LongevityBuilding Your API for Longevity
Building Your API for LongevityMuleSoft
 
Choosing the right mobile architecture
Choosing the right mobile architectureChoosing the right mobile architecture
Choosing the right mobile architectureLonneke Dikmans
 
Surviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemSurviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemGeertjan Wielenga
 
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudMarco Gralike
 
J-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by OracleJ-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by Oraclejavafxpert
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScriptGeertjan Wielenga
 

Ähnlich wie Real life-maf-2015-k scope-final (20)

eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 DatabaseeProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JET
 
BGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack SurfaceBGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack Surface
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
JFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionJFall 2016: Oracle JET Session
JFall 2016: Oracle JET Session
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
 
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014
 
Testdroid:
Testdroid: Testdroid:
Testdroid:
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFX
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
Hybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JETHybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JET
 
Building Your API for Longevity
Building Your API for LongevityBuilding Your API for Longevity
Building Your API for Longevity
 
Choosing the right mobile architecture
Choosing the right mobile architectureChoosing the right mobile architecture
Choosing the right mobile architecture
 
Surviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemSurviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript Ecosystem
 
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
J-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by OracleJ-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by Oracle
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 

Mehr von Luc Bors

Talk to me Goose: Going beyond your regular Chatbot
Talk to me Goose: Going beyond your regular ChatbotTalk to me Goose: Going beyond your regular Chatbot
Talk to me Goose: Going beyond your regular ChatbotLuc Bors
 
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitExtending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitLuc Bors
 
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud ServiceNO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud ServiceLuc Bors
 
OgH Data Visualization Special Part III
OgH Data Visualization Special Part IIIOgH Data Visualization Special Part III
OgH Data Visualization Special Part IIILuc Bors
 
OgH Data Visualization Special Part II
OgH Data Visualization Special Part IIOgH Data Visualization Special Part II
OgH Data Visualization Special Part IILuc Bors
 
OgH Data Visualization Special Part I
OgH Data Visualization Special Part IOgH Data Visualization Special Part I
OgH Data Visualization Special Part ILuc Bors
 
MAF push notifications
MAF push notificationsMAF push notifications
MAF push notificationsLuc Bors
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwygLuc Bors
 
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobilityLuc Bors
 
Oracle day 2014-mobile-customer-case
Oracle day 2014-mobile-customer-caseOracle day 2014-mobile-customer-case
Oracle day 2014-mobile-customer-caseLuc Bors
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...Luc Bors
 
oow2013-adf-mo-bi-le
oow2013-adf-mo-bi-leoow2013-adf-mo-bi-le
oow2013-adf-mo-bi-leLuc Bors
 
Goodbye Nightmare : Tops and Tricks for creating Layouts
Goodbye Nightmare : Tops and Tricks for creating LayoutsGoodbye Nightmare : Tops and Tricks for creating Layouts
Goodbye Nightmare : Tops and Tricks for creating LayoutsLuc Bors
 
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFDont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFLuc Bors
 
ADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
ADF Mobile : Best Practices for Developing Applications with Oracle ADF MobileADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
ADF Mobile : Best Practices for Developing Applications with Oracle ADF MobileLuc Bors
 
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)Luc Bors
 
Real life forms to adf
Real life forms to adfReal life forms to adf
Real life forms to adfLuc Bors
 
ADF Mobile - an intro for Developers
ADF Mobile - an intro for DevelopersADF Mobile - an intro for Developers
ADF Mobile - an intro for DevelopersLuc Bors
 
How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF Luc Bors
 
An ADF Special Report
An ADF Special Report An ADF Special Report
An ADF Special Report Luc Bors
 

Mehr von Luc Bors (20)

Talk to me Goose: Going beyond your regular Chatbot
Talk to me Goose: Going beyond your regular ChatbotTalk to me Goose: Going beyond your regular Chatbot
Talk to me Goose: Going beyond your regular Chatbot
 
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitExtending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
 
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud ServiceNO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
NO CODE : Or How to Extend Oracle SaaS with Oracle Visual Builder Cloud Service
 
OgH Data Visualization Special Part III
OgH Data Visualization Special Part IIIOgH Data Visualization Special Part III
OgH Data Visualization Special Part III
 
OgH Data Visualization Special Part II
OgH Data Visualization Special Part IIOgH Data Visualization Special Part II
OgH Data Visualization Special Part II
 
OgH Data Visualization Special Part I
OgH Data Visualization Special Part IOgH Data Visualization Special Part I
OgH Data Visualization Special Part I
 
MAF push notifications
MAF push notificationsMAF push notifications
MAF push notifications
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwyg
 
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobility
 
Oracle day 2014-mobile-customer-case
Oracle day 2014-mobile-customer-caseOracle day 2014-mobile-customer-case
Oracle day 2014-mobile-customer-case
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 
oow2013-adf-mo-bi-le
oow2013-adf-mo-bi-leoow2013-adf-mo-bi-le
oow2013-adf-mo-bi-le
 
Goodbye Nightmare : Tops and Tricks for creating Layouts
Goodbye Nightmare : Tops and Tricks for creating LayoutsGoodbye Nightmare : Tops and Tricks for creating Layouts
Goodbye Nightmare : Tops and Tricks for creating Layouts
 
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFDont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
 
ADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
ADF Mobile : Best Practices for Developing Applications with Oracle ADF MobileADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
ADF Mobile : Best Practices for Developing Applications with Oracle ADF Mobile
 
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
 
Real life forms to adf
Real life forms to adfReal life forms to adf
Real life forms to adf
 
ADF Mobile - an intro for Developers
ADF Mobile - an intro for DevelopersADF Mobile - an intro for Developers
ADF Mobile - an intro for Developers
 
How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF
 
An ADF Special Report
An ADF Special Report An ADF Special Report
An ADF Special Report
 

Kürzlich hochgeladen

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Kürzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Real life-maf-2015-k scope-final

  • 1. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | REAL-LIFE ORACLE MAF Luc Bors eProseed NL ODTUG KScope 2015 Hollywood Florida June 23rd 2015 Things You Don’t Learn from Oracle’s Developer’s Guide
  • 2. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |2 WHO AM I ? •  Luc Bors •  Managing Partner •  eProseed NL •  Oracle Partner
  • 3. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared for the Server Side Developer ? 1 2 3 4 5 3 6
  • 4. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |4 BEFORE WE START •  Let’s look at some basic terms related to MAF and Mobile – Springboard – Gestures – Feature – Device Interaction – Notifications
  • 5. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared ? 1 2 3 4 5 5 6
  • 6. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |6 TO DND OR NOT TO DND ? •  Drag and Drop Development •  Pro’s – Quick •  Cons – Dirty
  • 7. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |7 TO DND OR NOT TO DND ? •  Drag and Drop Development Demo
  • 8. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |8 TO DND OR NOT TO DND ? •  Drag and Drop Development of your app
  • 9. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |9 CREATE FRAGMENTS •  Create Fragments that can be re-used •  Fragments can have styling •  Assign Attribute values when Fragment is used
  • 10. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |10 USE FRAGMENTS •  Drop fragment on page •  Assign Attribute values
  • 11. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |11 TO DND OR NOT TO DND ? •  The hard work – Create page fragments first – Create bindings manually – Assign attribute Values •  VS
  • 12. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared ? 1 2 3 4 5 12 6
  • 13. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |13 DEVICE PROPERTIES •  Benefit from Device properties •  Do what is possible, avoid what cannot be done
  • 14. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |14 LOADING IN THE BACKGROUND
  • 15. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | HOW IT WORKS •  Check network connectivity – #{deviceScope.hardware.networkStatus} – "wifi", "2g", "unknown", "none”, etc etc •  Start background thread – Load Images in background 15
  • 16. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |16 LOADING IN THE BACKGROUND
  • 17. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DEMO 17
  • 18. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared ? 1 2 3 4 5 18 6
  • 19. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | CONTROLLING YOUR APPLICATION •  Springboard configuration in adfmf-application.xml
  • 20. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THE DEFAULT SPRINGBOARD
  • 21. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THE CUSTOM SPRINGBOARD
  • 22. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | CONFIGURING THE SPRINGBOARD
  • 23. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | FEATURE ARCHIVES •  Feature Archives can be reused •  Deploy MAF app as FAR •  Consume features from FAR in other apps
  • 24. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |24 CUSTOM TOGGLE SPRINGBOARD •  What is the Default ?
  • 25. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |25 CUSTOM TOGGLE SPRINGBOARD •  Use AdfmfSlidingWindowUtilities API. – oracle.adfmf.framework.api.AdfmfSlidingWindowUtilities – Note that the sliding window plugin API can only be used for features defined within the application that do not appear in the navigation bar and is not the springboard feature . – So in order to make a custom springboard that nicely slides in and out of view we need to instruct the app that it has NO springboard, and create a custom feature that functions as a springboard.
  • 26. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |26 CUSTOM TOGGLE SPRINGBOARD •  What is the Custom ?
  • 27. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DEMO 27
  • 28. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared ? 1 2 3 4 5 28 6
  • 29. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | GESTURES ( AND UX ) •  Gestures can be used from: – Buttons – Links – List Item <amx:showPopupBehavior popupid="pop1" type="tapHold“ />
  • 30. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | GESTURE ABUSE •  .. Or how to confuse your app user… <amx:showPopupBehavior popupid="pop1" type=”swipeLeft“ /> <amx:actionListener binding="#{mybean.deleteRow}" type=”swipeDown"/>
  • 31. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | WHAT APPLE DID (IOS6 à IOS7) •  I rest my case…… •  Make sure to be aware of the right standard: – For Device – For OS – For version •  They changed delete swipe from right to left…….
  • 32. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THIS IS HELPFULL
  • 33. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | USE CASE EXAMPLE
  • 34. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | INGREDIENTS •  A (Web) service and datacontrol •  A Page with Listview •  An ActionListener with type SwipeDown •  Smart Java Code to call service (conditionally) <amx:listView var="row” value="#{bindings.allLocations.collectionModel}" fetchSize="#{bindings.allLocations.rangeSize}” id="lv1"> <amx:listItem id="li1"> <amx:actionListener type="swipeDown” binding="#{pageFlowScope.locationsBackingBean.checkForUpdates}”>
  • 35. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | EXAMPLE
  • 36. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | BONUS PATTERN (ACTION COMPLETE) •  Description: – User performs action – App confirms and navigates back •  Challenge: – Programmatic popup from JAVA •  Solution: – Call Javascript from Java – Invoke (Hidden) Buttons (with showPopupBehavior) from JavaScript 36 AdfmfContainerUtilities.invokeContainerJavaScriptFunction( FeatureContext.getCurrentFeatureId(), "popupUtilsShowPopup", new Object[] {"_popShowId", text}); adf.mf.api.amx.triggerBubbleEventListener(popupOpener,"tap");
  • 37. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DEMO 37
  • 38. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared ? 1 2 3 4 5 38 6
  • 39. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | WHERE ARE MY LOGFILES ? •  Finding the actual log file for an app, particularly since iOS 8 and Xcode 6, is a somewhat tricky •  Logfile – application.log 39
  • 40. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE ARE MY LOGFILES ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator 40
  • 41. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE ARE MY DEVICES ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator/Devices 41
  • 42. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE IS MY DEVICE ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator/Devices – Use ls -lt 42
  • 43. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE IS MY APPLICATION ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator/Devices/ <device>/data/Containers/Data/Application 43
  • 44. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE IS MY LOGFILE ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator/Devices/ <device>/data/Containers/Data/Application/<app>/Documents/ logs 44
  • 45. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | WHERE ARE MY LOGFILES ? •  Change Location 45
  • 46. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared ? 1 2 3 4 5 46 6
  • 47. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DEVICE INTERACTION •  The Device Datacontrol •  Drag n Drop support •  Attributes as fields •  Operations as buttons •  Or as a link
  • 48. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | BEHIND THE SCENES
  • 49. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | CAMERA INTERACTION •  Take a picture …………… import oracle.adf.model.datacontrols.device; DeviceManager dm = DeviceManagerFactory.getDeviceManager(); if (dm.hasCamera){ dm.getPicture( 100, DeviceManager.CAMERA_DESTINATIONTYPE_FILE_URI, DeviceManager.CAMERA_SOURCETYPE_CAMERA, false, DeviceManager.CAMERA_ENCODINGTYPE_PNG, 200, 200); } DeviceManager.CAMERA_SOURCETYPE_PHOTOLIBRARY
  • 50. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | MOBILE MAPS
  • 51. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | GOOGLE PLACES
  • 52. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | USE GPS FOR LOCATION BASED SERVICES public Location getPosition(){ DeviceManager dm=DeviceManagerFactory.getDeviceManager(); Location currentPosition = dm.getCurrentPosition( 60000,true); return currentPosition; } Location myPosition = getPosition(); String locationParameter = “location=” + myPosition.getLatitude(); +”,” + myPosition.getLongitude(); restServiceAdapter.setRequestURI( "json?” +locationParameter +”&radius=1000” +”&types=food” +”&sensor=false&key=<yourApiKey>");
  • 53. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DISPLAY ON THE MAP
  • 54. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |54 PUSH NOTIFICATIONS
  • 55. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | LOCAL NOTIFICATIONS •  Declarative – DeviceFeatures DC •  JavaScript API – adf.mf.api.localnotification •  Java API – adfmfContainerUtilities 55
  • 56. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | CREATING A LOCAL NOTIFICATION •  AdfmfContainerUtilities.addLocalNotification(options) •  AdfmfContainerUtilities.cancelLocalNotification(notificationId); 56
  • 57. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | REPEATING LOCAL NOTIFICATIONS 57
  • 58. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |58 CANCELING REPEATING NOTIFICATIONS •  Cancelling a notification means that the notification is COMPLETELY cancelled even if it was scheduled to fire every DAY •  Create a new one after cancelling
  • 59. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DEMO 59
  • 60. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF The Basics; DnD Development Device Properties, Springboard, Gestures (Common Patterns) Some Annoyances Device Interaction REST JSON : Be Prepared 1 2 3 4 5 60 6
  • 61. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |61 OVERVIEW OF A MAF SOLUTION JSONBeanSerializationHelper POJO Datacontrol Data Objects Data Objects Data ObjectsDataArray REST Adapter MAFBindingLayer RemoteRESTJSON R E S T C o n n e c t i o n MAF App
  • 62. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |62 MAF WITH REST JSON ON OSB
  • 63. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |63 CLASS HIERARCHY RestCallerUtil FlightCustURIs JsonArrayToFlightPassengerListArray JsonArrayToFlightDetailsArray FlightPassengerListArray FlightDetailsArray FlightPassengerListEntity FlightDetailsEntity FlightPassengersDC CustomerComplaintEntity FlightsRestService CustomerComplaintObject CustomerComplaintObjectToJsonObject CustomerRestService
  • 64. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |64 RESTSERVICE ADAPTER DOES THE CALL •  setRequestType – REQUEST_TYPE_GET à to GET flights and Passengers – REQUEST_TYPE_POST à to POST a complaint •  setConnectionName: To use the correct REST-connection •  setRequestURI à What is it that we want to do –  /flights/KL34 –  /flights/KL34/passengerlist –  /complaints •  NOTE: Request URI are bundled in a Custom Class (FlightCustURIs)
  • 65. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |65 DEMO WITHOUT THE OSB { "FlightCode": { "CarrierCode": "KL", "FlightNumber": "34" }, "FlightDate": "2015-03-07T09:50:00.000+01:0 "TotalNumberOfPassengers": "22", "Passengers": [ { "FirstName": "Diana", "LastName": "Woodstock", "Country": "UK", "FrequentFlyerNumber": "BB123332", "Seat": "2B" }, { "FirstName": "William", "LastName": "Simon", "Country": "US", "FrequentFlyerNumber": "KK9182673", "Seat": "4C" },
  • 66. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |66 SUMMARY •  Many Options to Develop •  Many Features to Use •  Highly Configurable •  Use Common Patterns
  • 67.
  • 68. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |