BizUnit Extensions – R1 RTM and Roadmap

BizUnit Extensions – R1 RTM and Roadmap

Hey everyone, Couple of things to note on the BizUnitExtensions project

(1) V2006 R1: RTM release has now been made available with a minor bug fix to RC1 to remove some extra tags generated by SourceSafeBindingRemover.

(2) The wiki for the project has undergone quite a large structural revision and the suggestions for the roadmap have been published. The roadmap can be found at
http://www.codeplex.com/bizunitextensions/Wiki/View.aspx?title=Roadmap%20Suggestions
If you are using BizUnit or considering using it i would urge you to visit the page and send us your feedback and tell us which points in the list most interest you or if there are other enhancemenets we could be building that we havent considered.

More documentation (and some tutorials) are soon to follow.

BizUnit Extensions – R1 RTM and Roadmap

BizUnit Extensions – R1 RTM and Roadmap

Hey everyone, Couple of things to note on the BizUnitExtensions project

(1) V2006 R1: RTM release has now been made available with a minor bug fix to RC1 to remove some extra tags generated by SourceSafeBindingRemover.

(2) The wiki for the project has undergone quite a large structural revision and the suggestions for the roadmap have been published. The roadmap can be found at
http://www.codeplex.com/bizunitextensions/Wiki/View.aspx?title=Roadmap%20Suggestions
If you are using BizUnit or considering using it i would urge you to visit the page and send us your feedback and tell us which points in the list most interest you or if there are other enhancemenets we could be building that we havent considered.

More documentation (and some tutorials) are soon to follow.

SmartPart for SharePoint – ASP.NET AJAX Support

SmartPart for SharePoint – ASP.NET AJAX Support

There has been a lot of buzz around SharePoint support for ASP.NET AJAX the last couple of days, resulting in some nice posts, even from the Microsoft guys. If you are new to the topic; some required reading:

  • Integrating ASP.NET AJAX with SharePoint (by Mike Ammerlaan)
    Mike clearly described what you need to do to get the ASP.NET AJAX extensions working in a SharePoint site. First install the extensions (of course), then make some changes to the web.config of the SharePoint site.
  • AjaxBasePart: Easy ASP.NET 2.0 AJAX Extensions 1.0 and Office SharePoint Server 2007 (by Eric Schoonover)
    Eric describes how you can make use of ASP.NET AJAX in a SharePoint web part, he posts code for his implementation of a base web part class that supports AJAX. The nice thing about this base web part class is that it dynamically adds the AJAX ScriptManager control to the class (required for the AJAX stuff).

Yesterday evening (very late 🙂 ) I’ve created a version of the SmartPart that makes use of the Eric’s technique, let me introduce you the SmartPart with AJAX! So basically said: you can create a Web User Control (ASCX) with the Visual Studio Designer, that uses the ASP.NET AJAX extensions and run that user control as a SharePoint web part. At this point in time, it’s still a beta version, you can get it from the GotDotNet workspace (releases section). How do you get started? First of all you need to download and install the ASP.NET AJAX Extensions. Next you need to extend your SharePoint site with these extensions, check Mike’s post for detailed instructions. You only need to change the web.config, you don’t need to add the ScriptManager to the master page! Now you can install the SmartPart (check the Installation guide, or this screencast).

Now you can start building ASP.NET AJAX style user controls and use them in SharePoint! The beta version of the SmartPart ships with a couple of examples, but I’ve recorded a small screencast (no sound yet) as well, you just need to see AJAX in action, screenshots don’t give you an idea about how the web parts behave without postbacks. Just watch the demos and see how easy it is! 🙂

To finish of I would like to thank two persons who helped me with this release of the SmartPart. First of all Eric Schoonover for posting the code for his AjaxBasePart and for the support via Messenger. 🙂 Secondly I’d like to thank my friend and colleague Kevin DeRudder (still no blog?) who introduced me to the wonderful world of AJAX and helped me a lot with the demos.

Here’s a screenshot of the Calendar control from the ASP.NET AJAX Control Toolkit, hosted in a SmartPart on a WSSv3 site:

 

Technorati tags: sharepoint, wss, moss, smartpart, web parts, ajax, asp.net
Peeping Inside BizTalk

Peeping Inside BizTalk

Developers can easily develop Interfaces using BizTalk. On the Stage the BizTalk Show looks cool but have you thought about who writes the Scripts in background. Its only Drag and Drop for developers and once the solution is Deployed it up to be tested. At times one must have thought what happens when I drop a message, where it goes and how the whole mechanism works. Just go through the artifacts below .its worth having a look and I bet you would say.”Hey I dint knew this at all”.


Message


1.      Information about the promoted properties is extracted and stored in the bts_documentSpec table in the Management database.


2.      Items that are marked with PropertyField annotations in your message schema will lead to the pipeline disassembler putting a Promoted property in the context. Items that are marked with DistinguishedField annotations in your message schema will lead to the pipeline disassembler putting a Written property into the context.


3.      One of the benefits of promoted properties is that the value of the element that is promoted is available in the context of the message. This means that retrieving that value is inexpensive, as it does not require loading the message into memory to execute an XPath statement on the message. Instead, a simple property bag can be used along with a key to get the value.



Suscriptions:-Instance, Activation


1.      An activation subscription is one specifying that a message that fulfills the subscription should activate, or create, a new instance of the subscriber when it is received. Examples of things that create activation subscriptions include send ports with filters or send ports that are bound to orchestrations, and orchestration receive shapes that have their Activate property set to true. An instance subscription indicates that messages that fulfill the subscription should be routed to an already-running instance of the subscriber. Examples of things that create instance subscriptions are orchestrations with correlated receives and request/response-style receive ports waiting  for a response from BizTalk Server.
 
2.      The difference between the two types of subscription at the information level is that an instance subscription includes the unique instance ID, stored in the subscription table in the master MessageBox database. When an  orchestration instance or receive port completes processing, instance subscriptions are removed from the MessageBox while activation subscriptions remain active as long as the orchestration or send port is enlisted.

ReceiveSubscription


Picture above shows what Biztalk actually does when a message comes in or is going out.We dont see it in Biztalk architecture diagram.



What Adapter does with the Message


1.      The adapter creates a message (an implementation of the Microsoft.BizTalk.Message.Interop.IBaseMessage interface), adds a part to it (an implementation of the Microsoft.BizTalk.Message.Interop.IBasePart interface), and provides the  stream of data as the part content, the adapter writes and promotes into the message context properties related to the location, adapter type, and others related to the adapter. After the message and its context have been created, the adapter passes the message to the Endpoint Manager. The message is then processed through the receive pipeline, which has been configured for the receive location. After the message has been processed by the pipeline, a map may  be used to transform the message into the format desired before the Endpoint Manager publishes the message with the  Message Agent.
 


Out of Memory Problems: Why?


1.      Routing only If BizTalk Server is only used only for routing messages based upon promoted message properties, then  the message is streamed into the Messagebox database using the .NET XmlReader interface, and message parts are not  individually loaded into memory. In this scenario, out of memory errors are not an issue and the primary  consideration is the amount of time that is required to write very large messages (over 100 MB) into the Messagebox  database.The BizTalk Server development team has successfully tested the processing of messages up to 1 GB in size   when performing routing only.



2.       Mapping Transforming a document with a map is a memory-intensive operation. When a document is transformed by a map, BizTalk Server passes the message stream to the .Net XslTransform class, which then loads the document into a .NET  XPathDocument object for processing. Loading the document into the .NET XPathDocument can potentially expand the original file size in memory by a factor of 10 or more. This expansion may be more pronounced when mapping flat files because flat files must be parsed into XML before they can be transformed.



Solution:-


1.       Adjust the message size threshold above which documents are buffered to the file system during mapping. To modify the size threshold, create a DWORD value named TransformThreshold at the following location in the BizTalk Server  registry:


        HKLM\Software\Microsoft\BizTalk Server\3.0\Administration\TransformThreshold


        After you have created this value, enter a decimal value with the number of bytes to set the new threshold to. For  example, enter a decimal value of 2097152 to increase the message size threshold to 2 MB (from the default of 1 MB). Increase this value on systems with a large amount of available memory to improve throughput. Buffering documents to disk conserves memory at a slight cost to overall throughput.

All Inputs above are Courtesy to Microsoft.


 


 


NISHIL is online…Click to Chat right now!

 










    Join BiztalkMumbai    
 MSN Groups

SQL Adapter and Debatching. Beware when you process a message that contains consecutive empty elements, debatching will fail.

For how to configure SQL Adapter and Debatching see the article writtin by Richard Seroter

This problem occurs when you process a message that uses a document structure that resembles the following.

<DDLService xmlns=”http://www.digitaldeposit.net/schemas/SQL”>

<CustomerActivationMessages AccountNumber=”12345” DDLServiceType=”ORDERRESPONSE” DDLServiceName=”ORDERRESPONSE” CompanyName=”XYZ” CountryCode=”GB” />

<CustomerActivationMessages AccountNumber=”98765” DDLServiceType=”ORDERRESPONSE” DDLServiceName=”ORDERRESPONSE” CompanyName=”ABC” CountryCode=”GB” />

</DDLService >

Envelope Schema: DDLService

Document Schema: CustomerActivationMessages

In our solution, SQL Adapter submits the above message via XmlReceive (used for debatching) pipeline into Biztalk. As soon as the SQL adapter polling starts we started to see the following exception message:

There was a failure executing the receive pipeline: “Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “Pipeline ” Receive Port: “Receive.Internal.SQL.1Way.AllPollingService.ActivationMessages” URI: “SQL://SERVER/SchOrderPolling/ORDERRESPONSE/ORDERRESPONSE/902971” Reason: Unexpected event (“document_start”) in state “processing_empty_document“.

Little bit of search revealed its a known issue with Biztalk 2006 (See the KB Article http://support.microsoft.com/kb/927741) and it applies to any message which contains consecutive empty elements as shown in the beginning of the article. If you notice the message carefully, you can see there is only root element with few attributes and no content element(s).

You got few options to resolve this problem, if you are flexible with the schemas you can add ELEMENTS along with FOR XML AUTO in your SQL Query as shown below

FOR XML AUTO, ELEMENTS

which will result in following xml

<DDLService xmlns=”http://www.digitaldeposit.net/schemas/SQL”>

<CustomerActivationMessages>
<AccountNumber>12345</AccountNumber>
<DDLServiceType>ORDERRESPONSE</DDLServiceType>
<DDLServiceName>ORDERRESPONSE</DDLServiceName>
<CompanyName>XYZ</CompanyName>
<CountryCode>GB</CountryCode>
</CustomerActivationMessages>

<CustomerActivationMessages>
<AccountNumber>98765</AccountNumber>
<DDLServiceType>ORDERRESPONSE</DDLServiceType>
<DDLServiceName>ORDERRESPONSE</DDLServiceName>
<CompanyName>ABC</CompanyName>
<CountryCode>GB</CountryCode>
</CustomerActivationMessages>

</DDLService >

or, there is a hot fix available from Microsoft at http://support.microsoft.com/kb/927741.

Nandri!

Saravana

Professional BizTalk Server 2006: Review Complete!

I’ve been dying to provide an update on the book for some weeks but I thought it best not to keep drip feeding small progress steps, as of today (21st February) the author review (AR) process is now complete and the book is off for copyediting which ultimately means a series of PDFs are created for each chapter which we do a last “visual” check on before publishing starts!


We’re up against the wire but April seems to be the likely “in-store” date, I’ll let you know when this firms up so get your pre-orders in! 


I’m amazed at the level of excitement there seems to be out there, it doesn’t go a day without somebody internally to Microsoft or externally asking for an update and that they’re looking forward to it – I’m honoured!   I’m also heavily encouraged by the comments coming back from reviewers, Yossi has posted a great blog posting about the book and did some fantastic reviewing along with Jon Fancey who’s done a great job at reviewing and highlighting extra content.  A big Thank You to all the other reviewers!


The review process has been extremly time consuming largely down to me writing yet more pages of content when I should have been reviewing, ahh the joys of being a perfectionist. 


From reading Kevin’s (Pipelines, Testing and Low Latency) and Ewan’s (Administration) chapters I was struck at just how much stuff I learnt – which is a good thing 🙂   I now even know how the database backup and log shipping stuff works which I just hadn’t really bothered in all honestly to look at before!   One of the best decisions I made was to bring extra authors on to ensure we had the best people covering the right stuff.


Whilst we’re a few months later than I was hoping I’m pleased we’ve taken the extra time to make doubly sure the book contains everything we set out to cover and is as accurate as possible.  The front cover hasn’t been updated on Amazon yet but should reflect both Kevin and Ewan shortly, it was a bit lonely with just me!


Amazon.com list the book here
Amazon.co.uk list the book here


I will post another update once it goes to the printers…


Thanks again everyone for your support!

Excel Services Data Connection Error

Excel Services Data Connection Error

I kept getting this error when setting up a demo with Excel Web Services in MOSS 2007 with the Adventure Works OLAP sample cubes.


Data Refresh Failed
Unable to retrieve external data for the following connections: [Date source name]


The data source may be unreachable, may not be responding, or has denied access. The workbook location may also prevent data refresh.


I was finally able to get it to work, but it was a bit of a hack.  While creating the data connection, specify the connection type as None and specify the credentials in Shared Services -> Excel Settings, and specify an Unattended Service Account that has permissions to the cubes.


Otherwise it tries to delegate credentials from IIS to Analysis Services to SQL and it doesn’t work.  There is probably a better way, but I haven’t found it yet.

Professional BizTalk Server 2006: Review Complete!

I’ve been dying to provide an update on the book for some weeks but I thought it best not to keep drip feeding small progress steps, as of today (21st February) the author review (AR) process is now complete and the book is off for copyediting which ultimately means a series of PDFs are created for each chapter which we do a last “visual” check on before publishing starts!


We’re up against the wire but April seems to be the likely “in-store” date, I’ll let you know when this firms up so get your pre-orders in! 


I’m amazed at the level of excitement there seems to be out there, it doesn’t go a day without somebody internally to Microsoft or externally asking for an update and that they’re looking forward to it – I’m honoured!   I’m also heavily encouraged by the comments coming back from reviewers, Yossi has posted a great blog posting about the book and did some fantastic reviewing along with Jon Fancey who’s done a great job at reviewing and highlighting extra content.  A big Thank You to all the other reviewers!


The review process has been extremly time consuming largely down to me writing yet more pages of content when I should have been reviewing, ahh the joys of being a perfectionist. 


From reading Kevin’s (Pipelines, Testing and Low Latency) and Ewan’s (Administration) chapters I was struck at just how much stuff I learnt – which is a good thing 🙂   I now even know how the database backup and log shipping stuff works which I just hadn’t really bothered in all honestly to look at before!   One of the best decisions I made was to bring extra authors on to ensure we had the best people covering the right stuff.


Whilst we’re a few months later than I was hoping I’m pleased we’ve taken the extra time to make doubly sure the book contains everything we set out to cover and is as accurate as possible.  The front cover hasn’t been updated on Amazon yet but should reflect both Kevin and Ewan shortly, it was a bit lonely with just me!


Amazon.com list the book here
Amazon.co.uk list the book here


I will post another update once it goes to the printers…


Thanks again everyone for your support!