Charles Young

  Home  |   Contact  |   Syndication    |   Login
  186 Posts | 64 Stories | 471 Comments | 373 Trackbacks

News

MVP - Microsoft Most Valuable Professional

Twitter












Article Categories

Archives

Post Categories

Image Galleries

Alternative Feeds

BizTalk Bloggers

BizTalk Sites

CEP Bloggers

CMS Bloggers

Fun

Other Bloggers

Rules Bloggers

SharePoint Bloggers

Utilities

WF Bloggers

First posted at charlesyoung.joeuser.com on 29th March 2004

Click here for the full text of this post

BizTalk 2004's XLANG/s language is syntactically reminiscent of C#, and it is natural to assume that it exhibits similar features. In fact, XLANG/s is very different to C#, providing specific support for process flow, whilst offering only a rudimentary set of features for expressing business logic.

It is not really necessary for developers to know the main constructs of XLANG/s because these are produced as a result of drawing orchestration diagrams in Visual Studio .NET. It is unlikely that many developers will wish to create orchestrations by writing XLANG/s directly in an .odx file, though this can be done if wished. Several of the orchestration shapes relate directly to XLANG/s constructs. For example, a ConstructMessage shape generates a 'construct' statement. Others output 'if' and 'while' statements or generate calls to pre-defined functions. From a practical viewpoint, it is, however, important to understand the syntactic differences between C# and XLANG/s when writing expressions.

At the time of writing (March 2004), there is no public documentation for XLANG/s. I have created an
article which provides some of this 'missing. information.   The document comes with a health warning. It is written in good faith as a result of observation and trial & error. There is no guarantee made in regard to its accuracy or completeness. I have not documented a comparison with every feature of C#, as it is fairly obvious that many features do not apply to orchestrations. For example, you cannot declare your own classes or structs within XLANG/s, and therefore you cannot overload operators or create virtual methods. I have concentrated, instead, on those features that you might expect to be able to use within expressions and message assignment shapes.

posted on Tuesday, April 13, 2004 12:00 PM