software architecture

There are 24 entries for the tag software architecture

Guisa1, ovvero “a volte ritornano”

Dopo una lunga (e fastidiosa, almeno per il sottoscritto) assenza, torna un evento organizzato dallo “user group dedicato ai perché oltre che al come”; in una parola: GUISA. Il format è (crediamo) davvero innovativo: né sessioni “full frontal” né “open” né, soprattutto, tecnologia fine a se stessa bensì solo casi reali. Ogni sessione, infatti, presenta per 60 minuti un progetto “real world” del quale verranno mostrate le scelte architetturali e tecnologiche, motivando le suddette scelte; e dopo i 60 minuti… 30 minuti di “open” nel quale metterle in discussione. Insieme. Ma sempre partendo dai requisiti, perché vogliamo parlare e discutere...

“I predict a riot” (cit.) @ #sqlconf09

Domani, con il beneplacito di Greenpeace e WWF (che supportano la causa “Tutela per gli O/RM”) terrò presso la SQL Server & BI Conference 09 una sessione intitolata “Impact of using an O/RM with SQL Server”. Due-info-due per i potenziali interessati: durante i 75 minuti non ci saranno effetti speciali o fuochi d’artificio, ma “solo” le considerazioni derivanti dai 5 anni di esperienza d’uso di vari O/RM (EF, iBatis, NHibernate, …) nei progetti che abbiamo realizzato in azienda, dando anche (ove possibile) una “sbirciata” al loro codice sorgente (“loro”==dei progetti :-) ). P.S.: che titolo del Kaiser (Chiefs) per...

Siiii...Puòòòòò...Faaaa-reeeeeeee!!!!

Con stupore, ho appreso oggi che il libro che ho scritto con Dino è risultato essere il più venduto al bookstore della PDC, più venduto dei libri dedicati ad argomenti "mainstream" quali Linq e Silverlight. Lo stupore è ancor maggiore se si pensa che il libro ha raggiunto come picco massimo la posizione 4140 nella classifica dei libri venduti di Amazon. Quattromilacentoquarantesimo, nella stessa categoria che contiene i best seller *veri*, quelli di Stephen King e Wilbur Smith, per intenderci. In una parola... WOW! "WOW" perchè la community degli sviluppatori "MS centrici", solitamente protezionista giacchè affezionatissima ai tool/fx di mammà,...

Beyond Persistence Ignorance: *real* POCO

Negli ultimi mesi, complice anche la querelle "PI or not" portata alla luce da "vorrei ma non posso (ancora)" Entity Framework, ho ulteriormente riflettuto sul valore di un Domain Model agnostico alla persistenza ed ho concluso che PI non basta. Quello che "voglio" è un DM agnostico alla infrastruttura: non voglio PI, non mi basta. Voglio POCO, ma sembra che sia... Troppo <g> (interessante gioco di parole) Detta "seriamente", vorrei poter modellare un DM concentrandomi sulla soddisfazione dei requisiti "business" (DDD anyone?), ed avere uno stack tecnologico in grado di "appiccicare" in qualche modo il codice necessario alla infrastruttura....

Pattern o non pattern?

Raffaeu mi porge un (gradito) complimento, che è però anche un interessante spunto per una riflessione. BTW, niente di nuovo all'orizzonte, perchè è una riflessione che ho già ampiamente esposto durante il tutorial dei Community Days, ma ritengo comunque interessante estenderla. Un moderno emulo di Gian Battista Vico non esiterebbe ad includere il seguente scenario tra i "corsi e ricorsi storici": quando un dev entra in contatto con i [design|architecture|refactoring|vattelapesca] pattern la reazione è, tipicamente, una delle seguenti: Il dev diventa un "pattern fanatic": parla continuamente di pattern e li infila dappertutto (un divertente "asse...

Bigino architetturale

Venerdi io e il socio ci siamo avventurati in una delle nostre chat "tenniche". Man mano che proseguivamo ho pensato che, malgrado le imprecisioni e le "approssimazioni" tipiche della "presa diretta", tutto sommato quanto stavamo scrivendo costituisse un interessante "bigino" architetturale e abbiamo deciso di pubblicarla.
(Clicka qui per leggere)

Siamo architetti o muratori? (semi-cit.)

Oggi, chiacchierando con Mauro durante una riunione di stato avanzamento lavori in bottega, ci siamo soffermati su un suo post sul forum UGIdotNET, in risposta a Raf. Il thread è interessante (nonchè breve :-) ) e merita una lettura; per i più pigri, ecco lo stralcio oggetto della nostra chiacchierata: (continua...)

Ok, io e Janky non siamo d'accordo...

...E' evidente (ma lo sapevo :-) ). Da anni sostengo che i pattern non siano nè dogmi nè "la Forza", ma li paragono alle centurie di Nostradamus, poichè vanno interpretati. Chiunque, a partire dal famigerato workshop "Architecture & Management" di dicembre 2004, mi abbia sentito parlare di questo argomento si è "beccato" (e si sarà stufato, presumibilmente) di questa mia affermazione. Citando Fowler (non per "amore", bensì perchè dobbiamo pur basarci su una definizione), "the essence of an Active Record is a Domain Model in which the classes match very closely to the record structure of an underlying database". *Chi* o...

Nuovo ModelViewPresenter @ NSK

Ho approfittato di alcuni viaggi in treno effettuati negli ultimi giorni per estendere l'implementazione di Model View Presenter in NSK. Nulla di trascendentale, ma le nuove view sono basate su un subset ("sanitizzato", come direbbero i Microsoft guys) del mini-framework MVP che io e Markino abbiamo implementato per i progetti che realizziamo in Managed Designs. In pratica, oltre alle "solite" interfacce che definiscono i contratti caratteristici di view e presenter, offre alcune implementaziono concrete e generiche utilizzabili come scorciatoia. Technorati Tags: Managed Designs, model view presenter, NSK, northwind starter kit, software architecture

LayerSupertype: Bene o Male?

Matteo è dubbioso, e Janky lo rassicura: LayerSupertype, evitandone gli abusi, non è Male. Concordo: concentrare il "plumbing" del nostro DomainModel in un layer supertype per poter creare contesti polimorfici è Bene (ed infatti è una delle design guidelines attuate in Managed Designs, a partire da NSK). Bruciarsi la classe base delle entità perchè un tool (O/RM anyone?) non è "zero friction" e lo richiede è Male. Applicare un pattern perchè "ipse dixit" è Male; riscontrare che ci troviamo nello scenario affrontato da un pattern ed utilizzarlo (il pattern) per evitare di reinventare la ruota è Bene. Cum grano salis, insomma. Technorati Tags: domain model, layer supertype, design pattern, software architecture, NSK, Managed Designs

Tour "Architect Day" @ Trento: ci si organizza?

Dopo Omid e Lorenzo, lunedi prossimo toccherà a me concludere presso l'università di Trento il mini tour co-organizzato da GUISA e Microsoft Italia. Innanzitutto, parliamo di cose serie: poichè io sarò a Trento per tutta la settimana, potremmo organizzare una cena post-evento. Gli interessati facciano un fischio. <g> Largo, ora, alle... Amenità: sto introducendo qualche modifica alle slide perchè la settimana trascorsa a Redmond mi permette di introdurre (NDA vari permettendo) qualche considerazione "futurista" inerente le tematiche: data mapping, testing e presentation layer (soprattutto lato web). In ogni caso, l'agenda rimarrà molto pragmatica ed orientata alle soluzioni/scelte operabili *oggi*, motivo per il quale includerò...

Webcast Day

Con i 2 episodi di oggi si conclude la seconda serie di webcast per "aspiranti" architetti che GUISA ha organizzato in collaborazione con Microsoft Italia. Ne avevo già parlato, ma poichè ho (appena) finito le slide posso finalmente essere più preciso. Credo che il titolo del primo ("SO != OO"), che si svolgerà alle 11:00 ed al quale è possibile iscriversi qui, sia decisamente esplicativo: cercherò infatti privare di fondamento il diffusissimo luogo comune secondo il quale SOAP sia "RPC over HTTP" e permetta di distribuire oggetti. Il secondo, intitolato "soluzioni del mondo reale", inizierà alle 14:30 ed avrà una durata "indefinita" (va beh,...

.NET Architectures in the Real World

Lorenzo mi ha ricordato che sul numero di PC Professionale attualmente in edicola è stata pubblicata la registrazione della sessione ".NET Architectures in the Real World" che ho erogato durante WPC. Durante la sessione mostro l'architettura (e l'implementazione) di due progetti dei quali sono stato architetto e che considero interessanti perchè sfatano un paio di luoghi comuni. Uno dei due progetti è l'ormai famigerato GazzaTown, ossia l'e-commerce della Gazzetta dello Sport che ho progettato per conto di Fattore K. In un mondo che (fondamentalmente) pensa che l'architetto sia "quello che conosce i pattern e disegna i diagrammi", questo progetto mostra l'importanza...

Program to an interface, not an implementation

Discussioni come questa sono un classico, e classica è la domanda: "devo definire i miei tipi base sotto forma di interfaccia o classe?" Il principio di design "program to an interface, not an implementation" [GoF, 18] sembrerebbe consigliare la prima ipotesi, apparentemente in contrasto con Cwalina che, nelle Design Guidelines, afferma: "Do prefer classes over interfaces". Chi ha ragione, quindi? (continua)

[NSK] Work in progress

Update interessante per NSK, che integra quanto anticipato: Ho completato il query model (sostanzialmente una implementazione di Query Object), che ora permette di esprimere le clausole di ordinamento dei risultati Ho corretto il bug del DAL basato su Hibernate: sostanzialmente, il QueryTranslator in alcuni contesti faceva cilecca (lo so che sono un pollo: prima di correggere il bug, avrei dovuto scrivere un test che lo scatena) La Unit of Work ora è "disposable by design" (work item chiuso) Ho integrato una rudimentale (leggi: schifosa) implementazione di identity map....

Corso OOD e architettura: comunicazione di servizio

Avviso ai naviganti: poichè le iscrizioni al corso programmato presso Microsoft per settimana prossima sono ormai chiuse ma continuano ad arrivare richieste, stiamo organizzando una edizione "extra" dal 15 al 17 gennaio 2007 in sostituzione del corso WPF. Rimane invece confermato "Introduzione ad ASP.NET 2.0 AJAX Extensions (Atlas)" che Dino erogherà a febbraio. Technorati tags: software architecture, Managed Designs

Le slide dei webcast "Aspire Architect"...

...Saranno pubblicate sul sito GUISA, nella sezione "Download" (gruppo Webcast/Aspire Architect 2006). Al momento, ho pubblicato quelle del webcast di lunedi scorso. Technorati tags: software architecture, GUISA, webcast

Il corso OOD cambia data

Comunicazione di servizio: precedentemente previsto dall'11 al 13 dicembre, il mio corso "OOD ed architettura delle soluzioni .NET" è invece stato spostato al 20 dicembre. La location è invece confermata: Training Room 2 presso Microsoft Italia a Segrate. Maggiori informazioni qui (il codice del corso è MDE105). Technorati tags: software architecture, Microsoft, Managed Designs

Data Access Layer 101

Forse ha ragione David: la mia risposta al post di Giulio (per quanto sintetica e quindi non esaustiva) non è proprio da buttar via. Per dovere di cronaca, la riporto qui. (Clicka per leggere)

Microsoft e i "miei" webcast per architetti

Forse non tutti se ne saranno (ancora) accorti, ma il focus di Microsoft Italia in merito alle tematiche di design architetturale è in deciso aumento, e ciò non può che rendermi felice. E' quindi con immenso piacere che, a luglio, ho accolto la proposta di Giuseppe e Sara relativa alla preparazione di una serie di webcast architetturali "griffati" Managed Designs. (Clicka per leggere)

Tu chiamale, se vuoi... Riflessioooniiiiii

Che dire? Più ci penso (e sperimento), più mi convinco che: Con l'avvento dei generics, le collection tipizzate servono a molto poco se lavorate con un Domain Model: il DAL e le classi di servizio possono tranquillamente usare ICollection<T> per scambiarsi insiemi di istanze dei "bussolotti". BTW, dico Collection perchè, come ho già riportato più volte, List è pensata per un uso incapsulato e non pubblico: se non sapete perchè, potrebbe essere una buona idea seguire la sessione di Adrian durante il workshop "Architecture Days" Definire "anemico" un Domain Model significa poco o...

The Lighter side of being an Architect

Interessante post tratto dal blog di Bill Simser: se ci trovassimo su Usenet, direi "quoto tutto" <g> Technorati tags: software architecture

ModelViewPresenter: Martin ci ripensa

Non si può proprio mai stare tranquilli: Martin Fowler ha annunciato sul proprio bliki di aver "ritirato" il pattern Model View Presenter dalla lista dei pattern candidati all'ipotetico secondo volume della serie P of EAA. Le caratteristiche di MVP sono ora state ripartite nei pattern Supervising Controller e Passive View. E' interessante notare che Martin si dichiara indeciso se eliminare del tutto l'uso della parola "Controller", utilizzando quindi Supervising Presenter quale nome per il nuovo pattern. Beh, se non altro non ho ancora pubblicato l'agenda del workshop "Architecture Days"... <g> Technorati tags: software architecture

Northwind Starter Kit: è tempo di MVC

Ho cambiato idea: la prima GUI *architetturalmente* decente disponibile per il Northwind Starter Kit sarà web e basata su Model View Controller, quindi nisba (per il momento) Model View Presenter. Non solo: l'implementazione MVC sarà molto semplice, e non utilizzerà toolkit esterni; il motivo è semplice: uso NSK come applicazione reference per i miei corsi ed eventi/webcast, ed alla domanda "Che libri consigli per studiare le tematiche relative al design?" rispondo sempre "Almeno GoF e P of EAA". Spesso, inoltre, questi testi sono già posseduti dai partecipanti. Ebbene, in [P of EAA] Martin presenta una semplice implementazione ASP.NET di MVC, fondamentalmente...

«novembre»
domlunmarmergiovensab
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567