Connected Thoughts – Thiago Almeida

February 23, 2009

Introduction to Oslo presentation slides and demo code

Filed under: BizTalk — Thiago Almeida @ 2:41 pm

Quick note: the slides for the Auckland Connected Systems User Group presentation last week “Introduction to Oslo” with Jeremy Boyd can be downloaded from the meeting page (under attachments):

http://www.acsug.co.nz/Meetings/Olso-modelling-platform-Overview-Jeremy-Boyd.aspx

Also, get the meeting demos from JB’s blog:

http://www.mindscape.co.nz/staff/jeremy/index.php/2009/02/introduction-to-oslo/

This was a great presentation and I can’t thank JB enough for coming up to Auckland to present for us. It’s certainly got a lot of people interested in it, and sparked a lot of discussions!

BizTalk Tracking Database count queries

Filed under: BizTalk — Thiago Almeida @ 8:35 am

 

I’ve written a few queries to get counts from a BizTalk tracking database – grouped by schema, schema per host, ports, and orchestration event tracking – to help me and the team advise out clients on what tracking should be turned off on their BizTalk environment. They go well together with the report you get from the MsgBoxViewer tool listing ports, orchestrations, pipelines, and what tracking  is enabled on them.

Please note that the “total” columns cannot be taken literally: they only have the size of the main message as it goes through BizTalk, but doesn’t include the size of the context or anything else tracked with it, and some rows depending on where they were tracked don’t have the message size column populated. A combination of count and total should be used for any decision.  

———————————————————–

USE BizTalkDTADb

GO

SET NOCOUNT ON

–Count and size per message type across all hosts

PRINT ‘Count and size per message type across all hosts’

select

sn.strSchemaName ‘Schema Name’,

sum(mioe.nMessageSize) ‘Total (Bytes)’,

(sum(mioe.nMessageSize)/1024)/1024 ‘Total (MBytes)’,

count(sn.strSchemaName) ‘Count’

from dta_MessageInOutEvents mioe WITH     (READPAST)

left join dta_ServiceInstances si on mioe.uidActivityId = si.uidActivityId

left join dta_SchemaName sn on mioe.nSchemaId = sn.nSchemaId

where uidMessageInstanceId in (

select uidMessageID from tracking_Parts1

UNION

select uidMessageID from tracking_Parts2)

group by sn.strSchemaName

order by ‘Count’ desc, ‘Schema Name’ asc

 

–Count and size per message type per service type across all hosts

PRINT ‘Count and size per message type per service type across all hosts’

select

sn.strSchemaName ‘Schema Name’,

sc.nvcName ‘Type’,

sum(mioe.nMessageSize) ‘Total (Bytes)’,

(sum(mioe.nMessageSize)/1024)/1024 ‘Total (MBytes)’,

count(sn.strSchemaName) ‘Count’

from dta_MessageInOutEvents mioe WITH     (READPAST)

left join dta_ServiceInstances si on mioe.uidActivityId = si.uidActivityId

left join dta_SchemaName sn on mioe.nSchemaId = sn.nSchemaId

left join BizTalkMsgBoxDb.dbo.ServiceClasses sc on si.uidServiceClassId = sc.uidServiceClassID

where uidMessageInstanceId in (

select uidMessageID from tracking_Parts1

UNION

select uidMessageID from tracking_Parts2)

group by sn.strSchemaName, sc.nvcName

order by ‘Count’ desc

 

–Count and size per message type per host

PRINT ‘Count and size per message type per host’

select

h.strHostName ‘Host’,

sn.strSchemaName ‘Schema Name’,

sum(mioe.nMessageSize) ‘Total (Bytes)’,

(sum(mioe.nMessageSize)/1024)/1024 ‘Total (MBytes)’,

count(sn.strSchemaName) ‘Count’

from dta_MessageInOutEvents mioe WITH     (READPAST)

left join dta_ServiceInstances si on mioe.uidActivityId = si.uidActivityId

left join dta_Host h on si.nHostId = h.nHostId

left join dta_SchemaName sn on mioe.nSchemaId = sn.nSchemaId

where uidMessageInstanceId in (

select uidMessageID from tracking_Parts1

UNION

select uidMessageID from tracking_Parts2)

group by sn.strSchemaName, h.strHostName

order by ‘Host’, ‘Count’ desc, ‘Schema Name’ asc

 

–Count and size per port

PRINT ‘Count and size per port’

select

pn.strPortName ‘Port’,

sc.nvcName ‘Type’,

sum(mioe.nMessageSize) ‘Total (Bytes)’,

(sum(mioe.nMessageSize)/1024)/1024 ‘Total (MBytes)’,

count(pn.strPortName) ‘Count’

from dta_MessageInOutEvents mioe WITH     (READPAST)

left join dta_ServiceInstances si on mioe.uidActivityId = si.uidActivityId

left join dta_PortName pn on mioe.nPortId = pn.nPortId

left join BizTalkMsgBoxDb.dbo.ServiceClasses sc on si.uidServiceClassId = sc.uidServiceClassID

where uidMessageInstanceId in (

select uidMessageID from tracking_Parts1

UNION

select uidMessageID from tracking_Parts2)

group by strPortName, nvcName

order by ‘Count’ desc

 

–Orchestration debug trace count (the ‘Track Event’ options on the orchestration tracking)

select

o.nvcFullName ‘Orchestration’,

count(o.nvcFullName) ‘Count’

from dta_DebugTrace dt with (READPAST)

join dta_ServiceInstances si on dt.uidServiceInstanceID = si.uidServiceInstanceId

left join BizTalkMgmtDb.dbo.bts_Orchestration o on si.uidServiceId = o.uidGUID

group by o.nvcFullName

order by ‘Count’ desc

———————————————————–

Enjoy!

– Thiago Almeida

February 20, 2009

Getting the product key of a BizTalk installation

Filed under: BizTalk — Thiago Almeida @ 7:06 pm

I received an unusual phone call from a co-worker today: he wanted to find out the product key of BizTalk Server 2006 installed on a server (I didn’t go as far as asking why – lost disk probably).

After a few minutes this is where I got to: open regedit and browse to:

HKLM\SOFTWARE\Microsoft\BizTalk Server\3.0\Registration\DigitalProductID

Now download something like the KeyViewer tool from the bottom of the page here: http://www.ac2tech.com/tools/keyviewer/keyviewer.php

Follow the “How to get the raw key from “DigitalProductID” instructions at the bottom of the page (offset the DigitalProductID value by 15, and copy a length of 34) then type it into the “Raw Key” tab of the KeyViewer tool. It might pay to click the “Decode” button once before typing in the info from the registry so that it puts its default bogus product key there. This way you’ll know that your BizTalk one is correct and no the bogus one for when the raw key entered is invalid (it doesn’t throw an error message).

This should work for other BizTalk versions as well. Hope it helps someone!

February 13, 2009

New video on using Team Foundation Server for BizTalk Server 2009 development with Johan Hedberg

Filed under: BizTalk — Thiago Almeida @ 4:50 pm

 

The Channel 9 Screencasts has a new video on using Team Foundation Server for BizTalk Server 2009 with Johan Hedberg from the BizTalk User Group in sweden.

Johan goes over the basics of creating a new build type and building BizTalk 2009 projects, unit testing / continuous integration features, and the extra steps required to DEPLOY the BizTalk 2009 project by using reusable tasks. All in all a great video!

Here’s the link to watch/download:

http://channel9.msdn.com/posts/johanlindfors/MSDN-TV-Use-Team-Foundation-Server-for-BizTalk-Server-2009-development/

Note that this video goes well together with a post by Mikael Håkanssons on the same subject (Mikael is also from Blogical in Sweden):

http://blogical.se/blogs/mikael/archive/2009/02/11/biztalk-2009-build-amp-deploy-automation-with-team-foundation-server-2008-part-1.aspx

I would expect Microsoft to release some of these tasks for BizTalk deployment together with the full release of BT09 but who knows…

BizTalk Server 2006 R2 Exam (70-241)

Filed under: BizTalk — Thiago Almeida @ 1:05 pm

 

I’ve just taken exam Exam 70-241: TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2006 R2 and passed! :)

This exam has been brought to my attention again two weeks ago by Nabeel from Microsoft Services in South Africa on the OzTalk* mailing list. Mick Badran’s posted the overview and skills measured by the exam. The first time I heard about it was as soon as the exam was released last year but it wasn’t available over in my part of the world yet so I ended up forgetting about it…

I Didn’t read the entire NDA at the beginning of the exam but I’m sure it’s very restrictive so I won’t say anything specific. It’s a great exam to measure your skills in BizTalk 2006 R2 – as expected it includes questions on all the bits in BT06 plus all the new stuff  (WCF, RFID, etc). A lot of people have lost faith in Microsoft certifications but there’s no better feeling than knowing you passed! It’s just strange that there’s no official training material for Biztalk exams (any of them!).

 

* This mailing list was started by Mick Badran (MS BizTalk MVP, Sydney BTUG) and it’s shared between the Auckland Connected Systems User Group and a host of other BizTalk and Connected Systems user groups. Contact Mick or I if your user group is interested!

February 11, 2009

Batch files to stop and start the BizTalk and SQL Services

Filed under: BizTalk — Thiago Almeida @ 12:01 pm

 

On my local BizTalk development machine I sometimes want to stop the BizTalk services and all other related services including SQL Server. So I created the following batch file that takes care of it:

Net stop "edi subsystem"
Net stop RuleEngineUpdateService
Net stop BTSSvc$BizTalkServerApplication
Net stop NS$BAMAlerts
Net stop ENTSSO
Net stop MSBizTalkRFID
Net stop W3SVC
Net stop SQLSERVERAGENT
Net stop MSSQLSERVER
Net stop ReportServer
Net stop MSSQLServerOLAPService
Net stop SQLBrowser
Net stop msftesql
Net stop MsDtsServer
Net stop SQLWriter
@ECHO Services stopped.
pause

Consequently this is the batch file to start it:

Net start MSSQLSERVER
Net start SQLSERVERAGENT
Net start ReportServer
Net start MSSQLServerOLAPService
Net start SQLBrowser
Net start msftesql
Net start MsDtsServer
Net start SQLWriter
Net start W3SVC
Net start MSBizTalkRFID
Net start ENTSSO
Net start NS$BAMAlerts
Net start BTSSvc$BizTalkServerApplication
Net start RuleEngineUpdateService
Net start "edi subsystem"

@ECHO Services started.
pause

This is for a machine running BizTalk Server 2006 R2 and SQL Server. A few things to note:

  • You might not have some of the services listed on your machine. For example, the MSBizTalkRFID service won’t be there if you haven’t installed BizTalk RFID on the server.
  • You need to add any extra BizTalk host instances to the list. I only have the default host there (BTSSvc$BizTalkServerApplication).
  • It is only stopping SQL Server with a default instance. If you have a named instance you might need to change it.

Let me know if I’ve missed anything!

February 5, 2009

ACSUG February Meeting – “Oslo” modelling platform overview – Jeremy Boyd

Filed under: BizTalk — Thiago Almeida @ 4:38 pm

Here are the next Auckland Connected Systems User Group meeting:

"Oslo" modelling platform overview – Jeremy Boyd

Jeremy Boyd (JB) is an experienced solutions architect, developer and consultant with over 7 years experience in the New Zealand market. He is a Microsoft MVP and Regional Director, and a Director of Mindscape.

JB will be talking about “Oslo”, the codename for a new modelling platform which is an initiative of the Connected Systems Division in Microsoft. Oslo aims to provide a language, tools and more of a focus on how modelling and domain specific languages can be used to speed up development through use of higher level abstractions to describe the design and interaction of systems. Jeremy will go over the basics of “Oslo” and what we know so far and look at how this is likely to impact us in future years.
Free pizza and drinks provided, and a prize  giveaway at the end as always!
Start gathering at 5:30pm for a presentation start at 6pm, on Thursday 19 of February 2009.

Location:
Datacom Systems Limited, 210 Federal Street, Auckland CBD, Auckland, New Zealand
Map
Parking on the streets around Datacom.
Please register: http://www.acsug.co.nz/Meetings/Olso-modelling-platform-Overview-Jeremy-Boyd.aspx

This is one not to be missed as Oslo will certainly impact most of us, so I’ll see you there!

Blog at WordPress.com.