Confidential – Oracle Internal/Restricted/Highly Restricted
Create Database REST APIs for Mobile Apps Using Oracle APEX Schedule: Timing Topic <xx> minutes Lecture <xx> minutes Practice <xx> minutes Total Create Database REST APIs for Mobile Apps Using Oracle APEX Joe Greenwald Sr. Principal Instructor, Oracle University #OOW18 <Course name> 1 - 2
Sr. Principal Instructor, Oracle Corporation joe.greenwald@oracle.com 15+ years teaching and consulting for Oracle Classes taught: ADF Mobile and Desktop PL/SQL and SQL APEX SOA Suite and Service Bus Enterprise Integration Java SE, EE REST and SOAP WebCenter Content Database, WebLogic and FMW Administration Data and Object Modeling & Design Mobile Cloud Interests: Model-based Development CASE Tools Enterprise Integration Methods and Techniques Mobile Development – First: Apple Newton 1996 Joe Greenwald Sr. Principal Instructor, Oracle Corporation joe.greenwald@oracle.com
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. Confidential – Oracle Internal/Restricted/Highly Restricted
Goal is to Access Enterprise Data on a Company Mobile App What are the Major Challenges? How to secure the data? How to create and manage new roles and access for new types of users – who are now seeing some enterprise data – maybe for the first time How to access the data? What protocols – SOAP or REST or Proprietary or Security must be applied to message being sent, & what if it changes? How to consume the data? Format – XML or JSON How much to consume – where does the data get filtered, mapped, sorted, computed, before display on the mobile device? So, how do I get the data into the user interface?
Expose Back-end Enterprise Data as RESTFul Web Service PL/SQL Libraries select… begin… Oracle Database http://rest/api Other consumers Flat Files Streams Other services (REST, SOAP) Streams
XML vs. JSON Performance
Consuming Enterprise Data Services Can Be Too Much for Mobile Applications Needs to Display: Current Balance Data Services Shaped Data Service Payload Contains Complete Customer Account Info: Customer First Name Customer Last Name Email Phone numbers Addresses … Current Balance Transactions
Consume REST Services in Oracle Front-end Development Tools Mobile: Java: Application Development Framework (ADF) Desktop, Mobile ADF (MAF) JavaScript: JavaScript Extension Toolkit (JET), Application Express (APEX) Desktop: ADF JET APEX Oracle Forms
Create RESTFul Web Services in Oracle Application Express (APEX) Same functionality as ORDS – but developed and available within APEX as well, uses APEX UI and Capabilities – ORDS can be programmed or managed with SQL Developer or CLI.
3 Steps to a Working REST Service 3. Create a Handler 1. Create a Module 2. Create a Template
Demonstration Confidential – Oracle Internal/Restricted/Highly Restricted
Oracle Application Express (APEX) Solution About Oracle REST Data Services Oracle REST Data Services is a JEE-based alternative for Oracle HTTP Server (OHS) and mod_plsql. The JEE implementation offers increased functionality including command line based configuration, enhanced security, file caching and RESTful Web Services. Oracle REST Data Services also provides increased flexibility by supporting deployments using Oracle WebLogic Server, Oracle Glassfish Server, Apache Tomcat, and a standalone mode. The Oracle Application Express architecture requires some form of Web server to proxy requests between a Web browser and the Oracle Application Express engine. Oracle REST Data Services satisfies this need but its use goes beyond that of Oracle Application Express configurations. Using Oracle REST Data Services simplifies the deployment process because there is no Oracle home required as connectivity is provided using an embedded JDBC driver. See Oracle REST Data Services Installation, Configuration, and Development Guide for concepts and details. select * from customers where cust_id = :id <Course name> 1 - 13
Oracle Mobile Cloud Service: Mobile Back Ends Mobile back ends are server-side groupings of APIs and other resources that you create to support a specific set of applications. MCS is a cloud-based service that provides a unified hub for developing, deploying, maintaining, monitoring, and analyzing your mobile apps and the resources that they rely on. Connecting to and accessing MCS services will be covered in a later lesson. Develop Mobile Front Ends Using Mobile Application Framework 5 - 14
Oracle Mobile Cloud Service Custom APIs Mobile Connectors Platform APIs REST APIs Diagnostics Analytics Lifecycle Node Notifications Storage Database Data Offline Mobile Back End Life Cycle User Services MAF Application Oracle Cloud Overall, MCS has two sets of APIs that can be published to the outside world through the MCS mobile back ends: custom APIs and platform APIs. Custom APIs coded in Node.js give you the flexibility and freedom to build practically whatever services you want for your mobile applications. Using Node.js, you can expose, shape, and customize any of your existing enterprise system services specifically optimized for your mobile applications to consume. In contrast, platform APIs are a set of built-in APIs provided by MCS to give your mobile team a boost by providing common services and APIs typically required by mobile applications, such as push notifications, data synchronization, storage, and analytics. It’s these platform APIs that specifically make MCS valuable to mobile teams— these are a key value proposition for MCS, saving your teams from having to write, test, and maintain this code themselves. In context of the platform APIs, these are available as REST services, which mean they can be very easily called from your consuming mobile applications. However, to make this simpler, MCS ships with a native mobile platform SDK. This SDK makes calling the MCS REST services easier because it removes the need to write a large amount of code to call the REST services, instead replacing this code with SDK calls in the mobile’s native language, such as Objective C for iOS and Java for Android, in typically nothing more than one or two or three lines of code. Cloud/Internet Mobile Client SDKs On-Premise JavaScript SDK JavaScript SDK Oracle Mobile Cloud Service Develop Mobile Front Ends Using Mobile Application Framework 13 - 15
Oracle Mobile Cloud Service Developer Roles Oracle Mobile Cloud Service Mobile App Mobile Back End External Services Custom API Connectors Node http://rest/api Interface Implementation Mobile App Developer Services Developer Defines Interface REST API Mock data Defines Implementation Node.js code Connectors The mobile developer and service developer work hand in hand in parallel. Or, one person does all the work in sequence. The choice is yours. Develop Mobile Front Ends Using Mobile Application Framework 13 - 16
Summary Mobile applications have very different data needs than internal desktop applications. Mobile apps require RESTFul web services to provide shaped data payloads of smaller sizes.
Confidential – Oracle Internal/Restricted/Highly Restricted
Experience Oracle University Learning Subscriptions. Visit education Experience Oracle University Learning Subscriptions! Visit education.oracle.com/oowtrial Free Trial Subscription: Special invitation from Oracle University to attendees of Oracle OpenWorld or Code One Anytime, anywhere access Continually updated training on Oracle products and technologies. Experience the new Unlimited Product Learning Subscription Instructor notes Details: UPLS Trial: 1 subscription per attendee Ends December 21, 2018 or after attendee consumes 5 hours of learning on the trial subscription. Availability: Go to the education.oracle.com/oowtrial to activate your trial subscription. Oracle Confidential – Internal/Restricted/Highly Restricted
Are You Up For the Oracle University Zip Labs Challenge at Code One? Join us in San Francisco, California at the Moscone West Center where you can compete to win a prize at the “Oracle University Zip Labs Challenge Booth.” When: Monday, October 22th – Open from 9:00am through 4:30pm Tuesday, October 23th – Open from 9:00am through 4:30pm Wednesday, October 24th – Open from 9:00am through 3:00pm What is the Oracle University Zip Labs Challenge? The Oracle University Zip Labs Challenge is a collection of labs, each 10-20 minute long. Zip Labs guide you through a sequence of steps to accomplish a specific task within the Oracle Cloud Platform. It’s an opportunity to get started experiencing for yourself how some of Oracle’s new technologies work. You can select from labs in the categories covering: Virtual Machines: Creating a VM in OCI Autonomous Data Warehouse (ADW): Provisioning, Connecting to SQL, Machine Learning Autonomous Transaction Processing (ATP): Provisioning, Connecting to SQL, Scaling Great Learning. Great Technology. Great Prizes COME SEE WHAT ALL THE EXCITEMENT IS ABOUT AS YOU WORK THROUGH EXPERT DEVELOPED LABS AND CLIMB HIGHER ON OUR LEADERBOARD THROUGHOUT THE DAY – COMPETING WITH OTHER CONTESTANTS It’s simple to find us. Go to the 2nd floor of Moscone West. As you complete labs and quizzes, you’ll earn points to boost your leaderboard standing. At the end of each day, the top 5 winners win a fabulous prize. So if you are up for the challenge – then we hope you drop by to showcase your skills and curiosity! Looking forward to seeing you there. Confidential – Oracle Internal/Restricted/Highly Restricted
Your Chance to Influence Product Direction and Design! The QR code is DYNAMIC so we can change where it points to if we want. Use the URL https://app.qr- code-generator.com/manage/?aftercreate=1 Mary Beth has the account with her gmail. The Cloud Platform UX team would love to get your feedback on new designs. Sign up here: https://tinyurl.com/OracleUserResearch