Table of Contents
- Title and Copyright Information
- Preface
- 1 A Developer’s View of Oracle Mobile Cloud Enterprise
- 2 Android Apps
- 3 iOS Applications
- 4 Cordova Applications
- 5 JavaScript Applications
- 6 Notifications
- 7 My Profile
-
8
Storage
- What Can I Do with Storage?
- Android
- iOS
- Cordova, JavaScript, and TypeScript
- Custom Code
- REST API
- Testing Runtime Operations Using the Endpoints Page
- Managing Collections
-
9
Data Offline and Sync
- Building Apps that Work Offline Using Sync Express
-
Building Apps that Work Offline Using the Synchronization Library
- What Can I Do with the Synchronization Library?
- Synchronization Library Process Flow
- Video: Overview of the Data Offline & Synchronization API
- Android Synchronization Library
- iOS Synchronization Library
- Making Custom APIs Synchronizable
-
Synchronization Policies
- Video: Introduction to the Data Offline & Sync Policies
- Synchronization Policy Options
- Video: Deep-Dive into the Data Offline & Sync Policies
- Synchronization Policy Levels and Precedence
- Defining Synchronization Policies Using a Configuration File
- Defining Synchronization Policies and Cache Settings in a Response Header
- Tracking Cache Hits with the Synchronization Library
- How Synchronization Works with the Storage APIs
- 10 Location
- 11 Database
- 12 Analytics
- 13 App Policies
- 14 Backends
- 15 Mobile Users and Roles
-
16
Authentication in OMCe
- OAuth Consumer Authentication in OMCe
- HTTP Basic Authentication in OMCe
-
Enterprise Single Sign-On in OMCe
-
Third-Party SAML and JWT Tokens
- SAML Tokens and Virtual Users
-
JWT Tokens and Virtual Users
- Registering a JWT Token Issuer in OMCe
- Minimal IdP Configuration
- IdP Configuration with Audience
- IdP Configuration with Audience and Username Attribute
- Associating Roles with a JWT Token
- Converting a JSON Object to One Line
- JWT Configuration Reference
- Obtaining a JWT Token Using an Embedded Browser
- Obtaining a JWT Token Using a System Browser
- Using a JWT Token to Authenticate with OMCe
- Coding the JWT Token Exchange Manually
- Mapping Users from a Third-Party IdP to IDCS Users
- Browser-Based SSO through OMCe
- Testing APIs in a Backend with SSO Login
- Token Expiration for SSO Login
-
Third-Party SAML and JWT Tokens
- Facebook Login in OMCe
- Authenticating in Direct REST Calls
- Securing Cross-Site Requests to OMCe APIs
- 17 Creating APIs Fast with the Express API Designer
-
18
Custom API Design
- API Design Process
- Generating Custom APIs for Connectors
- The API Designer
- Spec Out a Custom API
-
Creating a Complete Custom API
- Setting Up Your API
- Defining Endpoints
- Adding Methods to Your Resources
- Defining a Request for the Method
- Defining a Response for the Method
- Testing API Endpoints Using Mock Data
- Providing a Schema
- Security in Custom APIs
- Testing Your Custom API
- Creating Resource Types
- Creating Resource Traits
- Providing API Documentation
- Getting Diagnostic Information
- API Design Considerations
- Editing a Custom API
- Video: End-to-End Custom API Demo
- Troubleshooting Custom APIs
-
19
Implementing Custom APIs
- What Can I Do with Custom Code?
- How Does Custom Code Work?
- Setting Up Tooling for Custom Code
- Steps to Implement a Custom API
- Downloading a JavaScript Scaffold for a Custom API
- Writing Custom Code
- Implementing Synchronization-Compatible APIs
- Calling Web Services and APIs from Custom Code
- Packaging Custom Code into a Module
- Uploading the Custom Code Module
- Testing and Debugging Custom Code
- Troubleshooting Custom API Implementations
- What Happens When a Custom API Is Called?
-
20
Calling APIs from Custom Code
- How to Send Requests to Platform, Connector, and Custom APIs
- Accessing Mobile Backend Information from Custom Code
-
Calling Platform APIs from Custom Code
- Accessing the Analytics Collector API from Custom Code
- Accessing the App Policies API from Custom Code
- Accessing the Database Access API from Custom Code
- Accessing the Location API from Custom Code
-
Accessing the Location Management API from Custom Code
- location.assets.register(assets, context, httpOptions)
- location.assets.remove(id, context, httpOptions)
- location.assets.update(id, asset, context, httpOptions)
- location.devices.register(devices, context, httpOptions)
- location.devices.remove(id, context, httpOptions)
- location.devices.update(id, device, context, httpOptions)
- location.places.register(places, context, httpOptions)
- location.places.remove(id, context, httpOptions)
- location.places.update(id, place, context, httpOptions)
- Accessing the Mobile Devices API from Custom Code
- Accessing the My Profile API from Custom Code
- Accessing the Notifications API from Custom Code
-
Accessing the Storage API from Custom Code
- storage.doesCollectionExist(collectionId, options, httpOptions)
- storage.doesExist(collectionId, objectId, options, httpOptions)
- storage.getAll(collectionId, options, httpOptions)
- storage.getById(collectionId, objectId, options, httpOptions)
- storage.getCollection(collectionId, options, httpOptions)
- storage.getCollections(options, httpOptions)
- storage.remove(collectionId, objectId, options, httpOptions)
- storage.store(collectionId, object, options, httpOptions)
- storage.storeById(collectionId, objectId, object, options, httpOptions)
- Calling Connector APIs from Custom Code
- Calling Custom APIs from Custom Code
- Specifying the API Version in Calls to Custom and Connector APIs
- Using Generic REST Methods to Access APIs
- Learning About Platform, Custom, and Connector APIs
-
21
Connectors
- What Is a Connector API?
-
REST Connector APIs
- How REST Connector APIs Work
- Why Use Connectors Instead of Direct Calls to External Resources?
- Creating a REST Connector API
- Security and REST Connector APIs
- Security Policy Types for REST Connector APIs
- CSF Keys and Web Service Certificates
- Query and Header Parameters
- Editing a REST Connector API
- Using Your REST Connector API in an App
- Troubleshooting REST Connector APIs
-
SOAP Connector APIs
- How SOAP Connector APIs Work
- Why Use SOAP Connectors Instead of Direct Calls to External Resources?
- Creating a SOAP Connector API
- SOAP Connector API Design Tips
- How Does XML Get Translated into JSON?
- Using XML Instead of JSON
- Security Policy Types for SOAP Connector APIs
- CSF Keys and Web Service Certificates
- Editing a SOAP Connector API
- Using Your Connector API in an App
- Troubleshooting SOAP Connector APIs
-
ICS Connector APIs
- How ICS Connector APIs Work
- ICS Connector API Flow
-
How Do I Create an ICS Connector API?
- Setting the Basic Information for Your ICS Connector API
- Connecting to an Integration Cloud Service Instance
- Selecting or Creating an ICS Instance Connection
- Selecting an Active Integration
- Editing the ICS Connector API
- Setting Runtime Security for the ICS Connector API
- Creating a New CSF Key
- Testing the ICS Connector API
- Security and ICS Connector APIs
- CSF Keys
- Using Your Connector API in an App
- Troubleshooting ICS Connector APIs
-
Fusion Applications Connector APIs
- How Fusion Applications Connector APIs Work
- Fusion Applications Connector API Flow
-
How Do I Create a Fusion Applications Connector API?
- Setting the Basic Information for Your Fusion Applications Connector API
- Connecting to a Fusion Applications Instance
- Creating a Fusion Applications Instance Connection
- Selecting Fusion Applications Resources
- Setting Resource Attributes
- Editing the Fusion Applications Connector API
- Setting Runtime Security for the Fusion Applications Connector API
- Testing the Fusion Applications Connector API
- Security Policy Types for Fusion Applications Connector APIs
- CSF Keys and Web Service Certificates
- Using Your Fusion Application Connector API in an App
- Troubleshooting Fusion Applications Connector APIs
-
22
SOAP Connector APIs
- How SOAP Connector APIs Work
- Why Do I Want to Use a SOAP Connector API?
- Why Use SOAP Connectors Instead of Direct Calls to External Resources?
- Creating a SOAP Connector API
- SOAP Connector API Design Tips
- How Does XML Get Translated into JSON?
- Using XML Instead of JSON
- Security Policy Types for SOAP Connector APIs
- CSF Keys and Web Service Certificates
- Editing a SOAP Connector API
- Using Your Connector API in an App
- Troubleshooting SOAP Connector APIs
-
23
ICS Connector APIs
- How ICS Connector APIs Work
- ICS Connector API Flow
-
How Do I Create an ICS Connector API?
- Setting the Basic Information for Your ICS Connector API
- Connecting to an Integration Cloud Service Instance
- Selecting or Creating an ICS Instance Connection
- Selecting an Active Integration
- Editing the ICS Connector API
- Setting Runtime Security for the ICS Connector API
- Creating a New CSF Key
- Testing the ICS Connector API
- Security and ICS Connector APIs
- CSF Keys
- Using Your Connector API in an App
- Troubleshooting ICS Connector APIs
-
24
Fusion Applications Connector APIs
- How Fusion Applications Connector APIs Work
- Fusion Applications Connector API Flow
-
How Do I Create a Fusion Applications Connector API?
- Setting the Basic Information for Your Fusion Applications Connector API
- Connecting to a Fusion Applications Instance
- Creating a Fusion Applications Instance Connection
- Selecting Fusion Applications Resources
- Setting Resource Attributes
- Editing the Fusion Applications Connector API
- Setting Runtime Security for the Fusion Applications Connector API
- Testing the Fusion Applications Connector API
- Security Policy Types for Fusion Applications Connector APIs
- CSF Keys and Web Service Certificates
- Using Your Fusion Application Connector API in an App
- Troubleshooting Fusion Applications Connector APIs
- 25 Diagnostics
- 26 Packages
- A HTTP Headers
- B Oracle Mobile Cloud Enterprise Policies
- C Security Policies for Connector APIs
- D Writing Swift Applications Using the iOS Client SDK
- E Legacy Analytics API
- F Supported Browsers and Languages
- G Identity Provider Integration