Friday, February 06, 2004

XML Web Services in BizTalk 2004

Joe Klug from Microsoft, had lots of new snippets on the Web Services support in BizTalk 2004 server:

1. Publishing a Web Service
Through the BizTalk Web Services Publishing Wizard.
(i) expose an orchestration or a schema as a Web Service.
(ii) support of unknown SOAP headers.

2. Consuming a Web Service
Add Web Reference
(i) through this you can re-use and aggregate existing Web Services.

3. SOAP Headers
- SOAP Headers are supported for published and consumed web services. A known SOAP header is as defined in the WSDL, and unknown headers are sent in message but not defined in the WSDL (so BizTalk wouldn't know about them), and aren't supported when consuming a web service.

4. WSDL extension
- WSDL Extension - supports 2 SOAP extensions. You can replace the schema defined within the WSDL; this is useful since due to a limitation in the current version of ASP.NET (will be fixed in Whidbey) the generated file can produce some loss of information during the class conversion (e.g. maxOccurs and minOccurs).

5. Type-Agnostic Ports
- BizTalk 2004 allows for the creation of Type-Agnostic ports which is a port that can receive any type of XML document:-
(i) Its means that the Message type is an XML Document (System.XML.XMLDocument .NET namespace)
(ii) Such a document could also be a multi-part message type.

Here is a pattern of how you could abstract the web services layer across all your BizTalk subscriptions.

(i) You could create a dummy orchestration using this type-agnostic port which receives and sends a XML document.
(ii) You could publish it as a web service, but never actually deploy that orchestration.
(iii) You could create multiple orchestrations that subscribe to different types of message, but only have single web service receive point for multiple different message types.

6. WSE Adapter for BizTalk 2004
- Hopefully by the end of 2Q2004 (Beta in Feb/March) Microsoft will release a WSE Adapter for BizTalk 2004. This will be based on WSE 2.0, and be fully configured through policy assertions rather than code. WSE standards for Web Services Extensions, and provides a mechanism to deliver a product-grade Web Services stack that can be used across server Operating Systems and products. Since OS release-cycles occur every 3-4 years, WSE contains the latest Web Services specifications. Therefore this BizTalk adapter will piggyback on the WSE life-cycle, and will very likely become the future 'Indigo' adapter for BizTalk. There will need be some form of migration from WSE to the Indigo Message bus (can't say Indigo!)

7. SSO confusion in Sharepoint and BizTalk 2004
- Microsoft BizTalk 2004 Server and SharePoint both employ different solutions for Single-Sign On (SSO), from what is understood SharePoint will change its SSO solution to support BizTalk. It will be possible to generate BTS SSO tickets when using Web Services (SOAP headers).

Microsoft are in the process of writing a whitepaper to clarify this all, since architecturally its a bit confusing that there are different approaches to SSO, including an agreement between the two product groups going forward about supporting a 'Single' single sign-on solution (well done Microsoft - duh!)