VisualMarss, figlio di NSK?

Durante la scorsa estate, sono riuscito a dedicare un pò di tempo allo studio di NSK e dei relativi pattern utilizzati nel progetto.

Vorrei raccontare questa esperienza sperando di non essere troppo maldestro...

Verso la fine di Agosto, un cliente mi ha commissionato un'applicazione per la gestione del listino e la redazione di offerte commerciali. Tra i requisiti vi erano le seguenti  richieste/funzionalità:

- Deployment leggero sulle postazioni degli agenti, partner ed installatori
- Gestione centralizzata del listino
- Aggiornamento dei listini agenti/partner/installatori on-demand
- Gestione degli allegati prodotto (in genere dei manuali in PDF)

Nel primo requisito, vedevo già ClickOnce sia come installazione base che, soprattutto, come aggiornamento e distribuzione delle "fix" dell'applicazione client, pardon... SmartClient.
Sempre nel primo requisito, si poneva la scelta del database e coincidenza, da qualche mese era già disponibile la CTP di SqlEverywhere (ex SqlMobile, ma con "licenza di uccidere" anche su Windows XP), questa scelta avrebbe se non altro aperto la strada ai devices come PocketPC e SmartPhone.

Nel secondo e nel il terzo requisito, a mio avviso si parlava di ASP.NET e XML WebServices. Trattandosi di una applicazione web, e di un WebService che potenzialmente avrebbero dovuto servire un discreto numero utenti, ho preferito utilizzare, come mio solito, SQL2005.

Nel quarto requisito subentrano WSE 3.0 ed in dettaglio MTOM (Message Transmission Optimization Mechanism), che è servito per gestire il trasporto degli allegati PDF.

Riassumendo:

- ASP.net
- WebServices, WSE 3.0, MTOM
- Sql2005
- SqlEverywhere
- WinForm
- ClickOnce

Dalle tecnologie sopra mensionate mi accorsi subito che, oltre al fatto che mi sarei potuto davvero divertire, avrei dovuto gestire la persistenza su 2 database diversi. Avendo fin'allora lavorato esclusivamente su Sql2000/2005, ho pensato che apprendere e fare mie le tecniche che avevo da poco iniziato a sperimetare con NSK, poteva condurmi ad una interessante esperienza.

Fino ad allora, avevo usato tecnice di generazione di codice, framework applicativi, Application Blocks, ma non ero mai riuscito ad ottenere un domain model così detto "Anemico".

In VisualMarss, invece, le entità sono "pulite", i provider per Sql2005 e SqlEv consentono la persistenza sui rispettivi DB, tutto il domain model si presta bene ad essere gestito e mantenuto anche grazie all'adozione di patterns come Provider, PlugIn, IdentityMap e UnitOfWork... insomma "predisposto per l'autoradio!".

Ecco quindi che 2 settimane fà, dopo circa 1 mese e mezzo dall'inizio dei lavori, VisualMarss (figlio di NSK?) viene consegnato al cliente. Nel frattempo, da Agosto, NSK è cresciuto ed è cambiato parecchio, spero di riuscire anch'io a dare il mio contributo al progetto, per il momento lascio questa "testimonianza" che a breve sarà seguita da qualche screenshoot.

Un grazie al team di NSK!

Grazie anche a Pierre e a RoB, per i preziosi consigli dispensati su MTOM e SqlEv!