User Guide

Understanding the Benefits of the Sage Accpac ERP Architecture
6
Sage Accpac ERP
Technology
Allows Greater Independence
No one wants to be locked in to a single vendor or a single way of doing things. A great
architecture allows freedom of choice and independence from single vendor lock-in across
the whole software stack. Once you have chosen a business application system with a great
architecture, you should then be able to choose the best operating system to use such as
Windows or Linux
®
, and the best database server to run such as Pervasive.SQL, Oracle
®
, or
Microsoft SQL Server. You should be able to choose from a large number of third-party add-on
products that seamlessly integrate in and greatly enhance the core business functionality. You
also want the ability to change these as licensing rules change and as new versions of one or the
other are released with features that could benefit your business. You need the independence to
be able to choose and not be locked in.
What an Architecture Is Not
Many software products have no architecture at all, intermixing layers and code in a haphazard
manner. Many lack even basic object orientation at the application level. Does that stop them
from producing “architecture” white papers? Of course not. So what do they talk about?
Technical details of their products are put forward as “proofs” that they have some grand
architectural plan. Microsoft technology is often cited, as if by using that technology their
products magically inherit an architecture. Let’s look at some of the claims that are made.
Claim: Using Microsoft Visual Basic Pervasive PSQL (VB) means a
product has a strong architectural foundation.
This is often stated by products that are written as giant monolithic Visual Basic programs. It
usually implies that even though their product isn’t modular or extensible that somehow they have
an architecture just by being written in VB. The claim’s credibility is based on Microsoft’s cachet.
But the truth is that the implementation language has nothing to do with whether a product has
an architecture or not. Basically, good or bad programs with good or bad architectures can be
produced in nearly any programming language. Using VB has certain advantages: For example,
the rich variety of controls that are available for use and the wide market penetration VB enjoys.
However the architectural value comes from how the program is put together in a modular
componentized extendable customizable fashion. Often it’s better to write different parts in
whichever programming language or system is best for the job.
Claim: Using C or C++ means a product has a strong architectural
foundation.
This can get richly twisted. For example, it has been said that a company’s proprietary language
has been implemented in C, just like Microsoft Windows and Visual Basic, and therefore
the company’s products, written in their proprietary language, have somehow acquired an
architectural foundation. We have even seen statements such as “Microsoft will never change
C/C++ because Windows is written in C/C++.” You can see how silly this statement is by seeing
how strongly Microsoft is now pushing C#, which could be called a “changed C/C++.” Once
again, the language of implementation does not create or exclude an architecture.