Customer Data Integration – Are ETL, EII and DQ enough?

Customer Data Integration – Are ETL, EII and DQ enough?

We’ve been considering a sort of Customer Data Hub to work along with the integration hub in our platform and i came across an excellent article by Chris Mc titled “Customer Data Integration: What the EII, ETL and DQ Don’t want you to know“. In the introduction, he says


“In the last few years, enterprises have added several tools to their IT data integration toolbox to improve the return on their CRM investments. Yet, most of these companies have not achieved a simple goal: to create reliable, unified views of their customers – aggregated across data silos – and deliver these to all customer-facing applications in a timely fashion. Recently, companies have turned to three common technologies to create solutions for customer data integration. These are data movement tools such as Extract-Transform-Load (ETL), data query and aggregation tools such as Enterprise Information Integration (EII) and Data Quality (DQ) tools. However, what the tool vendors aren’t telling you is that these tools are woefully inadequate for developing a reliable Customer Data Integration (CDI) platform. “


Chris then goes on to explain the key considerations involved in building the Customer Data Hub and where EII etc have traditionally fallen short.  His discussion struck a chord with me as i have just started to pull together some of the requirements to look at product/bespoke options. For veterans in the field, there may not be any earthshaking revelations here, but its a nice compilation of things to think about.


He didnt explicitly say anywhere who he works for but there are a couple of posts about Siperian and it appears he works for them. However, much to his credit, he does not actually plug the Siperian product anywhere (but if you look through the article carefully, you will find that the proposed architecture for a ‘comprehensive’ CDI Hub matches what Siperian is offering)


The resource library on the Siperian site is also very informative and I’m definitely going to look into their product for our project. If you are considering such a solution in your architecure, take a look at the article. Even if you want to build a bespoke solution, this has some good points.

SOA Antipatterns

SOA Antipatterns

Just came across this article on SOA Antipatterns at InfoQ.  This is a very well written article. Steve used to be our Chief Architect a while ago before he moved on to join CapGemini.


InfoQ Blurb: SOA Expert Steve Jones from CapGemini provides a hands on look at SOA Antipatterns and a list of ways your SOA project can go wrong. This list includes signs that these problems are cropping up as well as what to do when you see them happening.


Check it out. It definitely gave me some food for thought.

BizTalk 2006: Accessing flat file content in orchestration messages

I was recently asked if I would provide some insight into solving a BizTalk problem.  It’s some time since I have blogged on BizTalk in depth, and the question gave me an excuse to write something on my favourite integration tool.   Advanced BizTalk developers will know all about this subject, but if your are fairly new to BizTalk, this might be of help. 


In the given scenario, data stored in flat files in being delivered to the BizTalk message box via a pass-through pipeline.   An orchestration subscribes to these messages and creates XML output.   Each time a file is processed, the developer wants to ‘dump’ the contents of the flat file into an element in the output.   Other information, including the file name, is also included in the XML output.


The question I was asked was ‘how do you access the content of the flat file messge in an orchestration’.   The answer is fairly straight-forward, but there are things to learn on the way…


Read on at http://geekswithblogs.net/cyoung/articles/84735.aspx

Update Documentation for BizTalk 2006 Now Available

A few weeks ago Microsoft released an updated version of the documentation for BizTalk 2006.



You can download the updated docs here.



The new content has some really good stuff including:



– Complete documentation for all BizTalk Server Line of Business Adapters, including new tutorials, one for each adapter. See the section “Using Adapters.”
 
– Disaster recovery instructions for backing up and restoring your BizTalk Server and databases. See the section “Backing Up and Restoring BizTalk
Server”
  
– Information for improving fault tolerance. See the section “Planning and Architecture”


The only thing is the download is over 40 MB and it is in .chm format. So, this will not replace your existing BizTalk Documentation but rather provide you a second full version of documentation.  Not sure why it is packaged like that…


 

Update Documentation for BizTalk Server 2006

A few weeks ago Microsoft released an updated version of the documentation for BizTalk 2006.


 


You can download the updated docs here.


 


The new content has some really good stuff including:


 


– Complete documentation for all BizTalk Server Line of Business Adapters, including new tutorials, one for each adapter. See the section “Using Adapters.”
 
– Disaster recovery instructions for backing up and restoring your BizTalk Server and databases. See the section “Backing Up and Restoring BizTalk
Server”
  
– Information for improving fault tolerance. See the section “Planning and Architecture”


The only thing is the download is over 40 MB and it is in .chm format. So, this will not replace your existing BizTalk Documentation but rather provide you a second full version of documentation.  Not sure why it is packaged like that…


 

BzTalk Server partner and MVP Scott Colestock chats with Mike Woods

I recently had the chance to chat with Scott Colestock. Scott is the Chief Architect at Trace


Ventures, LLC based in the Twin Cities, MN. He’s also a BizTalk Server MVP. Here’s the transcript


from the chat.


 


Mike Woods says:
So Scott I moved to the BizTalk Server team in July of 2002 after working in the developer division


on the .NET Framework 1.0 project. I seem to remember you being part of the BizTalk community


back then. What can you tell me about your experience over the years?


 


Scott Colestock says:
Sure – I had a few experiences with BT2000/2002 in the past, but I’ve been working with the


current incarnation of BizTalk since the summer of 2003, when BizTalk 2004 was in beta.  I’ve


been fortunate enough to have been an MVP for the last year – It’s been a great ride – a great


product to specialize in. I’ve enjoyed participating in the newsgroups, and maintaining a blog at


http://www.traceofthought.net, writing about my experiences along the way.


 


In the fall of 2004, I had the chance to submit a deployment framework for BizTalk for the


“connected systems” contest and I’ve enjoyed growing that initial work since then.


 


Mike Woods says:
That was quite a useful thing to have in the BizTalk Server 2004 days. We’ve done a bit of work on


improving deployment in the 2006 release. Tell me more about the Deployment Framework. What


does it provide for BizTalk Server 2006 developers?


 


Scott Colestock says:
Several of the goals for the 2006 framework are the same as they were for BizTalk 2004:


1) Streamline the deployment process for developers, ensuring repeatability. 
2) Make it easier for a team of BizTalk developers to stay in sync – not just with BizTalk artifacts,


    but with all the other infrastructure that surrounds the solution (virtual directories, queues, file


    folders, etc.)
3) Extremely close parity between server-side deployments and developer deployments – so you


    are always testing your server deployments as you go through a typical developer work day.


 


In addition, using the framework can assist a team with their migration to 2006 from 2004. Teams


that are using the framework for 2004 (and who are now looking at BizTalk 2006) are finding that


using the framework will ease that part of their migration story, since the concepts are identical.


 


Mike Woods says:
This sounds like good stuff but let’s dig a little deeper into the migration issues. What kinds of


issues have you run into within your projects?


 


Scott Colestock says:
The key challenges that BizTalk 2006’s “native” deployment story present are basically 4-fold:


1) Binding changes have to be communicated “manually” between developers on a team, since the


    import process is done through the Admin MMC or command-line.  Just “getting latest” from


    version control isn’t sufficient.
2) Binding files for your various environments have to be maintained as separate files (manually),


    rather than “merging in” environment-specific settings  
3) Artifacts such as rules, virtual directories, queues, folders, additional dependent assemblies, etc.


    can be represented as “Resources” within the Admin MMC (and in exported MSI’s), but not in a


    fashion that easily moves between developers on a team.
4) It is difficult to define the contents of a generated MSI in a repeatable fashion, unless you script


    the creation of the application definition.  If you create the app definition through the MMC, you


    can’t guarantee you can reproduce it.


 


That is a concern for shops that must be able to guarantee than an MSI (or other packaging


mechanism) is traceable to a particular marked point in version control.


 


Mike Woods says:
These sound like big issues to me. How does the deployment framework help?


 


Scott Colestock says:
The deployment framework addresses this by making the deployment story for developers identical


to what will happen at deployment time on the server.  Essentially, you move the deployment


process to a “Tools”-menu item in Visual Studio. This external tool kicks off a NAnt script that


creates a BizTalk 2006 application definition, and adds each element of your project as a resource


to that definition. In addition, the “framework” portion of the nant script (that you #include in your


project-specific nant script) takes care of things like binding file import, vdir creation, application


pool identity, placing .net components in the gac, etc.


 


The goal is this: that when the developer in the next office does a “get” from version control they


can 1) build 2) go up to the Tools menu and hit Deploy 3) be running the whole application


successfully with ALL of the infrastructure that surrounds the solution –  whether it be custom


identities for application pools, MSMQ queues that are required, specific ACL’s on file directories,


whatever it might be. Moreover, if one of those elements is changed, they are communicated


throughout the team via version controlled scripts – not in an out-of-band fashion.


 


Mike Woods says:
Good detail. Thanks. How many folks do you believe are using the deployment framework today?


 


Scott Colestock says:
It is hard to gauge – At last count, I’ve had over a thousand downloads of the zip files, but I don’t


comb my logs all that often “looking” for those downloads. Folks from the training companies I talk


to indicate that their students mention it quite a bit.


 


Mike Woods says:
It’s a download off of your site, right? Can you give us the URL and tell us about your support


model for the deployment framework?


 


Scott Colestock says:
Yes, the URL for all of the releases and articles I’ve written about the framework is:


http://www.traceofthought.net/CategoryView,category,Deployment%20Framework.aspx


There are three downloads – a full sample, a “core” which represents the framework itself, and


source code for the various utilities.  They are all available at www.traceofthought.net in the


“downloads” section.


 


There is a full set of documentation, and I answer questions via blog comments and occasionally


via email. But a shop that uses the deployment framework is generally savvy with NAnt and the


BizTalk command-line utilities, since a fair amount of self-support is required.


 


Mike Woods says:
Great, I’m going to go download the deployment framework myself.


This discussion sort of begs a question about Visual Studio 2005 Team System. One of the projects


my team has on our plate this year is to do some research on how Team System enhances the


BizTalk development experience. You’ve obviously thought a lot about BizTalk development. Can


you comment on that?


 


Scott Colestock says:
I hear a lot of questions from clients (and in the community) about how best to integrate unit


testing into their development process – and how BizUnit might (or might not) integrate well into


VSTS testing story. In addition, folks have asked how LoadGen might be integrated into VSTS with


the same level of integration that the web stress testing story has. So I think there is a lot of


potential for synergy – for BizTalk developers to benefit from the infrastructure VSTS can provide.


 


Mike Woods says:
Good input. Later this year when Kris and I start the research it would be great to have you on the


project v-team. What do you think?


 


Scott Colestock says:
I would love to participate – it would be great to have community involvement in that effort.


 


Mike Woods says:
Good, community participation is important to me personally and I’d enjoy working with you on the


project.


 


On a separate topic I noticed that you were one of the first people to register for the October SOA


& Business Process conference. What are you hoping to see at the show and do you think I can


convince you to speak?


 


Scott Colestock says:
Last year’s show was fantastic – great content and a great networking opportunity.  I’m looking


forward to hearing more about 2006 R2 (particularly how the RFID story has moved forward since


I heard about it at the conference last year).  I’m also looking forward to hearing more about the


Office Server vision.


 


I’d love to speak – I’m planning on submitting a topic on how a shop can apply what they learn


during stress/perf testing into an operations monitoring strategy. I’ve learned a ton hearing


Wayne Clark speak at the last couple conferences and I think there are some interesting ways to


apply those topics to proactive monitoring via MOM, etc.


 


Mike Woods says:
All of those topics are in the sweet spot for coverage at the show. Your topic sounds like a session


I’d like to sit in on as well. Please send in your abstract proposal.
 
Scott, I’d like to thank you for taking the time to chat with me today. I certainly appreciate it and I


bet the community does as well.


 


Scott Colestock says:
It’s been a pleasure! Thanks for the chance to tell you about the Deployment Framework stuff I’ve


been up to.  I look forward to seeing you in October at the conference.

Microsoft SOA & Business Process Conference Request for Session Proposals

Call For Sessions
Microsoft’s SOA & Business Process Conference is the event for our customers and partners to learn about new and updated information on Service Oriented Architecture (SOA), Business Process Management (BPM), and Microsoft’s own Connected Systems infrastructure. Over 4 days, attendees will learn about the strategies and technologies that Microsoft is delivering over the next year, such as BizTalk Server, .NET Framework 3.0, and Office 2007. Three technical tracks will provide depth and detail into best practices for building BPM solutions, guidance for advancing your SOA, and using the latest development tools and technologies for connecting people, processes and information. A fourth track will focus on the business value of SOA and BPM for both customers looking to optimize their application infrastructure/business processes and for partners looking to expand their SOA & BPM practices. Whether you need to get up to speed fast, or are ready to dive deep, this is the event for technical training, networking, and business development for partners and customers interested in Microsoft’s view of SOA, BPM, and Connected Systems.


We are now accepting session submissions for each of the four conference tracks listed below. Sessions are 1 hour in length and should include time for Q&A. Technical track sessions should have a target level of 300 or higher. Non-Microsoft speakers will receive a $1000 stipend. Please send your session submissions to [email protected] including proposed session title, abstract, speaker, and associated track. Session submission will close on July 21st.


Conference Content
Each session at the Microsoft SOA & Business Process Conference should be designed to expand attendees knowledge of key emerging technologies, demonstrate proven strategies for implementing solutions, explain Microsoft’s long-term strategy and roadmap, and/or add value to their organization’s service oriented and business process solution portfolio.


Service Oriented Architecture
IT organizations of all sizes are increasingly looking at ’Software as a Service’ as the paradigm through which they will deliver value to the business. Services are becoming increasingly important to internal IT and business customers as well as across organizational boundaries to trading partners and compliance organizations. The SOA track will provide clear guidance on how to apply expertise from Microsoft and its partners to this emerging application portfolio strategy.


Some of the challenges to be explored include exposing IT assets as services, composing services into business processes, and consuming services within new user experiences. Technologies and topics covered will include: Host Integration, Windows Communication Foundation (Microsoft’s WS-* implementation), Windows Workflow Foundation, BizTalk Server 2006, process methodology, Microsoft Operations Manager, AJAX, Microsoft Office 2007, and Windows Server 2003.


Business Process Management
The challenges of aligning cross-functional processes, improving organizational effectiveness, and enhancing customer relationships have made business process management a top priority of both business and IT alike.  By attending the Business Process Management track you will learn about the state of the BPM market, how to make the business case for BPM, best practices and technology strategies for enabling process improvements, and understanding the partner opportunities for targeting BPM solutions on the Microsoft platform.  Microsoft will present our vision and roadmap for our “People-ready Process” strategy, enabled by upcoming technology innovation across the next 12 months such as BizTalk Sever 2006 R2, Office SharePoint Server 2007, Office InfoPath 2007, Office Visio 2007, Office SharePoint Designer 2007, and Windows Workflow Foundation.


Connected Systems Technology and Products
Under the Connected Systems Technologies and Products track you’ll find deep, technical sessions with practical guidance on building applications using the latest developer tools and frameworks from Microsoft. From low level foundational technologies such as Windows Communication Foundation, Windows Workflow Foundation, Windows Presentation Foundation and CardSpace up to the enterprise class server BizTalk Server 2006, these sessions will treat your inner developer to best practices learned from the pros.


Business Value
The Business Value track will focus on the business opportunities of Service Oriented Architecture and Business Process Management for both customers looking to optimize their processes and for partners looking to expand their practices. Whether you are focused on SOA and BPM within your own organization or in the broader marketplace, this track will demonstrate proven strategies for identifying opportunities and maximizing the return on your investments.


Sponsors & Exhibitors
Sponsorship and exhibition opportunities are also available to partners to showcase their latest solutions and technologies demonstrate their newest innovations, allowing attendees to test-drive key technologies and receive one-on-one, informed answers to questions. If you are interested in sponsorship, please contact Robert Bannerman at
[email protected].


For general event information or to register as an attendee, visit the event web site at www.impactevents.com/biztalkconference.


Working with Enterprise Library Logging Categories in BizTalk

First off, it has been a long time since I’ve last blogged.  I have been very busy working on some other endeavors and I was on vacations for a few weeks.  I am now working on some new blog posts and samples so I can get back into the swing of things.



Recently, I have been working with Enterprise Library for .net 2.0.  I was able to get basic logging set up and working with little effort using this static method call:



Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(oLogger);



Were oLogger is an instance of Microsoft.Practices.EnterpriseLibrary.Logging.LogEntry.  To get this to work, all I had to do was add a reference to Microsoft.Practices.EnterpriseLibrary.Logging and I was all set.



Now, I was trying to add a category so I can separate out tracing messages from error messages.  The call looks like this:



Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(oLogger, “Trace”);



With “Trace” being a string for the category.



When I try to build this inside Visual Studios 2005, I get an “unknown system exception”.



I am not really sure why this is happening.  I’m guessing it is because internally categories are a Generic Collection and for whatever reason when I define a category the BizTalk compiler can not handle it?



I was able to find a simple work around that accomplished my goal.  I created a simple .net helper class to wrap the static method call.  Rather than using the overload to the Write method that takes in a category, I am now able to add the category to the collection.  The helper method looks like this:



static public void myLog(Microsoft.Practices.EnterpriseLibrary.Logging.LogEntry Message, string Category)


{


// Clear the collection first to make sure nothing is already in there


Message.Categories.Clear();



// Add the one category needed for logging


Message.Categories.Add(Category);



// Make the static method call for logging


Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(Message);


}



I’m now able to set up two categories in the configuration file to accept trace events and error conditions.