Application development with Oracle Database

Oracle Database provides the most comprehensive platform with both application and data services to make development and deployment of enterprise applications simpler. Build SaaS apps with CI/CD, Multitenant database, Kubernetes, cloud native, and low-code technologies.

Microservices with Oracle's Converged Database (1:09)

Oracle Database 23c Free—Developer Release

Announcing a free early developer release of Oracle Database 23c—including JSON Relational Duality, the “greatest innovation in information science in the past 20 years”—ready for the cloud and on-premises.

“Living up to the code name ‘App Simple,’ Oracle is making it extremely easy for developers to try its latest innovations with Oracle Database 23c Free—Developer Release. Developers have over 300 features and enhancements in Oracle Database 23c to work on, but JSON Relational Duality will probably be the favorite as it solves a mismatch between document and SQL approaches to storing and analyzing data.”

Holger Mueller Vice President and Principal Analyst, Constellation Research

Sample applications

Build a mobile food delivery app with a data-centric architecture pattern using Kubernetes engine, Docker containers, and Oracle Autonomous Database. Modern AppDev is synonymous with data-driven microservices generating operational data and code events, and it incorporates artificial intelligence (AI) and/or machine learning (ML). A converged data platform on Oracle Cloud Infrastructure (OCI) simplifies the creation of new microservices to handle a variety of events and data with tables, JSON, graph, and spatial data types. The GrabDish app example shows how a complete microservices platform can be instantiated automatically using terraform scripts, simplified DevOps with Kubernetes, and sample microservices code.

Resources

Customer case studies

mobile food delivery app diagram, description below

e-shop is a web-based, ecommerce retail application example, developed to demonstrate Oracle Sharding, a hyperscale globally distributed converged database with OLTP and analytics in a massively parallel processing (MPP) architecture. Multiple technologies and products are usually required to develop an application such as this. For example, you would need a JSON database, a text index application, a relational database, and an analytics engine—all of which makes it difficult to query data across multiple data stores. This example uses Oracle Sharding (with three shards) with different types of data —including structured and unstructured data, relational, JSON, and text—stored in a single database platform.

This example app includes multiple capabilities, such as the simple Oracle document access (SODA) API and text search for JSON, joins, transactions, and ACID properties for relational queries, fuzzy match, type ahead, free-form text search, and sentiment.

Resources

Customer case studies

e-shop diagram, description below

Make specialized offers to at-risk customers using Autonomous Database.

Modern data platforms require analytics across storage engines (relational, object storage, and others) and data types. Oracle Autonomous Database captures tabular, spatial, graph, and JSON data and includes specialized algorithms for each of these data types. Oracle MovieStream—a fictitious online movie streaming company—is used to illustrate how different types of sophisticated analytics can be applied to both structured and unstructured data. You can access data from a data lake, unlock and discover movie viewing insights from tabular and JSON data, use machine learning to predict churn, localize offers using spatial analytics, and apply graph algorithms to recommend movies based on derived communities.

Resources

Customer case studies

marketing offers diagram, description below

Build and deploy a personal productivity application using cloud native services, such as Oracle Autonomous Database, Oracle Container Registry, Kubernetes clusters, API gateway, and Helidon.

This application makes REST calls to a Java backend using the Helidon microservices framework. The application is containerized using Docker, deployed in the Container Registry, and managed by Kubernetes. The Java code implements the REST APIs and connects to the Autonomous Database to persist changes.

Resources

MyToDo list diagram, description below

A shopping cart app allows customers to select, review, and purchase a product or service from an online store at any time.

This sample application creates a shopping cart from scratch using Oracle Autonomous Database and Oracle APEX. First, a sample dataset is imported, and then an app is built with pages, such as dashboard, products, and multiple reports. You can then add pages to manage the shopping cart.

The application allows online store administrators to manage products, customers, and stores. Customers can explore, add products to the cart, and eventually proceed to checkout. This method can be applied to other use cases, building a starter application in 60 minutes with customer features and administrator features to securely manage changes to the site.

Resources

Customer case studies

online shopping cart diagram, description below

Oracle Machine Learning is a powerful solution for analyzing data and applying it to the most valuable data in your organization—the existing enterprise data in your Oracle Database. This example shows how a data professional can build a machine learning–driven insurance app with APEX, starting with data preparation and finishing up with the successful deployment of a model.

The sample insurance application also addresses DevOps best practices for model deployment in real applications so developers have simple access to powerful AI/ML.

Resources

Customer case studies

online shopping cart diagram, description below

Modern application development

Languages and Frameworks

Java

Java is the #1 programming language and development platform. It reduces costs, shortens development timeframes, drives innovation, and improves application services. With millions of developers running more than 51 billion Java Virtual Machines worldwide, Java continues to be the development platform of choice for enterprises and developers.

Python

The Python programming language is actively used across all domains of contemporary computer science. Since Python development is more efficient than most other languages, it is a popular choice for startups where changes to the codebase must be made quickly and cheaply. It's also used by scientists and mathematicians and in a number of powerful, in-house libraries for statistics and complex math. Explore the features of the Python python-oracledb driver for Oracle Database. python-oracledb is a Python extension module that enables access to Oracle Database. It conforms to the Python database API 2.0 specification with a considerable number of additions and a couple of exclusions.

Oracle C and C++ Call Interface APIs

The Oracle Call Interface C and C++ APIs let you create applications that use function calls to access Oracle Database and control all phases of the SQL statement execution and data access.

Node.js

Node.js allows developers to build fast, scalable network applications using easy-to-understand code. It runs on Windows OS, macOS, Linux, Unix, and other operating systems. It has support for ARM processors, such as Raspberry Pi or BeagleBone Black. Node.js is an ideal choice for developers who need to build fast, scalable network applications, such as web servers and other back-end systems powering mobile apps, using simple code.

The node-oracledb add-on for Node.js powers high-performance Oracle Database applications. Applications can be written in TypeScript, or directly in JavaScript.

.NET

Oracle's .NET development community numbers more than 800,000 members. Popular products include Oracle Data Provider for .NET (ODP.NET), which is optimized to use Oracle Database’s high availability, performance, and security features while giving developers complete access to .NET and .NET Framework. Oracle Developer Tools for Visual Studio Code (VS Code) and Visual Studio are add-ins for editing, executing, and debugging of SQL and PL/SQL for Oracle Database on-premises or in the cloud.

PL/SQL

PL/SQL is an embedded language designed to work efficiently with Oracle Database. PL/SQL adds procedural constructs to SQL and provides a more comprehensive programming language solution for building mission-critical applications on Oracle Databases.

React.js

React is a JavaScript library for web and native user interfaces that lets you build user interfaces out of individual components, such as Thumbnail, Like Button, and Video. These can then be combined into entire screens, pages, and apps. You don’t have to build your whole page in React —you can add React to existing HTML pages and render interactive React components anywhere on them.

The backend of the applications can be written in either Java or Node.js to complete a full-stack development for modern web/mobile applications. Oracle Database provides the backend for both a Java (also with Spring Boot) and JavaScript (with Node.js and Parse platform) full-stack development with React.js.

Microservices and Mobile

What are microservices?

Microservices are an architectural approach to developing modern software. Each core function, or service, represents a related business context that is built and deployed independently. Microservices provide agility in building and maintaining applications. Application modernization today is synonymous with microservices.

Microservices with Spring Boot

Building small, self-contained, ready-to-run applications can bring great flexibility and added resilience to your code. Spring Boot’s purpose-built features make it easy to build and run your microservices in production at scale. The distributed nature of microservices brings challenges, and Spring Boot helps you mitigate them. Spring Cloud Stream makes it easy to consume and produce events, no matter which messaging platform you choose. Oracle offers Oracle Backend for Spring Boot and Microservices.

Mobile Application Development

Oracle Mobile Backend as a Service (MBaaS) helps developers build modern mobile applications using the Parse platform APIs, using a variety of developer SDKs – Javascript, Flutter, Unity, etc. An Oracle Database adapter is available to take advantage of the rich application and data services in Oracle's converged database. MongoDB and PostgreSQL adapters are already available as part of the Parse platform, and the platform emulates Google Firebase APIs in a proof-of-concept demo, with a sample application that can run on the Google Firebase service, and with minimal change to include a parsef emulator library run on the Oracle MBaaS platform.

Enterprise application development combines web-first microservices with mobile-first features in application, and the ability to run microservices in application containers and Parse containers managed by Kubernetes makes it easy to converge these two application styles, one in Java and another in JavaScript.

Microservices in Java with Helidon

Helidon is a collection of Java libraries for writing microservices that run on a fast web core powered by Netty.

Microservices in Java with Micronaut

A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications. With this framework, application startup time and memory consumption aren't bound to the size of your codebase, resulting in a reduced startup time, fast throughput, and minimal memory footprint.

Transaction Manager for Microservices (MicroTx)

Oracle Transaction Manager for Microservices simplifies application development and operations by enabling distributed transactions to ensure consistency across polyglot microservices deployed in Kubernetes and/or other environments. This transaction manager runs outside the database and is suited for running across heterogeneous databases. In addition MicroTX supports Long Running Actions (LRA) and Try-confirm-cancel (TCC) consistency protocols.