BizTalk Rulez

About BizTalk and Connected puzzled
posts - 225, comments - 7840, trackbacks - 21

My Links

Archives

.Me

.MVP

.Net 3.0

Adapters

Administering

BizTalk Docs

BizTalk Poster

BizTalk Server Developer Center

EDI

Hot!

Info

Microsoft Net

MOM

Nino's TechNet Articles

Quicklink

RFID

SAP

Tools

VM

Webcast

Sunday, September 7, 2008

BizTalk Deep Dive

Quanto mi piace immergermi negli abissi profondi di BizTalk, è una cosa a dir poco orgasmica.
Ho un Trace SQL, che mi sono preparato con pazienza e che permette di filtrare gli eventi più interessanti che BizTalk scatena durante il suo lavoro.
Vi garantisco che si scoprono cose estremamente interessanti, è possibile vedere la chiamata di host bts_DeQueueMessages_[HosTname] effettuata dall'Host Instance per eseguire lo spool dei messaggi.
L' inserimento delle property mediante la bts_InsertProperty e la fatidica bts_FindSubscriptions per la ricerca delle sottoscrizioni.

Penso che non esista niente di meglio per capire come esattamente funzioni ma soprattutto quali armi abbiamo a disposizione per poter intervenire e capire eventuali problemi.

Alcuni tipi di query possono esserci di grande aiuto a capire come un BizTalk Server sta funzionando e come è configurato.
In particolare mi sento sempre fare queste domande:

Come è possibile eseguire il resume di più messaggi?, Come faccio a capire quante istanze stanno lavorando bene e quali hanno problemi?
Chiaro che dalla Hub è possibile eseguire delle query ma non abbiamo a disposizione tantissimo.
Basta un pò di pazienza ed è BizTalk stesso a fornirci le risposte che cerchiamo.

Per provare queste queries non bisogna far altro che copiare il testo e eseguirlo in SQL 2005.

Configurazione delle messagebox:

declare @p2 nvarchar(128)
set @p2=N'NOMEMACCHINA'
declare @p3 nvarchar(128)
set @p3=N'BizTalkMsgBoxDb'
declare @p4 int
set @p4=1
declare @p5 int
set @p5=60
exec admsvr_LoadMsgBoxGroupProperties @nvcGroupName=N'BizTalk Group',@nvcMasterDBServer=@p2 output,@nvcMasterDBName=@p3 output,@nNumMsgboxServers=@p4 output,@nCacheRefreshInterval=@p5 output
select @p2, @p3, @p4, @p5

Per capire quale sia la master, disabilitare la pubblicazione dei messaggi ecc..

 

Ecco tutte le istance in sospeso

exec ops_OperateOnInstances @snOperation=0,@fMultiMessagebox=0,@uidInstanceID='00000000-0000-0000-0000-000000000000',@nvcApplication=N'',@snApplicationOperator=0,@nvcHost=N'',@snHostOperator=0,@nServiceClass=111,@snServiceClassOperator=0,@uidServiceType='00000000-0000-0000-0000-000000000000',@snServiceTypeOperator=0,@nStatus=36,@snStatusOperator=1,@nPendingOperation=1,@snPendingOperationOperator=0,@dtPendingOperationTimeFrom='Jan  1 1753 12:00:00:000AM',@dtPendingOperationTimeUntil='Dec 31 9999 10:59:59:997PM',@dtStartFrom='Jan  1 1753 12:00:00:000AM',@dtStartUntil='Dec 31 9999 10:59:59:997PM',@nvcErrorCode=N'',@snErrorCodeOperator=0,@nvcErrorDescription=N'',@snErrorDescriptionOperator=0,@nvcURI=N'',@snURIOperator=0,@dtStartSuspend='Jan  1 1753 12:00:00:000AM',@dtEndSuspend='Dec 31 9999 10:59:59:997PM',@nvcAdapter=N'',@snAdapterOperator=0,@nGroupingCriteria=0,@nGroupingMinCount=0,@nMaxMatches=51,@uidAccessorID='4386A978-682A-4F58-B32D-D9BA0D074F64',@nIsMasterMsgBox=0
 
Per eseguire un filter più rilassato è meglio filtrare in TexData su NotLike %bts_DeQueueMessages_NOMEHOST%
a meno che non vogliate vedere il cuore di BizTalk battere, è comunque carino.
La stored bts_DeQueueMessages_NOMEHOST viene chiamata continuamente dal relativo Host per eseguire lo spool dei messaggi.
Alla lunga risulta fastidiosa ma offre un buon punto di riferimento su alcune letture.
Per eseguire il resume di un messaggio BizTalk esegue questa chiamata:
set @p21=0
exec [dbo].[bts_UpdateMsgbox_NinoHost] @nArtifactType=1,@nAction=207,@uidObjectID=N'{6D12B877-ADFF-4B54-98B1-CB4A1A6B5E68}',@uidInstanceID=N'{6D12B877-ADFF-4B54-98B1-CB4A1A6B5E68}',@uidServiceID=N'{C97C4CB1-A853-413B-A3C6-C1CAECB74ABF}',@uidClassID=N'{59F295B0-3123-416E-966B-A2C6D65FF8E6}',@uidActivationID=N'{16B83A2B-CAAE-4581-B36F-675AA582CA6C}',@uidInstanceStateID=NULL,@uidWorkID=NULL,@uidPortID=NULL,@nvcErrorID=NULL,@nErrorCategory=0,@nvcAdditionalInfo=NULL,@nIsResumable=0,@dtResubmitTimeStamp='Dec 30 1899 12:00:00:000AM',@nvcLastAction=NULL,@nvcURL=NULL,@nvcAdapter=NULL,@fOptimize=1,@uidDBOwnerID=@p20 output,@nReturn=@p21 output
select @p20, @p21
Cchiaro che per lavorare al meglio sia necessario decodificare le varie informazioni, mi riferisco ai vari UID.
Per fare questo è necessario fare affidamento alle relative tabelle, quali la Applications, la famosa SPOOL dove abbiamo il messageType e il uidMessageID.
 

Ecco il Trace Template

 

posted @ Monday, September 8, 2008 7:10 PM | Feedback (155) |

Le soluzioni BizTalk RFID al Teched 2008

Mick Breeze ha rilasciato pubblicamente le slide che utilizzerà per la sessione che terrà al Teched 08 insieme a Scott e altri, non ho ancora avuto occasione di vedere l'ntero programma del Teched, questa sessione è molto introduttiva, forse troppo, sono certo che nel programma saranno presenti sessioni su BizTalk più consistenti Smile

Ecco il link

http://blogs.breezetraining.com.au/mickb/2008/09/08/TOT334BuildingRFIDSolutionsWithBizTalk.aspx

posted @ Monday, September 8, 2008 8:55 AM | Feedback (25) |

BizTalk Server 2009 Q&A

Per maggiori info inerenti i nuovi aggiornamenti su BizTalk server 2009 vi rimando a questa interessantissima Q&A con Oliver Sharp, General Manager della Connected System Division.

http://www.microsoft.com/presspass/features/2008/sep08/09-05BizTalk.mspx

posted @ Sunday, September 7, 2008 9:49 PM | Feedback (20) |

Il nuovo BizTalk Server 2009!

BizTalk Server 2009


Ebbene sì, come prevedevo Microsoft ha cambiato nome alla futura release BizTalk, la R3.
Il nuovo BizTalk si chiamerà BizTalk server 2009 smile_regular, la trovo una decisione corretta, soprattutto per le pesanti modifiche effettuate alle principali componenti interne.
Chiaramente il cambiare il nome a una piattaforma come questa preclude ragioni di tutto rispetto, alcune delle quali molto interessanti.

L' interfaccia di sviluppo molto più solida e affidabile, chiaramente su piattaforma 2008, framework 3.5, l'architettura interna di interconnessione dei layer di comunicazione in WCF, quest' ultima è, secondo me la cosa migliore che potesse fare Microsoft.

Altrettanto interessante il supporto ad Hyper-V, e finalmente la possibilita di effettuare multi-deploy in ambienti cluster.
RFID rimane una piattaforma a parte ma che presenta interessati nuove possibilità verso il supporto di soluzioni mobile e protocolli industriali (LLRP, TDT, TDS, WS Discovery, EPCIS support)

Supporto su TFS di gran lunga migliorato, il messaging interno rivisto per la parte di interchange di tipo recoverable.

Negli anni a seguire Microsoft ha già annunciato che effettuerà altri interessanti rilasci, in questo ordine:

Supporto di sviluppo per complex mapping, per il B2B inserimento dela possibilità di gestire complex trading partners,

Nuova ESB Guidance e nuova carburazione sulla low latency.

Altri steroidi al BAM, grandissima feature di BizTalk.

Sapete cosa significa BizTalk Server 2009 e non R3?
Significa che a differenza di quello che sapevo, BizTalk non sarà più inglobato internamente a OSLO, come si pensava, ma sarà, giustamente,  un una sua estensione. smile_regular

Sono molto felice di tutto questo, OSLO è veramente interessante e credo rivoluzionerà tante cose ma penso che determinate problematiche architetturali debbano essere focalizzate alle relative piattaforme, ritengo che la "globalizzazione" tecnologica porti solo al caos.

...smile_whatchutalkingabout

posted @ Sunday, September 7, 2008 8:43 PM | Feedback (20) |

Powered by:
Powered By Subtext Powered By ASP.NET