Sep 302010
 

I have not been able to find a post or get a true explanation on “reserved words” in BizTalk; however there are a few you should stay away from.  I have personally tested these.

You should refrain from using “BTS” or “EDI” anywhere in your namespace to avoid namespace property look-up issues.

I will be posting more about this as I work through the public version of BizTalk 2010 on Oct. 1, 2010.

Sep 152010
 

The IE 9 Beta is upon us, you can download it here

Joe Homnick suggested checking out the following sites:

  • The Killers (http://www.thekillersmusic.com/html5) – one of the biggest rock bands in the world go live with a full IE9-optimized HTML5 site today! Showcasing video, Canvas, WOFF fonts, SVG – this site is full of easter eggs and the band love what IE9 provides.
  • Jitterbugs (http://html5.cynergysystems.com) – a game that uses Canvas, SVG, WOFF and audio to deliver an experience that you’d have never been able to do in a browser before IE9. Try it on Chrome – it runs almost hilariously slowly.
  • WebVizBench (http://www.webvizbench.com) – a benchmark for HTML5 built with data from KEXP that scales up to even high-end graphical hardware – with video, animations, WOFF and Canvas, you’ll want to try this on your home machine!
  • Rough Guides (http://makethemost.roughguides.com/) – this blurs the lines between a web page and a full application, integrating data from Flickr and curated content into a beautiful, zoomable interface.
  • Never Mind the Bullets (http://www.nevermindthebullets.com/) – a parallax comic built with HTML5.
  • Agent 008 Ball (http://www.agent8ball.com) – a pool game with a spy theme that uses Canvas, audio, WOFF fonts.
  • AP Timeline Reader (http://html5.labs.ap.org/) – a news reader with a difference – browse through the articles that you’re interested in reading and add them to a queue; then read them in a clutter-free environment with customizable fonts and high-res photos.

Enjoy!

Aug 292010
 

Jacksonville code camp 2010 was a great success, some where around 440 attendees. I had 2 sessions, one on BizTalk the other on Linq. I had around 32 in my BizTalk presentation and about 70 in my Linq presentation. I also assisted Joe Healy with the Windows Phone 7 panel and load fest with Kevin and Nikita.

I am going to post my presentations and sample code in the next couple of days.

Jul 072010
 

How does BizTalk Server work?

At its core it is an event-procesing engine that is based on pubsub converntional patterns.

Wikipedia define pubsub as:

“Publish/subscribe (or pub/sub) is a messaging paradigm where senders (publishers) of messages are not programmed to send their messages to specific receivers (subscribers). Rather, published messages are characterized into classes, without knowledge of what (if any) subscribers there may be. Subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what (if any) publishers there are. This decoupling of publishers and subscribers can allow for greater scalability and a more dynamic network topology.”

Common flow in BizTalk is once a meesage is recieved by an adapter, is is run through pre-processing in a pipeline, before being data transformed in maps, then being published to the messagebox.

 * IMPORTANT NOTE: Once a message has entered the messagebox it is immutable (which means CANNOT be changed).

Because of the the nature of pub/sub patterns a bit a latency is introduced, which BizTalk makes up for in the starabilities (durability, reliability, and scalability).

The most dynamic use for BizTalk is in SOA or Service bus architecture.  In this archtecture itinerary services was introduced, which basically applied a message with a purpose concept.

What is this message you talk about?

It is the data processed through the BizTalk messaging engine (IE. XML document, Word Document, Flat file, etc.).  The message basically contains 2 critical parts message type and context.  The message type defines it within the bus and is typically a XML namespace and root node.  The message context is a set of name/value pairs.

How does a message get to and from BizTalk?

BizTalk uses recieve locations which are defined as endpoints, which use a particular adapter which knowns how to receive that specific message.  These receive locations have a particular receive pipeline associated with them, which can be used to modify the message before it becomes immutable.  Now, a receive port is defined as containing more then one receive location, which apply XSLT maps to the message prior to being published to the messagebox.

BizTalk used send ports and orchestrations (2 real type of subscribers within BizTalk), send ports provide a means of transporting messages from the bus and an orchestration provides an executable business process, which uses the message to complete workflow operations.

Jun 202010
 

Databinding in Silverlight is based on any object that is inherites from the DependencyObject class.  Now, with new versions of Silverlight may new features (keywords) had been added.  Let’s look at a couple of new ones.

StringFormat:
Allows the ability to do string formatting directly in the databinding, example:

<TextBox Text=”{Binding paymentDate, StringFormat=’MM/dd/yy’}“/>

TargetNullValue:
Allows you to define what to show if value is null.

<TextBlock Text=”{Binding Path=pageContent, TargetNullValue=’No Page Content is Currently Available’}” />

FallBackValue:
Is used to define a value when the value can not be loaded through the data binding.

<TextBlock Text=”{Binding Path=pageContent, FallbackValue=’There was an Error Retreiving the Data, Please try Again Later.’}”  />

As you can see by the above examples, there are a few helpful keywords with databindings – that deal with formatting, nulls, and when things don’t go right.

Jun 142010
 

Shawn Wildermith and I had the pleasure of hosting a Birds-of-a-feather discussion on “Silverlight, how will it change frontend development?”. We had roughly 40-50 people present and it was a great experience. Was good to talk through real work issues, so thanks to iNETA and Microsoft for allowing us to host such a great session.