Introduzione
Buongiorno a tutti e benvenuti sul BLOG di NEUA!
Abbiamo deciso di inaugurare il blog (che per il momento sarà in italiano) con una serie di articoli dedicati al SAP Cloud Application Programming Model (d’ora in avanti, SAP CAP), che, nella strategia di SAP, rappresenta il futuro per lo sviluppo di applicazioni stand-alone e di estensione di prodotti SAP esistenti.
Come vedremo meglio nel prosieguo, SAP CAP fornisce una serie di strumenti piuttosto all’avanguardia per gestire tutto il ciclo di vita di un’applicazione, avvicinando finalmente la development experience su SAP a quella ormai già presente da anni in ambienti più evoluti da questo punto di vista.
Poiché il mondo dello sviluppo SAP in Italia è ancora per certi versi abbastanza arretrato (in molte realtà ancora non si è visto il salto verso ABAP OO), coglieremo l’occasione per introdurre alcuni nuovi strumenti, concetti e modelli di programmazione che riteniamo essere importanti per qualunque gruppo di sviluppo voglia basare il processo di digital transformation dei propri clienti su una solida base architetturale. A livello personale, aggiornarsi sui nuovi paradigmi è importante per evitare la fine del nostro amico della fotografia qui di seguito:
Questo primo articolo sarà dedicato a una breve introduzione al modello ed al setup di base dell’ambiente di sviluppo (che, come vedremo, è in cloud ed accessibile da browser). Preparate il caffè, si comincia !
SAP CAP: di cosa si tratta ?
Per iniziare a capire di cosa stiamo parlando, partiamo dalla definizione che la SAP stessa dà del suo nuovo programming model. La riporterò in inglese evitando improbabili traduzioni in italiano 🙂
The SAP Cloud Application Programming Model is an open and opinionated, framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers through proven best practices and a great wealth of out-of-the-box solutions for recurring tasks.
Il SAP CAP è un framework open e opinionated. Un’appartente contraddizione in termini, che dobbiamo interpretare come un tentativo (a mio avviso riuscito) della SAP di lasciare una certa libertà allo sviluppatore nella scelta degli strumenti e dei servizi da utilizzare, incanalando però l’intero processo dentro una solida base di best-practises architetturali consolidate; è evidente ad esempio l’influsso del tema dei microservices e del mondo del Devops sull’intero disegno del framework.
Dimentichiamo quindi SE38 e l’ABAP e cerchiamo di capire quali sono le basi su cui si fonda il CAP. Ci limitiamo per ora a una definizione “amichevole”, lasciando per gli articoli successivi i necessari approfondimenti.
- CDS (core data services) -> attraverso lo strato CDS definiamo il data model del problema e i servizi che vogliamo la nostra applicazione esponga
- Service SDKs -> si tratta delle librerie e delle API con cui costruire i servizi dell’applicazione e connettersi ad eventuali servizi esterni. Al momento possiamo utilizzare Java oppure Node.
- SAP HANA + other -> HANA è il DB preferito per lo strato di persistenza (opinionated), ma altre scelte sono possibili (open). In realtà anche il DB va considerato “un servizio”, chiariremo meglio questo aspetto in seguito.
- SAP Fiori + other -> Stesso discorso vale per la UI della nostra applicazione. Nella visione di SAP (ovviamente) Fiori è la scelta, ma è possibile utilizzare anche altri framework (React, Vue ecc).
L’infrastruttura su cui tutto questo si basa è, chiaramente, la SAP Cloud Platform (SCP), la quale mette a disposizione diversi ambienti di esecuzione (Cloud Foundry, Kubernets, XSA) che possiamo utilizzare in base alle nostre effettive necessità. Insieme agli SDK vengono anche offerte una serie di funzionalità per integrarsi coi servizi di più basso livello della SCP (es: credenziali, autorizzazioni) mantenendo una visione di alto livello.
Per lo sviluppo è possibile utilizzare qualunque IDE, anche la scelta più naturale rimane utilizzare il SAP Cloud Platform Business Application Studio, un ambiente integrato e accessibile via browser che mette a disposizione una serie di funzionalità molto interessanti e beneficia di un supporto diretto da parte della SAP. Osserviamo tra le righe che la nostra amata SAP continua la ormai consolidata tradizione di inserire la parola “Business” nel 95% dei prodotti che sforna, e il nuovo tool di sviluppo non fa eccezione 😊
Vengono comunque messi a disposizione anche una serie di plug-in per Visual Studio Code ed Eclipse.
Iniziamo col setup dell’account di prova sulla SCP e l’abilitazione del Business Application Studio, la base da cui partiremo per costruire una semplice applicazione di esempio che ci permetterà di esplorare SAP CAP.
Account trial su SAP Cloud Platform
Per iniziare, sarà necessario creare un account trial gratuito sulla SAP Cloud Platform. La procedura è molto semplice, ed è descritta qui di seguito:
- Accediamo a https://www.sap.com/cmp/td/sap-cloud-platform-trial.html e clicchiamo sul link “Register for free”.
- Inseriamo i nostri dati e in breve riceveremo una mail che ci permetterà di attivare il nostro account. Clicchiamo sul link di attivazione. Non mentite sul numero di cellulare perché sarà richiesto in seguito per l’attivazione.
- Una volta attivato l’account accediamo al SCP Cockpit, all’indirizzo https://cockpit.hanatrial.ondemand.com/cockpit#/home/trial
- Scorriamo verso il basso la pagina che ci si presenta e clicchiamo su Access Cloud Foundry Trial
- Creiamo un nuovo account nella region Europe (l’unica che dovrebbe essere abilitata) cliccando su, indovinate un po’, “Create Account”.
- Una volta terminato il processo ci ritroveremo nella pagina principale del SCP Cockpit
- Clicchiamo sulla matitina sotto al sub-account trial e spuntiamo “Enable BETA features”. A questo punto siamo pronti per il setup del Business Applications Studio.
SAP Business Applications Studio – Attivazione
- Entriamo nel sub-account e portiamoci nella pagina delle “Subscriptions”. Tra i servizi disponibili ci sarà “SAP Business Application Studio”. Clicchiamo sul rispettivo quadratone (scusate il termine tecnico).
- Nella nuova pagina che si apre, clicchiamo infine su “Subscribe”
- A questo punto, dopo aver lasciato passare qualche secondo per l’attivazione del servizio clicchiamo su “Go to Application” e finalmente…..
- Non abbiamo i permessi necessari per utilizzare l’applicazione ! Ma noi che lavoriamo con SAP siamo abituati alle cose difficili, quindi sistemiamo anche questo ultimo problema e finalmente saremo pronti per utilizzare il tool.
- Torniamo sulla pagina di configurazione del nostro sub-account, sezione Security, sottosezione Trust Configuration.
- Dovremmo trovare già una entry, clicchiamoci sopra e nella schermata successiva inseriamo l’indirizzo e-mail con cui ci siamo registrati.
- Possiamo a questo punto abilitare il nostro utente allo sviluppo sul SAP Cloud Business Application Studio cliccando su “Assign Role Collection” (dopo aver prima cliccato su “Show Assignments”) e assegnandoci il ruolo relativo:
- Finalmente, se riproviamo ad accedere all’IDE, non otteremo più l’errore di “Access Denied” ma una più rassicurante schermata:
Nel prossimo articolo partiremo proprio da qui per iniziare a gettare le basi di una semplice applicazione di prova.
A presto !