Ecotone è un framework BOA (Business-Oriented Architecture) che promette di rivoluzionare il modo in cui vengono sviluppate e addirittura percepite le applicazioni basate su PHP. I principi fondanti dell'approccio BOA mirano a privilegiare la logica di business all'interno dei progetti. Questo significa spostare il focus dai dettagli tecnici ai reali processi di business e ciò può essere ottenuto tramite tre punti di riferimento: comunicazioni resilienti, configurazione dichiarativa e blocchi di costruzione.
Ecotone per le architetture Message-Driven
Il framework si presenta come un Service Bus che permette di abilitare architetture Message-Driven in PHP. Le applicazioni vengono sviluppate così secondo i paradigmi DDD (Domain-Driven Design), CQRS (Command Query Responsibility Segregation) ed ES (Event Sourcing). Può essere utilizzato inoltre con soluzioni come Symfony e Laravel che da tempo sono diventate alcuni degli strumenti più utilizzati dagli sviluppatori PHP.
L'approccio BOA di Ecotone si pone come alternativa al CRUD (Create, Read, Update, Delete) che fino ad ora ha rappresentato uno standard nella realizzazione delle applicazioni PHP. Secondo i suoi creatori, infatti, il CRUD determina un'ipersemplificazione delle necessità connesse alla la logica di business. Ciò diventa evidente, ad esempio, quando si è obbligati al refactoring di grandi quantità di codice per il solo scopo di effettuare delle modifiche marginali.
Con Ecotone, invece, ogni operazione di business viene translata in un'azione specifica nell'applicazione. Questa caratteristica si rivela fondamentale sia per lo sviluppo di progetti monolitici che per il supporto alle architetture di microservizi.
I pilastri dello sviluppo con Ecotone
Il concetto di comunicazioni resilienti si ricollega ad un sistema con elevata fault tolerance. Questo perché il framework propone un'architettura orientata ai messaggi con cui garantire una comunicazione continua tra i componenti e la riduzione delle dipendenze. I messaggi sono in pratica al centro del sistema favorendo riproduzione e debugging. Ecotone abilita inoltre un'API di livello superiore che permette di concentrarsi sulla logica di business senza doversi preoccupare delle complessità nella gestione dei messaggi.
L'approccio alla configurazione dichiarativa consente di utilizzare attributi intuitivi per definire i comportamenti delle proprie applicazioni. Abbandonando il paradigma dichiarativo si riducono i tempi di sviluppo e la quantità di codice che diventa anche più leggibile.
I blocchi di costruzione vengono introdotti infine per semplificare l'implementazione della logica di business. Basati su pattern di sviluppo collaudati forniscono un'API per le applicazioni finalizzata alla connessione di flussi di lavoro complessi. Anche in questo caso si ha una riduzione delle dipendenze esterne con il vantaggio di ottenere un codice più pulito.