<?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>EXTOL Technology Blog</title>
	<atom:link href="http://www.extol.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.extol.com/blog</link>
	<description>Official Blog of EXTOL International</description>
	<lastBuildDate>Wed, 08 Sep 2010 15:00:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Small- versus Large-Scale Provisioning</title>
		<link>http://www.extol.com/blog/?p=731</link>
		<comments>http://www.extol.com/blog/?p=731#comments</comments>
		<pubDate>Wed, 08 Sep 2010 15:00:41 +0000</pubDate>
		<dc:creator>Jim OLeary</dc:creator>
				<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[EBI]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[provisioning]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=731</guid>
		<description><![CDATA[As applied to business integration, the term “provisioning” has many meanings, but overall, it refers to the process of defining integration endpoints and establishing connections and integration processes between them.   If an integration service that connects a pair of endpoints is simple and tightly constrained – for example, a data syndication service with a fixed [...]]]></description>
			<content:encoded><![CDATA[<p>As applied to business integration, the term “provisioning” has many meanings, but overall, it refers to the process of defining integration endpoints and establishing connections and integration processes between them.   If an integration service that connects a pair of endpoints is simple and tightly constrained – for example, a data syndication service with a fixed process model and limited output options – provisioning can be as simple as selecting from a fixed list of connection and data format delivery options, and specifying the delivery endpoint’s address.</p>
<p>In most cases, however, business integration provisioning involves more steps, because the business problem to be solved requires tailored integration between some set of sources and targets, e.g., integration of an XML transaction set with a Warehouse Management System.  Those steps might include definition or specification of endpoints, communication and interface connections, documents / messages and envelopes, data routing, business processes, and data transformations.  By combining building blocks that implement such object types, you can solve most kinds of business-to-business, application, and data integration problems.<span id="more-731"></span></p>
<p>The scope, complexity, and duration of the provisioning process are very much dependent on your choice of implementation tools.  While integration provisioning can be implemented using conventional programming languages and tools, model-driven integration tools offer considerably more power and productivity, because they enable specification of integration applications to occur at a higher level, using predefined object types like business processes, events, transformations, and adapters.</p>
<p>Even so, there are limits to the productivity one can achieve with such object-level modeling environments.  Data transformations, for example, are commonly produced using visual mapping tools that support drag-and-drop associations between source and target elements and enable specification of functions (arithmetic, string manipulation, database lookup, external program or service call, etc.) that produce the desired output result in each target element.  A similar level of detailed effort may be needed when defining source and target documents, endpoints, and other integration object deliverables.</p>
<p>Scaling up this kind of object-at-a-time provisioning approach to very large projects, or even worse to large scale conversions (e.g., upgrading or replacing an ERP system for which a great deal of integration time and effort have been invested), while less arduous than conventional programming, can still consume very large amounts of IT staff time, and can introduce significant deadline risk.</p>
<p>That’s where “large-scale provisioning” comes into play.  The idea behind large-scale provisioning is to apply automation to parts of the provisioning process, operating on collections of integration objects at one time, rather than operating on individual objects, for example:</p>
<ul>
<li>Endpoint provisioning tools that can generate many endpoint definitions at once, by analyzing EDI instance data (sample interchanges from partners)</li>
<li>Automated metadata importers and generators that produce document definitions containing hundreds or thousands of typed and structured elements</li>
<li>Intelligent mapping utilities that can generate many transformation rules at a time, based on a combination of mapping history, property matching heuristics, and predefined source-target element associations</li>
<li>Migration utilities that can automate modification of multiple transformation rules in multiple maps at a time, when versions, structures, or syntax changes occur in source or target documents</li>
</ul>
<p>In a way, large-scale provisioning does for integration design-time processes in IT what business process automation does for operational processes in the business – by applying automation to tedious, low-level tasks, it increases organizational productivity and efficiency, reduces errors, and speeds the delivery of integration results.  Depending on the integration project at hand, large-scale provisioning can save up to 70% of your project time (even more, in some cases).  That translates to the ability to deliver more projects with less resource and time, reduced project risk (less chance of delivering projects late and less chance that projects, when delivered, no longer meet current business requirements), and earlier onset of business benefits (e.g., faster onboarding of customer transactions tied to new revenue).</p>
<p>In a few weeks, you’ll hear more about large-scale provisioning from EXTOL, as we launch EXTOL Business Integrator v2.5.  Stay tuned for more!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=731</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Increasing Productivity With a Local Eclipse Mirror</title>
		<link>http://www.extol.com/blog/?p=729</link>
		<comments>http://www.extol.com/blog/?p=729#comments</comments>
		<pubDate>Wed, 01 Sep 2010 13:28:43 +0000</pubDate>
		<dc:creator>Josh Baran</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[extol]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=729</guid>
		<description><![CDATA[We use Eclipse pretty heavily here at EXTOL. In addition to using it as our development environment, we also use a lot of the Eclipse platform and tools in our own product. It really helps our productivity both by making it easier for us to write our code, and by allowing us to reuse 3rd [...]]]></description>
			<content:encoded><![CDATA[<p>We use Eclipse pretty heavily here at EXTOL. In addition to using it as our development environment, we also use a lot of the Eclipse platform and tools in our own product. It really helps our productivity both by making it easier for us to write our code, and by allowing us to reuse 3<sup>rd</sup> party code instead of writing it ourselves.</p>
<p>However, when new releases are made available, there is a whole lot of downloading going on. Each of our developers has to download the new Eclipse install, install it, and then download whatever other features they need from the update sites. Our Internet connection is pretty fast, but it still takes a lot of time. Time that would be better spent doing our actual work.</p>
<p>First, we started keeping the installs in a shared folder. That worked for just the installs. One person would download it first, and then the rest of us copy it from the shared folder. But that involves having  someone do the initial download and save first. No specific person is responsible for that, so it isn&#8217;t done consistently. Or, sometimes someone does it only to find that someone else already did. It also doesn&#8217;t solve the problem of the update sites. After installing, each developer still has to download all their features from them directly.</p>
<p>The next thing we tried was to set up a local copy of the update sites. Eclipse has a mirroring tool that can replicate an update site to another location. That was progressing pretty well, but then we thought about how disjointed it was doing manual downloads for the installs, this mirror for the update sites, and having to manage both of them.</p>
<p>I started looking into becoming an actual Eclipse mirror site. Hard drives are cheap, so storage space wouldn&#8217;t be a problem. But, we did not want to actually be a public mirror, since that would defeat the purpose of trying to save bandwidth. Then, after looking around a bit, I found <a href="http://www.eclipse.org/downloads/mir_request.php" onclick="pageTracker._trackPageview('/outgoing/www.eclipse.org/downloads/mir_request.php?referer=');">this page</a>. I saw that they accepted requests for internal only mirrors. That was perfect. I signed up, and a short time later we had access.</p>
<p>Then came the setup. They make it easy for you by using rsync to do the task, and they also provide a configuration script to get you started. Since the total size was over 100GB, I had to break it into chunks to download over a few nights. In that script, I would enable a few more pieces each night until it was fully synced. From then on, it would just download the changed content each night.</p>
<p>One problem we ran into, though, was that once the whole site was synced, we noticed it was missing some pieces. After further investigation, and an email to the Eclipse webmaster, we found out that what they were calling the full sync was not actually a true full sync. They cut out some of the subprojects because some of the mirror sites were worried about the space that was needed. The webmaster offered to put us on the true full sync, which was much larger. But, by today&#8217;s standards, it is still not all that much data. It is currently about 360GB. My laptop that is a year old has more than enough space to contain that. I don&#8217;t know what people were worried about.</p>
<p>In any case, our true full mirror is now up and running, and it saves a huge amount of time for us. Now when a new release is available, the rsync automatically gets it. Our developers then download it from our local mirror in seconds, instead of the minutes it used to take. The update sites are also pointed to our local mirror, so those downloads also complete in a fraction of the time it used to take. Finally, our automated build process can also use the local mirror. That lets us set up those builds to automatically get updates, but still have a fast turnaround time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=729</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Overview: Class and Object Design</title>
		<link>http://www.extol.com/blog/?p=727</link>
		<comments>http://www.extol.com/blog/?p=727#comments</comments>
		<pubDate>Wed, 25 Aug 2010 13:40:08 +0000</pubDate>
		<dc:creator>Andrew Knott</dc:creator>
				<category><![CDATA[Integration Trends and Issues]]></category>
		<category><![CDATA[object oriented software]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=727</guid>
		<description><![CDATA[Class and object design can be a tricky thing.  It’s not really something that can be taught or quantified.  This skill is developed through years of experience.  This may be more of an art than it is a science.  No expert can come up with an exact formula on how this should be done but [...]]]></description>
			<content:encoded><![CDATA[<p>Class and object design can be a tricky thing.  It’s not really something that can be taught or quantified.  This skill is developed through years of experience.  This may be more of an art than it is a science.  No expert can come up with an exact formula on how this should be done but all experts can pretty much agree on what is a bad design.</p>
<p>A possible starting point of a process could be to develop a written problem statement outlining the issue at hand.  This can be done by interviewing a customer or whoever the requirements are coming from.  Once the problem statement is developed you will find that the nouns in the statement will turn into classes and the verbs in the statement will turn into operations.  From there relationships between the classes can be derived.  Statements like “is a” can denote inheritance, “has a” can denote composition, “uses” can denote delegation, etc.</p>
<p>A UML diagram should be drawn modeling what was discovered by the problem statement.  It is also good to keep a catalogue of design patterns at hand so that a given pattern may be applied to a module of the software system.  Remember that Object Oriented Software is about loose coupling, encapsulation, and reuse, which design patterns help enforce.  Once the initial diagram is developed it is really more of a guideline than concrete fact at this point.  When the implementation process begins new facts will come to light that haven’t been considered before which will ultimately force the redesign some components of the software.  Once this happens the diagram should be updated to reflect the new functionality.  This will create a software cycle that will bounce back and forth from implementation to redesign approaching a final version of the software.</p>
<p>This is really only a generalized overview of an absolutely monstrous topic in which there are many different paradigms and many different ways to go about tackling the problem.  As a closing thought, keep in mind that a design is never really complete, that it can always be improved upon and made more robust, clearer, and more efficient.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=727</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is Testing so Critical for Production?</title>
		<link>http://www.extol.com/blog/?p=721</link>
		<comments>http://www.extol.com/blog/?p=721#comments</comments>
		<pubDate>Wed, 18 Aug 2010 13:40:53 +0000</pubDate>
		<dc:creator>Dan Feeney</dc:creator>
				<category><![CDATA[EDI and B2B Integration]]></category>
		<category><![CDATA[EDI]]></category>
		<category><![CDATA[test system]]></category>
		<category><![CDATA[trading partners]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=721</guid>
		<description><![CDATA[After having supported many customers for the past several years, I look back at some of the more critical issues and quickly recognize that most of these could have been resolved (or certainly avoided downtime) had the customer employed reasonable and simple testing.
The one recurring theme is the amount of implementation work that is performed [...]]]></description>
			<content:encoded><![CDATA[<p>After having supported many customers for the past several years, I look back at some of the more critical issues and quickly recognize that most of these could have been resolved (or certainly avoided downtime) had the customer employed reasonable and simple testing.</p>
<p>The one recurring theme is the amount of implementation work that is performed without equal efforts applied to testing that work.  One would expect that any configuration with impact on company reputation and revenue would be tested to its’ fullest potential before it is ever promoted to a production status.  Schedules and deadlines do not always allow for intense sessions of testing and debugging, however, there are many important yet unrecognized advantages to the testing process.<span id="more-721"></span></p>
<p>Let’s first look at some of the obvious reasons why a company might opt NOT to implement a testing plan as part of their implementation:</p>
<ol>
<li>Maintaining a separate test system is expensive.</li>
<li>Migrating or “promoting” work from the test to production system is time consuming and could be a bit overwhelming, particularly if the configuration is simple and on a tight schedule.</li>
<li>Keeping the test and production systems “mirrored” could be difficult to maintain, especially if many resources are tied to the same project.</li>
</ol>
<p>Perhaps these statements are good reasons to bypass an adequate testing phase but let’s consider the repercussions of such actions.</p>
<p><strong>Scenario</strong></p>
<p style="padding-left: 30px;">An EDI Analyst has been given the task of implementing a new Trading Partner and Transaction into their application system.  The addition of this new partner will yield high profits for the company (and maybe positive internal exposure for the analyst).</p>
<p style="padding-left: 30px;">The company’s IT management informs the analyst that a test system has been made available, where the analyst could build and test the processes necessary for this implementation without concerns for interfering with day-to-day operations.  Instead, the analyst exudes his/her confidence in this seemingly repetitive task and decides that testing would delay completion by forcing him/her to coordinate with other production operations and personnel.  The analyst proceeds by building the work directly into the production system.</p>
<p style="padding-left: 30px;">Fast-forward a few weeks.</p>
<p style="padding-left: 30px;">The analyst is now one day from the deadline and the work is about to go live!  He/she places the finishing touches on the implementation and, the very next day, they “flip the switch” to start receiving the EDI information from the Trading Partner.  Aghast, the process does not work.  Reacting quickly, the analyst begins to search for the problem.  After a few intense moments, he/she discovers that the problem is occurring in a part of the process deemed the “heart” of the application.  Making any changes at this point would require that all other portions of the implementation would either need to be redone or, at minimum, re-evaluated and retested.  Meanwhile, the partner relationship has moved forward; data is flowing in but can’t be processed.  The partner activation is placed on hold, revenue is lost, and the partner relationship has been strained.</p>
<p>This describes a worst-case scenario but is not uncommon, particularly when little emphasis is placed on the testing process.  Perhaps this situation could have been easily avoided?</p>
<p>Let’s look at some of the advantages of having a test system:</p>
<ol>
<li>Building/testing a process on a test system will identify immediate areas for concern and expose any mistakes made during the implementation.</li>
<li>Having a test system can also serve as backup in the event configurations would need to be restored to the production system.</li>
<li>Building a test system opens the opportunity for creative thinking as different methods for implementation can be tested without affecting production.</li>
</ol>
<p>In our scenario, had the EDI Analyst decided to use a test system and prepared testing procedures, maybe he/she would not have found themselves in this awful predicament.  Unfortunately all potential benefits (both company and personal) were lost; a lack of confidence sets in and unneeded stress ensues.</p>
<p>Often, we do not realize the importance of the testing phase of an implementation.  From personal experience I have seen this make or break projects.  The next project you are assigned to, do not underestimate the importance of developing and including a thorough testing process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=721</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dipping a Toe in the NoSQL Pool</title>
		<link>http://www.extol.com/blog/?p=714</link>
		<comments>http://www.extol.com/blog/?p=714#comments</comments>
		<pubDate>Wed, 11 Aug 2010 18:27:10 +0000</pubDate>
		<dc:creator>Patrick Gombola</dc:creator>
				<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=714</guid>
		<description><![CDATA[There&#8217;s a great deal of data floating around and it has to be put somewhere. In 1970, the relational database (RDBMS) was invented to help store it. Data that was *related* could be grouped together in a table. A schema was used to define the structure of the data within the database and the relationships [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a great deal of data floating around and it has to be put somewhere. In 1970, the relational database (RDBMS) was invented to help store it. Data that was *related* could be grouped together in a table. A schema was used to define the structure of the data within the database and the relationships among it. SQL was used to manipulate the database and the data it contained. There are many databases that use this model, such as MySQL, PostgresSQL, and Oracle.</p>
<p>For many years, relational databases were the cornerstones of applications. Organizations used them as the backend store for their thick-clients as well as being an integral part of the LAMP stack used in early web applications. Only recently has our software needed a little extra oomph.</p>
<p>The NoSQL movement promises to fulfill requirements of high availability, horizontal scaling, replication, schemaless design, and complex computational capabilities. It contests the notion that RDBMS are always the best place to store your data and opens the doors to greater freedom when choosing your storage mechanism.</p>
<p>The framework used to evaluate these systems is based on consistency, availability, and partition tolerance (CAP). The CAP theorem was developed by Eric Brewer to formally talk about tradeoffs in highly scalable systems<sup>1</sup>. Like other decisions made in the software world, you can only pick two out of the three criteria.</p>
<p style="text-align: left;">The NoSQL movement doesn’t subscribe to a particular data model like RDBMS do. There are three other models that are part of the crowd:</p>
<p style="text-align: center;">key-value: much like a map that supports put, get, and remove (Redis, Dynamo)</p>
<p style="text-align: center;">column-oriented: still uses tables like the relational model, but without joins (BigTable)</p>
<p style="text-align: center;">document-oriented: stores structured documents like JSON or XML (CouchDB)</p>
<p>You may be thinking, “Ok, so what is the best one?” I only wish the answer was that simple. Many different factors go into choosing and you are not limited to one mechanism per application. You can choose different stores for different types of data and functionality.<sup>2, 3</sup></p>
<p>Structuring your application to take advantage of these data store capabilities requires analysis of your data requirements. You may need fast access or maybe your data is written more than it’s read. Perhaps you need to perform calculations such as map/reduce or graph manipulations. Maybe your data is of the binary variety. And of course, the availability rabbit hole &#8211; do you trust your server not to fail when you’ve just been featured on the 6 o’clock news (or Digg)?</p>
<p>While this is a lot to think about, the benefits of charting your way through the NoSQL forest are worth the effort in the long run. Your application will be better suited to expandability and your maintenance efforts may be decreased. However, there’s no cause to throw out your SQL books&#8230;just yet.</p>
<p>More info &amp; references:</p>
<p>1. <a href="http://www.julianbrowne.com/article/viewer/brewers-cap-theorem" onclick="pageTracker._trackPageview('/outgoing/www.julianbrowne.com/article/viewer/brewers-cap-theorem?referer=');">http://www.julianbrowne.com/article/viewer/brewers-cap-theorem</a></p>
<p>2. <a href="http://blog.nahurst.com/visual-guide-to-nosql-systems" onclick="pageTracker._trackPageview('/outgoing/blog.nahurst.com/visual-guide-to-nosql-systems?referer=');">http://blog.nahurst.com/visual-guide-to-nosql-systems</a></p>
<p>3. <a href="http://blog.heroku.com/archives/2010/7/20/nosql/" onclick="pageTracker._trackPageview('/outgoing/blog.heroku.com/archives/2010/7/20/nosql/?referer=');">http://blog.heroku.com/archives/2010/7/20/nosql/</a></p>
<p>4. <a href="http://architects.dzone.com/news/nosql-old-wine-new-bottle" onclick="pageTracker._trackPageview('/outgoing/architects.dzone.com/news/nosql-old-wine-new-bottle?referer=');">http://architects.dzone.com/news/nosql-old-wine-new-bottle</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=714</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Should Your Company Consider EDI?</title>
		<link>http://www.extol.com/blog/?p=711</link>
		<comments>http://www.extol.com/blog/?p=711#comments</comments>
		<pubDate>Wed, 04 Aug 2010 18:22:05 +0000</pubDate>
		<dc:creator>John Coyle</dc:creator>
				<category><![CDATA[EDI and B2B Integration]]></category>
		<category><![CDATA[EDI]]></category>
		<category><![CDATA[EDIFACT]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=711</guid>
		<description><![CDATA[Being somewhat of a concerned environmentalist, I think that helping save the planet for future generations should be the priority for everyone. One small step would be to switch your company to the ecologically friendly technology called “EDI” (Electronic Data Interchange).  Workers around the world discard millions of tons of office paper every year.  Producing [...]]]></description>
			<content:encoded><![CDATA[<p>Being somewhat of a concerned environmentalist, I think that helping save the planet for future generations should be the priority for everyone. One small step would be to switch your company to the ecologically friendly technology called “EDI” (Electronic Data Interchange).  Workers around the world discard millions of tons of office paper every year.  Producing this paper kills an innumerable amount of trees each year.  Converting this huge quantity of paper to an electronic form would help save paper and energy.  So think green: Reduce your carbon footprint by using less paper while saving money.</p>
<p>EDI would save your company money by providing an alternative to data streams that require a great deal of human interaction and costly materials.  Overhead costs will be reduced by eliminating such tasks as mailroom sorting, circulation, data entry, the manual reconciliation of different documents, document mailing, faxing of information, distributing, filing and storage of documents and transportation costs.  You will save money on paper, envelopes, business forms, stamps, printing and processing fees.   Excess inventory costs would be lowered by reducing inventory levels achieved by shortening the order processing cycle time.  Companies could save money by taking advantage of early payment discounts offered by vendors for quicker supply chain turnaround.  Other cost reductions would include the handling of errors and exceptions &#8211; this could be many times more expensive than correctly processing the document in the first place.</p>
<p>EDI improves customer satisfaction and strengthens supplier relations.  EDI improves customer satisfaction because information is available “real time” and is more accurate. Concerns and questions of customers can be addressed in a more timely fashion.  EDI will help strengthen relations with suppliers. The mutual work required to implement EDI tends to build a good working relationship between trading partners.  The sharing of EDI information strengthens the ties between partners and encourages stronger levels of commitment.</p>
<p>When information is copied from one location to another there is an opportunity for error.  Electronic data transfer eliminates the need for copying information from a paper document to another format, or re-keying it into your system.  Once the information is entered correctly, there is no additional opportunity for error since it is electronically entered into all other applications without further human intervention.</p>
<p>One very important advantage of EDI over paper documents is the speed in which the trading partner receives and enters the information into their system.  This greatly reduces cycle and turnaround times.  For this reason, EDI can be an important component of “Just-in-Time” production systems.  Better responses to customer concerns may lead to increased sales.  Transmitting data via EDI across the country or around the world will only take a few seconds or minutes as opposed to days, when sent through manual delivery service.  Once the data is received, the information is available immediately without any time-consuming human intervention.</p>
<p>EDI gives companies the ability to exchange business documents electronically via a wide array of communication protocols.  This form of e-commerce is widely used throughout the world.  EDI carries millions of dollars of transactions every day for all types of businesses and government agencies.  EDI plays a very important role in the world’s economic make-up.  Many companies will not do business with vendors that cannot exchange business documents through EDI.  (Good luck trying to do business with the big retailers without EDI.)</p>
<p>EDI has been available for decades.  It is reliable, proven, stable, and supported by long-established standards developed and maintained by respected governing bodies (such as ANSI, EDIFACT, and ISO…to name a few).  It is highly unlikely that this will change in this lifetime.  Being EDI-capable is no longer an option; it is a business necessity!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=711</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CDI Pottsville</title>
		<link>http://www.extol.com/blog/?p=701</link>
		<comments>http://www.extol.com/blog/?p=701#comments</comments>
		<pubDate>Thu, 29 Jul 2010 13:08:01 +0000</pubDate>
		<dc:creator>Chuck Buchanan</dc:creator>
				<category><![CDATA[EXTOL Information]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[EBI]]></category>
		<category><![CDATA[extol]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=701</guid>
		<description><![CDATA[Integrating with customers, suppliers, service providers, and applications is important to EXTOL’s daily internal operations, just as it is with your company. And probably just like your company, to manage those operations we initially relied on various disparate manual and/or home-grown semi-automated yet labor-intensive processes that inevitably involved no-longer-necessary and overlapping (if not outright redundant) [...]]]></description>
			<content:encoded><![CDATA[<p>Integrating with customers, suppliers, service providers, and applications is important to EXTOL’s daily internal operations, just as it is with your company. And probably just like your company, to manage those operations we initially relied on various disparate manual and/or home-grown semi-automated yet labor-intensive processes that inevitably involved no-longer-necessary and overlapping (if not outright redundant) activities. It wasn’t planned like that − it just sort of happened.</p>
<p>We’ve learned many lessons while <a href="http://www.extol.com/blog/?p=691">“dogfooding” our internal operations</a>. Before using our own product − EXTOL Business Integrator (EBI) − to streamline those operations, the first (and most daunting) task was to untangle the jungle of existing processes in an attempt to understand their ultimate goal.<span id="more-701"></span></p>
<p><strong>Lesson #1</strong>: Whether you prefer a flowchart, a whiteboard, or a corkboard with colored pushpins and string, you’d better have a solid overview of the forest before you walk amongst the trees.</p>
<p>At EXTOL, three separate shrink-wrapped applications handle our Customer relationship management (CRM), financial (FIN), and customer support (SUP) information; each resides on its own server. Previously, when a “prospect” signed a contract to purchase our software, their CRM status was immediately changed to “customer” and their software shipped that very day. But we waited a day or so until the requisite paperwork arrived from our sales office to manually enter that entity into our FIN app. Some time later (for various operational reasons), that customer would be manually added to our SUP system.</p>
<p>We were traveling the paper trail through that customer management forest, and there were many opportunities to get lost (or run headfirst into a tree or three!) along the way. Here’s how we could easily end up with this tangled mess:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top"><strong>System</strong></td>
<td valign="top"><strong>Customer Name</strong></td>
<td valign="top"><strong>Customer</strong><strong> State</strong><strong> </strong></td>
</tr>
<tr>
<td valign="top">CRM</td>
<td valign="top">ABC, Inc.</td>
<td valign="top">West Virginia</td>
</tr>
<tr>
<td valign="top">FIN</td>
<td valign="top">XYZ Industries</td>
<td valign="top">Ohio</td>
</tr>
<tr>
<td valign="top">SUP</td>
<td valign="top">BAC</td>
<td valign="top">Virginia</td>
</tr>
</tbody>
</table>
<ul>
<li>The CRM system’s customer      name/address is “ABC, Inc.” in West        Virginia.</li>
<li>But when the      contract arrives at our financial office, it reads “XYZ Industries” (of      which ABC, Inc. is a subsidiary) in Ohio.      So, that’s how that customer record is keyed into the FIN app.</li>
<li>The next day, our      support team gets a call from an individual with “ABC” in West Virginia, but      we have no record of them in our SUP system. So, the support rep calls our      financial group inquiring about that customer − a quick search in the FIN app      for names staring with “ABC” results in no hits (because they’re in that      database as “XYZ Industries”), and a subsequent search of all customers in      West Virginia shows none starting with “ABC” (as that app has them located      in Ohio). So, to provide our customary timely, award-winning customer      support, we hastily enter them into the SUP system erroneously as “BAC”      located in Virginia.</li>
</ul>
<p>We now have one <em>actual</em> customer in three different databases, but they have three distinct names and three different addresses! This contrived scenario demonstrates how a manual customer data integration (CDI) effort can quickly disintegrate!</p>
<p><strong>Lesson #2</strong>: When the answer to “Why is it done this way?” is “We always did it this way”, throw that way away!</p>
<p>That manual CDI method − fraught with time-delays, potential (if not probable) data entry errors, and cracks the largest of customers could fall through − had to go. This diagram illustrates how we used EBI to automate the exchange of information between these applications via five relatively small, sequenced, three-stage processes designed to insert/update data in real-time.</p>
<p><strong>Lesson #3</strong>: Best-practice CDI projects start with (1) an ambitious vision, (2) a realistic understanding of its business impact, and (3) a small, controlled project that delivers value quickly.</p>
<p><a href="http://www.extol.com/blog/wp-content/uploads/EBPI.png"><img class="size-thumbnail wp-image-703 alignleft" title="EBPI" src="http://www.extol.com/blog/wp-content/uploads/EBPI-150x150.png" alt="" width="150" height="150" /></a></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody></tbody>
</table>
<p>Pre-EBI development work involved:</p>
<ul>
<li>disabling the        ability to create customer records via the UIs in both the FIN app and        SUP system − we only wanted one <em>automated</em> way to add new customers</li>
</ul>
<ul>
<li>creating a “CUSTOMER        KEYSTORE” database to house (for cross-reference purposes) the IDs for        customer records from the CRM, FIN, and SUP databases</li>
</ul>
<ul>
<li>laboriously        synchronizing by hand the existing customer records in the three systems        − tedious and time-consuming</li>
</ul>
<p>Each process features three stages: a <strong>DB trigger</strong> to detect specific activity, a set of EBI objects (put into play by an <strong>EBI Event</strong>) designed to affect the desired result, and a resulting <strong>DB action</strong> (creating/updating customer records with pertinent data, namely consistent name and address information).</p>
<p>Specifically:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="36" valign="top">1.</td>
<td width="643" valign="top">a DB trigger detects a change of the customer’s status</td>
</tr>
<tr>
<td width="36" valign="top">2.</td>
<td width="643" valign="top">an EBI set inserts a new record into the CUSTOMER KEYSTORE</td>
</tr>
<tr>
<td width="36" valign="top">3.</td>
<td width="643" valign="top">the new record is populated with pertinent data</td>
</tr>
<tr>
<td width="36" valign="top">4.</td>
<td width="643" valign="top">a DB trigger detects the insertion of a new record</td>
</tr>
<tr>
<td width="36" valign="top">5.</td>
<td width="643" valign="top">an EBI set inserts a new record into the FIN app</td>
</tr>
<tr>
<td width="36" valign="top">6.</td>
<td width="643" valign="top">the new record is populated with pertinent data</td>
</tr>
<tr>
<td width="36" valign="top">7.</td>
<td width="643" valign="top">a DB trigger detects the insertion of a new record</td>
</tr>
<tr>
<td width="36" valign="top">8.</td>
<td width="643" valign="top">an EBI set updates the CUSTOMER KEYSTORE</td>
</tr>
<tr>
<td width="36" valign="top">9.</td>
<td width="643" valign="top">the record is populated with the customer ID from the FIN app</td>
</tr>
<tr>
<td width="36" valign="top">10.</td>
<td width="643" valign="top">a DB trigger detects the updating of the most-recent record</td>
</tr>
<tr>
<td width="36" valign="top">11.</td>
<td width="643" valign="top">an EBI set inserts a new record into the SUP system</td>
</tr>
<tr>
<td width="36" valign="top">12.</td>
<td width="643" valign="top">the new record is populated with pertinent data</td>
</tr>
<tr>
<td width="36" valign="top">13.</td>
<td width="643" valign="top">a DB trigger detects the insertion of a new record</td>
</tr>
<tr>
<td width="36" valign="top">14.</td>
<td width="643" valign="top">an EBI set updates the CUSTOMER KEYSTORE</td>
</tr>
<tr>
<td width="36" valign="top">15.</td>
<td width="643" valign="top">the record is populated with the customer ID from the SUP app</td>
</tr>
</tbody>
</table>
<p>Now, mere seconds after a CRM prospect becomes a customer, both downstream systems (FIN and SUP) are populated with fully-synchronized new customer records. This automated method not only saves data entry time, eliminates error-prone re-keying, and emails alerts to key personnel, but most importantly ensures that all systems have identical name/address information.</p>
<p>This solution, which spearheaded our on-going EXTOL Business Process Initiative (EBPI), has been synchronizing our customer records for several years now. It has survived EBI platform/version changes, multiple application upgrades, relocation of databases, virtual machine migrations, and several modifications/additions of EBI sets to synchronize supplementary customer information.</p>
<p>Incidentally, this very project placed the development of the <strong>Database Monitors</strong> feature (coming in the soon-to-be-released EBI v2.5) on our must-do list. It also impressed upon me EBI’s power and ease-of-use, and emboldened me to tackle the next EBPI project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=701</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;AS2, FTP, or VAN:  The Race to Zero&#8221; (Part 2)</title>
		<link>http://www.extol.com/blog/?p=697</link>
		<comments>http://www.extol.com/blog/?p=697#comments</comments>
		<pubDate>Wed, 21 Jul 2010 13:11:50 +0000</pubDate>
		<dc:creator>Matt Baran</dc:creator>
				<category><![CDATA[EDI and B2B Integration]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[VAN]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=697</guid>
		<description><![CDATA[With the ever-changing economy, especially now, businesses are looking for ways to reduce costs and become more efficient.  The new technologies (as previously discussed in Part 1 of this blog), coupled with the immediate need for cost cutting, have created the perfect environment to fuel another major shift in business communication.
One factor helping this shift [...]]]></description>
			<content:encoded><![CDATA[<p>With the ever-changing economy, especially now, businesses are looking for ways to reduce costs and become more efficient.  The new technologies (as previously discussed in <a href="http://www.extol.com/blog/?p=582">Part 1</a> of this blog), coupled with the immediate need for cost cutting, have created the perfect environment to fuel another major shift in business communication.</p>
<p>One factor helping this shift is that technology has been developed and priced so that even small “Mom and Pop” shops can obtain affordable AS2 and/or FTP solutions.  The shift in cost of direct connections will fuel the move away from traditional Value Added Network (VAN) trading partners to having more AS2 and/or FTP partners (connection types).  This shift will increase more rapidly as a result of the constant need for companies to become more efficient to remain competitive.</p>
<p>Large retailers, such as Walmart, require a “direct” AS2 connection to do EDI business. This represents a key indicator that this shift to AS2 (and/or FTP) is becoming more prominent and recognized.</p>
<p>It is interesting to see this relationship go though another major change.  What we’re actually seeing is communications between Trading Partners coming full circle.  Initially there were leased lines and individual modems for connecting to trading partners.  Over time this became too expensive and, out of necessity to reduce communication costs, the VAN was born.  More recently the Internet was introduced, which provided a new and inexpensive means to communicate.  With expanding Internet capabilities, VANs became too expensive and too time consuming to manage.  Better, cheaper software was designed to utilize these new communication methods.  As a result, we now see more direct-connections being established in place of moving data through the traditional VANs.</p>
<p>This shift will require more time…it will not happen overnight.  Instead, it will be a slow migration that will occur over the next decade (possibly longer).  As new business relationships are formed, they will take advantage of these newer technologies; older methods are likely to remain with the VAN service (although the VANs often do provide other solutions and services besides merely the moving of data).  Going forward, implementations will generally see a mix of these connection options until costs and efficiency eventually eliminate those methods that restrict growth.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=697</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chunky or ground, wet and dry EBI</title>
		<link>http://www.extol.com/blog/?p=691</link>
		<comments>http://www.extol.com/blog/?p=691#comments</comments>
		<pubDate>Wed, 14 Jul 2010 19:23:59 +0000</pubDate>
		<dc:creator>Chuck Buchanan</dc:creator>
				<category><![CDATA[EXTOL Information]]></category>
		<category><![CDATA[A2A]]></category>
		<category><![CDATA[B2B]]></category>
		<category><![CDATA[EBI]]></category>
		<category><![CDATA[extol]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=691</guid>
		<description><![CDATA[For those old enough to remember this reference (and for those young enough to know how to Google it), sometimes I feel like the Lorne Greene of EXTOL. Not in his role as the patriarch of Bonanza’s Cartwright clan, but rather as the dog food pitchman.
The series of 1980s TV commercials for Alpo® dog food [...]]]></description>
			<content:encoded><![CDATA[<p>For those old enough to remember this reference (and for those young enough to know how to <em>Google</em> it), sometimes I feel like the Lorne Greene of <a href="http://www.extol.com">EXTOL</a>. Not in his role as the patriarch of Bonanza’s Cartwright clan, but rather as the dog food pitchman.</p>
<p>The series of 1980s TV commercials for Alpo<sup>®</sup> dog food featuring Greene closed with the veteran actor claiming that Alpo is so good he feeds it to his own dogs. Hence, the notion of using one’s own product became known as &#8220;eating your own dog food&#8221;. Or so the legend goes. [A less-tasteful alternative account of the phrase’s origin has the president of a rival pet food corporation eating a can of his company's dog food at every shareholders meeting.]</p>
<p>During my first eight years with EXTOL, I was blissfully unaware of this term. But when I assumed the newly-created role of Special Projects Coordinator four years ago, Tony Baran (our co-founder, President, and CEO) caught me lingering at the coffeemaker and directed me to lead the effort to “eat our own dog food”. I mustered my best blank stare, nodded assuredly, scurried to my cubicle, and <em>Googled</em> that phrase (actually, I had one of my younger officemates show me how to <em>Google</em> it). Only then did Tony’s mandate to “streamline our processes by eliminating error-prone re-keying of transactional and/or persisted data by automating the exchange of information between applications, databases, spreadsheets, and other sources” − I’m paraphrasing here − make sense. And oh yeah, “use EXTOL Business Integrator to do it”. Aha! − we would “eat our own dog food”.</p>
<p>While &#8220;eating your own dog food&#8221; now has been elevated to acronym status, EYODF is more than a mouthful − I prefer the much more palatable and trendy “dogfooding”. While we don’t make (nor eat, for that matter) dog food at EXTOL, we do produce some seriously efficient business-to-business (B2B) and application-to-application (A2A) integration software that coordinates external partner interactions and internal business activities. And now we’re dogfooding.</p>
<p>In subsequent posts, I’ll share our experiences in using <a href="http://www.extol.com/index.php/products/355-extol-ebi-1">EXTOL Business Integrator (EBI)</a> to solve our company’s data integration, manipulation, and migration needs. By telling our story and noting the lessons learned (mostly the hard way − those are the best-remembered lessons), we hope you can use EBI to <em>your</em> best advantage to tackle similar projects in your organization. You have them − just look around.</p>
<p>And please, if you care to share your stories with us, do. Who knows: maybe we’ll send you a can of Alpo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=691</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Welcome to the Zone</title>
		<link>http://www.extol.com/blog/?p=688</link>
		<comments>http://www.extol.com/blog/?p=688#comments</comments>
		<pubDate>Thu, 08 Jul 2010 13:45:40 +0000</pubDate>
		<dc:creator>Rich Garrity</dc:creator>
				<category><![CDATA[EXTOL Information]]></category>
		<category><![CDATA[extol]]></category>

		<guid isPermaLink="false">http://www.extol.com/blog/?p=688</guid>
		<description><![CDATA[In addition to the EXTOL Blog and EXTOL Forum destinations, EXTOL also provides another valuable destination from the www.extol.com Web page– EXTOL Customer Zone.
EXTOL Customer Zone can be accessed via link in the top right corner of the EXTOL home page.
Customer Zone is a registered-user destination with information on many customer-related topics. From the Customer [...]]]></description>
			<content:encoded><![CDATA[<p>In addition to the EXTOL Blog and EXTOL Forum destinations, EXTOL also provides another valuable destination from the <a href="../../">www.extol.com</a> Web page– EXTOL Customer Zone.</p>
<p>EXTOL Customer Zone can be accessed via link in the top right corner of the EXTOL home page.</p>
<p>Customer Zone is a registered-user destination with information on many customer-related topics. From the Customer Zone page, you can link to information on topics such as:</p>
<ul>
<li>EXTOL University Presentations</li>
<li>Customer Education Webinars</li>
<li>HIPAA Migration Information</li>
<li>Portal Migration</li>
<li>Technical Documentation</li>
<li>Webcasts</li>
<li>Whitepapers</li>
<li>Knowledge Base/Incident Views</li>
</ul>
<p>Many of the above topics provide access to historical product information as well as currently active topics such as HIPAA Migration Information for EXTOL’s support of the X12 5010 standard.</p>
<p>In addition to product information, you can access information on incidents you have submitted. This information, available via the Knowledge Base/Incident Views link provides a current status of your submitted incidents.</p>
<p>I could further detail all of the content available on Customer Zone, however my goal is not to detail each piece of information available, but rather make you aware of its existence.</p>
<p>New to Customer Zone? No problem. Simply click the <strong>Register</strong> link on the Customer Zone login page. On the subsequent Webpage, provide all required information and click <strong>Register</strong>. Within 24 hours, and often much quicker, an account will be created for you and an account notification e-mail sent to the e-mail address provided during registration.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.extol.com/blog/?feed=rss2&amp;p=688</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
