Open architecture is a way of designing software and hardware that makes it easy to upgrade and add functions to a computer system. It can also make it simpler for two different computer systems or programs to work together. Software developers will often use an open software architecture to induce other developers to write applications and add-ons that will work with their platform.
What Is Open Architecture?
The Gartner Group defines open architecture as “a technology infrastructure with specifications that are public, as opposed to proprietary. This includes officially approved standards as well as privately designed architectures, the specifications of which are made public by their designers.”
In other words, an open architecture is based on open standards, which makes it much easier to modify a computer system and to exchange data between different types of software applications. The term “openness” refers to the use of published, freely available technical standards.
Open Architecture vs Closed Architecture
Generally speaking, there are two flavors of computer architecture: open and closed.
Closed architectures are tightly controlled by the product developer or vendor and their design is a closely guarded secret. Systems and software based on a closed architecture tend to work only with other systems and software that are based on the same architecture and created by the original developer or with their explicit approval. A classic example of this is Apple, whose software and devices are based on a closed architecture that is tightly controlled by the company. Another legacy example would be UNIX systems like Sun's Solaris or HP-UX which required both hardware and software to be purchased from the same vendor.
Open architectures are more accessible to a much broader group of software developers and device manufacturers. Systems and software based on an open architecture are much more likely to work together, even when they come from different vendors. This encourages a large selection of commonly available hardware components and software applications to be created outside of the direct control of the original developer. The combination of the Transmission Control Protocol/Internet Protocol (TCP/IP) and the HyperText Transfer Protocol (HTTP) may constitute the most impactful open architecture ever, as they led to — and still underlie — the public internet and all its business and personal uses.
- An open architecture is based on open standards that anyone can access and use free of charge.
- Using computer products that are based on an open architecture helps a company avoid being held captive by any one vendor.
- Products based on an open architecture are often supported by a large vendor community, which gives companies that use those products plenty of options when it comes to maintaining, upgrading and expanding their data processing systems.
Open Architecture Explained
An open architecture is the basis for an open system, a term that typically refers to a computer system that works with software applications and hardware components manufactured by many different vendors. These systems and their components are interoperable because they are all based on the same open standards. In theory — and often in practice — that standards-based interoperability creates value for information technology (IT) buyers in the form of larger, more competitive markets of hardware and software suppliers.
How Does Open Architecture Work?
The standards on which an open architecture is based are considered open because anyone can make use of them without obtaining permission or having to pay royalties. The use of these standards tends to create a large market since they can be employed freely, and an application or component that is based on them can work with any other software or device that also adheres to them. The breadth of the market spurs even more developers and device makers to enter it, since the users of systems from many different vendors will be able to take advantage of the products they create. This virtuous circle of positive reinforcement is often referred to as “network effects.”
Why Use Open Architecture?
Much of the software developed using an open architecture is also “open source,” and the two terms are frequently used interchangeably. When software is open-sourced, the code can be freely shared, used and modified by many different parties. For the software's end customer or final user of the product, this has many advantages but also some disadvantages.
Advantages and Disadvantages of Open Architecture
The biggest advantage of an open architecture is that anyone can design add-on products that will work with the original software. This tends to ensure that many other compatible products will be available to work with the original, open-sourced product. By open-sourcing a computer operating system — Linux, for example — a company can encourage other developers to write applications and utility software for their product. This is good for the company, since the availability of many add-ons will make its product more useful and popular. It's also good for the developers, since their development costs will be lower, and there will be a large market for their offerings. Beyond just being open-source, Linux is written to an open standard called POSIX, which is a standard specified by the IEEE Computer Society for maintaining compatibility between operating systems. This means which a developer writes something for one Linux distribution, they can reliability run it on any distribution. This openness also benefits the product's customers, who will have a great variety of compatible and reasonably priced add-on products from which to choose. This allows them to select the offerings that best suit their needs.
- Other Advantages:
- Another big advantage to using open architecture software is that customers can be reasonably confident that there will be a large development community to support it, and that it will be frequently upgraded and improved. The software is less likely to become outdated, and there is much less chance that it will go unsupported because one particular company goes out of business or decides to drop the product.
- For business buyers, another advantage is that the cost of ownership is generally lower because the customer is less likely to be locked in and dependent on a single vendor. Since the products are standards-based, there are fewer barriers to switching from one supplier to another.
- Product add-ons, maintenance and training all tend to cost less, since there are usually numerous parties providing the necessary software and services.
- There may be times when proprietary software, based on a closed architecture that is tightly controlled by a single developer, offers outstanding quality and design that can't be matched by open systems.
- Sometimes open-source applications are tricky to set up and use. They may lack user-friendly interfaces or certain familiar features. Initially, at least, this can hurt user productivity and deter adoption.
- While open architectures and open-source software are generally more compatible with other types of software and computer systems, this isn't always the case. Some types of proprietary hardware require specialized drivers to run open-source programs. These are not always readily available, and can be costly when they are. The use of open-source products may entail other hidden costs as well.
- Open-source software licenses typically provide only a limited warranty and no liability or infringement indemnity protection. With proprietary software, the developer has complete control over the product and usually provides indemnification and a full warranty as part of its standard license agreement.
Open Architecture Features
All open architectures are characterized by certain common attributes. Chief among these is that since different vendors' systems based on the same open architecture have so many features in common, businesses can readily switch from one to another with relative ease, minimal loss of productivity and no or very little additional training. Other common features of open architecture systems include:
- The use of open, public and widely accepted standards such as SQL, HTML and XML. These standards are what allow different vendors' products to interoperate with one another and can include such things as system or application interface protocols and standards that allow data to be shared.
- Software applications that are based on the same open architecture and the same set of standards require very little tweaking to work together — even if they have been developed by different vendors.
- Because of the above, systems based on open architectures are easy to scale and upgrade.
- The different software components of an open architecture-based system (like a storage and backup utility or a database) are generally interchangeable — meaning, they can be used with different vendors' platforms without significant modifications.
When to Consider an Open Architecture
Companies that want a one-stop shop and a single point of accountability for their systems and software may be better off using a proprietary solution. But for those companies that want best-of-breed options for their applications and system components, procuring products based on an open architecture gives them the flexibility they are looking for. This is especially true if they're willing to invest some time and effort up front selecting and integrating the different components of their system. In return, they will get a highly adaptable, easily modifiable system that has a longer life span and costs less to maintain.
Open Architecture and Reference Architecture
An open architecture for a data processing or communications system is often based on a layered, hierarchical structure or model. Each layer provides a distinct set of functions and features that can be implemented without disturbing or altering the functions and operations of the other layers. This means an application can be added, tweaked or modified without having to reconfigure the procedures and protocols of the core system. An open architecture defines the application services that are based on its layered hierarchy, but that are independent from one another.
Because of the above, an open architecture can also serve as a reference architecture because it defines the interfaces and protocols for accessing its services. A reference architecture provides a template or parameters for other products and often consists of a list of functions and their interfaces, such as application programming interfaces (APIs). An API is a set of definitions and protocols for building and integrating application software. It allows different applications to communicate with each other and with components common to many data processing systems (such as databases and communications servers). APIs are what let companies share their data with each other and their customers, and they can be open or proprietary. An open or public API is available to everyone and allows third parties to develop apps that interact with other applications and software based on the same architecture.
Common Data Models and Protocols
An open system architecture also includes a common data model and related protocols. These enable different hardware and software services to work together and exchange data.
A data model defines how data is represented or structured and how different data elements relate to one another. For example, a data model might specify that the data elements representing a car each consist of several other elements, which represent the car's various attributes, such as its size, color, horsepower and so forth. The protocol indicates how the data should be accessed and shared. Together, they are utilized in common by all the hardware and software products based on the open architecture. This is a key part of how an open architecture enables so many products and applications from different vendors and developers to work together seamlessly.
In addition, Common Data Model (with initial capitals) is also the name of an open-source project managed by Microsoft. It defines a common language for business processes such as sales, marketing, operations, finance and others, with a stated goal “to enable data and application interoperability spanning multiple channels, service implementations and vendors.” Thus, CDM is an open-source project instantiated in an open architecture that is also a reference architecture.
Open architectures are based on open standards, the definition of which varies. It's generally agreed that to be considered an open standard, the standard specification must be publicly available, along with the rules that govern rights granted to individuals and businesses to use the standard. Some governments include in their definition of open standards that the standard must be free of charge, too. For example, any standard specification published by the World Wide Web Consortium can be implemented by anyone, royalty-free.
However, some standards bodies — including the Internet Engineering Task Force (IETF) and the International Organization for Standardization (ISO) — allow their specifications to require payment of reasonable and nondiscriminatory licensing fees.
By adhering to open standards, an open software architecture provides a solid technical foundation for popular products that work together more easily than they otherwise could. This is lucrative for developers and computer component makers and beneficial for their customers, the business IT users that get a wide selection of robust software from which to choose.
Free Product Tour
Open Architecture FAQs
What is meant by an open architecture?
In terms of computer systems, open architecture refers to products whose designs and specifications are publicly available, making it easier for developers other than the products' original designers to build compatible products or change the original designs. There are degrees of “openness,” largely dependent on whether and to what extent fees are required by the original developer for others' use of patents included in the specifications.
What is the difference between an open and closed architecture?
Closed architectures are tightly controlled by the product developer, and their design is a closely guarded secret. Products from other vendors frequently won't work with the closed architecture developer's products. Open architectures are accessible to a much broader group of software developers and device manufacturers, and the products they build are generally able to work together.
What is the goal of an open architecture?
The endgame of an open architecture is ensuring that products based on it will work together, creating a large market and providing customers with many options from which to choose. Open architectures accomplish this by encouraging many other device manufacturers and software designers to develop products based on the same set of standards and specifications.
What are the benefits of an open architecture?
Since there is a large vendor community to support them, products based on an open architecture will be frequently upgraded and improved. Software is unlikely to become outdated, and there is much less chance that it will go unsupported because a given developer goes out of business or decides to drop the product. Customers avoid getting locked in by a vendor, since they can usually switch to a compatible device or application. Finally, because of this competitive market, it generally costs less to own and maintain open architecture products.
What does the term closed architecture mean?
Closed architecture refers to computer hardware and software products whose designs are secret and tightly controlled by the product developer. Sometimes, such tight control produces high quality results; many point to Apple products as prime examples. Products from other vendors typically can't work with a closed architecture system without the permission and support of the original vendor.