by community-syndication | Apr 7, 2007 | BizTalk Community Blogs via Syndication
Martijn Hoogendoorn has re-posted the link to his utility to programmatically generate orchestrations (now that he is working for Microsoft the old link on his previous blog no longer works). Check it out at: http://blogs.msdn.com/martijnh/default.aspx . He has used the Microsoft.Biztalk.IMS.dll which contains interfaces such as IBtsVsDocument and the Biztalk Object Model dll to do most of the generation. This is quite different to Jon Flanders Pattern Wizards which have a wizard written over a bunch of VS2005 templates to generate what you need. In this codebase, Martijn has one class which generates a sample akin to the SDK CallOrchestration sample. Its pretty nifty and demonstrates how one can use the Biztalk TypeSystem to generate ports, message references etc. One thing which puzzled me is where he got the Biztalk.IMS.dll from!! Jon has that in his codebase too but i couldnt find that anywhere on my machine! Does anyone know where we can get that or where some documentation would be available?
So when would you want to code gen orchestrations? After all, using the orchestration designer isnt exactly rocket science and now that there is a wealth of community wisdom in the realm of patterns (encapsulated in Jons tool), why do we need this? I look at this technique as facilitating one layer of abstraction over the designer itself. Take the “Solution Designer” that Eddie Churchill demo’ed in a channel9 video If you look at that, it shows how the Team Architect AD surface can be used to sketch your solution end to end and then generate the solution structure with stub orchestrations, schemas, maps etc. Thats a good application of DSL technology (although in the demo version it used windows forms, not the DSL toolkit which wasnt stable enough to be used at that time).
Anyway, back to the discussion. One thing about good architectures is that they should also be consistent (along with being flexible). So if you have a bunch of backend systems that expose similar interfaces to be integrated with (WS, queues, file ports etc) and if you have a choice of which interface to use, while you are well within your rights to use any way of connecting to them, IMO, a better way would be to establish a consistent pattern of connecting to them so that you can make sure your bases are all covered, your development team knows whats expected and you have a standard base for delivering estimates. So if you do this, then you can fairly well predict exactly what your “connector” looks like and then, if you have worked out the contract for your schemas etc, then you can just go ahead and code gen the entire lot. Use the VS automation model to generate the solution structure, add the various projects in programmatically and then inside each of them, use these utilities (like Martijns) to generate the rest (and in a future version of BizUnitExtensions, autogen your tests as well). This way we can maximize our “design contracts”.
I do wish the Biztalk team would make the WebService Publishing Wizard available programmatically. (I guess the WSE publishing wizard is probably on its way out now that WCF is in production). This would help even more code generation. By the way, i heard that Eddie has left the BTS team and so the
solution designer has been discarded. Anyone know the skinny on this? I
would be terribly disappointed if this is the case because to me, that was the
most compelling feature in the “future/vNext” Biztalk release (perhaps
it was post R2).
By the way, I also came across another tool named BridgeWerx sometime ago that used a custom interface to sketch your biztalk solution and generate the codebase. I wonder if they have moved into the Microsoft DSL space now.
I’ve asked Martijn about the possibility of making this into a CodePlex
project (although the source code is available with the download, putting it up as a project would make it more visible and get more collaboration). I’m sure that with more hands and more time (overall) there
could be much more powerful things that could be done with the tool.

by community-syndication | Apr 7, 2007 | BizTalk Community Blogs via Syndication
In case you’re not up on it, there’s a great Sharepoint conference in the winds (well
less than 6 wks away actually) – in Sydney at the Hilton
Here’s the conference
registration details if you’re up to come.
I’ve been asked to present a couple of sessions at the conference which I can now
share with you guys:
Session Title: Essentials 2: ASP.NET Web Parts, Master Pages, and Data Rendering
Audience: Developer
I’ll be talking about Web Parts and Web Part structure, also how to create your own
Master Pages to fully customise your sites (far cry easier than Sharepoint V2.0….but
I won’t go there……my therapist says I’m doing fine
).
As always the DataView webpart is essential and we can do some pretty phenominal things
with the latest version included in WSS V3.0.
Session Title: Essentials 4: Templates, Definitions, and Solution Deployment
Audience: Developer
Have you been getting tied up in CAML, dreamt about it lately? nightmares…….well
in V3.0 we want to move far away from it.
Deployment of Sharepoint customisations/sites and your fantastic new webparts generally
involve a great number of files and assemblies not to mention App.Config files that
may need modifications.
In WSS 3.0 – your next new…sorry best friend should be features!!! These
are the best things since sliced bread…….they affect future creation of items
as well as current sites, lists etc etc.
Come along and hear the full story…….. 🙂
————————————–
Angus Logan has done (as always) a great job in organising this event and there are
some serious Sharepoints heavyweights presenting at the conference as well as the
key members from the Prod. Team coming from the US.
—————————————
Can’t
make the conference……….get some serious Sharepoint
Bootcamp Training that we are partnering with DDLS provide public training all around
Australia
It’s been going like wild fire with courses filling up faster than we can put them
on.
One thing I can tell you about Sharepoint V3.0 is that it’s a huge product. Come and
explore it together……
by community-syndication | Apr 6, 2007 | BizTalk Community Blogs via Syndication
This is a temporary post that was not deleted. Please delete this manually. (727b9d9e-c74f-47d9-a734-7bc6442a3209)

by community-syndication | Apr 6, 2007 | BizTalk Community Blogs via Syndication
Here’s wishing you all a happy Easter!
by community-syndication | Apr 6, 2007 | BizTalk Community Blogs via Syndication
A previous post of mine had some sample code on creating BizTalk Server Orchestrations programmatically, opening up template based guidance packages. The sourcecode for the sample can now be found here.
by community-syndication | Apr 6, 2007 | BizTalk Community Blogs via Syndication
A previous post of mine had some sample code on creating BizTalk Server Orchestrations programmatically, opening up template based guidance packages. The sourcecode for the sample can now be found here.
by community-syndication | Apr 6, 2007 | BizTalk Community Blogs via Syndication
For storing configuration data, Jon Flanders’s SSOAppConfig tool is my preferred answer. On my recent migration from 2004 to 2006, my good buddy discovered that the BizTalk Admin Group and BizTalk User Group are hard-coded into Mr. Flanders’s solution. We tossed around the idea of looking up the values, but weren’t very sure where to get them. I think I have an answer.
The registry contains a couple of useful values under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0\Administration. BizTalkAdminNTGroup – well, there you go right there; one down, one to go. Let’s use MgmtDbServer and MgmtDbName to create a SQL connection. Let’s use the value from BizTalkGroupName to query the adm_Groups table for the GroupID. Then let’s query the adm_Host table for that GroupID and Name = “BizTalkServerApplication”. The NTGroupName is the value we need to plug into SSOAppConfig.
While I’m dreaming, I want to add command line parameters to the tool so that I can script out installs (using Import) and uninstalls (using Delete).
by community-syndication | Apr 5, 2007 | BizTalk Community Blogs via Syndication
Dynamic Direct Bound Port Clarification
There seems to have been some confusion generated by readers trying to implement dynamic direct bound ports that I wanted to clarify. A dynamic direct bound port is merely a direct bound port whose address is set at runtime. It is not a dynamic send port. Dynamic send ports allow you to determine at runtime which send adapter the message will be routed to which is derived from the prefix of the address of the endpoint you have provided. If you try to set the address of a dynamic send port using the msgbox: prefix you will get a routing exception (transport cannot be resolved) as msgbox: is not an alias for any send adapter.
The ability to modify the address of a direct bound port is only available in BizTalk Server 2006.
by community-syndication | Apr 5, 2007 | BizTalk Community Blogs via Syndication
Comecei recentemente a aventurar-me na produ%u00e7%u00e3o de screencasts, na peugada das Curtas do Luis Abreu, com conte%u00fado original e em portugu%u00eas. O primeiro tema que escolhi foi BizTalk Server, como se poderia esperar, e gravei j%u00e1 dois v%u00eddeos, o primeiro sobre a arquitectura do produto e o segundo com uma demonstra%u00e7%u00e3o que apresenta o cen%u00e1rio que vou desenvolver e que ilustra a cria%u00e7%u00e3o de schemas e configura%u00e7%u00e3o de portos, entre outros temas.
Todos os v%u00eddeos est%u00e3o e v%u00e3o estar dispon%u00edveis nesta p%u00e1gina, e farei um post de aviso cada vez que publicar um novo.
A m%u00fasica %u00e9 a autoria do meu amigo e colega Hugo Lopes.
Quaisquer coment%u00e1rios e sugest%u00f5es ser%u00e3o bem extremamente bem vindos.

by community-syndication | Apr 5, 2007 | BizTalk Community Blogs via Syndication
Dynamic Direct Bound Port Clarification
There seems to have been some confusion generated by readers trying to implement dynamic direct bound ports that I wanted to clarify. A dynamic direct bound port is merely a direct bound port whose address is set at runtime. It is not a dynamic send port. Dynamic send ports allow you to determine at runtime which send adapter the message will be routed to which is derived from the prefix of the address of the endpoint you have provided. If you try to set the address of a dynamic send port using the msgbox: prefix you will get a routing exception (transport cannot be resolved) as msgbox: is not an alias for any send adapter.
The ability to modify the address of a direct bound port is only available in BizTalk Server 2006.