In this 3rd installment in making the case for Open Systems Computing (OSC), we will be discussing Open Software Standards. We will specifically define the terms and point out the advantages of implementing solutions that adhere to Open Software Standards.
For the strict purposes of this blog post – we shall define Open Software Standards as software that adheres to the following criterion – the software utilizes, 1) internationally accepted standard protocols, and 2) standard Application Programming Interface’s (APIs) that are published. If a software solution meets the above criterion, we will say it conforms to Open Software Standards.
Why is it important for a software solution to utilize standard protocols? First, let’s define protocol. A protocol is a set of rules that endpoints use to communicate. So, if a software/hardware solution utilizes standard protocols, also called public or open protocols, other software/hardware solutions will understand the rules and will be able to establish communication. On the other hand, if software uses proprietary protocols, also called closed or private protocols, it will be difficult, or impossible, for another software/hardware solution to communicate. Standard protocols help ensure communications between applications by using a standard response layer and common transport. Internationally accepted standard protocols are protocols that have been accepted and approved by international body, i.e. The Internet Engineering Task Force (IETF), etc.
An API – may be defined as the implementation of a protocol, or a set of protocols. Publishing APIs is merely making them publicly available. An API is a library of code used to implement a protocol. APIs may be either closed (private) or open (public). An open API is one that is publicly available – also known as a standard API. The utilization of standard APIs by one software solution enables other software solutions to know how to communicate with it – thus enhancing its integration ability. Standard protocols always have APIs that implement them, but not all APIs implement standard protocols – some implement proprietary protocols. So to implement a standard API, a software solution must utilize standard protocols.
Some examples of internationally accepted standard protocols are; SIP (Sessions Initiation Protocol), HTTP (Hypertext Transfer Protocol), SOAP (Simple Object Access Protocol), and FTP (File Transfer Protocol) – all of which are application layer protocols that utilize TCP/IP at the transport level. By publishing APIs, a company is committing to stability – where internal code may change, the APIs will need to be well defined and rarely altered, thus ensuring the long term viability of the API and its integration potential.
Following are some advantages to selecting a partner that adheres to Open Software Standards – and in particular Standard Protocols and Internationally Accepted Standard APIs.
No Vendor Lock-in: No one vendor can meet all the needs of every corporate customer in every application area. Implementing an environment of Standard APIs and Protocols will allow for the seamless integration of best of class 3rd party software/hardware solutions. Customers will be liberated and free to choose the best of class application that meets their unique needs regardless of vendor and they will not “locked-in” to a single vendor who uses proprietary APIs and protocols and holds them hostage – and in all likelihood – charges them a fortune.
Ease of External and Internal System Integration: Utilizing standard protocols and APIs will ensure customers ease of application integration both with internal and external applications. At least in so far as standard protocols and APIs are being used on all internal and external applications.
Lower Total Cost of Ownership (TCO): When customers are free to choose the particular application that meets their customized needs, regardless of vendor, the cost of development and integration will be greatly reduced. For instance – there will be no need for extensive integration services. In addition, for non-proprietary vendors to keep customers they need to compete in the even ball field created by standard protocols and APIs, and as mentioned in item one, they cannot hold customers hostage.
Ease of Migrations: When utilizing a vendor that adheres to standard protocols and APIs – migrating from one vendor to another is more seamless. Integration services, if any, will be minimized.
Greater Solution Resiliency: If software adheres to widely accepted standard protocols and APIs – it is implied that testing and quality assurance have take place to ensure compliance with those standards. This should mean that the solution has been thoroughly tested for Software stability and resiliency.
Higher Customer Satisfaction: Customer satisfaction is increased in an environment where open software standards are adhered to because vendors need to compete based on features and quality, rather than relying on the vendor lock-in concept mentioned above.
Innovation is Encouraged: Innovation is encouraged and increases when vendors compete. Competition increases with the implementation of internationally accepted standard protocols and APIs. Therefore, innovation increases when internationally accepted standard protocols and APIs are utilized.
By implementing internationally accepted standard protocols and APIs, software vendors are complying with Open Software standards to the benefit of customers, vendors, and industries. A true win-win situation.