Thursday, March 27, 2008

Dutch Microsoft SOA and Business Process Conference 2008








Before I start my post about the annual dutch Microsoft SOA and BPM Conference in Groenekan near Utrecht I attended today I would like to announce that I have I have recently joined Getronics PinkRoccade for a role as technical consultant in technologies like BizTalk Server, Integration and Messaging. After working two years for Inter Access I thought it was time for a new step in my career. Participating in a company wide expert group and doing projects for customers seems to me a new challenge to gain experience at customers and spread/share insights, knowledge and vision to colleagues. Could I or did I do this at Inter Access? Yes, but on a small scale and my role in technical management became marginal. Now I do act on a larger scale and work with large companies and share knowledge/expertise with a large population of IT professionals.

That said back to the conference. The agenda was as follows: two keynotes one by Jeff Sampler and one by Dan Alling followed by two tracks a business and technical one. I attended two business talks about achmea and city county of Breda and one technical done by Gijs in 't Veld about Human interaction with SOA.

My impression of this conference was that it started with an excellent keynote about a Business view on SOA and BMP. Jeff’s talk was titled When Worlds Collide: Surviving in changing times and he had everybody’s attention. He kicked off with some historic perspective about technology, where it is hard to predict that technology designed for a certain group of people around a certain age is difficult and hard. For instance he said computer games intended for children are played mostly in 2004 in the US by people around their 26th, not exactly children. Also WIFI users, wifi being a technology for people doing business and so on anywhere, anyplace anytime is used a lot by children in the US. So both successful technologies both end up being used the most by a group of people it was not primarily designed for. From this point he went on talking about thinking about current and future technologies. Who is this balanced and should one be more concerned and thinking about future technology than current. Then he went into IT and business alignment (well known subject), where IT leads the business based on triggers (what these triggers exactly were not mentioned). He ended his talk about strategic shock adapters, were he used brakes in car as a metaphor. Brakes are intended to let one driver faster (not slower) and make one stand still if needed. If you like to know more about this subject of his thinking visit his website or buy his book at amazon (I just bought a copy).

Next keynote was done by Dan Alling and was very similar to one done by Robert Wahbe at Microsoft SOA and BPM Conference 2007 around Oslo and so on. See one of my previous blog post about that subject or the conference. After lunch I attended two business track sessions about using Microsoft technology in achieving a SOA. In these sessions it basically came down to using Microsoft technology, rely on this technology and buy as much as you can and do not custom code to much. So using .NET 3.5, BizTalk, Visual Studio 2008 TFS, WCF and WF will do the trick. Beside technology, use common sense, standardize methodology, use best practices, do versioning, narrow scope (don’t implement SOA in a big bang, but incremental). And that is basically it.

Last session about human interaction in SOA was basically integration of BizTalk with SharePoint (with or without InfoPath). Gijs did his presentation about architectural and design decisions that can be made in order to make it possible to also have human interaction capabilities in a SOA environment based on BizTalk Server and the various SharePoint products, InfoPath and Office. And he will comment or tell you more on his blog.

In the end it was a perfect day to meet people and gain some more knowledge and insight.

Technorati:

Tuesday, March 11, 2008

Implementing Enterprise Integration Patterns with BizTalk Server 2006 R2

Who does not know the book Enterprise Integration Patterns written by Greogor Hophe and Bobby Wolf? Or has visited their website. Patterns can help you solve design issues. For instance how can I split messages or how do route based on envelope or body (content) or aggregate information into one single message. So with patterns you can design integration solutions. Microsoft’s server product BizTalk Server can be used to create these kind of solutions. With BizTalk concepts like asynchronous messaging, orchestration, correlation and long-running transactions are possible and these concepts are important for enterprise integration solutions. In general these concepts can also be applied in other vendor- and technology providers.

In this post I will share how to implement a pattern in BizTalk Server 2006 R2. I will start with message routing pattern message broker. Question one can ask when to implemented a message broker is this: How can you decouple the destination of a message from the sender and maintain central control over the flow of messages?

Answer to this question is: Use a central Message Broker that can receive messages from multiple destinations, determine the correct destination and route the message to the correct channel.

In BizTalk Server 2006 R2, the Message Broker Pattern is still easy to implement compared to previous versions using for instance the BizTalk Server Pattern Wizard














The following sources will enable you to have a full understanding of this pattern:

Jeff Lynch - BizTalk Server 2004 - Message Broker Pattern
Chris G – Getting Into BizTalk
Jon Flanders – Pattern Wizard CodePlex
Jeffrey Judah - Implement a Centralized BizTalk File Creation Broker
Nilay Parikh - Pattern Wizard Video

Next pattern I would like to discuss is Scatter-Gather pattern. When does one need this pattern? Or ask the following question:

How do you maintain the overall message flow when a message needs to be sent to multiple recipients, each of which may send a reply?.

Answer: Use a Scatter-Gather that broadcasts a message to multiple recipients and re-aggregates the responses back into a single message.

You can download the Scatter Gather Implementation by downloading an example from Microsoft. Run the executable and open the solution.








The following links will enable you to have a full understanding of this pattern:

Danny Del Rio - Multi-Message Scatter and Gather Pattern
Final integration pattern
Shashikant - De-Batching and Re-Batching the Files (Scatter-Gather)
Arnulfo Wing - How does a BizTalk Guy pack?

I like to discuss with you is splitter pattern. Which one can use to break out the composite message into a series of individual messages, each containing data related to one. This can be useful when one needs to process items in a message differently. A Splitter publishes a one message for each single element (or a subset of elements) from the original message. This can be done through using a messaging solution or with an orchestration. Messaging is faster, but with an orchestration message(s) can processed. The following sources give you an excellent background on this pattern.

Matt Meleski - Splitter Pattern Using a Map and Orchestration
Darren Jefford - Looping around Message Elements
Jeff Lynch - Logical Message Splitting in BizTalk Server 2004

Hopefully you found this post useful. It was great fun digging in EAI patterns and try them out in a BizTalk Server 2006 R2 environment. Implementations and patterns are already out there in the world explained by bright people like Jeff Lynch and so on, but I wanted to try them out in the newest version of BizTalk and educate myself and share the experience and information with you.

Technorati:

Monday, March 03, 2008

Some more LEAP 2008 Notes and leftovers

Momentarily I am recovering from a bad flu, which kept me from doing work for more than week, and I came across some interesting notes from myself and some colleagues from Inter Access. These notes were written during LEAP 2008 at Kim Cameron’s session “Digital Identity - Why claims will Change Everything”, Clemens Vasters session “Internet Service Bus Overview” and Norm Judah’s talk about “The last architectural mile”. I was thinking of sharing them with you blog readers, so here they are.

Digital Identity - Why claims will Change Everything
Kim Cameron, Architect of Identity, Microsoft


In this session about Digital Identity Kim showed his vision in the (near) future on identities, authorization and authentication: Claims Based Authentication. After describing problems with current mechanisms for establishing identity, authorizations and authentication he gave an overview on developments in the area of claims based authentication. His session ended with an demo of CardSpace and a Mac variant DigitalMe.

What is a claim? A claim is more or less an collection of related attributes that enables a service if and how it should present itself to a caller. These claims comply to seven laws of digital identity:

1. User Control and Consent: Digital identity systems must only reveal information identifying a user with the user’s consent.
2. Limited Disclosure for Limited Use: The solution which discloses the least identifying information and best limits its use is the most stable, long-term solution.
3. The Law of Fewest Parties: Digital identity systems must limit disclosure of identifying information to parties having a necessary and justifiable place in a given identity relationship.
4. Directed Identity: A universal identity meta system must support both “omnidirectional” identifiers for use by public entities and “unidirectional” identifiers for private entities, thus facilitating discovery while preventing unnecessary release of correlation handles.
5. Pluralism of Operators and Technologies: A universal identity meta system must channel and enable the interworking of multiple identity technologies run by multiple identity providers.
6. Human Integration: A unifying identity meta system must define the human user as a component integrated through protected and unambiguous human-machine communications.
7. Consistent Experience Across Contexts: A unifying identity meta system must provide a simple consistent experience while enabling separation of contexts through multiple operators and technologies.

An example how Claim Based Authentication works is as follows:

A user (or applications) call a service. Service provider on its turn determines what the user has to comply too to be able to call the service. User calls an identity provider (i.e. directory service) a security token (claim) that gives him/her the authority to call the service. This token does not contain more information than necessary. This token is then presented to the service provider and on basis of this (identified through a trusted party : identity provider) the user is granted access to the service. This shows that there is no strong coupling between a service and party delivering the token, trust is sufficient. Also no more information is passed than strictly necessary and privacy of the user is guaranteed.

Internet Service Bus Overview
Clemens Vasters, Senior Program Manager, Connected Systems Division


‘BizTalk Services’ is the codename for concept ‘Internet Service Bus’. BizTalk Services are not the same as BizTalk Server, although one could think because of the naming that they are. No BizTalk Services are an implementation of Enterprise Service Bus (ESB) technology, were services do not have to be present locally at an customer, but could be hosted elsewhere for instance Microsoft, one of her partners or hosting company. Hosting services becomes flexible this way and moving them from locally to a third party or vice versa is easy. BizTalk Service are a part of the so called software plus services concept: new mantra of Microsoft where services like Microsoft Office, Exchange, BizTalk and so on are offered on the internet (or cloud) or through third parties or locally inside the organization (on-premise versus off-premise).

In a nutshell concept of Internet Service Bus is as follows:










This architecture brings the following possibilities:
• Simple publish and subscribe event model
• A globally addressable name for services
• Able to safely provide services behind a firewall or NAT
• Support for multiple listeners and senders on one URI (multicast)
• If desirable: automatic and transparent buildup of connections between endpoints instead of routing through internet service bus

The last architectural mile
Norm Judah, CTO Microsoft Services


Science, art and balance
Architecture as a mix of science, art and balance: fresh new approach of looking at architecture. Science as identifying and understanding the proper choices to be made and aspects inside architecture, art as in naked essence of simplifying matters and balance in finding the balance between science and art. Question asked during this session was: which choices have to be made to see that technology will be future proof? What to invest in or not? A lot aspects play a role here: aim for IPv6 or just go on with wireless protocols, platform choices, service abstraction layers, business rules, which devices, identity management…

Topics and trends

Norm sees some new trends like:

• Power to the edge
• End user adoption
• Engineered for health

Power to the edge is the service abstraction layer: investments in current systems can exist with possibility to offer services through Line-Of Business or other systems to consumers and devices.












In the picture above functions of systems are surrounded by services (service abstraction layer). By decoupling functions they can be placed in an “outer ring” that can provide functionality to consumers/devices; data integrity, business rules etcetera are in the middle and inside the systems. Necessity to change IT landscape is delivering support of people in a broader context than usually, which is called in MS terms: always on, always connected. A world where people determine how they work, when they work and with whom they work (see also New World of Work).












This change will have impact, because how will the world look where organizations split itself into services, and who will use each other services and how will inter-organizational collaboration start? Where does begin and where does ones responsibility end, who owns what and who determines who can do what with who? His presentation did not answer these questions.


Technorati: