There have definitely been discussions around the importance of software vendors having a more open architecture to allow their system or platform to be easily extended, either by the software vendor or by 3rd party software vendors. The thing is, an Open Architecture is not black and white, meaning what one person calls Open Architecture is not the same as what another person calls Open Architecture.
Here is a snippet from Wikipedia: Open Architecture
Open architecture allows potential users to see inside all or parts of the architecture without any proprietary constraints. Typically, an open architecture publishes all or parts of its architecture that the developer or integrator wants to share.
From my point of view, I believe the future of software will be fully open. Each future software product will allow any other tool to access any piece of information contained in its environment. This is a fundamental shift for most desktop applications but almost the norm for any modern cloud application. There is no technical reason why the cloud solutions have embraced this openness besides the fact they understand users these days want their information to be seamlessly integrated between all the applications they use and an open architecture better enables this. Probably more importantly is the fact that these software companies understand that if they open their platform, they will actually increase their application‘s ecosystem allowing more 3rd party companies to connect and build on their platform.
Companies which do not support openness have the opposite thinking where they think if they keep their system closed they will be less susceptible to losing users since they are “locked in”. I have a huge issue with this type of thinking as I do not think it is in anybody’s best interest to have a strategy to lock in users into a system they do not want. I see this as a way to be lazy and provide less value to users. I personally love the idea of keeping ShipConstructor 100% purely open and competing with our competitors solely on benefit to the users. This makes sure the SSI team is always focused on providing value to our users.
The Open Architecture is not always a benefit users understand; however, they can relate to what it enables. It allows an easier and more efficient way to extend the tool, platform or a specific feature but also can facilitate a better and more seamless exchange of information.
ShipConstructor has been designed from the ground up to be 100% open. There is not a single piece of information the ShipConstructor solution holds hostage in a proprietary format. That is right, every single piece of information can be extracted and leveraged for whatever purpose the user wants.
ShipConstructor supports its open architecture in several ways:
- At the core of the Marine Information Model (MIM) is a fully open SQL database. This allows anyone with some industry knowledge of SQL to have full access to all the information contained in the ShipConstructor environment.
- ShipConstructor provides two API layers. A .NET or C++ datalayer API to make it easy to consume and produce information from/to the SQL database and a .NET or C++ API layer to allow access to geometric data contained in the AutoCAD foundation.
- By extending the AutoCAD foundation, users are able to use any of the AutoCAD API’s to consume the wealth of information available.
There are many benefits of this open architecture to ShipConstructor clients from leveraging the information throughout the organization to generating reports. I thought I would provide an example where you can use OOTB Excel to extract information contained within the ShipConstructor’s MIM.
Since Excel has the functionality to connect to an SQL database, the process of creating a link from Excel to a ShipConstructor SQL server is trivial. You simply tell Excel the table, view or stored procedure which you want to view in Excel. After you create the link you can use Excel’s refresh feature to automatically update the information in Excel with the latest information in ShipConstructor.
I demonstrate this in the below video.
Closing Remarks
Fully open architecture solutions are definitely the future of software systems and platforms. Users may not be asking explicitly for an open architecture solution; however, if you distill what they are asking for…
- Seamless workflows between systems in their software environment
- Extend or customize solution for their needs without locking into specific version or system
- Agility to change workflow and specific systems with low impact and effort
- Various non disruptive workflows for accessing information with current processes and tools
- Interoperability of information between systems
…it is obvious it can only be done with solutions which have embraced an open architecture.
ShipConstructor has always been fully open and will continue to be. We have many clients as well as 3rd party ShipConstructor Developer Network (SDN) clients using our open architecture to provide rich solutions to our ecosystem.
I will continue to struggle to understand why any software vendor would not embrace an Open Architecture.