Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 1
5 Reasons to Switch from Custom
Code to Appliances for Integration
By George Scott, CTO
The need for application integration is greater than ever within companies as they seek to link legacy applications with newer applications in order to improve internal processes and work more effectively with their business partners. This paper shows why an appliance-based approach to integration not only offers advantages over custom code integrations but also complements integrations developed with custom code.
Traditionally, companies had just two choices for their integration needs—use complex platforms (like EAI) or write custom code. The platform approach evolved to meet the needs of large enterprises and is very expensive to procure, install, deploy and maintain. Therefore, most companies were forced to develop custom code for integrating their applications and, as a result, custom code has become the most widely used integration solution today.
Despite this popularity, companies are acutely aware of the pains of using custom code – it is labor-intensive, time consuming and doesn’t scale as a company grows. With no other viable alternative, companies suffered the pains of debugging and maintaining their integration code even as their business environments became more dynamic. In a world where businesses need to be more agile in responding to changes, a sluggish integration process clearly cannot continue for long before it begins to hurt.
This need has spawned a new type of integration solution called integration appliances. These plug-and-play devices are gaining popularity by bringing significant benefits—more efficiency at lower cost—to solving the most common integration scenarios. This paper explores the benefits of the appliance approach to application integration and provides five reasons why customers should consider this alternative.
Application Integration is Critical
Effective application integration is no longer an option for most organizations—it’s a necessity. The IT systems and applications at large and mid-sized companies today are much more complex than they were even five or ten years ago. Companies have invested millions of dollars in applications – such as enterprise resource planning (ERP), customer relationship management (CRM), sales force automation (SFA), and supply chain management (SCM) – and these have become vital tools for doing business.
The failure to adequately integrate these business applications can lead to data inaccuracies, sluggish response to marketplace changes and customer demands, lower productivity, poor customer service and other problems. Successful integration, on the other hand, can result in numerous benefits such as greater efficiencies, cost savings, increased sales, and more satisfied customers. As more companies—both large and small—work closely with their business partners and customers, effective application integration becomes vital to the success of their businesses.
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 2
Given these trends, it’s not surprising that IT shops everywhere are making application integration a high priority. A survey by Baseline magazine showed that application integration was number one on the list of top five projects ranked by average planned spending in 2005. This finding is echoed in annual CIO surveys conducted by Morgan Stanley & Goldman Sachs wherein application integration is repeatedly cited as the #1 problem.
Custom Code Popular due to Lack of Alternatives
At most companies today, IT managers are under pressure to solve business-critical integration problems with limited resources and tight deadlines. And, they need to do so without an
appropriate integration solution that meets their needs in terms of cost and time. This is because IT managers until now had just two choices—deploy an integration platform or write custom code. The enterprise application integration (EAI) platform category evolved to meet the needs of large enterprises and is very expensive to procure, install, deploy and maintain. Designed to solve complex integration problems, EAI implementation cycles can span many months. EAI platforms consist of multiple parts including hardware, operating systems, stacks of integration software, endpoint adapters and monitoring software. This complexity and expense made the platform approach a poor choice for the majority of companies due to their resource and time constraints. Therefore, most companies were forced to use the only other alternative and wrote custom code for integrating their applications. As a result, custom code has become the most widely used integration solution today. Companies use a variety of coding technologies and programming languages for integration including C, Java, Basic, SQL, and others. At first glance, custom code appears to be well-suited for most companies since this approach does not require significant upfront investments and can be tailored to meet each company’s needs.
Five Flaws of Custom Code for Integration
Custom code is the most popular way of integrating applications and has been successful in getting integrations implemented to deliver business results so far. However, the business
environment today is very different and much more competitive than ever before. Companies now seek more efficiency from existing assets and processes, and the integration question before IT managers is whether custom code delivers the quality, adaptability and scalability needed for their future.
While the custom code approach appears easy, it can end up being a complex endeavor.
Although custom code typically does not require any new hardware or software tools, and can be quickly developed and deployed, it becomes resource-intensive to maintain over the longer term. The majority of the expense with custom coding is not during the development phase but in “unanticipated” post-deployment efforts.
Based upon many years of experience with custom code integrations, these are five of the most commonly experienced disadvantages:
1. Monopolizes Specialist Skills
Developing custom software—for either application development or application integration— requires highly skilled people. Programmers are in short supply today and there is no shortage of projects that need their specialized skills. Monopolizing these scarce resources on lengthy application integration projects instead of using them for business critical applications does not provide optimal value to the companies employing these people.
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 3
Most companies using custom code will compromise on quality to meet their business deadlines, and rush to move the expert resources to other projects. This leads to problems later for change management and may also require manual processing which reduces the expected benefits of the integration.
2. Not Reusable
Custom software development is typically a one-time effort that is performed to meet a specific business need with a tight deadline. This is not reusable because most IT departments don’t have the time to design a well-architected, modular and tested system. This, along with the lack of documentation, leads organizations to frequently “reinvent the wheel” in order to meet new integration demands.
As companies grow and add more applications to their infrastructure, the reusability of
integrations becomes more critical. Rather than rewriting custom code, IT could be using those resources to deliver the tools and applications that businesses need to adapt to constantly changing market conditions.
3. Lack of Visibility
The process of custom code development neither provides visibility into transactions and errors nor does it include validation because of the time pressures to deliver code and get the project done. The lack of detailed error visibility increases the likelihood of failed integrations and inaccurate data. Not knowing when an integration failed, or which transaction failed, can impose significant delays in responding to operational problems.
Lack of visibility is an issue even during the development phase of the integration. Debugging code without detailed visibility and error-handling is a cumbersome and time-consuming process.
4. Changes are Painful
Custom code integrations are ‘brittle’. Custom code typically isn’t written in a resilient manner – it is rigid and inflexible and doesn’t adapt well to changes in the environment. Since ongoing changes to systems in today's constantly evolving IT landscape require periodic updates to the integration, this becomes an ongoing problem for IT.
Custom code is usually developed under tight deadlines and developers provide little, if any, documentation. As developers tend to move from one project to another, much of the knowledge that was gained during the initial integration may not be available for the updates.
5. More Expensive than Anticipated
Custom code development requires multiple, specialized, programming skill sets that many IT organizations lack. Hiring people with these skills or using a systems integrator for developing code increases the cost of integration.
That initial cost of writing custom code is only the tip of the iceberg. In many cases, IT shops don’t have testing systems or version control systems in place to handle complex development
initiatives. They lack the ability to see where code is poorly maintained, and that can lead to very expensive fixes down the road. In addition, debugging faulty code is a tedious and
time-consuming process that can lead to significantly higher overall costs.
These issues undermine the effectiveness of custom code for application integration and make it very difficult to produce high-quality integrations. That, in turn, opens up the possibility for problems like errors in customer data, lack of cohesiveness among different departments and
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 4
processes, and decreased productivity. It’s outcomes like these that make unhappy customers look for alternative solutions.
Integration Appliances – the Alternative to Custom Code
The ubiquitous need for application integration coupled with the inherent weaknesses of custom code solutions creates a huge opportunity. Addressing this opportunity requires a fresh approach to application integration – an approach that is easy-to-use without requiring specialized skills, fast-to-implement to meet tight deadlines and adapt to changes, and one that can scale easily as a business grows. This approach comes in the form of an appliance that is purpose-built for integration. And, the fact that these integration appliances can work alongside existing custom code integrations gives companies the flexibility of phasing-in the new technology.
Integration appliances bring more efficiency to solving the most common integrations. The majority of integration problems can be solved in just four steps and integration appliances are designed to do only these four steps – connectivity, transformation, workflow and management. By focusing on these common integration problems, appliances deliver benefits that are
appealing to companies that don’t have a large IT staff and yet need quick integrations.
1. Simplicity for Users
Appliances are self-contained and provide everything needed to complete integrations in one place. By eliminating the need to install, deploy or manage any software at the distributed endpoints, this approach reduces complexity for the user. Even connectivity to the endpoints is achieved via native application protocols – without any need to install or use adapters.
The simplicity of the appliance approach enables companies to deploy integrations quickly and respond efficiently to changes in their business environment.
2. Frees Up Specialists
Appliances are designed to be easily configurable and can be deployed quickly – in days versus weeks or months with custom code solutions. Since there is no code to be written and no
software to deploy, the skill sets required for implementing and maintaining an appliance solution are not as specialized as those needed for custom software development efforts.
With appliances, there is no need to use programming skills since business analysts can configure and implement integrations. This allows scarce programmers with specialized skills to use their time on more strategic projects.
3. Complete Visibility
Since appliances are totally self-contained, they easily provide critical configuration and operating information through a web-based console. Customers can see what’s happening at all levels of the integrations – from the hardware components like CPU, storage, etc. to the business transactions going through the integration process.
Complete visibility not only enables customers to monitor their integrations but it also enables them to be proactive in correcting errors. When problems occur, immediate visibility ensures faster resolutions with minimal impact on the business – this is not easy to accomplish with custom code.
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 5
4. Easy to Change
As a tightly-coupled blend of hardware and software, the integration appliance provides users with a “configuration, not coding” environment for integration. Using visual tools to change connectivity, revise transformations and modify workflows empowers even non-technical business users to make changes.
The flexibility and adaptability of an integration appliance allows companies to change their integrations without writing any code. This allows them to respond quickly to evolving business needs.
5. Scalable and Less Expensive
While custom code appears cheaper than an appliance since there is little to acquire with custom code, acquisition cost is only a fraction of the total costs involved in implementing an integration project. The costs of testing, debugging and deploying custom code integrations far outweigh the initial cost advantage. Furthermore, the ease-of-use and easy-to-change nature of integration appliances makes them less expensive to maintain over time.
The economics of an integration appliance is further enhanced by its scalability over multiple integrations – something that custom code cannot match. Integration appliances can support multiple integration projects since they have built-in
connectivity to all popular endpoints. Adding a new endpoint, or even another integration project, incurs no additional cost. Consequently, as the number of integration projects increase, integration appliances become even more cost-effective for solving common integration problems.
Customers Switch to Appliances
Integration appliances are gaining acceptance across a broad spectrum of companies. Many of these companies initially tried the custom code option but later chose an appliance solution. These companies successfully completed their integration projects much faster than they could have done with custom code and easily demonstrated a positive return on investment.
Often, these companies used their integration appliances alongside their existing custom code integrations. This easy co-existence is unique to integration appliances and allows companies to easily phase-in a new technology with minimal disruption to their operations – a huge advantage when you are integrating business-critical applications.
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 6
Insurance Company Subsidiary
In late 2005, a subsidiary of a large $120B insurance company faced an urgent need to connect its legacy underwriting applications (built using SYBASE database) to a salesforce.com – an on-demand CRM system. The company needed this integration to be fully functional in 20 days. The core part of their business was insurance renewals, and they needed to synchronize customer data, orders and opportunities between systems.
Their IT department initially tried to use custom code for this integration. After months of homegrown pub/sub middleware efforts, they realized that this approach was too complex and that they had little experience in Web Services – the only interface to salesforce.com.
This company selected an integration appliance and completed the integration in 15 days without writing a single line of code. Their selection was influenced by the fact that the appliance vendor had pre-built connectivity to salesforce.com, and obviated the need to hire a consultant or systems integrator with these skills. The company achieved real-time integration between their systems and also benefited from the error notifications and alerts that were part of the appliance solution.
Software (ERP) Company
In 2006, this $770M provider of Enterprise Resource Planning (ERP) software was upgrading its infrastructure to ensure that it could scale to meet future needs. As part of this initiative, this company decided to migrate from Siebel, an premise CRM system, to salesforce.com, an on-demand CRM solution.
As a technology company, with many skilled developers on staff, they had used custom code to integrate Siebel to their back-end ERP (their own) solution and a Data Warehouse. While this had worked well for them, they now realized that none of the existing code would be useful for
integrating with salesforce.com. This was primarily because the custom coded integration lacked documentation, would be difficult to reuse or repurpose and could not scale to handle myriad formats like SQL, Web Services, flat files, FTP, etc. Realizing these weaknesses of their
traditional custom code integrations, the company sought an alternative approach and chose an integration appliance.
The appliance was used to integrate in real-time their ERP, salesforce.com and Data Warehouse systems. This software company was pleasantly surprised to realize, after the fact, that the entire project was completed without writing a single line of code. In fact, their original estimate of 160 man-hours of custom coding was replaced by eight hours of configuration with the appliance. Their entire integration project—from design to implementation—was done in five days. After implementation, the company estimated saving over $513K on labor costs just for the first project alone.
A leading player in the automotive industry needed to integrate employee profile information from its PeopleSoft ERP system to a Clarity project management application from Niku (Computer Associates). A custom code effort stalled after four months and $100,000 since there were too many components and no visibility across these components.
This automotive company deployed an integration appliance to connect the PeopleSoft system with Clarity in real-time, and got end-to-end visibility of transactions and errors. The entire integration project was completed within six days. This success has led to the use of integration appliances in multiple new projects at different divisions.
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 7
Telecom Equipment Manufacturer
A leading manufacturer of wireless phones and accessories, with $8B in annual revenues, has benefited from the use of an appliance for application integration with its business partners. This manufacturer tracks 3rd party product repair information to help ensure the quality of its phones and payments to partners for services.
The company’s IT department wrote multiple batch scripts to convert XML files from service-center partners into Oracle statements for processing by a database. This was not an acceptable long-term solution because the process was difficult to manage and wasn’t scalable.
Furthermore, batch scripts did not allow real-time updates and provided no visibility into transactions.
This customer needed a solution that would automate data transactions, provide visibility, and allow partners to quickly find and fix errors— even before such errors caused problems. The company decided to deploy an integration appliance because the product would help simplify the returns process by delivering real-time repair (XML) and ERP (SQL) data. Now, service-center partners continue to post repair information as XML files over the Internet, and the appliance immediately validates the data and converts these files to the format needed to update an Oracle 11i ERP system. This new process, with the appliance, notifies each partner about the outcome of each transaction and allows faster responses in case of problems. As a result, the company has benefited from reduced costs and improved integration with partners because of better transaction visibility.
Summary and Conclusion
As more companies contemplate their integration dilemmas, they recognize that all application integration problems are not equal. Some integration problems are inherently complex while others are much simpler. Until recently, integration solution vendors did not adequately address the latter type of integration problems. Vendors designed solutions to address the most complex problems; and then tried to use these for the simpler problems as well. These were cumbersome and expensive to deploy and, as a result, forced many companies to develop custom code. This led to the widespread popularity of custom code as an integration solution.
While custom code provided an immediate fix to the problem, companies eventually recognized the inherent drawbacks with this approach. Updating and debugging custom code is a labor-intensive and time-consuming process that can lead to “hidden costs” that go well beyond the initial outlays. It also requires specialized skills that most IT organizations lack or cannot easily afford. And, custom code could never provide the quality – documentation, version control, error-handling, monitoring, etc. – needed to ensure maximum efficiency.
Integration appliances are designed specifically to address these issues and still complement existing integration solutions. Built specifically for solving the most common integration problems, these appliances eliminate complexity for the user by providing everything needed in one device and by using a “configuration, not coding” approach. Integration appliances allow even non-technical users to design and fully implement integrations within days instead of the weeks or months needed with custom code. This is a benefit that any busy IT department would appreciate.
Integration appliances are gaining acceptance across a broad spectrum of customers – from smaller, high growth companies to larger, global leaders; and in industries ranging from heavy manufacturing to financial services. Such a broad base of adoption validates the appliance approach to integration and indicates its relevance to the future of application integration.
Copyright ©2006 Cast Iron Systems, Inc. All rights reserved. 8
About the Author
George Scott is a co-founder and CTO of Cast Iron Systems. George pioneered the use of appliances for application integration and founded Cast Iron Systems to commercialize this innovation. George brings over ten years of experience in enterprise application integration, software development, distributed computing, and Internet technologies. Prior to founding Cast Iron, George’s career included positions as the chief architect for WebSwap/Tradia and the principal architect for the VisiBroker product line at Borland/Visigenic Software. George has researched distributed application architectures at Johns Hopkins University Applied Physics Laboratory. George has an MS in Computer Science from the University of Maryland and a BS in Electrical Engineering from Case Western Reserve University.
To learn more about the Cast Iron Integration Appliances please call us at 650.230.0658 or visit us online at www.castironsys.com
This document is provided for information purposes only and the contents are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document.
©2006 Cast Iron Systems, Inc., Cast Iron, the Cast Iron Systems logo, iA, iA3000, iA3000HA, and Integrate in Days are trademarks of Cast Iron Systems, Inc. All other registration marks are the property of their respective owners. Specifications are subject to change without notice.