Sviluppo delle applicazioni moderne - Estensioni SaaS

Oracle Applications Cloud è una suite completa di applicazioni Software as a Service (SaaS) che offre soluzioni per aree quali Human Capital Management (HCM), Enterprise Resource Planning (ERP), Supply Chain Management (SCM) e Customer Experience (CX).

Come per qualsiasi applicazione SaaS, potrebbero essere necessarie estensioni univoche per la tua organizzazione, come layout dell'interfaccia utente personalizzati o processi aziendali aggiuntivi. Queste estensioni vengono implementate come applicazioni che si integrano con le informazioni di Oracle Applications Cloud o combinano dati di altri sistemi . Le applicazioni utilizzano lo stesso livello di sicurezza e offrono un'esperienza utente che si integra perfettamente con Oracle Applications Cloud. Alcune applicazioni di estensione sono incorporate nell'interfaccia di Oracle Applications Cloud o, se destinate a clienti esterni, operano al di fuori dell'ambiente Oracle Applications Cloud.

Questo documento contiene i principi di progettazione per sviluppare le applicazioni di estensione SaaS, un'architettura di riferimento e un percorso di implementazione ottimale.

Principi di progettazione

Utilizza i seguenti principi di progettazione per creare le tue applicazioni di estensione SaaS.

  • Usa framework open source leggeri e linguaggi di programmazione maturi

    Utilizzare Oracle JavaScript Extension Toolkit (Oracle JET) per il livello dell'interfaccia utente. Oracle JET è un toolkit open source di Oracle e librerie JavaScript open source utilizzato dai team di Oracle Applications Cloud per sviluppare interfacce utente basate su Redwood. JET offre gli stessi pattern, stili e modelli dell'interfaccia utente Redwood.

    Utilizza JavaScript per il livello UI, insieme a HTML5 e CSS. Per il backend, utilizzare Java.

  • Crea le tue applicazioni sotto forma di suite di microservizi che comunicano mediante le API REST

    Sviluppa processi aziendali e servizi di manipolazione dei dati come microservizi esposti come API REST. In questo modo potrai gestire, ridimensionare e accedere facilmente ai servizi.

    Le interfacce utente sviluppate con Oracle Visual Builder Studio utilizzano i servizi backend basati su REST, inclusi i servizi esposti da Oracle Applications Cloud e i servizi che espongono i dati di altre origini sotto forma di API REST.

  • Automatizza le attività di creazione, test e distribuzione

    Utilizzare Oracle Visual Builder Studio per automatizzare i passi di creazione, package e distribuzione dell'estensione SaaS, dal livello dell'infrastruttura al livello della piattaforma. Include artifact quali applicazioni visive, integrazioni, oggetti di database e codice middleware. Oracle Visual Builder Studio integra anche repository Git, registrazione dei problemi, pianificazione e monitoraggio agili e funzionalità di collaborazione tra team con una pipeline di integrazione continua/distribuzione continua (CI/CD).

  • Utilizza servizi completamente gestiti per eliminare la complessità nello sviluppo delle applicazioni, nei runtime e nella gestione dei dati

    La maggior parte delle organizzazioni che utilizzano Oracle Applications Cloud non ha il desiderio o le risorse di gestire la propria infrastruttura. Utilizzare, invece, un servizio completamente gestito per semplificare la distribuzione e la manutenzione delle applicazioni aziendali.

    Oracle Visual Builder Studio offre una piattaforma completamente gestita per ospitare le applicazioni Web e mobile. Inoltre, gestisce i business object personalizzati, il livello REST che li espone e protegge l'accesso a servizi REST esterni. È possibile configurare l'accesso alle origini dati esterne tramite Oracle Integration, un servizio di integrazione gestito. Inoltre, puoi implementare una business logic aggiuntiva sotto forma di funzioni esposte come API REST. Per alcune applicazioni, i dati potrebbero essere replicati in database standalone, nel qual caso puoi implementare un set di servizi REST per accedere a tali dati mediante Oracle REST Data Services.

  • Mantieni il livello dell'applicazione senza conservazione dello stato

    Oracle Visual Builder Studio crea applicazioni senza conservazione dello stato che comunicano ai servizi backend tramite API REST. Oracle Functions può inoltre fornire funzionalità senza conservazione dello stato per una business logic aggiuntiva lato server.

  • Implementa il monitoraggio e il trace end-to-end

    Utilizzare Oracle Application Performance Monitoring per monitorare e tracciare i livelli dell'applicazione. Questo servizio ti consente di monitorare l'esperienza dell'interfaccia utente, le chiamate REST, le funzioni e il database.

    Inoltre, molti servizi gestiti da Oracle offrono il monitoraggio e il trace degli artifact gestiti. Ad esempio, Oracle Integration fornisce un dashboard di monitoraggio che mostra l'uso e lo stato delle integrazioni.

  • Implementa un approccio approfondito alla difesa per proteggere il ciclo di vita dell'applicazione

    Applicare meccanismi di difesa approfonditi per garantire che solo il personale con i ruoli giusti possa interagire con i dati. Utilizza Single Sign-On (SSO) tra l'applicazione e Oracle Applications Cloud per garantire che gli utenti che accedono ai dati tramite API REST seguano i ruoli definiti in Oracle Applications Cloud. Utilizzare il gateway API di Oracle Cloud Infrastructure e il firewall delle applicazioni Web per creare regole per limitare l'accesso degli utenti ai servizi REST e alle interfacce Web basate su tali regole.

    Oracle Visual Builder Studio è preconfigurato con SSO e fornisce la propagazione delle identità. Ad esempio, una chiamata da Oracle Visual Builder Studio a un'interfaccia API REST propaga automaticamente l'utente di Oracle Visual Builder Studio alla chiamata dell'interfaccia API.

Architettura

È possibile implementare i principi di progettazione utilizzando una distribuzione basata su questa architettura motivata.



maf-arch-paas.zip

Oracle consiglia i componenti riportati di seguito nell'architettura di estensione SaaS.

  • UI

    Oracle JavaScript Extension Toolkit (Oracle JET) offre un toolkit leggero open source per la creazione di interfacce utente avanzate che occupano più dispositivi. Supporta anche l'esperienza utente di Redwood, che consente di sviluppare estensioni per Oracle Applications Cloud che offrono la stessa esperienza delle applicazioni offerte da Oracle. Per semplificare e accelerare lo sviluppo delle applicazioni Oracle JET, utilizzare Oracle Visual Builder Studio, che offre un approccio allo sviluppo più dichiarativo e visivo.

  • server Web

    Oracle Visual Builder Studio offre un servizio completamente gestito per ospitare l'applicazione Web e fornisce l'accesso sicuro ai dati all'interno di Oracle Applications Cloud e ai servizi esterni basati su REST. Inoltre, supporta il Single Sign-On tra le applicazioni di estensione personalizzate e Oracle Applications Cloud.

  • Business logic

    Per implementare i requisiti di business logic, utilizzare tecnologie serverless scalabili come Oracle Functions e Helidon ed esporle sotto forma di API REST per semplificare l'utilizzo.

  • Integrazione

    Oracle Integration è un servizio completamente gestito che consente di integrare le applicazioni, automatizzare i processi, ottenere informazioni approfondite sui processi aziendali e creare applicazioni visive.

    Oracle Integration for SaaS, una versione semplificata di Oracle Integration, offre le caratteristiche e i vantaggi di Oracle Integration con l'attenzione su SaaS.

  • Database

    Oracle Database consente di memorizzare i dati in modo più accessibile quando Oracle Applications Cloud non dispone di un modo semplice o performante per accedere e gestire direttamente i dati.

  • Gateway API

    Oracle API Gateway ti consente di pubblicare le API con endpoint privati accessibili dalla tua rete e che puoi esporre alla rete Internet pubblica, se necessario. Gli endpoint supportano la convalida, la trasformazione delle richieste e delle risposte API, CORS, l'autenticazione e l'autorizzazione e il limite delle richieste.

Alternative e antipattern

Prendere in considerazione le alternative all'architettura descritta in questo pattern ed evitare di tentare di implementare gli antipattern.
  • Alternative

    Per le applicazioni che non richiedono l'integrazione nell'interfaccia di Applications Cloud, è possibile utilizzare framework di interfaccia utente alternativi.

    Se i sistemi esistenti richiedono l'accesso ai dati da Applications Cloud e si è preoccupati di sovraccaricare Applications Cloud con richieste esterne, è possibile estrarre set di dati in database esterni.

  • Antipattern

    Non tentare di replicare processi aziendali, convalide e sicurezza già definiti in Applications Cloud nei sistemi esterni. In questo modo si crea il rischio di non essere sincronizzati con il sistema originale.

Casi d'uso di esempio

Di seguito sono riportati alcuni esempi di casi d'uso per le estensioni SaaS che utilizzano architetture simili.
  • Sistemi interni personalizzati

    Monitora l'inserimento dei nuovi dipendenti, l'allocazione dei posti di parcheggio, l'approvazione dei viaggi, i controlli di conformità delle fatture e molto altro ancora.

  • Sistemi di mashup

    Crea un inventario di Applications Cloud con le informazioni sui clienti provenienti da sistemi esterni, ad esempio SalesForce.

  • Sistemi esterni

    Inserimento degli ordini, cataloghi dei partner e dodici portali di supporto del servizio.

Casi di studio pubblici

Di seguito sono riportate alcune aziende che hanno utilizzato questo modello di sviluppo delle applicazioni moderne per eseguire il rollout delle estensioni SaaS.
  • Panasonic

    Ha creato un portale per partner dedicato al Web che ha eseguito l'accesso ai dati provenienti da Oracle Advertising e Customer Experience (Oracle CX).

  • Yum! Marchi

    È stato creato un set di estensioni HCM interne per task quali la generazione di report orari.

  • Caesars Entertainment

    Creato un regolamento fattura che modifica il sistema ERP esteso.

Log modifiche

Questo log elenca le modifiche significative:

Riconoscimenti

  • Autore: Shay Shmeltzer
  • Contributori: Hassan Ajan, Matthias Brantner, James Emerson, Bernard Horan, Harshad Kasture, Parvez Syed Mohamed, Sajan Parihar, Joshua Stanley