Software Factory questa sconosciuta

Ormai dopo 2 anni d'esperienza sulle Software Factory in Visual Studio a Singapore e in Austria per:

  • creazione software factory completa per NHibernate (creazione automatica hbm, repository, business entity, partendo da un DB)
  • customizzazione avanzata della web service factory (non la modeling edition che è troppo macchinosa da utilizzare)
  • customizzazione avanzata della smart client factory

Direi che siamo decisamente specializzati sulla cosa. Fantastico :)

Ma in Italia c'è qualcuno che le usa ?????

Libri in italiano su Biztalk 2006 = 0

Nell'ultimo periodo stavo cercando un libro in italiano su Biztalk 2006 per alcuni miei colleghi ..... sapete quanti ne ho trovati ? 0.

Sì lo so, voi direte "La lingua principale per i testi tecnici è l'inglese!". Concordo pienamente, ma il fatto che non ci siano libri in italiano per un prodotto specifico è indice che il mercato in Italia per quel prodotto è relativamente piccolo.

Al che ho indagato presso altri nostri clienti e ho scoperto che:

  • in Austria il mercato è ancora più piccolo e i consulenti Biztalk sono poco più di 10 !
  • a Singapore Biztalk è usato parecchio dagli istituti bancari e si trovano abbastanza risorse, però la domanda è superiore all'offerta.

Quindi se volete traserirvi in Asia imparate Biztalk :)

NHibernate Fetch in servizi WCF

Se sviluppate servizi WCF sessionless con NHibernate il lazy loading non potete utilizzarlo. Questo implica che l'ottimizzazione sul fetching utilizzata da NHibernate durante le select di relazioni 1-many o many-to-many non è più valida e va sostituita da un'altra strategia.

Per chiarire la cosa:

elemento padre A con 2 relazioni a 2 tabelle B e C.

  • per Default la strategia di fetching utilizzata da NHibernate è select che implica che una seconda select venga utilizzata per recuperare i figli di un elemento (su richiesta se lazy loading è attivo). Chiaramente se lazy loading è false, ogni get di un elemento padre implica 3 roundtrip al server database per recuperare i figli da B e da C, quindi per una tabella con 50000 record vengono effettuate 150000 select invece di 50000.
  • In questi casi la strategia corretta da utilizzare è la join che dice ad NHibernate di recuperare i figli con una singola select utilzizando OUTER JOIN con notevole incremento delle performance.