<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Integration Engineer &#187; Integration Tips</title>
	<atom:link href="http://www.theintegrationengineer.com/category/integration-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.theintegrationengineer.com</link>
	<description>When it just has to work.</description>
	<lastBuildDate>Tue, 27 Jul 2010 17:33:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Learn the Basic Tools</title>
		<link>http://www.theintegrationengineer.com/learn-the-basic-tools/</link>
		<comments>http://www.theintegrationengineer.com/learn-the-basic-tools/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:51:20 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Integration Tools]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1008</guid>
		<description><![CDATA[Learn the basic tools.  Learn them first, and learn them well.  Sure, you can find some fancy XSLT tools or text editors.  And you can carry them around on a thumb drive and install them on all of you computers, workstations, laptops, and servers.  But sometime, some day, you will need to make a change, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Learn the Basic Tools" width="150" height="150" title="Learn the Basic Tools" /></a>Learn the basic tools.  Learn them first, and learn them well.  Sure, you can find some fancy XSLT tools or text editors.  And you can carry them around on a thumb drive and install them on all of you computers, workstations, laptops, and servers.  But sometime, some day, you will need to make a change, or fix a problem and you won&#8217;t have the fancy tool.  My experience says that this will also happen in the middle of the night when you are under pressure.  Knowing the basic tools like VI and Notepad, and any other tools that are a standard part of your systems will allow you to get your integration back up and running quickly and get you back to bed so you can go in and answer the questions about what happened with just that much more sleep.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/learn-the-basic-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining the data Target is the First Step</title>
		<link>http://www.theintegrationengineer.com/defining-the-data-target-is-the-first-step/</link>
		<comments>http://www.theintegrationengineer.com/defining-the-data-target-is-the-first-step/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 16:35:52 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[destinantion]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[target]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1003</guid>
		<description><![CDATA[This is like the Covey proverb, &#8220;Begin with the end in mind.&#8221;  In an integration project, the first step is always to define the target of where your data is going to end up.  This is true for a document conversion like XSLT or a EDI or Flat File transformation to XML or another version.  [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Defining the data Target is the First Step" width="150" height="150" />This is like the Covey proverb, &#8220;Begin with the end in mind.&#8221;  In an integration project, the first step is always to define the target of where your data is going to end up.  This is true for a document conversion like XSLT or a EDI or Flat File transformation to XML or another version.  It is also true for ETL tasks where we are getting data in and out of a Database or repository.</p>
<p>Starting the work of transforming data or files without a well defined target for the data will cause you to do extra and unnecessary work, and to repeat some steps when the true destination is known.  It may seem obvious, but many many people fall into this trap, and then don&#8217;t understand why their projects keep exceeding their time budgets.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/defining-the-data-target-is-the-first-step/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Keep a personal copy of all documentation you create.</title>
		<link>http://www.theintegrationengineer.com/keep-a-personal-copy-of-all-documentation-you-create/</link>
		<comments>http://www.theintegrationengineer.com/keep-a-personal-copy-of-all-documentation-you-create/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 16:25:46 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Documentatoin]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1000</guid>
		<description><![CDATA[Keeping a copy of all of the documentation you create is a pretty general benefit.  It helps you in three major ways;

Having a personal copy means that if the systems that have the public copies become unavailable, you will still have access to them.
Some times projects that get shelved, lose their documentation.  If you have [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Keep a personal copy of all documentation you create." width="150" height="150" />Keeping a copy of all of the documentation you create is a pretty general benefit.  It helps you in three major ways;</p>
<ol>
<li>Having a personal copy means that if the systems that have the public copies become unavailable, you will still have access to them.</li>
<li>Some times projects that get shelved, lose their documentation.  If you have a personal copy, when the project comes back to life, you will not be starting over.</li>
<li>And you never know what future project you will be working on that will spark the memory, &#8220;Hey we solved a problem like this on this other project&#8230;&#8221;  And having the documentation for it will help you.</li>
</ol>
<p>I have never regretted keeping a personal copy of documentation.  But I have always regretted knowing that I didn&#8217;t keep one when I could have used it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/keep-a-personal-copy-of-all-documentation-you-create/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Language of the Tribe</title>
		<link>http://www.theintegrationengineer.com/language-of-the-tribe/</link>
		<comments>http://www.theintegrationengineer.com/language-of-the-tribe/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 15:38:55 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[power point]]></category>
		<category><![CDATA[ppt]]></category>
		<category><![CDATA[tribal]]></category>
		<category><![CDATA[tribe]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1508</guid>
		<description><![CDATA[
While working for a certain company, I requested some integration information from a manager, and got the  information in an attached ppt file.  I soon noticed that all of the managers used power point presentations to communicate everything.  Yes, we had interminable meetings where managers would show a slide show that they would read [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2008/08/bullseye.jpg"><img class="alignleft size-thumbnail wp-image-14" title="bullseye" src="http://www.theintegrationengineer.com/wp-content/uploads/2008/08/bullseye-150x150.jpg" alt="bullseye 150x150 Language of the Tribe" width="150" height="150" /></a></p>
<p>While working for a certain company, I requested some integration information from a manager, and got the  information in an attached ppt file.  I soon noticed that all of the managers used power point presentations to communicate everything.  Yes, we had interminable meetings where managers would show a slide show that they would read to us, but also received benefits, project updates and other data in ppt file attachments.</p>
<p>Well, I immediately realized that this was a key to communicating with my manager.  And after some observation determined that is was a part of my companies management culture.  (And yes, I started creating power point presentation to communicate with them more effectively.)</p>
<p><span id="more-1508"></span>But this power point preference is not pervasive.  I have worked at many companies since where almost no one used power point even when giving presentations.  So I have observed that with every company culture, there are communication norms that have developed.  And if people work there long enough they don&#8217;t even realize that they are creating a PDF file when it is not needed, because all important data comes in a PDF attachment.</p>
<p>For the outsider, or consultant, observing what methods of communication are used, and then responding with the same type or form of communication may open doors and establish you as part of the team faster than just having good information and advice.  Adopting the &#8216;language of the tribe&#8217; so to speak, is a rite of passage that you should not try to avoid.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/language-of-the-tribe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Practice Project Plans</title>
		<link>http://www.theintegrationengineer.com/best-practice-project-plans/</link>
		<comments>http://www.theintegrationengineer.com/best-practice-project-plans/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 15:35:29 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[project plan]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1494</guid>
		<description><![CDATA[At some point or another, you will create a set of best practices.  These are statements or procedures that your experience has taught you that you need to do to get the best, desired outcome. Many companies have these proudly included in a wiki page or document titled &#8220;Best Practices&#8221;.  Unfortunately this is not where [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Best Practice Project Plans" width="150" height="150" /></a>At some point or another, you will create a set of best practices.  These are statements or procedures that your experience has taught you that you need to do to get the best, desired outcome. Many companies have these proudly included in a wiki page or document titled &#8220;Best Practices&#8221;.  Unfortunately this is not where they belong.</p>
<p>Best Practices should be the basis for your project plans.</p>
<p>Hopefully your project plans are started by using a project plan template.  If not, then you should.  On this template, your &#8220;Best Practices&#8221; should be represented.  Too many times I have been on projects where the project manager starts by gathing the information about what must be done.  Instead, start with how it should be done. Otherwise you will encounter the painful process of trying to apply best practices to a project that is already in motion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/best-practice-project-plans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More people on a problem</title>
		<link>http://www.theintegrationengineer.com/more-people-on-a-problem/</link>
		<comments>http://www.theintegrationengineer.com/more-people-on-a-problem/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 15:51:41 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[managment]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[resource planning]]></category>
		<category><![CDATA[solo]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[time estimate]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1099</guid>
		<description><![CDATA[Is it better to have a team, or the solo, maverick developer?  It depends.  The solo developer can work unimpeded by others, but doesn&#8217;t have anyone to work with to overcome obstacles.  Teams have meetings and have to coordinate their work.  Slowing them down.  As teams grow the problem gets worse.
Sometimes resource planning and project [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 More people on a problem" width="150" height="150" /></a>Is it better to have a team, or the solo, maverick developer?  It depends.  The solo developer can work unimpeded by others, but doesn&#8217;t have anyone to work with to overcome obstacles.  Teams have meetings and have to coordinate their work.  Slowing them down.  As teams grow the problem gets worse.</p>
<p>Sometimes resource planning and project management pressure encourages us to allocate additional engineering resources to development projects.  And there are definitely times when having a team is the best way to work quickly.</p>
<p>However, on integration projects more than a couple people slows the progress of the project.</p>
<p>I was once involved in a merger of companies.  The acquiring company had a large team of developers working on replacing the functionality of my company, the acquired one.  I became a team of one and the plan was that I would maintain the systems until the migration.</p>
<p>Management soon became frustrated as new feature development stagnated.  So they called me and asked how long it would take to produce a specific new integration feature.  My estimate, 40hr over two weeks.  Then they called a meeting and asked the leader of the development team how long.  His estimate, 6 months or more.</p>
<p>This wasn&#8217;t solely a matter of competence.  Sure, I was still there because I was the best on my technology.  But the other team was not populated with slouches.  There were just too darn many of them.  They got in each others way.</p>
<p>I, on the other hand, had no one to coordinate with.  No one to slow me down.</p>
<p>Teams of one are not always the best, but teams of 50 are never the best.</p>
<p>Or as a friend of mine likes to say, &#8220;It takes one woman nine months to have one baby, but putting nine women on the job doesn&#8217;t get you a baby in only one months.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/more-people-on-a-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Data Integration</title>
		<link>http://www.theintegrationengineer.com/what-is-data-integration/</link>
		<comments>http://www.theintegrationengineer.com/what-is-data-integration/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 15:05:13 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[transform]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1285</guid>
		<description><![CDATA[Some times we overlook the basics.  And from time to time it is good to ask and answer the basic questions.  One of the most basic questions for us is to ask, &#8220;What is Data Integration?&#8221;  After asking, we need to provide an answer.
Data Integration is the process of transforming heterogeneous data into [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 What is Data Integration" width="150" height="150" /></a>Some times we overlook the basics.  And from time to time it is good to ask and answer the basic questions.  One of the most basic questions for us is to ask, &#8220;What is Data Integration?&#8221;  After asking, we need to provide an answer.</p>
<p>Data Integration is the process of transforming heterogeneous data into a useful homogeneous data set.</p>
<p>All of the techniques and disciplines that we use as integration engineer help us to transform (not must map) heterogeneous data (data in more than one form, source, type, etc)  into a useful (not common, and not necessarily the final) homogeneous (single form, schema, location, etc) data set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/what-is-data-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Integration Funnel</title>
		<link>http://www.theintegrationengineer.com/data-integration-funnel/</link>
		<comments>http://www.theintegrationengineer.com/data-integration-funnel/#comments</comments>
		<pubDate>Mon, 31 May 2010 15:46:57 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[convenient data]]></category>
		<category><![CDATA[funnel]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[prefered format]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1323</guid>
		<description><![CDATA[The integration funnel view is where we have data in more than one format or more than one source or both and we integrate them with one destination.  (We also do the reverse, but that&#8217;s not very funnel like.)  To do this effectively we don&#8217;t do a unique integration for each format and source of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Data Integration Funnel" width="150" height="150" /></a>The integration funnel view is where we have data in more than one format or more than one source or both and we integrate them with one destination.  (We also do the reverse, but that&#8217;s not very funnel like.)  To do this effectively we don&#8217;t do a unique integration for each format and source of data.</p>
<p>There are two versions of the funnel.  First is where we pick a format and map that data to our internal system.  Then other formats we modify to be in this preferred format, and then map then through the original process.</p>
<p>Second, we create a intermediary format of all of the required data, and them translate all external data to this format of convenience.  Using a convenient dataset as our intermediate format, we can apply mapping logic in the external translation, and business logic on the importation of the convenient data.</p>
<p>I prefer using the convenient dataset, but either way we are able to reuse the mapping logic and using that as leverage are able to do more rapid integrations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/data-integration-funnel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Right Tool</title>
		<link>http://www.theintegrationengineer.com/the-right-tool/</link>
		<comments>http://www.theintegrationengineer.com/the-right-tool/#comments</comments>
		<pubDate>Mon, 24 May 2010 16:10:19 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[bailing wire]]></category>
		<category><![CDATA[buzz-word]]></category>
		<category><![CDATA[Buzzword]]></category>
		<category><![CDATA[cool tool]]></category>
		<category><![CDATA[duct-tape]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Right Tool]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1085</guid>
		<description><![CDATA[Growing up on a farm, I learned that almost any problem could be solved, (at least temporarily) with the proper application of bailing wire and duct-tape.
However, my father was a mechanical engineer, and he had a different philosophy that he wanted me to learn.  Routinely after I had &#8220;fixed&#8221; something. He would show me how [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 The Right Tool" width="150" height="150" /></a>Growing up on a farm, I learned that almost any problem could be solved, (at least temporarily) with the proper application of bailing wire and duct-tape.</p>
<p>However, my father was a mechanical engineer, and he had a different philosophy that he wanted me to learn.  Routinely after I had &#8220;fixed&#8221; something. He would show me how getting the right tool,  and part worked so much better and longer.</p>
<p><span id="more-1085"></span>The same is true in software development and integration work.  However the bailing wire and duct-tape have been replaced with buzz-word products.</p>
<p>Many projects get bogged down as a new, cutting edge technology that sounded cool is added to the project when an existing tool or application will do the job.</p>
<p>The right tool for the right job is better than a cool tool that almost words for the job.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/the-right-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Break Big tasks in to threes</title>
		<link>http://www.theintegrationengineer.com/break-big-tasks-in-to-threes/</link>
		<comments>http://www.theintegrationengineer.com/break-big-tasks-in-to-threes/#comments</comments>
		<pubDate>Mon, 17 May 2010 16:50:36 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[big task]]></category>
		<category><![CDATA[Input]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[OUtput]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1095</guid>
		<description><![CDATA[I was at a business seminar where the instructor said, &#8220;Every task can be broken into three pieces; Inputs, Outputs, and Processes.&#8221;  I have thought about this and would like to echo that with more emphasis on integration projects and tasks.
Integrations can be broken into these three pieces as well.
Input:  Data that we get from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Break Big tasks in to threes" width="150" height="150" /></a>I was at a business seminar where the instructor said, &#8220;Every task can be broken into three pieces; Inputs, Outputs, and Processes.&#8221;  I have thought about this and would like to echo that with more emphasis on integration projects and tasks.</p>
<p>Integrations can be broken into these three pieces as well.</p>
<p><strong>Input</strong>:  Data that we get from outside whatever we are integrating.  We can be getting orders from a third party company, or we can be talking about getting data from an account DB on another server in our office.  In any case, and depending on the scope of our integration task we can define our inputs to be anything that is coming in externally to the product we are integrating.</p>
<p><strong>Output</strong>:  Data that we transmit, broadcast or convey to others.  This can be our webpage, or orders we are sending to a vendor.  In any case and depending on the scope of the integration task we define our outputs to be anything that comes out of the products we are integrating.</p>
<p><strong>Processes</strong>:  This is anything that we do to the data in-between input and output.  Translating data format, calculations, collation of data, or anything else that you can do with it count as a Process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/break-big-tasks-in-to-threes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Proper sequence brings smooth integrations</title>
		<link>http://www.theintegrationengineer.com/proper-sequence-brings-smooth-integrations/</link>
		<comments>http://www.theintegrationengineer.com/proper-sequence-brings-smooth-integrations/#comments</comments>
		<pubDate>Mon, 10 May 2010 16:03:01 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Sequecne]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1094</guid>
		<description><![CDATA[When we talk about getting the well defined target as the first step in the data mapping process it is not because starting with source data is harder.  And we don&#8217;t talk about sequence of project tasks because we are like little children who want to eat desert first.  There are two major benefits that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Proper sequence brings smooth integrations" width="150" height="150" /></a>When we talk about getting the well defined target as the first step in the data mapping process it is not because starting with source data is harder.  And we don&#8217;t talk about sequence of project tasks because we are like little children who want to eat desert first.  There are two major benefits that doing an integration project (and other projects) in the right order bring; Cost, and Quality.</p>
<p><span id="more-1094"></span></p>
<p><strong>Cost </strong>is the easiest to quantify.  And it resonates with businesses today more than ever.  Doing tasks out of order causes some tasks to be repeated.  Some work to get in the way of other work and delay it or just make it take longer.  Some solutions may be developed to problems that are solved making that work to go unused.  And more.</p>
<p><strong>Quality </strong>is always harder to quantify.  And in a budget conscious business environment is often minimized.  But we can point out that integration solution that are good quality cost less to maintain.  And the accuracy, reliability and extendability of good quality integration solutions are investments in the health and longevity of the business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/proper-sequence-brings-smooth-integrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>80% of errors come from 20% of integration</title>
		<link>http://www.theintegrationengineer.com/80-of-errors-come-from-20-of-integration/</link>
		<comments>http://www.theintegrationengineer.com/80-of-errors-come-from-20-of-integration/#comments</comments>
		<pubDate>Mon, 03 May 2010 16:14:45 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[80/20]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Integration Tip]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1101</guid>
		<description><![CDATA[To be quite honest, 80% of the work to pull off an integration is easy.  It still has to be done right, but after you have done more that one supplier boarding there are many things that just make sense.
But then there is that 20% that is not so easy.  20% that you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 80% of errors come from 20% of integration" width="150" height="150" /></a>To be quite honest, 80% of the work to pull off an integration is easy.  It still has to be done right, but after you have done more that one supplier boarding there are many things that just make sense.</p>
<p>But then there is that 20% that is not so easy.  20% that you end up spending way too much time on.  And its this 20% that produces the most exceptions, the most errors and the most cost.</p>
<p>We need the whole integration, we can&#8217;t just skip this part.  But we can be aware of it and do the work to ensure it doesn&#8217;t grow or become a stubling block to our project.</p>
<p>Short list for me:</p>
<ul>
<li> new tech that is mandated or cool</li>
<li> undefined support contacts</li>
<li> one off integrations</li>
<li> un assured delivery</li>
<li> unmonitorable processes</li>
<li> integrations without a well planned design</li>
</ul>
<p>These are not in any particular order of occurrence or severity that I am aware of.</p>
<p>I am sure that there are other cases and causes for that 20%  that either don&#8217;t come to mind or that I haven&#8217;t encountered. (Lucky me)  Please feel free to add to this list.</p>
<p>And I expect that I will be blogging about some of these in more detail.  <img src='http://www.theintegrationengineer.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' title="80% of errors come from 20% of integration" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/80-of-errors-come-from-20-of-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Save the world solutions</title>
		<link>http://www.theintegrationengineer.com/save-the-world-solutions/</link>
		<comments>http://www.theintegrationengineer.com/save-the-world-solutions/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 14:25:44 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA["save the world"]]></category>
		<category><![CDATA[bog]]></category>
		<category><![CDATA[deadline]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[scope creep]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1100</guid>
		<description><![CDATA[A friend of mine once said in a meeting, &#8220;Let make sure we&#8217;re not trying to save the world when all we need to do is get lunch.&#8221;  This stuck with me and I often see teams of developers getting excited about what can be done to the point where they loose site of what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Save the world solutions" width="150" height="150" /></a>A friend of mine once said in a meeting, &#8220;Let make sure we&#8217;re not trying to save the world when all we need to do is get lunch.&#8221;  This stuck with me and I often see teams of developers getting excited about what can be done to the point where they loose site of what needs to be done.</p>
<p>When this happens there is a tendency to try and &#8220;save the world&#8221; or at least far exceed the scope of the project or problem.  To avoid this tendency, it is good to have someone in the meeting and involved in the planning and scheduling of resources that will constantly ask, &#8220;How does doing this help us solve the problem?&#8221;  And this also means that we should have a well defined goal for our project.</p>
<p>(If you are your project, write down the purpose and focus and read it every day, or more often to stay on target.)</p>
<p>Projects that succumb to &#8220;save the world&#8221; tendencies have a propensity to get bogged down, experience massive scope creep, miss their deadlines and expend lots of energy that does not return in realized benefits to the developer, team or company.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/save-the-world-solutions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Insanity Integration</title>
		<link>http://www.theintegrationengineer.com/insanity-integration/</link>
		<comments>http://www.theintegrationengineer.com/insanity-integration/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 15:27:50 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[crazy]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[ICI]]></category>
		<category><![CDATA[insanity]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[repeted]]></category>
		<category><![CDATA[Repetition]]></category>
		<category><![CDATA[repitition]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1139</guid>
		<description><![CDATA[It has been said that &#8220;the definition of insanity  is to do the same thing over and over and expect different results&#8220;. While this may or may not be true, programs that can easily get caught in repetitive or infinite loops can certainly be the cause of crazy data and logs.  And so we [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Insanity Integration" width="150" height="150" /></a>It has been said that &#8220;<a href="http://wiki.answers.com/Q/Who_first_said_the_definition_of_insanity_is_to_do_the_same_thing_over_and_over_and_expect_different_results">the definition of insanity  is to do the same thing over and over and expect different results</a>&#8220;. While this may or may not be true, programs that can easily get caught in repetitive or infinite loops can certainly be the cause of crazy data and logs.  And so we need to recognize this potential and make sure we don&#8217;t write integrations susceptible to this ailment.</p>
<p>But there is another type of  &#8220;doing the same thing,&#8221; that can be just as maddening.  These are errors that continue to happen and no one bothers to fix them because the resolution is simple even if it is manual.  Like hitting the side of an old TV to clear up the picture.  It may work, but eventually all that time spent with the fuzzy picture, or making that quick manual change add up.  And that time is worth money.</p>
<p>What I recommend is that <a href="http://www.theintegrationengineer.com/passive-monitor/">errors not only be tracked</a> to ensure someone is alerted and they are resolved.  But errors instances are counted and reported so that support, development and management can see <a href="http://www.theintegrationengineer.com/supply-chain-challenges-ici/">what the most frequent errors are</a>.</p>
<p>Asking your support people to do the same thing over and over may not mean that you or they are insane, but it can result in something like it.  Find ways to automate or eliminate these repeating time wasters.  And with the data of how often and how long they took to fix, you can report how much time you are saving everyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/insanity-integration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fancy tools have fancy problems</title>
		<link>http://www.theintegrationengineer.com/fancy-tools-have-fancy-problems/</link>
		<comments>http://www.theintegrationengineer.com/fancy-tools-have-fancy-problems/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 15:25:35 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Aim Small]]></category>
		<category><![CDATA[fancy tool]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Mel Gibson]]></category>
		<category><![CDATA[Miss Small]]></category>
		<category><![CDATA[patriot]]></category>
		<category><![CDATA[simple tool]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1093</guid>
		<description><![CDATA[and simple tools have simple problems.
In one of the early scenes in &#8220;The Patriot&#8221;, Mel Gibson&#8217;s character gives his young 11 and 12 year old sons some last minute instruction before ambushing a British patrol to rescue the older son.  He says, &#8220;Remember, aim small, miss small.&#8221;  The meaning behind this is simple.  If you [...]]]></description>
			<content:encoded><![CDATA[<p>and simple tools have simple problems.<a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Fancy tools have fancy problems" width="150" height="150" /></a></p>
<p>In one of the early scenes in &#8220;The Patriot&#8221;, Mel Gibson&#8217;s character gives his young 11 and 12 year old sons some last minute instruction before ambushing a British patrol to rescue the older son.  He says, &#8220;Remember, aim small, miss small.&#8221;  The meaning behind this is simple.  If you are aiming small, say, at the button on your target&#8217;s shirt, and then you miss, you still actually hit the target.  This is &#8220;missing small&#8221;.</p>
<p>But if you aim big, say, at a whole person, or bear, and then you miss, you don&#8217;t hit your target, you may even hit something else that you didn&#8217;t intend.  This is &#8220;missing big&#8221;.</p>
<p>Selecting a tool to solve an integration problem is like aiming at a target.  Aiming small, is selecting a simple tool.  Aiming big is selecting a fancy tool.  Simple tools have simple problems, while fancy tools have fancy problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/fancy-tools-have-fancy-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A product is best</title>
		<link>http://www.theintegrationengineer.com/a-product-is-best/</link>
		<comments>http://www.theintegrationengineer.com/a-product-is-best/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:23:58 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[point of failure]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[regular expression]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[time-stamp]]></category>
		<category><![CDATA[unnecessary features]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1097</guid>
		<description><![CDATA[When there is nothing left that can be removed and still have it perform its task.  This isn&#8217;t the direct quote, but it is a paraphrase of a fairly old &#8220;programming proverb&#8221; if you will.  In a nut shell this rule of thumb teaches that to complete a program or other systems creating [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 A product is best" width="150" height="150" /></a>When there is nothing left that can be removed and still have it perform its task.  This isn&#8217;t the direct quote, but it is a paraphrase of a fairly old &#8220;programming proverb&#8221; if you will.  In a nut shell this rule of thumb teaches that to complete a program or other systems creating task. We must remove the unnecessary.</p>
<p>This does not mean that we discard things like monitoring, or error handling.  We need those things.  It does mean that we remove developer level debug statements that are no longer needed.  ( I think you know what I mean there.)</p>
<p>It also means that redundant functions and repeating instructions without any attempt at abstracting them is a poor practices.  And we can clearly see that.  If you have 20 places where you create and format a time-stamp the same way.  We know that it would be better to have a function or object that we call to do this work so that we don&#8217;t have 20 places to remember to update if we need to change the format.</p>
<p>Also, tasks that are necessary, but written in an obtuse and excessive way are not best.  Just because I can write a 150 line process to search and replace characters in a string does not mean that it is okay to do that.  It is best to do something small even if it is a bit austere.  (Regular Expressions are a good example.  it is a bit austere, but very small and effective.)</p>
<p>Finally we also need to limit the cool side features from our code.  An integration script is not the place to do work not related to the integration.  For example, we may need to move old logs to an archive.  But having our logging process check and move those logs files is really not what it is for.  It would be best if there was something else responsible for doing this work so that we are not burdened and slowed with this, and so that we eliminate this potential source of a point of failure.</p>
<p>That really is one of the core benefits realised by adhering to this rule.  Eliminations of unnecessary points of failure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/a-product-is-best/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A bug is when&#8230;</title>
		<link>http://www.theintegrationengineer.com/a-bug-is-when/</link>
		<comments>http://www.theintegrationengineer.com/a-bug-is-when/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:14:09 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[primary purpose]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1083</guid>
		<description><![CDATA[ Bugs are sometimes defined as when a program does anything that the user does not expect.  However sometimes users expect some unreasonable things.  So what is a bug?  Well I definitely think that it is more than when it does something that the programmer doesn&#8217;t expect.
In that vein, sometimes bugs can be when the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 A bug is when..." width="150" height="150" /></a> Bugs are sometimes defined as when a program does anything that the user does not expect.  However sometimes users expect some unreasonable things.  So what is a bug?  Well I definitely think that it is more than when it does something that the programmer doesn&#8217;t expect.</p>
<p>In that vein, sometimes bugs can be when the program does things that the programmer did intend.</p>
<p>All applications have a primary purpose.  After that they have secondary purposes.  And then many times there are aspects of applications that start to get in the way of the primary purpose.  A good example of that can be found in a popular word processing application from Microsoft.  Taking advantage of this application&#8217;s auto-correction feature, people can create a situation where typing in a common word will auto-correct it so a word that is not intended by the writer.</p>
<p>When this happens we may all laugh, but a secondary feature of the application, (auto-correction), is preventing the primary purpose, (composition), from being accomplished.</p>
<p>There are times in software development, both in user applications, and in back end scripting, when leveraging a secondary feature, subverts the primary purpose.  When that primary purpose is a mission critical function, we can get that call in the middle of the night.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/a-bug-is-when/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Untested Desaster Recovery Plans</title>
		<link>http://www.theintegrationengineer.com/untested-desaster-recovery-plans/</link>
		<comments>http://www.theintegrationengineer.com/untested-desaster-recovery-plans/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 16:55:31 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Disaster]]></category>
		<category><![CDATA[Disaster Recovery Plan]]></category>
		<category><![CDATA[Dream]]></category>
		<category><![CDATA[plan]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1056</guid>
		<description><![CDATA[Or as I like to call them, &#8220;Disaster Recovery Dreams.&#8221;  Sure, you need to have a plan before you can test it.  But before you really tell customers, management, team members or even yourself that you have a Disaster Recovery Plan, you need to have it tested.  Until them you are dreaming.
All this does not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Untested Desaster Recovery Plans" width="150" height="150" /></a>Or as I like to call them, &#8220;Disaster Recovery Dreams.&#8221;  Sure, you need to have a plan before you can test it.  But before you really tell customers, management, team members or even yourself that you have a Disaster Recovery Plan, you need to have it tested.  Until them you are dreaming.</p>
<p>All this does not mean that you test it once, and then leave it to age in the recesses of your file server.  This is a plan that needs to be reviewed periodically.  With every major release.  The parts of the disaster recovery plan like database restore activities need to be requested every few months to make sure that the tasks are repeatable and the backups are valid and ensure that a recovery is possible.</p>
<p>These periodic and onging tests and updates make sure that if you ever have to implement your plan, that you will be recovering to your current system, not to the system when the plan was created.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/untested-desaster-recovery-plans/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>When Words Fail use a Whiteboard</title>
		<link>http://www.theintegrationengineer.com/when-words-fail-use-a-whiteboard/</link>
		<comments>http://www.theintegrationengineer.com/when-words-fail-use-a-whiteboard/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 15:42:46 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[diagram]]></category>
		<category><![CDATA[illustrate]]></category>
		<category><![CDATA[picture]]></category>
		<category><![CDATA[white board]]></category>
		<category><![CDATA[whiteboard]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1050</guid>
		<description><![CDATA[I know it may sound cleche to state that a picture is worth a thousand words.  But some things are just really difficult to communicate in text.  You may have noticed a few diagrams showing up in my posts here.  Well, I have found that there are times in a conversation with other programmers, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 When Words Fail use a Whiteboard" width="150" height="150" /></a>I know it may sound cleche to state that a picture is worth a thousand words.  But some things are just really difficult to communicate in text.  You may have noticed a few diagrams showing up in my posts here.  Well, I have found that there are times in a conversation with other programmers, and more often in conversations with non-technical collegues that I am saying, &#8220;I need a whiteboard.&#8221;</p>
<p>Because of this propensity to illustrate my explanations, people have jokingly said that I couldn&#8217;t talk if they took my dry erase markers away.  At the same time, being able to communicate with others that are not versed in programming, databases, chemestry, or any other disapline that you find yourself will be a useful skill that will help you with your immediate project, and can advance your career.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/when-words-fail-use-a-whiteboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Undefined Data or the Catalyst of Chaos</title>
		<link>http://www.theintegrationengineer.com/undefined-data-or-the-catalyst-of-chaos/</link>
		<comments>http://www.theintegrationengineer.com/undefined-data-or-the-catalyst-of-chaos/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 16:16:14 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[CDATA]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Undefined Data]]></category>
		<category><![CDATA[ZZ]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1043</guid>
		<description><![CDATA[When the definition for a data field or element is undefined or otherwise open to the whim of the user, we are asking for trouble.  Not in the sense that this causes trouble.  But how it is then used that causes trouble.  And this is not to pick on the CDATA tag in XML or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" title="buddha-clip-art" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Undefined Data or the Catalyst of Chaos" width="150" height="150" /></a>When the definition for a data field or element is undefined or otherwise open to the whim of the user, we are asking for trouble.  Not in the sense that this causes trouble.  But how it is then used that causes trouble.  And this is not to pick on the CDATA tag in XML or ZZ qualified elements in EDI.  It seems that every data format of any size of adoption commits this sin of categorisation.</p>
<p>My general recommendation is to avoid using undefined or user defined data.  Relying on a user defined field that we use to solve a problem by working around some limitation (or perceived limitation) of the file data definition, may give us a feeling of power.  But over the long haul turns the implementation into a proprietary implementation that is not reusable with more than one trading partner.</p>
<p>And having each integration using a slightly unique implementation leads to chaos.  Both in suppport, and in the applicaiton of updates.</p>
<p>Undefined data exists.  People will use it.  You will have to deal with it as some time, but whenever possible. avaid making it a critical part of the implementation, and always provide it with a healty dose of error handling.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/undefined-data-or-the-catalyst-of-chaos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
