EDI/AS2 R2 re-install error – Rahul comes to the rescue

BizTalk 2006 R2 when installing the EDI/AS2 component (or when re-installing), sometimes
there are some SSIS packages/jobs left that need to be manually deleted

My good mate Rahul has entered the world of
blogging
!!! and has blogged about
this very issue and what he did to get around it.

Well done Rahul!!!!

Also I might add upon  a reinstall of BTS 2006/R2 sometimes there
are the BAM Alerts notification service instance left over as well
 –
that typically needs to be manually removed from within the Sql Workbench.

Enjoy

Sharepoint – Cascading Drop Down Lists

Sharepoint – Cascading Drop Down Lists

Dependent Drop Downs, Cascading Drop Downs, Filtered Drop Downs.  Whatever you want to call them, this is where you have a secondary drop down list filtered based on the choice from the primary drop down list.  For example:  select a country and you get another drop down list populated with the cities in that country.


This functionality doesn’t seem to be there in WSS 3.0 and/or MOSS 2007. Perhaps I am missing something?  (It wouldn’t be the first time)  But this seems to be fundamental functionality.   Here is some more detail on the scenario:


Country List: I just want a basic drop down list of countries:


City List: I want to filter the cities based on the selected country:


I want a cascading or filtered drop down like so (select Australia, and get a list of Austrlian cities):



Select Germany and get a list of German cities: 


 

Anyway, I couldn’t find a way to do this out of the box, so…I decided to create my own custom field controls to overcome the problem.


I found a couple of useful articles on writing custom field controls.  This article describes how to create a custom drop down list user control along with a custom property page:


http://www.kcdholdings.com/blog/?p=56


I used a lot of code from this example, which has a couple of interesting points.First of all it shows how to create a custom Choice field that can be populated from any list on any site on the web farm (not just the current site). It also has an example of a way to get around the problem of saving custom properties of field controls. For some reason this is not as easy as it should be. I think this will be fixed in SP1. This article describes this problem:


http://www.sharepointblogs.com/ aaronrh/archive/2007/05.aspx


Instead of using a delimited string, I used a class to temporarily store the property values. Here is what my property pages look like for the Parent and Child drop down lists:




Anyway, after learning how to overcome the challenges of field controls in general, it was time to move on to the bigger problem of finding a way to create cascading drop downs. I figured there was hope in the “cross list query” or “caml query”:


http://msdn2.microsoft.com/en- us/library/ms467521.aspx


For example, if I want to filter a list of cities based on a country field in that list:



string caml = @“<WHERE>
                    <EQ>
                       <FIELDREF Name=”{0}” /><VALUE Type=”Text”>{1}</VALUE>
                     </EQ></WHERE>;
SPQuery query = new SPQuery();
query.Query = string.Format(caml, “Country”, “Australia”);
SPListItemCollection results = list.GetItems(query);
this.ChildDropDownList.DataSource = results.GetDataTable();
this.ChildDropDownList.DataTextField = “City”;
this.ChildDropDownList.DataValueField = “City”;
this.ChildDropDownList.DataBind();


So I have a parent drop down list that has a SelectedIndexChanged event, that I use to call a method in the child control that binds to the results of the above query.



void ParentDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
     ChildDropDownListFieldControl child = (ChildDropDownListFieldControl)
               FindControlRecursive(this.Page, “ChildDropDownList”).Parent.Parent;
     child.SetDataSource(ParentDropDownList.SelectedValue);
}


I played around with a lot of different ways to locate the Child drop down list on the page. This is the only one I got to work. (There has to be a better way?)


Anyway, I would appreciate any feedback on any better ways to do this. Here is the source code; I also have a solution file that you can use to install the controls. Just edit the install.bat and point it to the WSS or MOSS site you want to install it on.

WCF and BizTalk Messaging

WCF and BizTalk Messaging

Jesus
Rodriguez
started an interesting discussion here about the differences between WCF
Behaviors and BizTalk Server Pipelines
, focused on what the right use cases for
each one are when developing solutions on BizTalk Server 2006 R2 and the WCF adapters
included in it. I think this is a really interesting discussion, and one I’ve given
a bit of thought over the past few weeks. As Jesus correctly points out, this
discussion is also more important because of the changes that might ripple through
the product as WCF and WF permeate the underlying BizTalk architecture as they get
integrated into the core product.

Instead of explicitly talking about Behaviors Vs. Pipelines; I’d like to approach
the topic from a slightly different point of view: the messaging stacks.

In BizTalk 2006 R2, integration between WCF and BizTalk is done by talking advantage
of one of the key extensibility points in BizTalk: The adapter framework. In other
words, both WCF send and receive facilities are exposed to BizTalk (and from BizTalk)
through a set of adapters that hook the WCF model to the BizTalk Messaging Engine
(and ultimately the BizTalk Message Box).

This is obviously a simplification of sorts, but the main idea is that, for this release,
the BizTalk architecture itself didn’t suffer significant changes in order to enable
WCF connectivity. At the same time, WCF didn’t need itself any changes either; though
certainly a number
of extensions
needed to be added in order to create fully functional BizTalk our
of the core WCF binding/channels. In many ways, this is a testament of the power and
flexibility of the extensibility models for both platforms. On the other hand,
it means that both messaging stacks are almost fully present, with all the differences
and similarities they have.

What will future versions of WCF/BizTalk look like? I honestly don’t know, but one
can speculate a bit. An interesting thing that might give us some clues about what
is to come is to examine some interesting differences between the two models. While
there are many similarities, there are also some key aspects where WCF approaches
things differently from BizTalk. Here are a few:

Messages

A lot of people mistakenly think that BizTalk Server is all about XML messages and
that anything flowing through BizTalk must be XML. While it is true that XML messages
are first class citizen in BizTalk and that many aspects are modeled around XML-like
concepts, this isn’t really true.

In particular, at the messaging level, when you’re working with Adapters and Pipelines,
messages are simply streams of bytes. What those bytes contain is really irrelevant
to BizTalk; all it cares is that it can read and manipulate those streams. In fact;
it’s pretty easy at this layer to deal with purely obscure or binary data; though
obviously some components will make assumptions about what the data should look like
(example: the Xml Disassembler expects to be able to interpret the message stream
as XML text).

In WCF, on the other hand, the message concept is more closely tied to XML; however,
not to the textual XML representation, but rather to the XML InfoSet. This means that
it is still perfectly possible to deal with other kinds of data as long as there’s
a component in the WCF stack that can make it look like an XML Infoset. This can be
done either by actually translating from another representation into XML (say a database
structure to XML) or by “faking it” (such as a binary stream with fake open/close
XML tags).

In practical terms it means that, for the most part, you can accomplish the same thing
in both models; though it does mean some things get done at different layers in the
stack. For example, in BizTalk, interpreting message content is usually done fairly
up in the stack (i.e. the pipeline, unless you have an application adapter with specific
needs), meaning things like message format are only looked into until fairly late
in the game. In WCF, however, these tasks are usually done very early own, usually
at the request of the Transport Channel.

This does not mean that the transport channel author has to necessarily need to implement
things like message parsing, but it may mean that it is his/her responsibility to
ensure it gets done. For example, a transport channel will call the configured MessageEncoder
to encode/decode messages into/from the network.

Message Structure

Another interesting aspects is message structure. In BizTalk Server, messages are
not really a single entity. Instead, each message is composed of one or more “message
parts”, each one containing it’s own data stream independent of the rest, with one
of them being marked as the “body” of the message. Also, each message carries around
a property bag [1] associated to it (the Message Context), which can be used
to carry “out-of-band” data.  and that is a critical part of BizTalk’s Pub/Sub
mechanism.

Bts-Wcf-Messages

WCF messages aren’t quite structured the same way. In fact, WCF messages don’t quite
have the concept of “multi-part messages” as clear as the one in BizTalk Server (though
support for protocols like MTOM certainly make it possible) and so only really have
a single, body data stream (or really, Xml feed) associated with them. However, unlike
BizTalk, they also have two different ways to carry out of band data: Message
Headers (obvious, if you consider that the WCF model is closely tied to SOAP), and
Message Properties.

Assembling and Disassembling

Another interesting difference between BizTalk and WCF, and that Jesus already pointed
to, is the fact that, in WCF, interchanges are really one-to-one throughout the WCF
stack. That is, one message comes in, one message comes out.

This is rather different from BizTalk, in which the assembling and disassembling stages of
send and receive pipelines respectively were created explicitly with the idea
that messages might be joined or split during processing. This is why the stages are
referred to using the terms assemble/disassemble and not simply as “parsing” or “translating”.

On the receive side, this enables some really powerful mechanics for processing large
interchanges, by breaking (debatching) messages as they come in into smaller
parts that can be processed individually. Similarly, on the send side, multiple messages
can be joined into a single, larger message. Unfortunately, the latter functionality
is never used by the messaging engine (though it is accessible when calling pipelines
directly from orchestrations).

So this is one point where there’s a significant difference between the two messaging
models. Certainly, nothing would prevent a WCF transport channel from implementing
it’s own disassembling/assembling functionality, though it might be a complex job,
and likely not very reusable. It might be possible to implement it at higher levels
of the channel stack as well, but I really haven’t looked too closely into this, as,
in general, this isn’t as useful a feature in the context WCF services are normally
used (but it is a very important one in the context BizTalk is used).

Channel Shapes

BizTalk Server only really has two different Message Exchange Patterns: Either you
support exchanging messages in a single direction (one-way) or in both directions
(two-way).

WCF, however, supports 3
different
message exchange patterns (you could say the third one can also be simulated
in BizTalk). The key differentiating here, however, is that WCF creates, on top of
these three basic MEPs, a large number of different Channel Shapes, which
complement the basic interactions by separating stateless and state-aware variants.
Thus, the appearance of Session-aware channels.

It’s obvious that WCF’s model is here quite a bit more powerful than what BizTalk
offers right out of the box, though it can be argued as well that this makes the model
a lot more complex (and more confusing) for channel authors. BizTalk essentially assumes
that all interactions are stateless (i.e. the concept of session doesn’t exist); which
is partially mitigated by the powerful orchestration + correlation sets combo.

I think it will be extremely interesting to see how the concept of sessions is brought
into the main BizTalk architecture in a future version as WCF gets integrated more
deeply with the BizTalk messaging engine. It certainly adds a few new challenges to
the decoupled, highly asynchronous interaction model between BizTalk components.

Conclusion

I don’t really know what the future will bring for these two platforms, but certainly
the combination of WCF + WF + BizTalk is going to bring significant changes to the
platform. I have a few gut-feelings about what it may look like, but they don’t even
qualify as educated guesses :-).
Still, it’s going to be pretty interesting to see how it evolves.

[1] There’s also a property bag associated with each message
part
; but it is used less often and isn’t as important as the message context.

Upcoming talk at the Heartland Developer’s Conference – October 19

I’ve got an upcoming talk at the Heartland Developer’s Conference coming up in Omaha in November. If you are a developer in the Midwest, you should definitely check out this event. These guys put on a nice two day conference with some great technical content and fun atmosphere. Despite what you might think, downtown Omaha can be fun after all the technical sessions. 🙂 I love doing these smaller regional events because the people are so much fun and put so much into making sure the show is an awesome experience for the attendees.
I’ll be talking about extending the WCF runtime so come check it out if that sounds interesting.

Back from exile

It has been awhile since I last blogged. I have been away working on a very interesting project for a financial services company. The project entailed building a service broker using BizTalk 2006 (not R2) with WCF to achieve better decoupling of service consumers and service providers….(read more)

BizTalk 2006 R2 Launch – Sept 14th.

BizTalk 2006 R2 Launch – Sept 14th.

The launch has been set and I couldn’t have it better as the BizTalk World Wide launch
is based in Sydney!!! Cool.

The Event is Free and would be a great chance for you to come on
down and talk to members from the BizTalk Product Group that are
flying over.

We’ll all be there and looking forward to the event.

Remember that an upgrade path exists from 2004, 2006 and 2006 R2 B2 to the release
of BTS.

Register here – R2
Event

We’ve got a bunch of R2 sessions all lined up.

Full Agenda

8.45am – 9.15am

Registration

9.15am – 9.30am

Welcome and Opening Remarks

Martin Gregory, Director of Server, Tools and Platform Strategy, Microsoft Australia

9.30am -10.10am

KEYNOTE – Six technology trends that will shape the next decade

Don Ferguson (see
full bio), Technical Fellow, Microsoft Corporation

The question that all IT organizations need to answer is – how can we utilise our
SOA and BPM investments to have greater impact for the business? This session will
focus on the business implications of SOA and BPM, and the investments Microsoft is
making to help senior technical leaders deliver on the promise of SOA and BPM.

10.10am – 10.40am

Break

10.40am – 12.00 noon

Extending the Connected Enterprise

Oliver Sharp, General Manager, BizTalk Server, Microsoft Corporation

Every day, high-performing companies connect their internal departments, their support
networks, and their demand and supply chains. BizTalk Server 2006 R2 is the next step
in Microsoft’s long-term commitment to deliver the connected enterprise. In this session
we will introduce new capabilites for enhanced visibility at the edge of the enterprise.

12.00pm – 1.00pm

Lunch

TRACKS

Healthcare/Public Sector

Supply Chain

Financial Services

1.00pm – 2.15pm

Health Information Networks – the Health Connect Engine

Werner Van Huffel, Health and Human Services Industry Strategist, Microsoft APAC

Many countries around the world are tackling the issues of providing better care,
more cost effective services and catering for the ever expanding requirements and
information that care provision demands of their people and infrastructure. The effective
use of Technology has been seen as a way in which assistance can be provided to the
environment to address the issues of delivering healthcare within the inherited constraints.
A major part of this technological ability lies within the features inherent within
the software that drives the technology. Health Information Networks are the technological
presentation of the management, interoperability and integration of healthcare data
between various systems, people and policy interactions – a drive to deliver knowledge
through the healthcare information infrastructure. The Microsoft vision for healthcare
information technology, Knowledge Driven Health, is driven through the use of the
Connected Health Framework – a vendor agnostic set of Architecture, Blueprint and
Design documents. This session will focus on this.

The World is Flat: Using Technology to achieve and maintain supply chain advantage
in the global marketplace


Steven Martin, Director, Connected Systems Division, Microsoft Corporation

As the face of the global economy continues to change, companies are under increasing
pressure to leverage federated supply chains – both within their organizations and
across the globe. And the rate of change makes agility a distinct competitive advantage.
BizTalk Server and BizTalk Services can help you not only connect supply chain management
systems within federated operating environments – driving real time visibility and
operating efficiencies – but also achieve a degree of business agility that can keep
you ahead of your competition. We’ll discuss how both Microsoft and our customers
are using technology to streamline operations, manage federated environments, and
drive business results.

SWIFTNet Funds & Payments using the BizTalk SWIFT Accelerator
James Bibby Business Manager, Sales Services S.W.I.F.T. Services Australia
Pty Ltd.

This session demonstrates the BizTalk SWIFT Accelerator to provide the most comprehensive,
reliable and secure delivery of financial messaging for customers in banking, capital
markets, payments and corporate finance.

2.15pm – 3.25pm

Shared Services between Government agencies using BizTalk

Christine Axton, Solutions Architect, Public Sector, Microsoft Australia

Federal and State governments are all working towards improving outcomes, value and
efficiency to their customers through the implementation of shared services. Super
clusters and consolidation all have a heavy requirement to provide process integration.
This session explains how the Microsoft process platform, BizTalk being the central
component – enables government to achieve this process transformation.

Orchestrating the real-time enterprise from plant to business with BizTalk
RFID


Anush Kumar, Snr Product Manager, BizTalk RFID, Microsoft Corporation (30 mins)
Phill Kenny, Managing Director, Bryn Systems (30mins)

Ready to unleash the potential of RFID information and enable a new class of solutions
that leverage the power of physical world data to drive real time competitive advantage?
In the upcoming release of BizTalk Server R2 Microsoft is shipping an innovative device
management and event processing platform at the edge of the enterprise, designed to
provide a scalable, extensible platform for development, deployment, and management
of rich RFID and sensor solutions. Core components include a device abstraction framework
and robust set of tools that enable customers and partners to build .NET based RFID
and sensor applications, enabling businesses to drive efficiencies in real time via
native integration of RFID data with the BPM capabilities of BizTalk Server. Hear
from local partner, Bryn Systems, regarding implementations of R2 at Boeing and Chep.

Integration-centric implementation of BPM in Financial Services

Craig van Zeyl, CEO and Founder, Dataract Pty Ltd

With the inclusion of BizTalk in the Microsoft BPM stack it is now possible to integrate
all facets of enterprise process management. The Microsoft BPM stack is the only stack
that effectively integrates system to system, system to human and human to human business
processes. Add to that the document management capabilities of the Microsoft stack
which are key to incorporating unstructured documents, messages and images into your
BPM initiative and we now have the world’s most comprehensive BPM platform.

3.25pm – 3.55pm

Break

3.55pm – 5.10pm

The Microsoft Customer Care Framework – an integrated customer service desktop
powered by BizTalk


Lawrence Crumpton
Regional Specialist, Microsoft Customer Care Framework

The Microsoft Customer Care Framework (CCF) provides a single view of the numerous
processes, applications, and systems that agents and self-service channels are required
to access in order to resolve customer issues and offer increased customer satisfaction.
This session will walk you through a variety of scenarios on how CCF can “Aggregate,
Automate, and Accelerate” your plans to streamline your customer care operations and
add value to your business.

Managing high volume transactions using B2B in the manufacturing and retail
sectors


Ian Lister, General Manager, GXS Australia; Miguel Herrera, Web & E-Commerce Technical
Lead, Visy (30mins)

In our increasingly federated world, businesses rely on partners and supply chains
for their daily operations. BizTalk Server 2006 R2 provides a very cost effective
and powerful B2B integration platform allowing enterprises to automate electronic
transactions with their trading partners. See the GXS Trading Grid for Microsoft BizTalk
in action with local customers such as Visy.

ASB – One Step Ahead with BizTalk Server R2

Robert Maher – Strategy and Architecture; Chris Robb – Practice Manager, ASB Bank,
NZ

ASB has a long history of innovation. As one of New Zealand’s leading financial services
providers ASB was selected by the Government to provide a default scheme for the new
retirement savings initiative – KiwiSaver. The KiwiSaver project involves real time
B2B integration with the government using the AS2 messaging protocol. This session
will explain how ASB utilised nearly every new feature in BizTalk R2 to develop the
KiwiSaver platform.

Keeping the Lights On: Managing mission critical processes in Australia’s
National Electricity Market using Microsoft BizTalk Server


Tony Barnes, Managing Director, Utilisoft (30 mins)

The de-regulation of global energy markets has given consumers and businesses freedom
to choose who supplies their electricity and gas and has led to radical reform of
energy markets. Innovative new products and services are being now being delivered
by energy retailers including Green and Renewable Energy products, driven by customer
demand. Technological innovations such as Smart Metering, environmental concerns about
global warming and carbon trading programmes continue to drive further substantial
change in this industry as an unprecedented rate. Utilisoft has developed a market-leading
software application in Microsoft BizTalk Server which manages the complex and highly
regulated B2B data flow interactions between retailers, networks and meter data collectors
which are mandatory for participation in Australia’s giant National Electricity Market.
Utilisoft will discuss how they deliver high-volume, mission critical information
systems which manage key energy market processes and underpin market participation.

5.10pm – 6.10pm

Launch Reception Drinks

Back to Main
page