Software In An Integrated World

6
If ever there was an overused word in the ever-evolving computer software industry, ‘integration’ must be it. Simple enough in concept but rife with varying interpretations and applications, integration seems to mean different things to different people. As a software designer and systems architect for over twenty-five years, allow me to offer my perspective on this increasingly elusive concept. Software In An Integrated World This article was published in the June 2011 edition of DHI’s Doors & Hardware Magazine The dictionary defines integration as “an act or instance of combining into an integral whole”. Essentially, this definition applies to its role in the coordination of computer software. Multiple components or software packages combining to form a complete system – an “integral whole”. At least that’s the theory. The reality can be much more complicated with people’s definition varying depending on what they’re trying to sell you. Any discussion of systems integration should begin with an understanding of its origin. A Brief History of Integration In the 70s and 80s, before Windows, internet, email and all those cool cell phones… there was DOS. In that world, business owners would select software designed for their industry and this software took the form of an “all in one” solution from invoices to accounting. This was the norm. You bought one system that took care of your entire business from top to bottom. This was often called an “integrated” system. The truth of the matter is, the only thing it integrated with was itself, but the individual components can be said to integrate in the same way a person’s mouth is integrated with their stomach. They’re simply two parts of a whole. Sure, it sounds wonderful - One-stop shopping, a single vendor, none of those annoying choices to have to make. But like all antiquated concepts, there were problems – and they were significant. Another shining example of 70s era “integration” was found in the home electronics industry. Back then, people bought stereo systems (often called “hifi” units) as completely self-contained “integrated” units. Usually they were constructed in an ornate wooden box that effectively became a piece of living room furniture. They looked beautiful and they were convenient… until you had to go without TV for a week because your radio had to go in for repair. The shortcomings of this approach were obvious. All the choices were made for you. You got the radio- turntable-8 track combination that the manufacturer wanted to sell you in one big shiny, wood-grained package. True, everything did work well together… until somebody had the nerve to invent CDs or color television. Suddenly this all-in-one-box form of “integration” didn’t look so appealing.

Transcript of Software In An Integrated World

  

 

 

 

 

 

 

If ever there was an overused word in the ever-evolving computer software industry, ‘integration’ must be it. Simple enough in concept but rife with varying interpretations and applications, integration seems to mean different things to different people. As a software designer and systems architect for over twenty-five years, allow me to offer my perspective on this increasingly elusive concept.

Software In An Integrated World This article was published in the June 2011 edition of DHI’s Doors & Hardware Magazine

 

 

 

The dictionary defines integration as “an act or instance of combining into an integral whole”. Essentially, this definition applies to its role in the coordination of computer software. Multiple components or software packages combining to form a complete system – an “integral whole”. At least that’s the theory. The reality can be much more complicated with people’s definition varying depending on what they’re trying to sell you. Any discussion of systems integration should begin with an understanding of its origin. A Brief History of Integration In the 70s and 80s, before Windows, internet, email and all those cool cell phones… there was DOS. In that world, business owners would select software designed for their industry and this software took the form of an “all in one” solution from invoices to accounting. This was the norm. You bought one system that took care of your entire business from top to bottom. This was often called an “integrated” system. The truth of the matter is, the only thing it integrated with was itself, but the individual components can be said to integrate in the same way a person’s mouth is integrated with their stomach. They’re simply two parts of a whole. Sure, it sounds wonderful - One-stop shopping, a single vendor, none of those annoying choices to have to make. But like all antiquated concepts, there were problems – and they were significant. Another shining example of 70s era “integration” was found in the home electronics industry. Back then, people bought stereo systems (often called “hifi” units) as completely self-contained “integrated” units. Usually they were constructed in an ornate wooden box that effectively became a piece of living room furniture. They looked beautiful and they were convenient… until you had to go without TV for a week because your radio had to go in for repair. The shortcomings of this approach were obvious. All the choices were made for you. You got the radio-turntable-8 track combination that the manufacturer wanted to sell you in one big shiny, wood-grained package. True, everything did work well together… until somebody had the nerve to invent CDs or color television. Suddenly this all-in-one-box form of “integration” didn’t look so appealing.

 

  

  

The same could be said for the software of time. Although apparently convenient during the shopping process, the shortcomings of the all-in-one software solution quickly became obvious. Just as no one sells “hifi” units anymore, contemporary software developers have abandoned the idea of “built-in” accounting solutions as an answer to “integration”. The following are just a few of the reasons that emerged: One size does NOT fit all. Most major accounting software vendors (i.e. Microsoft, SAS, etc.) offer a selection of different package offerings. While vertical market software vendors suggest that their single package is suitable for absolutely everybody, it’s apparent that the accounting experts clearly do not agree. It’s obvious that a “mom and pop” shop simply does not have the same needs as a nation-wide multiple location enterprise. How then can they possibly use the same accounting package? The notion is ridiculous and that’s the reason for all the different offerings. Accounting software packages vary, usually in terms of scale and components. They all begin with same basics: general ledger, A/R, A/P, sales orders, purchase orders, etc. But then the differences emerge. It is important to consult with your company’s accounting firm to help decide what solution makes the most sense for your operation. Many companies have multiple business (revenue) streams. Having a single “all in one” solution for a video store and one for a electronics store and one for a service shop is a great idea, unless your company happens to do all three. The reality is that many companies need multiple “front end” applications to accommodate different aspects of the overall business. If each one came with their own “all in one” accounting solution, that would create a real quandary. Invariably the business owner would have to select one as the “main” system and manually transfer amounts from the general ledgers or the others into it. Vertical market vendors do not have expertise in the area of accounting. Software vendors that specialize in specific industries normally have a great deal of experience and expertise in that industry. Developing software for that “niche” is their primary area of activity and no one is better suited for it. The accounting side however, is another matter. The accounting component of these “all in one” systems is usually an afterthought. It is usually developed in haste in order to round out their product and enable them to offer a “complete” solution. Generally speaking, these vendors are not qualified to provide support in the area of accounting. Conversely, vendors that specialize in the field of accounting do nothing else but that. They can usually offer a far greater degree of support with far more reliability. In fact, many such development firms have certified accountants on staff as part of their support teams, specifically to enhance the level of support they are able to offer their customers.

  

  

Your accountant will HATE it. As previously mentioned, it is of tremendous benefit to use an accounting package that your accountant is familiar with and even capable of taking data from directly. The often overlooked consideration can save countless hours in terms of work and accounting fees. If you are considering a vertical market accounting package, keep in mind that your accountant will not know how to use it and most likely will not be able to transfer data directly in or out of it. These “industry-specific” accounting solutions are the bane of accountants everywhere. Don’t believe it? Just ask him or her. It’s unlikely that they can offer value added services or “governmental” support. Firms that specialize in accounting software almost always offer a number of value-added components and services. They range from downloadable tax tables to modules that allow online filing of returns and remittances. They are dedicated to establishing themselves with government representatives in order to have access to the resources needed to enhance their offerings. This type of relationship requires a great deal of time and effort to cultivate and your “all in one” vendor is not likely to be a position to do this. As such, you won’t have access to these valuable time-saving tools. With this many problems it was easy to see why this “everything in one package” concept died in the eighties along with polyester suits and break dancing. What evolved was the beginning of true systems integration. Integration in the Modern Era The single most prominent defining feature of system integration in a contemporary context is one of choice. Gone were the “hifi” units of the 70s, in favor or modular components. People construct their home theatres today using the specific mix of television, Blu-ray player and audio system of their choice. In the case of home audio, this was done through an industry-wide adoption of common cables and connectors. Once again, the software industry followed suit. Business today construct their own “everything package” using the pieces that make the most sense for them. Although this may seem like more work in the beginning, it’s well worth the effort. In the software world, developers have created their equivalents to the common connectors that make component integration possible in the home electronics industry. The “common connectors” of the software world can be generally broken down into three categories.

  

  

1. Standardized File Formats Most software packages today can read, write, import or export data into some form of conventional file format. These range from simple text to complex xml schemata and vary between software packages. When selecting software components, it is essential to ensure that they share some common file format which they can use to share data between them. 2. Standardized Data Transfer Platforms Built in the same principle as shared file formats, Data Transfer Platforms takes this premise one step further. These integration tools usually come into play when sharing data between separate companies or organizations. A great example of this is “EDI”. EDI has become the Aspirin of the software world. People use it to refer to any system that involves electronic order entry between vendor and their clients. “EDI” in fact refers to a specific industry-standard file format for transmitting electronic orders. Perhaps the most common users of EDI-type platforms are “big box” retailers. Generally, they insist on having their vendors be capable of receiving their orders from their EDI system. Vendors who cannot comply with this requirement simply do not get the business. PDF (Portable Document Format) files are a standardized file format created by Adobe Systems. Though it is a widely accepted data platform, it is not really an integration tool. PDFs serve only to “integrate” a software product with a human reader. 3. File & Database Support Contained in Computer Operating Systems This final “integration” tool is both the most commonly overlooked and ironically the most widely employed. Many file formats are so common and widely used that operating system developers such as Microsoft and Apple actually provide support for them right in the operating system itself. PDF files, for example, are now supported directly by Windows and no longer require an additional “reader” program to access them. In terms of system integration, the most significant advancement from an operating system perspective was the adoption of a platform called ODBC (Open Data Base Connectivity) by Microsoft. This was essentially a set of tools (or “drivers”) that allowed software packages to directly access each others data files, providing they were created in accordance with an ODBC-compliant standard. It’s not important to understand the specifics of how these technologies work. These “dark arts” are best left to the computer programmers. One should, however, be aware of what to look for when selecting software. It is important to be sure that the package you are contemplating supports as many of these common file formats and standards as possible. This will ensure the greatest number of options and greatest life span for your software purchase moving forward.

  

  

Putting It All Together Though it may not always seem like it, things have gotten much easier in recent times with respect to selecting and acquiring software. Like many other software developers, I’ve assisted countless companies gain access to and become able to make use of data that was “locked” inside an outdated application. The old “all-in-one” applications rarely had useful export tools or open data standards - they simply had no reason to. They only had to communicate with themselves. The tragic side effect of this is once any part of that solution becomes obsolete, the entire package has to be replaced. This is not unlike the old “hifi” units of the same era. When selecting new software to encompass the needs of an entire business, there are only a few things to keep in mind: 1. Select the very best application for each individual job. Select the best font-end app, the best and most appropriate accounting app. And so on. Remember, one does not necessarily hinge on the other. So long as both offer standardized mechanisms to import and export data, you will never find yourself in a “dead end”. 2. Ensure that all your applications individually provide access to your data even if you should stop using that application itself. Should you decide to switch to different software, you do not have to leave your data behind. 3. Ensure that each vendor you select is able to support you effectively with their product. They should be experts in the fields they are designing for. You never want to depend on an accounting system that was created as an “afterthought” to supplement another system, or vice-versa. 4. Solve your biggest problems first. Typically, the most challenging part of selecting software for any business is finding the industry-specific components of it. There are hundreds accounting programs, email clients, word processors, etc. Finding one that is suitable is inevitable. Begin your selection process by shopping for the most narrowly supported component first, the industry-specific ones. Once you’ve found the best tools for your particular job, it’s a simple matter of finding packages that complement it. In fact the first software vendor can probably offer a great deal of assistance in finding packages that complement theirs well. These are obviously some very general guidelines and it’s always a good idea to get the advice of experts for your particular application. The most important point to take away from all this is that integration is no longer a “feature” or an “option”, it is an essential part of your software infrastructure. Selecting software packages that offer the widest possible range of integration options guarantees the longest possible lifespan for those products. In addition, it leaves the door open to changing and expanding your software platform as the needs of your business change and hopefully grow. Paul Kirsch is the President and CEO of AVAware Technologies. He has been involved in designing and writing integrated software systems for nearly 25 years. Paul can be reached via email at [email protected] or via the AVAware website at www.avaware.com

 

  

  

AVAware Technologies 2897 Brighton Road

Oakville, Ontario L6H 6C9

Phone: (416) 239-9099 Fax: (416) 239-9199

http://www.AVAware.com