The sessions, tracks and presenters are also listed on the web site so check it out!
I have created this blog to document some of the techniques/patterns/tricks that I have come across during some of my projects.
Tuesday, October 7, 2008
Canadian Tech Days Update
The sessions, tracks and presenters are also listed on the web site so check it out!
Sunday, October 5, 2008
BizTalk Mapper: Ensuring that Node Exists before calling scripting Functoid
Below is an image of my original map. All elements are required except Operation. The Operation element is of type long and a third party system will be sending this so we don't have total control over the data types. The equivalent element on the destination message is VORNR which happens to be part of an SAP IDoc. The element on the IDoc is also optional, but if it is provided, it needs to have padded values to make it a 4 digit string. So if 220 is provided by the source system then 0220 needs to be passed to the IDoc.
Below is an image of a message sent in without the Operation element.
Exception type: OverflowExceptionSource: mscorlibTarget Site: Int64 System.IConvertible.ToInt64(System.IFormatProvider)The following is a stack trace that identifies the location where the exception occurred
So to get around this, I have added some checks in the Map to ensure that the scripting functoid is only called when the Operation element exists.
The checks come in the form of Logical Existence and Value Mapping functoids. The Logical Existence functoid will return "True" or "False" based upon whether or not the element/attribute that you connect it to exists. You then use this output to feed the Value Mapping functoid. The Value Mapping functoid requires two inputs:
- An boolean indicator that if True will output the 2nd input
- The 2nd input will be passed to the next functoid(or element) should the 1st input be true.
Wednesday, October 1, 2008
Microsoft - Dublin
- A standard host for WF/WCF applications
- Tooling and Managment for the application server
- Support for scale-out durable messaging
- Scalable monitoring and diagnostics
- Message based correlation
- Long Running applications
- Management functions via IIS Manager
Much like the BizTalk Server 2009 announcement that occurred a few weeks back, I think Microsoft wants to clear the air and provide a glimpse into what the future holds before developers make their way to PDC in LA later this month.
As much as I am a "BizTalk guy", I am very encouraged with where Microsoft is taking the Connected Systems Division. If nothing else, I feel that the WCF/WF technologies provide options for developers when implementing solutions. Microsoft has already announced their committment to BizTalk, so it is not disappearing any time soon. It should be interesting to see some of the solutions that people come up with using Dublin.
For more information regarding this annoucenemt, please visit Steve Martin's blog.
Thursday, September 25, 2008
BizTalk SAP Adapter and Extended SAP IDocs
SAP Background:
I do not confess to being an SAP expert, but this is the way that I understand IDocs. Out of the box, SAP provides lots of IDocs that relate to particular modules within SAP. These modules include Finance, HR, Plant Maintenance among many others. You can also buy separate packages that relate specifically to your industry. For instance I am in the energy industry so my organization heavily uses that ISU module. Generally organizations like to limit the amount of customization that they do to their SAP system but it is usually impossible to have no customizations.
When you want to customize one of these "out of the box" IDocs you have a couple options:
- Creating an IDoc based upon a "copy" of an original IDoc. Kinda like a copy-paste, rename scenario. The naming convention for custom Idocs is to place a 'Z' in front of the IDoc that you just customized. For instance if you were to customize the 'CONF32' (Confirmation IDoc) you would name your IDoc ZConf32.
- Extending an IDoc. You can think of this more like inheritance. You start by inheriting the "base" Idoc and adding, or extending, any segments that satisfy your needs.
My experience in the past primarily involved generating schemas for custom IDocs. So when I input the IDoc that I am looking for in the BizTalk Adapter Meta Generation wizard I would type in ZConf32* and it would return a result. The problem that I ran into is that when I typed this name as the IDoc that I was looking for, no results were returned.
At one point it was suggested by someone on our SAP team that perhaps BizTalk could not download Extended IDocs. I was not too surprised that the suggestion was made since BizTalk often mis-understood. On the flip side, BizTalk resources generally do not have a lot of SAP knowledge so I couldn't initially confirm whether BizTalk could or couldn't. However, I wasn't quite ready to throw in the towel.Microsoft has done a pretty good job of abstracting the "little" details away from us by providing wizards that allow us to generate schemas. This is definitely a value-add offering by Microsoft and a key driver in organizations using middleware like BizTalk. It allows integration projects to turn around solutions faster and cheaper.
So I started by querying with a "wider" search criteria via wild cards. What I found was that since this IDoc was extended, I needed to find the "Standard" SAP IDoc and then drill down from there to find the extension.
When I changed my query to include the "Standard" SAP Conf32 IDoc and drilled down a level I was presented with both the SAP Idoc and the version that had been extended. Since I wanted the extended version, I selected the entry called Conf32-ZConf32. The naming convention follows that of Custom IDocs in that "Z" is used to indicate that the extension is custom and not something provided out of the box.
The two preceding examples used the BizTalk Server 2006 (R1) Adapter. I was curious to see if the behaviour was similar with the WCF based SAP adapter that can be used with BizTalk Server 2006 (R2).
When searching for my Extended IDoc called ZConf32 I was presented with an "IDoc not found" message. Not the same message as the R1 error, but in essence the same meaning.
The next step I did was provide a search that included the "Standard" SAP IDoc Conf32 to see if the extended IDoc was hanging out with the original. While the experience in the Wizard is a little different, the end result is the same. The Extended IDoc is available for download by the Adapter Meta Data Generation wizard
So hopefully this post will help someone out. I know myself and a SAP resource were scratching our heads for a bit but in the end we got the result that we were looking for.
Tuesday, September 16, 2008
Another Canadian Microsoft Event - BizTalk/SOA
The Canadian Connected Systems Conference 2008
Canada’s Connected Systems Road show: Can’t make it to PDC but would like to hear more about BizTalk and how it relates to broader connected systems and SOA initiatives? Please join us at one of these locations for a day. We’ll be putting out a registration link & agenda soon but for now please note these locations/dates:
a. Vancouver – 30 October 2008
b. Toronto – 4th November 2008
c. Montréal – 6th November 2008
Overview: In a service-oriented world, effective business processes unite people and systems. Find out how BizTalk® Server builds on the Business Process Management and SOA capabilities in prior releases to help your organization extend core process management technologies even further.
We will share the latest on Microsoft’s SOA offering - as well as details of the strategies and technologies that Microsoft is delivering today, over the next year, and into the future. At this event, you will learn:
· BizTalk today and through FY’09
· Microsoft’s Roadmap for the future
· Microsoft’s “Real world” SOA vision, positioning and messaging
· Service Virtualization & ESB guidance 2.0
· RFID & mobility of BizTalk
These events will provide further insight for customers and technology partners into best practices for building SOA and BPM solutions, guidance for advancing SOA, and using the latest Microsoft-based technologies for connecting people, processes and information.Agenda
8:00 Breakfast
8:30 Connected Systems Overview
9:00 BizTalk today, over the next year & Roadmap for the future
10:00 Adapter Pack
11:00 Break
11:15 Self Service SOA
12:30 Lunch
1:30 Service Virtualization & ESB 2.0
2:30 RFID stack & Mobility
3:30 Break
3:45 Connected Systems Assessment
5:00 Reception
6:00 End
Target Audience:This event will be of value to Technical Decision Makers, Developers and Architects interested in BizTalk, enterprise integration, and SOA solutions.
To RegisterSpace is limited so register today to ensure your attendance at this event. Click the city name below to register:
Vancouver: October 30, 2008 (Thurs)
Toronto: November4, 2008 (Tues)
Montreal: November 6, 2008 (Thursday)
It is too bad that there is nothing being held in Alberta. Last year the Canadian BPM/SOA conference came to Calgary and it was a good event.
Wednesday, September 10, 2008
New Microsoft Conference Series coming to Canada - Canadian TechDays 08
The agendas are not finalized but you can expect a wide variety of topics including Windows Development, Web Development, Virtualization, Data Platform/Business Intelligence and Infrastructure. I am still hoping that we will see some Connected Systems Division content(fingers crossed).
Check http://www.techdays.ca/ for updates or come back to my blog as I will be keeping it up to date for this event as well.

Friday, September 5, 2008
BizTalk Server Roadmap - BizTalk Server 2009
To read about this and to get additional details please view the BizTalk Server Roadmap.
Overall, I like what I see from Microsoft regarding this information:
- Microsoft is clearly showing their commitment to the product and their customers
- They are "clearing" the air before PDC which should reduce some of the confusion as to how BizTalk fits into Oslo.
- I like the name change. With releases expected approx every 2 years, we won't be in the year 2011 with a product that is still branded 2006 (albeit R3).
- They are working on(not for BTS 2009) some of the areas that need refinement within BizTalk; low-latency messaging enhancements and ESB Guidance