February 2008 - Posts

SOA and Business Process Post Conference DVDs arrive in Sweden
29 February 08 12:04 AM | Johan Hedberg

For those of you who like me attended the Microsoft SOA and Business Process conference in late october 2007 you might have been waiting for the post conference DVDs. And it feels like we have been waiting quite awhile. Perhaps the US participants have gotten them earlier and it's just the international mailouts that are taking the extra time. Anyways, I am off to watch some of the content I missed. For those of you who didn't attend and won't be receiving a DVD you have two choices. Either borrow from a collegue or watch the selected webcasts published online at TechNet Spotlight.

Are you a collegue? Would you like to blog here?
27 February 08 11:13 PM | Johan Hedberg

One of the cons of working for a large company such as Logica is that you don't really know your collegues. Those closest to you and those you have worked with or met at social getogethers you have a fair concept about who they are and what they do, but with a company with several tens of thousand of employees the vast majority is simply out of reach. So, if you are a Microsoft BizTalk Server specialist or Microsoft architect or developer or just all around nice guy and happens to have the same employeer as I do, I invite you to host your blog here. Note: This blog is run on a completely personal basis. Views, opinions and content are those of the individuals themselves and is not sanctioned or sponsored, and might not always be shared by, the company we work for. With that said, should you happen to work for another company, but be active within our areas (of expertise rather then geography) in Sweden, you can still host your blog here if you'd like. We'll help you get started.

Filed under:
Slides for the ESB Guidance presentation are online
27 February 08 10:55 PM | Johan Hedberg

On February the 12th me and Mikael Håkansson did a presentation for the BizTalk UserGroup Sweden on ESB Guidance. The slides we used for that presentation are now, perhaps somewhat later then I would have liked, online for your viewing and re-using pleasure. Download them from http://biztalkusergroup.se and more specifically this blog post. Note: Slides were given to a swedish audience and the text within them is in swedish. If you would like us to come to your site to explain ESB Guidance to you please contact us using the information within the slidedeck.

Are you a student? Are you aware you can get free Microsoft software?
27 February 08 10:19 PM | Johan Hedberg

The title says it all. Microsoft is now offering students free access to developer tools, enabling you to persue your dream, to allow the spark you have to ignite into a succesful company (or so the talk might have gone when they thought up the name). Here's an excerpt from the site:

DreamSpark is simple, it's all about giving students Microsoft professional-level developer and design tools at no charge so you can chase your dreams and create the next big breakthrough in technology - or just get a head start on your career.

Oh, and unlike so many other initiatives, offers, competitions and giveaways, this one actually includes students from countries other then the US. It's far from all countries, but Sweden is among the countries included.

Filed under: ,
WM-data becomes Logica
27 February 08 10:03 PM | Johan Hedberg

Today the company I work for is unifying its brands in diverse international markets under one new name. WM-data is an old and established name within the Nordic region while Logica CMG has been the name of the UK corporation in which we became part of a year or so ago. Simplifying this and making it Logica for the entire company makes sense, it's logical. And being logical is something I like. Let's just hope that the new name doesn't go anyone by, and judging from the advertising campaigns, it doesn't seem like it will. Learn more at the Logica site, here (in swedish) and here (in english). 

 And for those of you at the customer where I currently work, hope you liked the cake!

Filed under:
Nische television in Sweden
24 February 08 09:10 AM | Johan Hedberg

Many computer interested individuals, although admittedly not all, are also interested in science fiction. Therefore, for those of you watching swedish television might appreciate the fact that TV4 is starting a new science fiction angled channel. I hope the content will be good, and not get to retro, showing only the 60,70 and 80's classic versions of science fiction simply because it costs less to purchase the rights to show it. I like new science fiction better, mainly because the picture and audio quailty is so much better, it helps that it looks more futuristic than for exmaple the 60s Star Trek. It certainly sounds like a simple enough idea - so much so that I wouldn't be suprised if it became a success. Although science fiction might not be everyones first choice, science fiction viewers are often pretty hard code and loyal. Just take the trekkies for example. You won't find me watching it though, mainly because it's not available at my supplier, but maybe you will?

Filed under: ,
What's up from Live Labs?
22 February 08 08:32 PM | Johan Hedberg

I've had this video by Nigel Parker downloaded for quite some time, but up until now I haven't had time to watched it. Now I have. Although it isn't steaming any more it was still a good orientation to what the Live Labs guys are (were) up to. If any of the words groupshoot, seadragon, photosynth, HD View, Tafiti, popfly, geo tagged photos, facebook integration...etc. etc. interest you and you'd just like to get a birds eye view of these things without going into details, grab the video and have a look. Oh, and links to all these things are available at the link provided.

If you would like to keep yourself updated with Live Labs I recommend going to http://labs.live.com/ and subscribing to their rss feed.

Filed under:
BizTalk Server Operations Guide
18 February 08 09:37 PM | Johan Hedberg
A valuable resource for anyone involved in the implementation and administration of a BizTalk solution, particularly IT professionals. The guide provides detailed information for planning a BizTalk Server environment, as well as recommendations and best practices for configuring, testing, maintaining, monitoring, and optimizing this environment.
 
After browsing through it I find some things kind of "blah", simply selected parts of the help file put together in a new format, while other parts really does provide guidance that goes outside the contents of the help file, certainly worthy the term valuable resource. The contributors list includes names such as Ahmed Metwally (Pro BizTalk 2006) and Darren Jefford (Professional BizTalk Server 2006) to name a few. The BizTalk Server Operations Guide also has alot more content then the earlier released Developers Guide to Troubleshooting (Note: I'm not comparing them, they are aimed at different groups of people for different situations, but it's the last thing released as a complement to the core documentation named to be a guide). Weighing in at a healthy 627 pages I wouldn't recommend you to read it straight through, but I'm definatly going to read selected parts. Another great addition to the already competent BizTalk Server documentation.
 
Filed under: ,
The ESB Guidance Scatter-Gather Sample
04 February 08 07:39 PM | Johan Hedberg | 2 comment(s)

The motivation for this post
Ever since Richard wrote his post about a loosely coupled, MsgBox utilizing, Scatter-Gather implementation I've been meaning to illustrate the approach taken by Microsoft Pattern and Practices within the ESB Guidance package. Now there is absolutely nothing wrong with Richards solution, and it straight to the point and easy to grasp. The learning curve of the ESB Guidance and its Itineray Processing is something that not everyone is willing to take on if they don't see the immediate benefit for it's use within their environment. Still, it's always interesting to get a different solution to the same problem, so here goes.

Itinerary Processing
First of all, the Scatter-Gather sample makes heavy use of Itinerary Processing. Both the orchestration to trigger, as well as the locations to send the scattered request and gather the responses from, and finally send the aggregated response to is expressed through an itinerary. Below is a sample of such an itinerary.

<Itinerary xmlns="http://schemas.microsoft.biztalk.practices.esb.com/itinerary">
  <ServiceInstance uuid="" name="ScatterGather" type="Orchestration" 
state="Pending" position="0" isRequestResponse="false" xmlns="" /> <Services xmlns=""> <Service uuid="" beginTime="" completeTime="" name="ScatterGather"
type="Orchestration" state="Pending" isRequestResponse="false"
position="0" serviceInstanceId="" /> </Services> <Services xmlns=""> <Service uuid="" beginTime="" completeTime="" name="DynamicTest"
type="Messaging" state="Pending" isRequestResponse="false"
position="1" serviceInstanceId="" /> </Services> <ResolverGroups xmlns=""> <Resolvers serviceId="ScatterGather0">&lt;
![CDATA[BRE:\\policy=ResolveEndPointScatterGather;version=;useMsg=;]]&gt;&lt;
![CDATA[UDDI:\\serverUrl=http://localhost/uddi;serviceName=PurchaseOrderSubmitOrderService;serviceProvider=Microsoft.Practices.ESB]]&gt;
</Resolvers> <Resolvers serviceId="DynamicTest1">&lt;
![CDATA[UDDI:\\serverUrl=http://localhost/uddi;serviceName=OrderFileService;serviceProvider=Microsoft.Practices.ESB;]]&gt;
</Resolvers> </ResolverGroups> </Itinerary>

This describes an itinerary that will call two locations, described in the ScatterGather0 resolver, and send the aggregated response to the location described in the DynamicTest1 resolver. Basically, a resolver is a lookup location where the endpoint is stored. In the example above this is illustrated by the BRE (Business Rules Engine) and UDDI (Universal Description Discovery and Integration registry) resolvers. Read more about resolvers at Mikaels blog.

The Broker orchestration
The Scatter-Gather sample is made up of two orchestrations, Broker.odx and ServiceDispatcher.odx. The broker has a direct subscription and is started by a filter expression based on message context properties found in the Itineray above, namely the name, type and state with the service instance. The broker is started by a XmlDocument typed message. The orchestration then loops through the resolvers for ScatterGather0 and for each resolver starts the ServiceDispatcher orchestration (using the Start Orchestration shape) passing in the received message along with the Self Correlated porttype to respond to, and transport and resolver information. See figure1 for a condensed look of Broker.odx.

The ServiceDispatcher orchestration
The ServiceDispatcher.odx receives the message and gathers some metadata. It then maps the message to the required request format (determined by a BRE policy lookup). It does the maping by using API calls rather then by using the map shape, allowing it to stay generic and untyped. It then calls an untyped passthrough dynamic request-response port, whose location is determined from the location passed in, originating in the itinerary. Remember this orchestration was started by looping the resolvers. It then maps the response to the required response format (which is made up of some status information and an Any node, and send the response, through the MessageBox, back to the broker orchestration. Should an exception occur the same response message is sent back containing information saying that a fault has happened.

Aggregating the response
The Broker.odx receives the responses in a loop using a Self Correlated Partner Orchestration Port passed in as a parameter to the ServiceDispatcher.odx (see Charles Youngs write-up on Direct Biding models for more information on how this works - it's not new, but it's still good). It then adds the responses to a messageAggregator message. When it has collected all the messages it executes a send pipeline called AggregatingPipeline and receives the response back (see the Aggregator sample if you are curious on how this works). Finally the FinalResponse message is then sent out through to the final location given in the resolver named DynamicTest1.

In summary
There you go, message accomplished. I hope I explained it in a way that was understandable. Like I said in the beginning, the Itinerary processing might be a hurdle to get over when implementing this solution, but that information can of course come from a different source then the itinerary, like a config file, a database or another config location. Even leaving out the itinerary this sample still contains some interesting patterns and is worth checking out. This sample isn't available for download from this blog, but I encourage you to check out the ESB Guidance. If ESB Guidance interests you I encourage you to read Mikaels blog. Also, if you happen to be in Stockholm, Sweden on February 12th we'll be doing a presentation about the ESB Guidance for the BizTalk Usergroup Sweden.

Filed under: ,
What kind of FTP did you say you used?
03 February 08 12:27 PM | Johan Hedberg | 3 comment(s)

I'd just like to make a small note about protocol acronyms, and the importance of knowing the correct acronym when naming your BizTalk adapter so that someone planning to (re)use your adapter knows what it's really about. The case I'd like to highlight refers to FTP, and is something I've been forced to drill myself into when working in an environment where several different types of similar sounding acronyms are present.

FTP, the File Transfer Protocol, is used to transfer data from one system to another. The base implementation of this protocol sends all data (including username and password) in clear text through the wire. There are however protocol enhancements for securing this transfer using SSL. This is called FTP over SSL, which is more generally refered to as FTPS (or FTP/SSL). There is also the option of securing your FTP transfer by tunneling it though a SSH session. Though since FTP is a multi channel protocol this in many implementations just protects the control channel (ie the username and password) and sends the data unprotected. However this differs from implementation to implementation, and in some cases both control codes and data is protected. This is refered to as Secure FTP, but is not to be confused with SFTP, which is used when talking about the SSH File Transfer Protocol, which has really nothing to do with FTP. Confusing isn't it? ;)

Wikipedia har more info. FTP (and FTP over SSH), FTPS, SFTP.

Filed under: ,

This Blog

News

    Messenger

    Twitter Updates

      Follow me on twitter

      Visitors

      Feedburner Subscribers

      Locations of visitors to this page

      Disclaimer

      All material is provided AS IS voiding any thinkable or unthinkable effect it might have for any use whatsoever. There... is that clear enough ;)

      Pages

    Syndication