biztalk247.com(BETA) new content.

I need to thank everyone who visited biztalk247.com on the lauch day and also people who posted the information in their blogs, I got few emails and comments regarding the site, that’s really great and encouraging. The site is all about community content, so I request you to send me details if you feel it should be there on biztalk247.com to help new comers and advanced users.

A guy with same name as mine ( 🙂 )left a comment in the blog yesterday saying “Pro Biztalk 2006” book detail is missing in the book section. I added it this morning. Thanks Saravanan for pointing this out.

If you let me know missing content. I’ll add it within 24hours. That’s a promise.

Unrelated topic: I watched this video this morning, very intersting “A hour with Bill Gates”, where he talks about everything Vista, Xbox, Zune, Google, Virtual Earth, IP TV etc, etc. 

Nandri!

Saravana

Did you know? (you can do XML debatching without custom pipeline)

Most people think that it is necessary to use a custom pipeline to debatch an XML file, where you use a custom XML disassembler pipeline component to specify the Envelop schema and Document schema.

Well, actually it is not! You can even use the default XMLReceive pipeline for debatching as long as:

1. Have created and deployed an envelope schema (Set the Body XPath property of the root node to the appropriate record in the envelope schema)
2. You have created and deployed the document schema
3. Message you are receiving is an instance of the envelope schema
4. Make sure that the namespace and root node name of the document schema aligns with the MessageType of the debatched message (you may have to set the 'Element FormDefault' property of the Envelope schema to 'Qualified')

All of the above are something that you will anyway make sure even when using a custom pipeline, so nothing new.

Ofcourse you will not be able to do things like enabling 'Recoverable interchange processing' or validate document structure which a custom XML disassembler.

Benny Mathew
Seamless Integrations
BizTalk Consulting, Development, Training
Bangalore, India
http://www.seamless.in
http://GeeksWithBlogs.net/benny

Counting the days… 26 work days, 3 keynotes, 3 presentations and 1 external conference.

I just planned my time for the rest of Feb and March and I am overwhelmed by how much work I have left to do. But there is light at the end of the tunnel, on the 24th of March I am flying my family to Europe for a month long holiday!


I am going to be blogging infrequently over the coming weeks sorry about that!


The good news is that I have a bunch of stuff to share with you today!


1. Please if you are not already booked to attend the March Technical Briefing Events in Auckland, Wellington and Christchurch book yourself a ticket today – www.microsoft.co.nz/techbrief. The events cost $199 plus GST and all attendees will receive a complimentary copy of Windows Vista Ultimate or Office Professional 2007! (conditions apply). 


This event is going to be a bit different to what we have done before and I’m excited by the “Real World” scenarios we are building into the development track that if successful may be adopted by Microsoft worldwide!… That’s all I’m saying for now but come along as there is no fabrikam here 😉


Also since Nathan, Darryl and myself have been charged with the keynote we are going to try and make it not suck (but we need your help). Create a 15-30 second video showcasing Windows Vista… you become part of the keynote and win some cool prizes. See http://www.geekzone.co.nz/vistavideo for details. Looking at the couple that have already been submitted don’t rule out using humor and you could always try something like this… if 30 secs isn’t long enough submit a series… get innovative… get funny… get going 🙂


Thinking of partners that you might like to see in the keynote, are you interested in seeing Right Hemisphere present? I mentioned a few times that I was working with them and their Vista support, they were even covered in the Campbell Live piece at launch.


2. The other conference I’m speaking at is this Emerging Web Technologies & Trends conference in Auckland. I didn’t choose the title or the abstract so any feedback on what I should include in this presentation will also be greatly appreciated 🙂


3. On that note we have recently released MIX University as a place for you to learn more about some of the web and user experience technologies that I have been discussing on this blog… take a look here to get yourself up to speed.


If you want more check out this growing list of WPF applications in the wild and try this incredible 3D WPF visualisation of molecular structures, learn more here.


Hope to see you at an event in March!

Sogeti and Software Architects

As you likely know if you read this blog, I’m employed by Sogeti as

a Principal Consultant. I’m part of the Microsoft Practice and focus on BizTalk

and overall “Connected Systems” architecture. Living in the Dallas area, the

name I most often here after “BizTalk” from a clients mouth is “SARK”.

“SARK” or Software Architects as they are properly

named is a 500+ employee consulting firm with a large Dallas area contingent.

They have alot of BizTalk brain-trust working for them. I’ve worked with some

of their consultants for a short time at CitiFinancial Auto when I was an independent

and was impressed. I’ve said before that if I ever were to leave Sogeti that

SARK would be high on my list of companie’s I’d like to work for.

Well I was thrilled the other day to hear the announcement that

Sogeti has purchased Software Architects! This is nothing but incredible for

everyone involved, it brings the Microsoft Practice in Texas alone to over 300 consultants.

I’m thrilled to have the guys I know from SARK join the Sogeti family.

So Mike, Jonathan,

and Ben welcome!

XLANG/s is not C# (Dos and Don’t / Difference between XLANG/s and C#)

It is normal to find people who are new to BizTalk, writing expressions just like they do in C# programming language, well this works most of the time, it is when it doesn't work that you start wondering what is wrong, and end up wasting a lot of time figuring out the problem and some more time finding the solution.

BizTalk uses a language called XLANG/s which is suitable for expressing the process flow (Just like BPEL) and resembles C# syntax when writing expressions, but it is not C# you are using there.

One does not usually get to learn the complete XLANG/s syntax as we construct the orchestration visually by dropping and configuring shapes on to the orchestration surface. You can however see the XLANG/s if you open the orchestration in a text editor like Notepad.

Here is a nice blog post by Charles Young mentioning list of things that are supported in BizTalk.
http://geekswithblogs.net/cyoung/articles/3820.aspx

Benny Mathew
Seamless Integrations
BizTalk Consulting, Development, Training
Bangalore, India
Cell: +91-9945602604 / Office: +91-80-41676177
http://www.seamless.in
http://GeeksWithBlogs.net/benny

BizTalk: Architectural Tips: "Shallow-copy schema"

 

Shallow-copy schema is compounded from namespace+root + <any> at most nodes + copies of the significant nodes .

 

I use the Shallow-copy schema for reference to the complicated Schema, when I don’t want the changes in this original schema would influence to the referencing project.





Case 1:
Project A has the complicated schemas. The project B has a reference to these schemas (to the first project).
We expect these schemas could be changed. We won’t change the project B. We expect the changes in the project A do not important for the project B.

 

Case 2:
Outside our domain are the complicated schemas. Our project has to work with these schemas. We don’t care of the most nodes of those schemas. We work only with small bunch of the nodes. Other nodes pass through our application without any changes.

 

Case 3:
Outside our domain are the complicated schemas. Our project has to work with these schemas. We don’t care of the most nodes of those schemas. We work only with small bunch of the nodes. We sure only about the formats of those nodes. Data from other nodes frequently brake up the schema structure.

 





Decision:
We do not reference the schemas from the project A, but create the “Shallow-copy schema”. It copies from the complicated schema of the project A only the namespaces, root node, and nodes significant for the project B.
Other parts of the schema which we don’t care we change to the <any> node/es.

 

Result:
Only changes in the significant nodes force us to changes in the Shallow-copy schema.





Pros:


  • Most of the changes in the original schema in project A do not influence to the project B.
  • In the project B we really do not reference the “insignificant parts” of the original schema. It’s like a “logical separation” of these projects.

 

Cons:


  • We have to manually create those Shallow-copy schema. [It is one time job.
    This job is easy because this Shallow-copy schema is simple.]
  • We have to manually change the Shallow-copy schema if changes in the original schema touch the nodes in the Shallow-copy schema.
  • The original and Shallow-copy schemas cannot be deployed simultaneously to one BizTalk managing database. This is the most important limit of this
    method!

 


I would realy appreciate your response!!!


 

Integration Masterclass Redelivery


Microsoft Consulting Services in The Netherlands has developed a great integration masterclass, in which integration specialists compare Microsoft integration technologies and deliver real-world field experience in BizTalk Server implementations including best practices, tips and tricks. Check out the webpage at http://www.microsoft.com/netherlands/evenementen/integration.aspx for more information (Dutch content).

BizTalk: Architectural Tips: "Shallow-copy schema"

Shallow-copy schema is compounded from namespace+root + <any> at most nodes + copies of the significant nodes .
I use the Shallow-copy schema for reference to the complicated Schema, when I don't want the changes in this original schema would influence to the referencing project.

Case 1:
Project A has the complicated schemas. The project B has a reference to these schemas (to the first project).
We expect these schemas could be changed. We won't change the project B. We expect the changes in the project A do not important for the project B.
Case 2:
Outside our domain are the complicated schemas. Our project has to work with these schemas. We don't care of the most nodes of those schemas. We work only with small bunch of the nodes. Other nodes pass through our application without any changes.
Case 3:
Outside our domain are the complicated schemas. Our project has to work with these schemas. We don't care of the most nodes of those schemas. We work only with small bunch of the nodes. We sure only about the formats of those nodes. Data from other nodes frequently brake up the schema structure.

Decision:
We do not reference the schemas from the project A, but create the "Shallow-copy schema". It copies from the complicated schema of the project A only the namespaces, root node, and nodes significant for the project B.
Other parts of the schema which we don't care we change to the <any> node/es.

Result:
Only changes in the significant nodes force us to changes in the Shallow-copy schema.

  • Pros:
    Most of the changes in the original schema in project A do not influence to the project B.
  • In the project B we really do not reference the "insignificant parts" of the original schema. It's like a "logical separation" of these projects.
  • Cons:
    We have to manually create those Shallow-copy schema. [It is one time job.
    This job is easy because this Shallow-copy schema is simple.]
  • We have to manually change the Shallow-copy schema if changes in the original schema touch the nodes in the Shallow-copy schema.
  • The original and Shallow-copy schemas cannot be deployed simultaneously to one BizTalk managing database. This is the most important limit of this
    method!
I would realy appretiate your response!!!
 

BizTalk Cross Referencing Funcionality

Draftingfrom Tom’s explaination on Cross Referencing, I wanted to step you through how I was able to use the functionality that is built into BizTalk and save myself a lot of coding.

Scenario: Take original filename of an 837 transaction, look up the actual pickup date based on the filenamefrom a table and place it in the encounter staging table for every row that represented a claim.

Issues: HIPAA accelerator does not retain file name

There is no place in the data that I can use to pull the recieved date from within the data content. Only context data, and even at that I have to refer to issue point 1.

Oh, ya, these 837s were all custom 837 messages coming in.

I created a process that picks up the EDI file and starts an orchestration where it extracts the ISA05, ISA06, ISA13, and GS02 using a flat file pipeline (Iwill explain how I do that sometime)so I can retrieve the filename from the context of the message. Having that, I call a seperate orchestration that takes the enveloping information and filename and looks up the file recieved date. Once I had that file received date, I really did not need to know the filename anymore, I had the enveloping information in the file, I had the received date, now all I needed to do was store it and retrieve it.

The first thing I did was set up the necessary XML documents to setup the XRef tabes in the BizTalkMgmtDb. They are as follows:

ListofAppType.xml

ListofAppInstance.xml

ListOfIDXref.xml

Since I am not going to ‘preload’ the data into the database, it is going to be built on the fly, I did not create theListOfIDXRefData.xml.

Now to the exciting part. In order to insert this information into the tables, we need somehow to actually load it. Oddly enough there is a executable in the BizTalk folder that will do just that: BTSXRefImport.exe

Tom has this really nifty (is that a kosher word?) batch file that will load the data, but I need to learn to crawl before I start running with this.

So how does the BTSXRefImport.exe import the data and set up the relationships between these three (four in Toms case) xml files? There needs to be a setup file that is called as an argument. Here is the setup xml file I used and in the comments, you can see how it is supposed to be invoked c:\>btsxrefimport -file=setupfile.xml

Now I need to write the data to the XRef table in an orchestration, right after Iget the response from thestored procedure. The first thing I need to do is in this orchestration, I need to add a reference to the Microsoft.BizTalk.CrossReferencing.dll (located in the BizTalk install folder).I need to create my unique key, I do that by concatonating the ISA05,06,13, and GS02 together and then putting the string version of the date as the second argument. My logic is as follows:

So now I have the data in the XRef table, now all I need to do is extract it in the map.

And the arguments to the Get Common ID functoid are as follows:

So to resolve the issues, when the file is originally picked up, I go and extract the envloping information, look up the recieved date and store those two bits(enveloping information andfile pickup date)of information and then send it to the HIPAA accelerator.

Once the HIPAA accelerator deserilizes it to its custom 837 schema, I have seperate maps for each providerthatmaps itinto the standard schema, and then there is the final 837 to encounter map that I then use the Get Common ID value and by concatonating the envelope fields together, I can get the recieved date and put it in the staging table directly.

Paul Reynolds and the Gadget Show

Paul Reynolds and the Gadget Show

I flew back into NZ on Tuesday morning suffering badly from food poisoning, it hit me just after I lay down to sleep on the flight home. I don’t know where I got it from but it really hit me for 6 I am only just now recovering! I chose to stay home Tuesday and did not attend an “Adobe Tricks of the Trade Workshop” that I was planning to go to in Auckland that morning.


My wife was watching breakfast and she saw a piece come up on gadgets so she swiftly hit record on the remote so that I could watch it later in the day.



I have had many conversations with Paul Reynolds and I find him a very insightful and engaing person. In December last year I organised a meeting with him where I introduced him to some key Microsoft guys from the US. Paul left his mark on them with his profound knowledge of folksonomies and his ambitious project “The Fitch” which is a web based, library desk-top tool which gives libraians a chance to take the deep seeded knowledge of community and reference infomation that exists mostly in their heads and capture it in an electronic forum that can be shared broadly to gain a snapshot of a community consciousness outside of the media or on blogs that catch that sort of localised information today (phew… is that close Paul?).


In the video it is funny to hear the widget v gadget (mac fanboy) comment… “The Mac guys will tell you that we’ve had our version of this for sometime…”, Paul Henry’s stereotypical response “Mac have everything first and PC make money out of it!”


For those of you not up with the play…


This battle started back in 1981 with Desk Ornaments with the original Macintosh



Longhorn build 3683 (build date of September 23, 2002) was leaked on October 20, 2002, and was the first Longhorn build leaked to the Internet.



A new “Sidebar” was also present, which contained many of the gadgets that would much later be seen in Windows Sidebar, such as an analog clock, slide show, and search capability.

Konfabulator came on the scene February 10, 2003.


There was an argument between apple and konfabulator about who innovated first.


Then Apple accused Microsoft of copying them in their advertising smear campaign of 2005. As an aside it is great to see this week that the Mac ads have finally made it to TV in NZ… this must have been provoked by all those new Vista PC sales in the market 😉


I have enjoyed working with the TVNZ, NZ Herald, Shift and ASB gadget developers and yes Paul, Trade Me is thinking about writing one as well. As a side note – Rowan (Trade Me) commented on the Anderson Switch and I think that idea comes into play here as well.


Not wanting to come of sounding too arrogant I like this (unprovoked) quote from Maitland in an article due out in the National Business Review this month…. “What Apple did for postcasting and YouTube did for online video, Vista will do for Gadgets times 1000.


I’m not sure this is exactly true and we do have a way to go with tooling support but the best part is that you can pull down anyones gadget just like a webpage and change the .gadget extension to .zip and see how it was written with html css and jscript.


If you are running Vista check out http://gallery.live.com if you are not check out a screen cast I did for the launch here. For an up to date list of some of the NZ gadgets being created check out http://www.microsoft.co.nz/gadgets.


P.S. Just reading Paul’s blog post on Foo… caught this comment “First, software; lots of open source conversations, some of which didn’t so much pass me by, as occur in a different time/space continuum.”


Like myself Paul’s company develops on Windows and .NET and he was one of the few running Vista at Foo.


I missed a lot of the follow on from foo as I was in Seattle last week but I did catch this piece of the Chris DiBona roadshow. All I can say is thanks for teaching me warewolf Chris 🙂



But just so we don’t close one down here is another asb business video for you all 😉