Our last newsletter looked at why online application integration issues exist. This issue will look at our recommended steps to help you address integration as a process rather than an overwhelming challenge.
Before I get to that, a little more background....
Gregor Hohpe (software engineer and architect at Google) says it best on his Web site, Enterprise Integration Patterns, where he takes an in-depth and multi-functional look at Enterprise Application Integration (EAI):
Why Do We Need Integration?
Today's business applications rarely live in isolation. Users expect instant access to all business functions an enterprise can offer, regardless of which system the functionality may reside in. This requires disparate applications to be connected into a larger, integrated solution. This integration is usually achieved through the use of some form of "middleware". Middleware provides the "plumbing" such as data transport, data transformation, and routing.
What Makes Integration so Hard?
Architecting integration solutions is a complex task. There are many conflicting drivers and even more possible 'right' solutions. Whether the architecture was in fact a good choice usually is not known until many months or even years later, when inevitable changes and additions put the original architecture to test. Unfortunately, there is no "cookbook" for enterprise integration solutions. Most integration vendors provide methodologies and best practices, but these instructions tend to be very much geared towards the vendor-provided tool set and often lack treatment of the bigger picture, including underlying guidelines, principles and best practices. (emphasis added)
Read that last sentence again...it’s why the market is flooded with software vendors touting integration packages that don’t really integrate where you probably need them to or in ways that meet your long range plans. No single out-of-the-box integration tool or method can account for the customization that is inherent to every application in use today.
Given that somewhat bleak scenario, why not start with the big picture and assess the view? If vendors won’t, you certainly can and should. I’ve witnessed first-hand a shying away from the big picture because it is often ill-defined and always overwhelming...an insurmountable task to address all that needs addressing and fix all that needs fixing. To me, that’s not the big picture. That’s reality and often one that’s difficult to change. And while reality plays a vital part in any successful integration, the landscape you should primarily be concerned with is what is known, what is available and what is acceptable.
At a minimum, we at Aware strongly stress the need to define the integration requirements in as much detail as possible which often means starting at the very beginning in broad terms and working your way toward the finer points. Based on that, we recommend the following strategic approach to integration.
Step 1: Remove the technology from the equation.
For this first step, thinking outside of the box is allowed...in fact it’s required in order to be successful later on! When technology is no longer a factor, begin asking what is the ideal integration picture? Some possible examples:
- Customer data shared in real time between all systems with one central administrative interface.
- Same for product data!
- A price change in one system will automatically cascade and render in all other systems.
- Online visitor behaviors that directly feed Business Intelligence (BI) software and generate lead generation tactics for Sales and Marketing.
Remember, there is no magic application. And toolset options in the marketplace are so plentiful that you can afford to take the opportunity to strategize about ideal behaviors and processes. But, be sure to note which needs are absolutely essential and which are more desires or “nice-to-haves” so that later on you can look for the best tool(s) to address the stated needs.
Some questions to ask:
- How do you want your customers to interact with you online?
- What internal process are you looking to improve or create?
- In what ways can internal processes and customer interactions be combined or connected?
Step 2: Define the business driver (reason or justification).
Laying out a clear justification for the effort will not only help you gain budget backing as well as internal support over the long haul, but it will also ensure the internal and external stakeholders have exposure to the effort and a say in how it’s constructed. You’ll lessen the political upheaval by laying out the framework for the who, why and when.
Some questions to ask:
- Who is the primary business driver of the specific integration and what is their vision?
- Why is this vision important to them and how will integration benefit both them and the larger internal and external audience in the future?
- What timing factors play a part in the integration effort? For example, annual shareholder meetings, customer seminars or partner tradeshows can all be huge business drivers for having an integration initiative in place.
- Are similar efforts being explored other areas of the business. Can these efforts be combined?
- Which areas of the business will be affected by the integration? Define these early on in the process to help eliminate future confusion or frustration.
Step 3: Consider reality.
Now is when you want to get grounded in what’s realistic. You’ve got the vision, but can you support it? This step can be frustrating to address but it’s better than reaching the mid-way point, or even the end-point, of an integration project only to run straight into a brick wall and have no where to go but back.
Some questions to ask:
- What specific data is duplicated across systems today and is the format acceptable for sharing?
- What internal political hurdles are in the way and can they be moved?
- If not, how do they change the landscape?
- Which milestones identify key integration points allowing stakeholders to stay informed and maintain a sense of ownership?
Step 4: Be aware of best practices.
After identifying “what is” in Step 3, now look at “what could be” by familiarizing yourself with best practices and standards for Web integration tactics.
Recommendations:
- Consider available commercial off-the-shelf (COTS) software products available in the marketplace that already address your requirements that are designed for easy implementation without customization.
- Ask very specific questions of the vendor about your requirements and ask for proof beyond the standard a “Yes, we provide that” or “No, we don’t provide that” response.
- Ask for ROI data from vendors.
- Ask for quotes related to the total cost of ownership (licenses, installation, configuration, development, training, support and maintenance costs)
- Take advantage of Web services and Simple Object Access Protocol (SOAP) making data and messaging more convenient and accessible across a network.
- Take advantage of data integration points through the following:
- Extract, transform and load (ETL) tools – help with inter-database migration
- Open Database Connectivity (ODBC) protocol – helps translate database queries and commands between database systems
- Structured Query Language (SQL) – most popular database query language that supports distributed databases
- Extensible Markup Language (XML) – specification designed especially for Web documents using customized tags.
Step 5: Identify infrastructure and business requirements.
This plays into Step 3 but also allows you to plan for future growth. Look at your current infrastructure but be willing to consider adopting new platforms or methods to give you room to expand.
Some questions to ask:
- What is the development, Web server, database and code environment for each system?
- If disparate, which system is the master source and which can be modified or replaced in order to be more compatible?
- Are these definitions suitable for future growth?
- What are the must-have and nice-to-have business and technology requirements that when achieved will determine a successful integration project? Think back to Step 1 where you were picturing the ideal solution and you began identifying needs versus desires.
Step 6: Decide on integration points.
Building off of Step 5, map out the various applications you wish to integrate and identify the specific pieces of information you hope to share between them. At this point, you’ll have an approved integration roadmap in place that can drive the necessary development.
Some questions to ask:
- If you plan to select third-party/vendor software, which requirements (business and technical) should be included in the detailed selection score sheet and who will be involved with the decision making?
- Which application is the master data source and which is just a repository?
- Be sure to consider the business administration aspect of all master data sources—you’ll likely have multiple tools that employees will be administering.
- What is the end result of the integration? Data displayed on the public Web site, an XML file generated nightly and saved to a secure network location for management review, etc.
Conclusion
Application integration is becoming more and more vital to doing business online today. While integration is no easy task, the need to integrate is here to stay. If you are in search of the wonder Web application to meet all your online needs, you won’t find it. Read our last newsletter, “Looking for the wonder application to solve all your Web needs?” for more information on that topic.
We recommend pursuing targeted niche solutions that are intended to address specific needs with high performing solutions and then go the route of integration to tie everything together. By taking a high-level strategic approach to integration’s desired results, reasons, realities and standards, your business will be better equipped to engage in integration and approach it in bite-sized pieces. At Aware, we like to think of it as “look before you leap.”
Aware is often included in technology integrations and can help you through the challenges you are facing. Contact us to discuss your needs.
If you have any comments or questions about any Aware InSites, feel free to contact us at info@awarewebsolutions.com or call 800-783-8919.