Blog

Uncategorized

A BizTalk Developers approach to Oslo

So you’ve probably heard of this thing called Oslo and the components of it. In this post I’ll try to address Oslo from the point of view of the BizTalk Developer.

You could argue that BizTalk has a pretty model driven approach to development, although you’d be hard pressed if you went as far as calling it model first, or even schema first. The concepts of developing and deploying an Oslo model does however closely resemble the order of the steps performed to develop and deploy a schema in BizTalk.

First of you develop a schema, a xsd, or in Oslo terms a model. You do this in the tool called IntelliPad, using the language called M. Another way to put this is that M lets you define a textual DSL.

Second you compile, or validate, this schema. In Oslo terms you convert it into an image. You (currently) do this using the Oslo command line tools, the Oslo compiler.

Third you import this schema into the repository, like you would a BizTalk schema into the MgmtDb. In Oslo this step converts the model into SQL code. Oslo is very tightly coupled to SQL, and the repository is really just a database. A quote I caught is that “M is to T-SQL as C is to assembly”.

You can then build a xml document that conforms to that schema. You would to this in what would equivalently be an infoset. In Oslo this is again done using the IntelliPad tool and still using the M language. Now you can compile this document, which performs schema validation, after which you can put this data into the repository – that is (for the sake of the BizTalk comparison) you can receive an xml document resembling the desired schema and disassemble it into the internal format, in this case a SQL table.

Now if you want to enter data in a format other then xml, perhaps a flatfile, you can do this. In this case you would then disassemble that format (although there is no real equivalent in Oslo for this step) and then use a map (xslt) to transform this document into the correct xml format according to the specified schema. In Oslo terms this is what is called a grammar. A grammar converts an arbitrary unicode character string into a structural format, ie xml. A grammar again is a DSL, but for a different domain, in this case a domain where you enter things in plaintext.

Now if you want to view this data in SQL in a format other then it’s raw tables, then you can use the Quadrant tool to view this data using any of a generic set of views. These views are Visual DSLs over the same data. There is really no good comparison to this for BizTalk.

You can get Oslo now if you wan’t to play around and see how this looks.

Conference, PDC, WCF

PDC Pre-Con – WCF

PDC Pre-con


Conference Tip #1: A Pre-Con is an introduction. At least the first part of the pre-con will be taking it from the beginning. Don’t be dissapointed if you feel you know all the stuff they say during the first hour or two.


Conference Tip #2: Don’t leave after the first hour or two. It will get more interesting.


WCF Pre-Con session


I’ve heard Juval Löwy of IDesign talk about WCF in the past. In fact I’ve even read his book (Programming WCF Services), now being sent to the presses for a 2nd edition. It is a comprehensive thing that gives a good introduction to WCF as well as introduces patterns and re-usable code for working with it. In a video recorded on Channel9 I’ve heard Juval say that everything should be a service. At the time I thought that sounded slightly crazy. This time the message was that the introduction of WCF is the same kind of semantic shift from .NET development as .NET was from VB or C++ and C++ was from C. Syntax is the small part, sematics is everything really. Overall what WCF gives us is a proven library of best practices and guidelines available out of the box. After an entire day he had has me convinced, of both of the points above. Now, I’m not saying that all classes should be a service and all methods a service call, but I definatly can tell you that I can see the advantages of such a situation after a full days worth of hammering it in by Juval.


It’s really all about the glue. Research has shown that as much as 95% of time is spent buidling, maintaining and troubleshooting glue code. That only leaveas 5% for doing the real stuff, the stuff that you are really getting payed for. WCF is out-of-the-box glue. All that security, transactional support, serialization, versioning etc etc that you’d want your application to have, without you having to spend any time on developing it. A sweet deal really.

Adapters, BizTalk, Download, SFTP

Blogical SFTP Adapter v1.3

I’ve updated the Blogical SFTP Adapter previously released to codeplex by Mikael to include a couple of new features that have been requested and developed for or by customers or community.




  • The abaility to leave files on the source server and rename them instead of deleting them after get.


  • The ability to give a name, not only for the temp path but for the temp file, written to the source server through a send port, to be used for example when you want to directly to the destination folder and only want it to have it’s final name once fully written.


  • The ability to after you have put a file verify that it is really the same size (bytes) as the stream delivered to the adapter by BizTalk. This can be useful when you distrust the network or the receiving server, and causes a delete of the remote file and a following retry in BizTalk should the file sizes no match.

Read more and get the Blogical SFTP Adapter here.


With the above said, we are trying our best to react to requests and suggestions for improvement as well as direct bug reports. For minor or easily adjusted feature additions or bug fixes we are happy to help you right away. For major feature requests or custom development, we will try our best to make it happen, but things might be speedier if we set up a business arrangement around that, if you have such requirements. Please feel free to contact us, though all comments and suggestions should as a first option be posted on the discussions board of the Blogical SFTP Adapter at codeplex.