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

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.

mobile food delivery app diagram, description below here's where i put a description including all text and the important details of the diagram. Imagine having to describe the diagram to a blind person so they get all the ideas conveyed visually.

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.

Customer case studies

  • BlueKai uses Oracle Sharding to store petabytes of data to scale to millions of transactions per second with a single database (43:48)
  • Epsilon improves scalability, performance, and availability with Oracle Sharding (1:34)
e-shop diagram, description below here's where i put a description including all text and the important details of the diagram. Imagine having to describe the diagram to a blind person so they get all the ideas conveyed visually.

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.

marketing offers diagram, description below here's where i put a description including all text and the important details of the diagram. Imagine having to describe the diagram to a blind person so they get all the ideas conveyed visually.

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.

MyToDo list  diagram, description below here's where i put a description including all text and the important details of the diagram. Imagine having to describe the diagram to a blind person so they get all the ideas conveyed visually.

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.

online shopping cart diagram, description below here's where i put a description including all text and the important details of the diagram. Imagine having to describe the diagram to a blind person so they get all the ideas conveyed visually.

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.

online shopping cart diagram, description below here's where i put a description including all text and the important details of the diagram. Imagine having to describe the diagram to a blind person so they get all the ideas conveyed visually.

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.

Converged data reference architecture

Data-centric modern AppDev

Reference architectures use design principles to satisfy core modern app development requirements for web/mobile apps that integrate AI/ML, data-driven analytics, and messaging platforms. Architectures are event-driven to react to events in real time. These architectures help accelerate custom AppDev in finance, retail, healthcare, energy, manufacturing and also help extend packaged Oracle Applications. Most enterprise applications are data-centric, with a variety of data that is best handled by a converged database. Low-code AppDev compresses the number of technology tiers needed and is an option, along with polyglot programming, that uses popular languages, such as Java, Python, JavaScript, and more. Apps and database containers managed by Kubernetes can be deployed on OCI, standalone environments, and other major public clouds.

Opinionated choices with recommended technologies cover the following, although we realize there may be an overlap of design choices and best practices among these categories, such as a mobile app that is event-driven, built with low code, and crunches big data. We’ve got you covered with the recommendations below as the main categories of architecture patterns:

Low-code apps

Low-code with Oracle APEX

Low-code platforms enable you to build enterprise apps faster than with traditional hand coding. These platforms are well suited for building data reporting and analysis apps and opportunistic applications in collaboration with business stakeholders, extending SaaS apps and modernizing legacy applications.

Oracle APEX uses a simple, database-encapsulated, metadata-driven architecture that provides fast data access, GenAI-powered code generation, top performance, and scalability.

Blockchain App Builder

Blockchain App Builder provides a low-code development and test environment to support the scaffolding, local testing, and automated deployment of smart contracts. It can automatically generate smart contracts from declarative specs and aids in development, testing, and deployment. It also provides tokenization support with autogeneration of chain codes for the full token lifecycle.

Simple APIs for JSON

Oracle Transactional Event Queues

Oracle Transactional Event Queues (TxEventQs) are high-performance partitioned implementation queues with multiple event streams per queue. A TxEventQ is the partitioned and in-memory implementation of Oracle Advanced Queuing. TxEventQ queues support the JMS spec and can be accessed in Java, Python, Node.js, PL/SQL, C/C++, .NET, and Go.

Oracle XML Developer’s Kit

XML is a scripting language similar to HTML and is mainly used to store and transport data. Oracle XML Developer’s Kit (XDK) is a versatile set of components that enables you to build and deploy C, C++, and Java software programs that process XML. You can assemble these components into an XML application that serves your business needs.

Machine learning

Oracle Database accelerates machine learning with powerful algorithms that run inside the database. This allows you to build and run ML models without having to move or reformat data. Data scientists leverage Python, R, SQL, and other tools to integrate ML capabilities into database applications and deliver analytics results in easy-to-use dashboards.

Oracle REST Data Services API

The Oracle REST Data Services API allows Oracle REST Data Services users to perform Oracle Database management and monitoring operations through a user-friendly REST API. ORDS database APIs provide services, such as pluggable database management, data export, and database performance review.

SQL

Oracle SQL

Oracle SQL provides an easy, elegant, and performant architecture for accessing, defining, and maintaining data. Use SQL with Oracle and PHP, Java, Python, .NET, Hadoop, Node.js, and Oracle APEX.

SQL*Plus

SQL*Plus is an interactive and batch query tool provided with every Oracle Database server or client installation. It provides a command-line user interface that allows you to enter and execute SQL, PL/SQL, SQL*Plus, and operating system commands.

SQL Developer

Oracle SQL Developer is a free graphical tool that simplifies database development tasks. With SQL Developer, you can browse database objects, run SQL statements and SQL scripts, edit and debug PL/SQL statements, manipulate and export data, and view and create reports. You can connect to both Oracle Databases and selected third-party (non-Oracle) databases, view metadata and data, and migrate these databases to Oracle. SQL Developer also integrates interfaces into several related technologies, including Oracle Data Miner, Oracle OLAP, Oracle TimesTen In-Memory Database, and SQL Developer Data Modeler (read-only).

SQL Developer Data Modeler

Oracle SQL Developer Data Modeler is a data modeling and database design tool that provides an environment to capture, model, manage, and exploit metadata.

SQLcl

Oracle SQLcl (SQL developer command line) is a Java-based command line interface for Oracle Database. Using SQLcl, you can execute SQL and PL/SQL statements in interactive or batch mode. SQLcl provides inline editing, statement completion, command recall, and supports your existing SQL*Plus scripts.

LiveSQL

Learn and share SQL while getting better at writing code. This includes tutorials, sample macros, explanation of query plans. Run code in the browser in seconds.

Oracle Database Actions

Oracle Database Actions (formerly SQL Developer Web) is a web-based interface that provides development, data tools, administration, and monitoring features for Oracle Database. It is available with Oracle Autonomous Database and included with the Oracle REST Data Services (ORDS) download for on-premises use.

Data types

JSON data/documents

Oracle Database provides APIs for the manipulation of JSON data and support for native storage of JSON data. These allow you to analyze, secure, and perform other operations on JSON data.

Oracle’s spatial database

Oracle's spatial database is available in Oracle Database. It allows developers and analysts to get started easily with location intelligence analytics and mapping services. It enables geographic information system (GIS) professionals to successfully deploy advanced geospatial applications. Organizations can manage different types of geospatial data, perform hundreds of spatial analytic operations, and use interactive map visualization tools with the spatial features in Oracle Autonomous Database and Oracle Database.

Graph database and graph analytics

Oracle’s graph database is available in Oracle's converged database. It allows graph users to use two popular graph models: property graphs and RDF graphs. Developers, analysts, and data scientists can explore data relationships using graph queries and perform graph analytics using prebuilt graph algorithms to gather business insights, such as making recommendations, finding communities, pattern matching, identifying fraud, and other anomalies. Graph Studio in Oracle Autonomous Database provides a fully managed, automated graph data interface that makes it easier to create and query graphs. It delivers extensive graph analytics and graph query support with advanced notebooks and interactive visualizations.

Oracle XML Database

Oracle XML Database (XML DB) allows you to store and manipulate XML data natively. It provides complex data analysis and reporting, high performance and scalability, data protection, and access control..

DevOps

Kubernetes Operator

Oracle Database Operator for Kubernetes (also called. OraOperator) extends the Kubernetes API with custom resource definitions and controllers for automating Oracle Databases operations. Kubernetes has become the most popular and ubiquitous open source framework for automating continuous integration and continuous delivery (CI/CD) pipelines.

Unified observability

End-to-end observability of application development, including app-tier, mid-tier, and data-tier. Metrics, logs, and traces are collected and analyzed with Prometheus, using Grafana as the monitoring dashboard.

Real Application Security

Oracle Database Real Application Security Administration (RASADM) lets you create Real Application Security data security policies using a graphical user interface.

Real Application Security manages application security for application users, rather than database users. It enables application user identity to be known during security enforcement. With Real Application Security, developers can manage security for application-level tasks and return security to the database layer, either incrementally, or all at once.

Java Database Connectivity

Java Database Connectivity (JDBC) is a Java standard that provides the interface to connect Java applications to relational databases. In addition to supporting the standard JDBC application programming interfaces (APIs), Oracle JDBC also provides extensions to support Oracle-specific data types and enhance performance of Java applications that connect to Oracle Database.

AppDev with converged Oracle Database customer successes

Explore all customer stories
Exelon Corporation elevates customer experience with Oracle Mobile Cloud Enterprise
Epsilon improves scalability, performance, and availability with Oracle Sharding
Using x-ray sensors on huge power shovels, MineSense sends IoT data to Oracle Autonomous Database, which helps mines run more precise operations.
The New York-based outdoor media company uses Oracle Autonomous Database and Oracle Analytics, incorporating third-party data faster in order to advise customers on where to spend their ad dollars most effectively.
NHSBSA use machine learning to improve patient outcomes, optimize internal processes, and reduce fraud. They have identified £1billion in ongoing annual savings.
Siemens Mobility reduced costs by 90% while improving time to market by using Autonomous Transaction Processing to integrate data from variety of sources, providing project managers accurate real-time information.

Modern AppDev with Oracle Database benefits

  • Converged data capability

    The converged data architecture patterns provide convergence across multiple dimensions of an application stack, enabling you to run a query on a variety of data types together, work with operational data and analytics with AI/ML, develop in multiple languages, deploy on multiple clouds. DevOps is simpler and easier with a containerized database architecture managed by Kubernetes.

  • Data and event integrity

    Support for ACID transactions across a variety of data in Oracle’s converged database, with programming in language of choice and built-in transactional messaging/events.

  • Unified observability

    Metrics and logs are collected and analyzed at every tier—app, mid, and data—all unified for the developer to simplify debugging and performance tuning.

  • Simplified app and data security

    Integrates security for app roles with Kubernetes Secrets using vaults for passwords with data security assessment, masking, and encryption.

September 4, 2021

Developing event-driven microservices in Java, JavaScript, Python, .NET, and Go with AQ/TEQ in Oracle Database

Paul Parkinson, Developer Evangelist, Oracle

Microservices increasingly use event-driven architectures for communication, which is why many data-driven systems are also employing an event-sourcing pattern of one form or another. This is when data changes are sent via events that describe the data change that are received by interested services. The data is sourced from the events and event sourcing, in general, moves the source of truth for data to the event broker. This fits nicely with the decoupling paradigm of microservices.

Featured Oracle Database blogs

View all

Get started with application development with Oracle Database

 

Oracle LiveLabs for AppDev

Build sample apps with services from the Oracle Database in Oracle LiveLabs for AppDev.

 

Contact us

Interested in learning more? Contact one of our experts.