Biztalk rinominare file dopo trasferimento ftp con comandi afterput per evitare file incompleti

Un cliente ha espresso l'esigenza di trasferire i file tramite ftp con un estensione temporanea e rinominarli solo dopo l'effettivo completamento del download, in modo da evitare che il partner dall'altra parte possa recuperare file incompleti dall'ftp.

La soluzione standard che seguo in questi casi è quella di usare i comandi Afterput nella SendPort ed effettuare un rename dal file temporaneo a quello definitivo con i seguenti comandi:

RNFROM filename.xyz; RNTO filename.dat

Il problema di quest'approccio è che funziona solo se filename è fisso, perchè la macro di Biztalk tipo %SOURCEFILENAME% non funzionano nei comandi afterput (x Biztalk Team, perchè non cambiare questo comportamento in Biztalk 2009 ?).

Al che si è costretti a lavorare sull'orchestration.

Seguirà post sul come fare…

Blueprints contrib su Codeplex

Volevo segnalare che recentemente è nato su Codeplex un progetto che contiene le estensioni a Blueprints da parte della community Codeplex, allo stato attuale c’è veramente veramente poco, però è un buon inizio, lato nostro (4ward) stiamo valutando la possibilità di pubblicare una versione ridotta e free della guidance per NHibernate che consente la generazione degli hbm e delle Business Entitites a partire da un database SQL Server.

Quanto ho imparato sul lavoro !

Adesso che sto postando sul blog con più frequenza mi accorgo di quante cose ho approfondito negli ultimi anni grazie al progetto SOA interamente basato su piattaforma Microsoft a cui ho partecipato e mi rendo conto di essere stato più che fortunato per avervi partecipato e mi sento in dovere di ringraziare l'Enterprise Architect Stefano Bassi per avermi dato così tanta fiducia.

Ho imparato di tutto di più:

  • SOA poi diventata Event-Driven SOA
  • Indigo poi diventato WCF
  • Software Factory con GAX/GAT customizzate per NHibernate, WCF, Smart Client, Web, Biztalk
  • WF 3.0 poi 3.5
  • Biztalk 2006 poi diventato R2
  • .NET3.0 poi 3.5
  • K2 Blackpearl
  • Data warehouse in realtime
  • MSMQ
  • ESB custom
  • SOA Governance
  • Lavoro con team in outsourcing in Asia e Europa dell’Est con le relative differenze culturali

Siamo vicini al pilot e sono sicuro che c'è ancora molto da fare, ma tutto sommato battaglia dopo battaglia si è arrivati finalmente vicini alla meta.

Blueprints attuale e i suoi limiti

Lo sviluppo di Blueprints è attualmente fermo e l’ultimo rilascio su Codeplex risale al 19/12, probabilmente è dovuto al fatto che è (forse) partita l’integrazione con VSTS 2010, però il problema è che la versione attuale ha diversi problemi, che ho prontamente segnalato a Michael G. Lehman dal quale ho ricevuto la laconica risposta: “Will investigate.”

Comunque le potenzialità ci sono, però il processo di migrazione da GAX/GAT delle nostre estensioni ha richiesto molto tempo e ci sono alcuni limiti che ci stanno causando un po’ di problemi.

Il limite più grosso allo stato attuale è l’assoluta assenza di UI pronte all’uso tipo Wizards di GAT, il che costringe a creare manualmente le interfacce per interagire con il developer che usa le Software Factories.