Passa ai contenuti principali

Post

HAPI FHIR - HL7 Java Implementation

HAPI FHIR - HL7 Java Implementation Introduzione Il protocollo FHIR si sta accreditando come soluzione standard per la gestione delle risorse e la comunicazione nell'ambito del software sanitario. Qui fornisco alcuni concetti teorici di base e qualche esempio d'uso generico. HL7 HL7, Health Level 7 (HL7) è un'associazione non profit internazionale che si occupa di gestire standard per la sanità. HL7 è riferito anche ad alcuni degli specifici standard creati da questa associazione (es. FHIR v2.x, v3.0, CDA, ecc.). Fondata nel 1987 e riconosciuta dall'American National Standards Institute nel 1994, riunisce organizzazioni affiliate da oltre 40 paesi. FHIR In riferimento al protocollo, FHIR è uno standard che descrive lo scambio in forma elettronica di dati in ambiente sanitario per favorire l'interoperabilità nell'ambiente clinico di software diversi . Descrive le interfacce tra applicazioni, la definizione dei dati, dei tempi e gli errori da scambiare fra applica...

OAuth2 per autorizzare accesso a Rest/API interne ed esterne

OAuth2 per autorizzare accesso a Rest/API interne ed esterne Introduzione Quello che si vuole ottenere è l'uso dell'autenticazione OAuth2 per validare le richieste interne ad una web app a microservizi e le richieste da parte di uno o più di questi microservizi verso servizi API esterni, nello specifico l'uso della posta di Google. OAuth è uno standard che le applicazioni, i dispositivi, le API e i server possono usare per ottenere un "accesso delegato sicuro" basato su token anziché sulle credenziali. Il meccanismo è lo stesso che consente l'autenticazione mediante account di terzi. Dettagli OAuth2 Lo standard OAuth2 prevede un meccanismo di autenticazione basato su "client-id" e "clientr-secret". Lo standard NON prevede autenticazioni stateless o stateful, non prevede specifici meccanismo di token (JWT o altro) ecc. Per ogni dubbio futuro qui c'è l' RFC-6749  che lo definisce.  OpenID OpenID è un layer sopra OAuth2 che consente di...

Architetture a microservizi - concetti base

Architetture a microservizi - concetti base Introduzione Ho trattato questo argomento in maniera dettagliata per quanto riguarda la realizzazione di microservizi con JHipster in altri post che riporto nel capitolo "Approfondimenti" finale. Qui raccolgo in sintesi alcuni concetti di base. Dalla monolitica ai microservizi L'architettura a microservizi è una evoluzione adatta allo sviluppo di soluzioni software di media, grande e grandissima complessità. Rappresenta la concretizzazione dei concetti di modularità, disaccoppiamento e riusabilità tanto trattati in letteratura. Inizialmente l'architettura de-facto di tantissime soluzioni era quella rappresentata sotto come "Monolitica". La soluzione e microservizi prevede che ogni blocco logico di funzionalità sia effettivamente un "programmino"... microservizio, appunto.   I microservizi, se ben sviluppati, sono assolutamente indipendenti (funzionano anche da soli o in contesti diversi da quello iniziale...

Git concetti base

Git concetti base Introduzione Git è un sistema di versionamento inventato ed implementato inizialmente da Linus Torvalds (si proprio lui, l'inventore di Linux) come alternativa a SVN. Architettura Uno schema di massima di git che ci aiuterà a capire i passaggi descritti sotto è questo: da: https://www.claudiobattaglino.it/2020/01/07/git-schema-di-funzionamento/ Uso base Git lavora a livello di filesystem (Working Directory). I comandi che seguono vanno lanciati nella specifica directory che è destinata a contenere i file del progetto da versionare, la "Working Directory". Inoltre git può lavorare sia con un repository locale che anche uno "Remote". Inizializzazione del repository $ git init Questo crea un file nascosto ".git" con la configurazione dello specifico repository. Definizione degli utenti del repository $ git config --local user.name "fchiri" Se al posto di "local" ci mettete "global" la definizione varrà per t...