
We talk about "the platform" all the time. A platform is sort of like an operating system but higher up the software stack. Why would you recreate deployment , development, security, licensing, connectivity , authentication, management and monitoring logic repeatedly when all of this could be part of a platform? For example, with our product, all the non-specialized stuff is handled by the platform while "modules" handle the specialized part. This allows module developers to concentrate on solving the problem and not the mundane stuff that's already been done before.
Let's look at what the Ignition platform actually does... It is an OPU-UA Client. It's really smart about databases in that it knows how to talk to a wide variety of them even with their subtle (or not so subtle) differences. It optimizes database requests, handles database failover logic, handles store and forward logic, and far more. It is also a web server and handles all the complicated details of client deployment, client communication, application synchronization and more. It handles all the details of the unified development environment (yes, one environment for developing/ configuring any module installed in the platform). It handles redundancy, system logging, auditing, alarming, security, authentication, licensing, the scripting engine, and if I listed everything else this post would be pages long. The point is, 98% of your job is done when you leverage the platform. And the point is, you know 98% will work as advertised so you can concentrate on the real problem you are trying to solve.
Most of the systems that are developed from the ground up are doomed to fail. This is because they reinvent the wheel and with that comes a very long runway and an overwhelming amount of shaking out and fixing. Most users aren't that patient so the undertaking fails.
1 comment:
Great stuff Steve!
Post a Comment