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)
Crea una aplicación de entrega móvil de alimentos con un patrón de arquitectura centrado en los datos utilizando el motor de Kubernetes, los contenedores de Docker y Oracle Autonomous Database. Modern AppDev es sinónimo de microservicios basados en datos que generan datos operativos y eventos de código, e incorpora inteligencia artificial (IA) y machine learning (ML). La plataforma de datos convergente en Oracle Cloud Infrastructure (OCI) facilita la creación de nuevos microservicios para administrar una variedad de eventos y datos con tablas, JSON, grafos y tipos de datos espaciales. El ejemplo de la aplicación GrabDish muestra cómo una plataforma completa de microservicios se puede instanciar automáticamente mediante scripts de terraform, DevOps simplificado con Kubernetes y código de microservicios de muestra.
e-shop es un ejemplo de aplicación retail de comercio electrónico online, desarrollada para demostrar Oracle Sharding, una base de datos convergente distribuida globalmente a hiperescala con OLTP y análisis en una arquitectura de procesamiento masivo en paralelo (MPP). Normalmente se necesitan múltiples tecnologías y productos para desarrollar una aplicación como esta. Por ejemplo, necesitarías una base de datos JSON, una aplicación de índice de texto, una base de datos relacional y un motor de análisis, todo lo cual dificulta la consulta de datos en múltiples almacenes de datos. En este ejemplo se utiliza Oracle Sharding (con tres particiones horizontales) con distintos tipos de datos, incluidos datos estructurados y no estructurados, relacionales, JSON y almacenados en texto en una única plataforma de base de datos.
Esta aplicación de ejemplo incluye multitud de capacidades, como la API de acceso simple a documentos de Oracle (SODA) y la búsqueda de texto para JSON, enlaces, transacciones y propiedades ACID para consultas relacionales, coincidencia parcial, escritura anticipada, búsqueda de texto de formato libre y sentimiento.
Realiza ofertas especializadas a clientes en riesgo con Autonomous Database.
Las plataformas de datos modernas requieren análisis en todos los motores de almacenamiento (relacionales, de almacenamiento de objetos, etc.) y tipos de datos. Oracle Autonomous Database captura datos tabulares, espaciales, de gráficos y JSON e incluye algoritmos especializados para cada uno de estos tipos de datos. Oracle MovieStream, una empresa de transmisión de películas online ficticia, se utiliza para ilustrar cómo se pueden aplicar diferentes tipos de análisis sofisticados a datos estructurados y no estructurados. Puedes acceder a datos de un lago de datos, desbloquear y descubrir insights de visualización de películas a partir de datos tabulares y JSON, utilizar el machine learning para predecir la rotación, localizar ofertas mediante análisis espaciales y aplicar algoritmos de grafos para recomendar películas basadas en comunidades derivadas.
Crea y despliega una aplicación de productividad personal utilizando servicios nativos de la nube, como Oracle Autonomous Database, Oracle Container Registry, clústeres de Kubernetes, gateway de API y Helidon.
Esta aplicación realiza llamadas REST a un backend de Java por medio del marco de microservicios de Helidon. La aplicación se almacena en contenedores con Docker, se despliega en Container Registry y se gestiona mediante Kubernetes. El código Java implementa las API de REST y se conecta a Autonomous Database para mantener los cambios.
Una aplicación de carro de compras permite a los clientes seleccionar, revisar y adquirir productos o servicios de una tienda en línea en cualquier momento.
Esta aplicación de muestra crea un carro de la compra desde cero con Oracle Autonomous Database y Oracle APEX. En primer lugar, se importa un conjunto de datos de muestra y, a continuación, se crea una aplicación con páginas, como paneles de control, productos e informes múltiples. A continuación, puedes agregar páginas para gestionar el carro de la compra.
La aplicación permite que los administradores de tiendas online gestionen productos, clientes y establecimientos. Los clientes pueden buscar, agregar productos al carro y, por último, proceder a finalizar la compra. Este método se puede aplicar a otros casos de uso, creando una aplicación inicial en 60 minutos con las funciones del cliente y del administrador para gestionar de forma segura los cambios en el sitio.
Oracle Machine Learning es una excelente solución para analizar datos y aplicarla a los datos más valiosos de tu organización: los datos empresariales existentes en tu Oracle Database. En este ejemplo se muestra cómo un profesional de los datos puede crear una aplicación de seguros basada en machine learning con APEX, empezando por la preparación de los datos y terminando con el despliegue eficaz de un modelo.
La aplicación de seguros de muestra también aborda las buenas prácticas de DevOps para el despliegue de modelos en aplicaciones reales, de modo que los desarrolladores disfruten de un acceso sencillo a una potente herramienta de IA/ML.
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.
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.
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 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.
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 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.
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.
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 a Backend as a Service for Spring Cloud as a developer preview.
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.
Helidon is a collection of Java libraries for writing microservices that run on a fast web core powered by Netty.
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.
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.
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 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 database-encapsulated simple, metadata-driven architecture that provides fast data access, top performance, and scalability.
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.
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.
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.
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.
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.
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 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.
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).
Oracle SQL Developer Data Modeler is a data modeling and database design tool that provides an environment to capture, model, manage, and exploit metadata.
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.
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 (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.
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 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.
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 (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..
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.
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.
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 (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.
Los patrones de arquitectura de datos convergentes proporcionan convergencia en múltiples dimensiones de una pila de aplicaciones, lo que le permite ejecutar una consulta en una variedad de tipos de datos juntos, trabajar con datos operativos y análisis con IA/ML, desarrollar en varios idiomas y desplegar en múltiples nubes. Las operaciones de desarrollo (DevOps) son más sencillas, ya que cuentan con una arquitectura de base de datos containerizada administrada por Kubernetes.
Soporte para transacciones ACID en una variedad de datos en la base de datos convergente de Oracle, con capacidad de programar utilizando tu lenguaje preferido y mensajería/eventos transaccionales integrados.
Las métricas y los logs se recopilan y analizan en cada una de las capas (aplicaciones, media y datos), todo ello unificado para que el desarrollador simplifique la depuración y el ajuste del rendimiento.
Integra la seguridad para roles de aplicación con Kubernetes Secrets utilizando depósitos de contraseñas con evaluación de la seguridad de los datos, enmascaramiento y cifrado.
Paul Parkinson, promotor de desarrolladores, Oracle
Los microservicios utilizan cada vez más arquitecturas basadas en eventos para la comunicación, por lo que muchos sistemas basados en datos también emplean un patrón de contratación de eventos de una forma u otra. Esto se produce cuando los cambios de datos se envían a través de eventos que describen el cambio de datos que reciben los servicios interesados. Los datos se obtienen de los eventos y el abastecimiento de eventos, en general, traslada la fuente única de información al intermediario de eventos. Esto encaja perfectamente en el paradigma de desacoplamiento de microservicios.
Crea aplicaciones de muestra con los servicios que te brinda Oracle Database en Oracle LiveLabs para AppDev.
¿Deseas obtener más información? Ponte en contacto con uno de nuestros expertos.