Attualmente sto sviluppando un'architettura per un sistema del tipo seguente:
Ci sono un paio di applicazioni esistenti (front-end) con cui è possibile definire profili UML catturando alcuni aspetti specifici del dominio. Poiché gli strumenti sono proprietari, i modelli prodotti non sono scambiabili di default. D'altra parte ci sono un paio di strumenti che possono analizzare i modelli frontend prodotti (back end). Questi hanno anche i loro meccanismi (che sono diversi dai frontend) per rappresentare gli aspetti del dominio.
Dato che questo produrrebbe trasformazioni di modelli m * n con m frontend e n backend, ho scelto di introdurre un modello di scambio che raccolga tutte le informazioni rilevanti dai front-end e tuttavia consenta al back-end di disporre di informazioni sufficienti per l'analisi. Questo approccio produce solo trasformazioni m + n.
La mia vista a volo d'uccello sull'architettura:
Lecosevannocosì:
Latrasformazioneèpossibiletrailmodellodifrontend<->modellodiscambioemodellodiscambio<->ilmodellodibackend.Leattivitàdianalisisonoattivatenelfrontendesonodelegatealback-end,dovevengonoeseguite.
Aprimavista,misembravaunostileastrati,mapiùcipensavo,l'intuizionedelproblemanonèquelladirenderediversilivelliintercambiabili,incuiglistratiraggiungonolaseparazionedellepreoccupazioniesiconcentranosullaportabilità.
Sitrattapiuttostodiintrodurreunostratointermedio,chedisaccoppiaglialtridueesirivolgeprincipalmenteall'estensione.Unaltropuntoèchel'astrazionepiùaltanonsitrovasullostratopiùaltomasullostratointermedio,cioèilformatodiscambiodeveessereilnucleodell'architetturaacuièpossibilecollegarefrontendebackend.Nondovrebbeesserenecessariosaperenulladeifrontendodeibackendallegati.Ciòsignificaanchecheillivellodiback-enddevesaperecometrasformareilformatodiscambionellapropriarappresentazionedelmodello,cheèunutilizzoascendentenonconsentitonellostileastrati.
Questosiriducealledomande:
- Conosciqualchestilearchitettonicosimileaquellochehodescrittoenesegueanchel'intuizione?
- Perchéquestononèunbuonesempioperlostileapiùlivelli(apartel'usocrescente)?
- Poichél'applicazioneèprincipalmenteguidatadalmodello,esistonoalcunimodelli/stiliarchitettonicispecificipersistemidiquestotipo?
Grazieperl'aiutoinanticipo!
EDIT:Inrealtàmipreoccupodeglistrati,perchélavisionegrossolanadiquestaarchitetturaèincorporatainunprogettoesistenteevienecomunicatalìcome"strati". Ma dal punto di vista architettonico, non si adatta allo stile. Il problema sta tra la documentazione e la comunicazione dell'architettura. Se la maggior parte degli stakeholder parla di un'architettura a più livelli e io introduco la vista a strati in essa, sebbene non sia applicata correttamente, non confonderebbe tutti gli stakeholder, che hanno la giusta comprensione di un'architettura a più livelli?
L'obiettivo è di documentare le viste dello stile che è realmente applicato per avere una base corretta per comunicare l'architettura.