User Guide

Understanding the Benefits of the Sage Accpac ERP Architecture
4
Sage Accpac ERP
Technology
What an Architecture Is
A software architecture is a foundational design specification—not a product. It is not a product
any more than a real-world architecture is a building. A superior software product is the
embodiment of a superior architectural design, just like a beautiful building embodies a beautiful
real-world architecture. The architecture itself is the way that the product or building is organized.
This organization determines the stability of the product or building and the limits to which it can
extend its overall use and functionality. The way a software product is organized determines how
well, or how poorly, it fits into the software landscape of industry-standard technology, how well
it can adapt to new technologies and business and computing paradigms, and how well it can
scale as transaction volumes and/or the number of users accessing the product increase.
What are the organizational fundamentals of a great business management software
architecture? First, the separation of core business logic from interface and database services is
essential. With these three layers separated, the core business logic can be connected to new
databases and evolving interface components and devices—without costly reimplementation
efforts and with the ability to maintain a single business logic code base. The three layers are
separated by two “interfaces” (commonly called an Application Program Interface or API), which
are the “plug-in points” that join the layers together.
Then, the core business logic itself must also have its own organization. When organized properly,
every single piece of business logic is accessible from the outside layers. This is important if
business processes embodied in the logic are to connect to industry-standard technologies
that can drive the whole application. In the object-oriented software world of today, well-
implemented business logic is organized into a collection of components or objects. As objects,
their behavior can be modified and customized without making changes to the object itself.
In object-oriented terminology, the objects can be “sub-classed” and one object can “inherit”
properties from another.
The benefit of a strong architecture and good implementation is that the resulting product:
Stands the test of time.
Embraces industry-standard technology quickly and naturally.
Customizes easily to fit the special needs of your business.
Deploys flexibly to paradigms such as Cloud Computing or SaaS.
Scales to the changing size of your business.
Allows greater independence to make choices regarding, for example, database or
operating system.
Stands the Test of Time
A product with a sound architecture does not need to be rewritten every time technology or
platforms change. A company with a true architectural message does not change the message
every year or two as technologies and platforms change. A Windows
®
Graphical User Interface
(GUI) and an Internet browser-based user interface should both be useable within the same
framework. So should different database choices. This does not mean that an architecture does
not adapt and shift. It must—the pace of change is too great in today’s world. The very essence
of a good architecture is that it adapts easily. But the fundamental tenets of a great architecture
do not change. If the message keeps changing, it is because the architecture it touts is flawed,
which is costly to sustain as a developer and as a user.
“The very
essence of
a good
architecture
is that it
adapts easily.”