SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
REAL-LIFE ORACLE MAF
Luc Bors eProseed NL
Oracle Open World 2015
San Francisco
October 26th 2015
Things You Don’t Learn from Oracle’s
Developers Guide
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |2
WHO AM I ?
•  Luc Bors
•  Managing Partner
•  eProseed
•  Oracle Platinum Partner
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
UI Development
Device Properties
Device Interaction
REST JSON : A Sample
1
2
3
4
5
3
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |4
INTRODUCING MAF
•  MAF is a hybrid-mobile framework
– Cross Platform Mobile Development
– Visual and Declarative Development	
– Leverage Java Skills
– Simplified Device Feature and
Services Access
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |5
MAF RUNTIME ARCHITECTURE
•  Mobile Device
– HTML
– CSS
– Java Script
– Java
– Cordova
– SQLite
– Push Handler
– Access Control
•  Server Side
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
UI Development
Device Properties
Device Interaction
REST JSON : A Sample
1
2
3
4
5
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |7
TIP TIME
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DON’T MESS UP !!
•  Read the installation
guidelines carefully
•  Install JDeveloper with jdk1.7
8
Cable Mess Frustration - photo by: Jonathan Arehart
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |9
NO LONGER IN THIS PRESENTATION
•  Gestures; Pull to Refresh
•  Gestures; Swipe to Reveal
•  In MAF 2.2 this is standard!
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |10
NO LONGER IN THIS PRESENTATION
•  Toggle Springboard
•  In MAF 2.2 this is (almost)
standard!
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |11
TOGGLE SPRINGBOARD
•  What is the Default
toggle behavior ?
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |12
TOGGLE SPRINGBOARD
•  What is the Desired
toggle behavior ?
<amx:commandLink id="cl1" actionListener="#{bindings.toggleSpringboard.execute}”

styleClass="springboard-icon" shortDesc="Springboard Link”>

<amx:image id="i1" source="/images/springboard.svg" 

shortDesc="Springboard Image"/>

</amx:commandLink>
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |13
DRAG AND DROP DEVELOPMENT
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |14
DRAG AND DROP DEVELOPMENT
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |15
DRAG AND DROP DEVELOPMENT
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |16
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. |17
USE FRAGMENTS
•  Drop fragment on
page
•  Assign Attribute
values
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |18
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. |19
MAKE IT EVEN MORE BEAUTIFUL
•  Use the tools !
•  Chrome Developer tools
•  Safari Developer tools
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |20
SKINNING IOS APPS
•  Safari
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |21
SKINNING IOS APPS
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |22
SKINNING ANDROID APPS
•  Chrome
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |23
SKINNING ANDROID APPS
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |24
TIP TIME
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |25
THE MASONRY LAYOUT
•  Works with mobileAlta-v1.4
•  You can disable the drag and drop behavior on the
masonry layout items.
•  Use the undocumented style class in MAF 2.2 for
this is amx-masonryLayout-noDrag
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
UI Development
Device Properties
Device Interaction
REST JSON : A Sample
1
2
3
4
5
26
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |27
DEVICE PROPERTIES
•  Many Device properties
are available
•  Do what is possible, avoid
what cannot be done
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |28
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
29
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |30
LOADING IN THE BACKGROUND
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |31
MULTIPLE BACKGROUND THREADS
•  You can actually use multiple background
threads
•  Can be refreshed individually
•  AdfmfJavaUtilities.flushDataChangeEvent()
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |32
HOW TO START IOS SIMULATOR ?
•  Deploy app from within JDeveloper
•  Start from within Xcode
•  Start from Commandline
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
PROGRAM AGENDA
Introducing Oracle MAF
UI Development
Device Properties
Device Interaction
REST JSON : A Sample
1
2
3
4
5
33
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 ……………
•  …… or get one from the Library
DeviceManager.CAMERA_SOURCETYPE_PHOTOLIBRARY
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);
}
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
UPLOADING YOUR PICTURE
•  REST/JSON à Needs a String, not an image
37
DeviceManager dm = DeviceManagerFactory.getDeviceManager();
String myImageDataBase64 = dm.getPicture(50,
DeviceManager.CAMERA_DESTINATIONTYPE_DATA_URL,
DeviceManager.CAMERA_SOURCETYPE_CAMERA,
false,
DeviceManager.CAMERA_ENCODINGTYPE_JPEG, 200, 200);
}
myImageDataBase64 = URLEncoder.encode(myImageDataBase64,
java.nio.charset.StandardCharsets.UTF_8.toString());
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
LOCAL NOTIFICATIONS
•  Declarative
– DeviceFeatures DC
•  JavaScript API
– adf.mf.api.localnotification
•  Java API
– adfmfContainerUtilities
38
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
CREATING A LOCAL NOTIFICATION
•  AdfmfContainerUtilities.addLocalNotification(options)
•  AdfmfContainerUtilities.cancelLocalNotification(notificationId);
39
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
REPEATING LOCAL NOTIFICATIONS
40
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |41
TIP TIME
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |42
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. |
PROGRAM AGENDA
Introducing Oracle MAF
UI Development
Device Properties
Device Interaction
REST JSON : A Sample
Some More Tips
1
2
3
4
5
43
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |44
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. |45
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. |46
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. |47
REST JSON FROM SOA SUITE, OSB OR MCS
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |48
USE SOAP UI “CLOUD SERVICE”
{ "FlightCode": {
"CarrierCode": "KL",
"FlightNumber": "34"
},
"FlightDate": "2015-03-07T09:50:00.000+01:00",
"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. |49
TIP TIME
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
WHERE ARE MY FIFILES ?
•  Finding the actual log file for an app, particularly since
iOS 8 and Xcode 6, is a somewhat tricky
•  Logfile
– application.log
50
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE ARE MY LOGFILES !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator
51
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
THERE ARE MY DEVICES !
•  iOS simulator content
– /Users/lucbors/Library/Developer/CoreSimulator/Devices
52
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
53
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
54
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
55
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
WHERE ARE MY LOGFILES ?
•  Change Location
56
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
IN MAF 2.2 THINGS CHANGED
•  Logfile is automatically redirected to the JDeveloper Console
57
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |58
SUMMARY
•  Many Options to Develop
•  Many Features to Use
•  Highly Configurable
•  Use Common Patterns
•  Think Outside of the Box
•  Use other Tools to Help you
Real Life MAF (2.2) Oracle Open World 2015

Mais conteúdo relacionado

Mais procurados

AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAbhinit Bhatnagar
 
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
 
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
 
Mastering the Sling Rewriter
Mastering the Sling RewriterMastering the Sling Rewriter
Mastering the Sling RewriterJustin Edelson
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland
 
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
 
Modern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on RailsModern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on RailsJonathan Johnson
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuitDamien Antipa
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLo Ki
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerJustin Edelson
 
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...JAX London
 
Moving complex enterprise ecommerce systems to the cloud
Moving complex enterprise ecommerce systems to the cloudMoving complex enterprise ecommerce systems to the cloud
Moving complex enterprise ecommerce systems to the cloudElastic Path
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6Damien Antipa
 
AEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationChristian Meyer
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsStefano Celentano
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptPhilipp Bosch
 
Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014David M. Johnson
 
React Native: Introduction
React Native: IntroductionReact Native: Introduction
React Native: IntroductionInnerFood
 

Mais procurados (20)

AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & Features
 
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
 
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
 
Mastering the Sling Rewriter
Mastering the Sling RewriterMastering the Sling Rewriter
Mastering the Sling Rewriter
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - Appengine
 
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
 
slingmodels
slingmodelsslingmodels
slingmodels
 
Modern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on RailsModern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on Rails
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuit
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
 
Moving complex enterprise ecommerce systems to the cloud
Moving complex enterprise ecommerce systems to the cloudMoving complex enterprise ecommerce systems to the cloud
Moving complex enterprise ecommerce systems to the cloud
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6
 
AEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface Customization
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling Models
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
 
Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014
 
React Native: Introduction
React Native: IntroductionReact Native: Introduction
React Native: Introduction
 

Destaque

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
 
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥArchontia Mantzaridou
 
Real life forms to adf
Real life forms to adfReal life forms to adf
Real life forms to adfLuc 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
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwygLuc 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
 

Destaque (8)

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...
 
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ
 
Real life forms to adf
Real life forms to adfReal life forms to adf
Real life forms to adf
 
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)
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwyg
 
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
 
Profesiones
ProfesionesProfesiones
Profesiones
 
Ppt pk
Ppt pkPpt pk
Ppt pk
 

Semelhante a Real Life MAF (2.2) Oracle Open World 2015

Managing Oracle Solaris Systems with Puppet
Managing Oracle Solaris Systems with PuppetManaging Oracle Solaris Systems with Puppet
Managing Oracle Solaris Systems with Puppetglynnfoster
 
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...Marco Antonio Maciel
 
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...Codemotion Tel Aviv
 
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
 
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
 
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
 
Pushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home AutomationPushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home AutomationDavid Delabassee
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Curity
 
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
 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Bart Jonkers
 
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...VMware Tanzu
 
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
 
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerUsing Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerEclipse Day India
 
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...jeckels
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXBruno Borges
 
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
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN WorldCisco DevNet
 
第1回福岡SoftLayer勉強会
第1回福岡SoftLayer勉強会第1回福岡SoftLayer勉強会
第1回福岡SoftLayer勉強会Shin Sakamoto
 
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
 

Semelhante a Real Life MAF (2.2) Oracle Open World 2015 (20)

Managing Oracle Solaris Systems with Puppet
Managing Oracle Solaris Systems with PuppetManaging Oracle Solaris Systems with Puppet
Managing Oracle Solaris Systems with Puppet
 
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
 
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
 
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
 
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
 
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
 
Pushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home AutomationPushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home Automation
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 
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
 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
 
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
 
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
 
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerUsing Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity manager
 
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
 
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
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
 
第1回福岡SoftLayer勉強会
第1回福岡SoftLayer勉強会第1回福岡SoftLayer勉強会
第1回福岡SoftLayer勉強会
 
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
 
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
 

Mais de 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
 
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
 
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
 
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
 
ADF Mobile - an intro for Developers
ADF Mobile - an intro for DevelopersADF Mobile - an intro for Developers
ADF Mobile - an intro for DevelopersLuc Bors
 
An ADF Special Report
An ADF Special Report An ADF Special Report
An ADF Special Report Luc Bors
 
...and thus your forms automagically disappeared
...and thus your forms automagically disappeared...and thus your forms automagically disappeared
...and thus your forms automagically disappearedLuc Bors
 
Odtug2011 adf developers make the database work for you
Odtug2011 adf developers make the database work for youOdtug2011 adf developers make the database work for you
Odtug2011 adf developers make the database work for youLuc Bors
 

Mais de Luc Bors (14)

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
 
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
 
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
 
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
 
ADF Mobile - an intro for Developers
ADF Mobile - an intro for DevelopersADF Mobile - an intro for Developers
ADF Mobile - an intro for Developers
 
An ADF Special Report
An ADF Special Report An ADF Special Report
An ADF Special Report
 
...and thus your forms automagically disappeared
...and thus your forms automagically disappeared...and thus your forms automagically disappeared
...and thus your forms automagically disappeared
 
Odtug2011 adf developers make the database work for you
Odtug2011 adf developers make the database work for youOdtug2011 adf developers make the database work for you
Odtug2011 adf developers make the database work for you
 

Último

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 

Último (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 

Real Life MAF (2.2) Oracle Open World 2015

  • 1. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | REAL-LIFE ORACLE MAF Luc Bors eProseed NL Oracle Open World 2015 San Francisco October 26th 2015 Things You Don’t Learn from Oracle’s Developers Guide
  • 2. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |2 WHO AM I ? •  Luc Bors •  Managing Partner •  eProseed •  Oracle Platinum Partner
  • 3. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF UI Development Device Properties Device Interaction REST JSON : A Sample 1 2 3 4 5 3
  • 4. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |4 INTRODUCING MAF •  MAF is a hybrid-mobile framework – Cross Platform Mobile Development – Visual and Declarative Development – Leverage Java Skills – Simplified Device Feature and Services Access
  • 5. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |5 MAF RUNTIME ARCHITECTURE •  Mobile Device – HTML – CSS – Java Script – Java – Cordova – SQLite – Push Handler – Access Control •  Server Side
  • 6. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF UI Development Device Properties Device Interaction REST JSON : A Sample 1 2 3 4 5 6
  • 7. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |7 TIP TIME
  • 8. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | DON’T MESS UP !! •  Read the installation guidelines carefully •  Install JDeveloper with jdk1.7 8 Cable Mess Frustration - photo by: Jonathan Arehart
  • 9. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |9 NO LONGER IN THIS PRESENTATION •  Gestures; Pull to Refresh •  Gestures; Swipe to Reveal •  In MAF 2.2 this is standard!
  • 10. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |10 NO LONGER IN THIS PRESENTATION •  Toggle Springboard •  In MAF 2.2 this is (almost) standard!
  • 11. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |11 TOGGLE SPRINGBOARD •  What is the Default toggle behavior ?
  • 12. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |12 TOGGLE SPRINGBOARD •  What is the Desired toggle behavior ? <amx:commandLink id="cl1" actionListener="#{bindings.toggleSpringboard.execute}”
 styleClass="springboard-icon" shortDesc="Springboard Link”>
 <amx:image id="i1" source="/images/springboard.svg" 
 shortDesc="Springboard Image"/>
 </amx:commandLink>
  • 13. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |13 DRAG AND DROP DEVELOPMENT
  • 14. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |14 DRAG AND DROP DEVELOPMENT
  • 15. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |15 DRAG AND DROP DEVELOPMENT
  • 16. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |16 CREATE FRAGMENTS •  Create Fragments that can be re-used •  Fragments can have styling •  Assign Attribute values when Fragment is used
  • 17. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |17 USE FRAGMENTS •  Drop fragment on page •  Assign Attribute values
  • 18. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |18 TO DND OR NOT TO DND ? •  The hard work – Create page fragments first – Create bindings manually – Assign attribute Values •  VS
  • 19. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |19 MAKE IT EVEN MORE BEAUTIFUL •  Use the tools ! •  Chrome Developer tools •  Safari Developer tools
  • 20. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |20 SKINNING IOS APPS •  Safari
  • 21. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |21 SKINNING IOS APPS
  • 22. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |22 SKINNING ANDROID APPS •  Chrome
  • 23. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |23 SKINNING ANDROID APPS
  • 24. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |24 TIP TIME
  • 25. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |25 THE MASONRY LAYOUT •  Works with mobileAlta-v1.4 •  You can disable the drag and drop behavior on the masonry layout items. •  Use the undocumented style class in MAF 2.2 for this is amx-masonryLayout-noDrag
  • 26. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF UI Development Device Properties Device Interaction REST JSON : A Sample 1 2 3 4 5 26
  • 27. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |27 DEVICE PROPERTIES •  Many Device properties are available •  Do what is possible, avoid what cannot be done
  • 28. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |28 LOADING IN THE BACKGROUND
  • 29. 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 29
  • 30. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |30 LOADING IN THE BACKGROUND
  • 31. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |31 MULTIPLE BACKGROUND THREADS •  You can actually use multiple background threads •  Can be refreshed individually •  AdfmfJavaUtilities.flushDataChangeEvent()
  • 32. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |32 HOW TO START IOS SIMULATOR ? •  Deploy app from within JDeveloper •  Start from within Xcode •  Start from Commandline
  • 33. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF UI Development Device Properties Device Interaction REST JSON : A Sample 1 2 3 4 5 33
  • 34. 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
  • 35. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | BEHIND THE SCENES
  • 36. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | CAMERA INTERACTION •  Take a picture …………… •  …… or get one from the Library DeviceManager.CAMERA_SOURCETYPE_PHOTOLIBRARY 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); }
  • 37. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | UPLOADING YOUR PICTURE •  REST/JSON à Needs a String, not an image 37 DeviceManager dm = DeviceManagerFactory.getDeviceManager(); String myImageDataBase64 = dm.getPicture(50, DeviceManager.CAMERA_DESTINATIONTYPE_DATA_URL, DeviceManager.CAMERA_SOURCETYPE_CAMERA, false, DeviceManager.CAMERA_ENCODINGTYPE_JPEG, 200, 200); } myImageDataBase64 = URLEncoder.encode(myImageDataBase64, java.nio.charset.StandardCharsets.UTF_8.toString());
  • 38. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | LOCAL NOTIFICATIONS •  Declarative – DeviceFeatures DC •  JavaScript API – adf.mf.api.localnotification •  Java API – adfmfContainerUtilities 38
  • 39. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | CREATING A LOCAL NOTIFICATION •  AdfmfContainerUtilities.addLocalNotification(options) •  AdfmfContainerUtilities.cancelLocalNotification(notificationId); 39
  • 40. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | REPEATING LOCAL NOTIFICATIONS 40
  • 41. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |41 TIP TIME
  • 42. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |42 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
  • 43. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | PROGRAM AGENDA Introducing Oracle MAF UI Development Device Properties Device Interaction REST JSON : A Sample Some More Tips 1 2 3 4 5 43 6
  • 44. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |44 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
  • 45. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |45 CLASS HIERARCHY RestCallerUtil FlightCustURIs JsonArrayToFlightPassengerListArray JsonArrayToFlightDetailsArray FlightPassengerListArray FlightDetailsArray FlightPassengerListEntity FlightDetailsEntity FlightPassengersDC CustomerComplaintEntity FlightsRestService CustomerComplaintObject CustomerComplaintObjectToJsonObject CustomerRestService
  • 46. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |46 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)
  • 47. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |47 REST JSON FROM SOA SUITE, OSB OR MCS
  • 48. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |48 USE SOAP UI “CLOUD SERVICE” { "FlightCode": { "CarrierCode": "KL", "FlightNumber": "34" }, "FlightDate": "2015-03-07T09:50:00.000+01:00", "TotalNumberOfPassengers": "22", "Passengers": [ { "FirstName": "Diana", "LastName": "Woodstock", "Country": "UK", "FrequentFlyerNumber": "BB123332", "Seat": "2B" }, { "FirstName": "William", "LastName": "Simon", "Country": "US", "FrequentFlyerNumber": "KK9182673", "Seat": "4C" },
  • 49. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |49 TIP TIME
  • 50. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | WHERE ARE MY FIFILES ? •  Finding the actual log file for an app, particularly since iOS 8 and Xcode 6, is a somewhat tricky •  Logfile – application.log 50
  • 51. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE ARE MY LOGFILES ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator 51
  • 52. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | THERE ARE MY DEVICES ! •  iOS simulator content – /Users/lucbors/Library/Developer/CoreSimulator/Devices 52
  • 53. 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 53
  • 54. 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 54
  • 55. 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 55
  • 56. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | WHERE ARE MY LOGFILES ? •  Change Location 56
  • 57. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | IN MAF 2.2 THINGS CHANGED •  Logfile is automatically redirected to the JDeveloper Console 57
  • 58. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |58 SUMMARY •  Many Options to Develop •  Many Features to Use •  Highly Configurable •  Use Common Patterns •  Think Outside of the Box •  Use other Tools to Help you