Open Platform as a Service Is Not What You Have Been Told It Is And There Is A Reason For That.
You have been told Open Platform as a Service enables developers to concentrate on creating great apps and not have to worry about the underlying infrastructure, security, scaling, etc. That is "Platform as a Service" not "Open Platform as a Service."
As the inventors of Open Platform as a Service, after many years of application, SaaS and PaaS experience, we saw a real need for and set out to create:
"a system of controlling the execution and interoperation of code on one or more local or remote servers regardless of the hardware or software used"
And that is what we did.
So What Does Open Platform as a Service Really Look Like?
Start by opening and examining the Open Platform as a Service Reference App Agent System 1 to see how it works. Although it looks like a straightforward App on the surface what is actually happening is:
each object (option in the drop down menu) is a different code base
the objects use differerent programming languages
the objects are on different servers
objects are running on different operating systems
the objects are accessing different services
objects can be added, deleted renamed and reordered in seconds
the objects can call other local or remote services
remote services can call the objects
The objects are all interoperating as one cohesive App even though the separate parts were created at different times by different developers with no knowledge of the other parts. In fact, the scheduling (cron job) and email notification features were added months after the search feature. Also, the mundane but important time consuming task of variable and data handling between objects and servers is automatically handled. That is Open Platform as a Service.
For a more sophisticated Open Platform as a Service example, visit WizzyWeb.com - Everything you see there was implemented with our Open Platform as a Service. The service uses almost every legacy and modern technology you will ever encounter in your project.
The Full Ramifications
of this model are manyfold and have yet to be fully realized. You can now not only easily connect any code on any remote or local server, cloud, container, microservice, API, or IaaS, but you can also change one or more parts (code or server) without affecting the others - in minutes. If someone already has an amazing algorithm/app/microservice you can use, you don't have to build it. If you can get better service or a better price on any part or underlying infrastructure or services, you can quickly and easily swap it out. This explains why proprietary software and hardware vendors are not talking about true Open Platform as a Service but rather just slapping the word "open" on whatever they are selling. Programmers will instantly recognize the value of separating functions as the cornerstone of development - distributing the work, managing complexity and code reuse. This is why Open Platform as a Service is just as beneficial even if you are writing all of the code for your system (whether inside or outside the firewall) as it enables other developers and business users to easily reuse your code.
But there are other fundamental reasons to use Open Platform as a Service. Even if one company offered every popular programming language, framework, database, etc. you would not want all of your code with that one company as they could suffer an outage. Even the biggest companies in the world have outages. This is why we built in Automatic Fallback. If one service is down, your app will automatically use a backup service on a different server you specify. This model makes things like A/B testing not only easy but fun. You simply create a separate XML file that points to a different PaaS, IaaS, database, email server, etc. you want to try out and see how you like it. You can then benchmark which service better fits your needs. If you like the new service better, you just point to the new XML file without having to change any code and your users never notice a difference in the user experience. Open Platform as a Service is an "insurance policy against vendor lock-in and outages." You can focus on writing the unique parts of your app and finding existing solutions for the other parts and easily integrate them. Once you have the separate parts working you can make the app internal, customer facing or make an API and monetize the app multiple ways. You can play around with the different services and order they appear in the app to get the right UX without writing any additional code as business users have been known to change their mind about what they want after a project starts :) Instead of a one-off custom app with all the great code functions locked in one or a handful of files, the functions can be easily used and reused in many different apps and versions. We provide a tool which lets you quickly and easily assemble and reassemble the parts of the app to explore different ideas and create new apps based on the same code and functions. The business users can be exploring ideas by adding/removing/arranging/rearranging objects which change the app features and UX and discover which new features might be worth exploring while the programmers are writing code in paralell which become new objects. The innovation is rapid and focused at the most important time and does not have to wait for complete versions of apps and systems to be released to evaluate where you are and where you might want to go next.
The Application's Journey
Lets look at the journey of the Agent System 1 App. First it was searching just one URL for one keyword and then somebody said after using the app a bit, what if it searched multiple URL's? The programmer said sure, that is just a for loop. Then after using it some more, somebody else said what if it searched for not just one but multiple keywords? The programmer said sure that is just another for loop. Then after the small team using Agent System 1 for a couple weeks, somebody said what if I didn't have to come back and manually search every time? What if it ran the search on a schedule and notified me only if it found a match? The programmer said sure I will make a cron job scheduling feature. The scheduling was well-received as it saved people a lot of time, but then somebody asked can I define when the search runs instead of it just running at a predetermined time? The programmer being a good programmer said I already made a form you can use to enter a schedule and you don't have to know anything about cron job schedule symbols :) The team was very happy with this internal app they could use to monitor their own website, other websites and social media for issues concerning their business and estimated how much of a raise they would get that year :)
Then things got more interesting. Somebody asked could we make this customer facing and monetize it? What if it was an API? Can we get into the API Economy? This is how apps evolve in the real world. Those same search, scheduling and email functions can be used in many apps in the future in new and interesting ways and not have to be written again. A PR company can use the app to monitor the web and social media for their clients. That is a business. Consumers can monitor retail websites for deals. That is another business. All the same code and functions. What's more is that Open Platform as a Service lets you quickly and easily repackage the existing parts of your App for these new services based on the same code by simply modifying the XML file and not have to touch the code which you have worked hard to create and test already. For example, maybe on the consumer service you are now thinking about offering you don't want the scheduling and auto email functions because you want them to come back to the Website/App because you are serving ads :) No problem, just remove those two objects from the XML file and you're done with that version. You've just repackaged your code into a new application in 30 seconds - and you know it will work because it already does. This is the power of having tools and a process informed from millions of lines of codes and decades of application, SaaS & PaaS experience. With this agile, organic, close feedback loop process and tools to support it, you may start with the idea of going from 1 to n but in the process realize you can actually go from 0 to 1 and launch a whole new service or even multiple services in lieu of or in addition to your original idea. Do you think your company is in the x business but you are really in the y business but don't know it yet? Or are you in the x business but should be in the x and y business? These are questions industry leaders have always asked. Would a tool and process to help you see around the corner be useful? Are there whole new lines of business currently trapped in your existing code files? Separate them and find out with tools and processes which enable all stakeholders to see into the project in a tangible way and be able to add their domain expertise to make The Application's Journey an interesting, successful one.
By Not Having A Vested Interest
in any software, hardware or services you may want to use, we are indifferent to which company, product and services you choose, (e.g., AWS, Azure, Bluemix, Cloud Foundry, Salesforce, Heroku, Google, Redhat, Docker, roll your own, public, private, hybrid). Open Platform as a Service enables you to get the most out of whatever you choose. Open Platform as a Service is a tool and process to get the most out of your Platform as a Service endeavor and make it truly Open. Open to your developers, Open to your business users, Open to your customers, Open to your partners, Open as an API and Open to other API's. That is Open Platform as a Service.
So now we can get back to the more important question. Now that for the first time in history you can build, deploy and interoperate with not just some, but any technology in a disparate, heterogeneous environment, what will you build and how will you build it? Feel free to contact us about your specific project.
©2006-2015 Sullivan Software Systems All rights reserved.
Green Code, Green Code Market, ReCycle, CloudMaker, RepCheck, WizzyWeb, XANAPI, Open Platform as a Service, Open PaaS and OPaaS are trademarks or registered trademarks of Sullivan Software Systems. All other products, services and companies mentioned are trademarks or registered trademarks of the respective companies.
Use the trademark notation the first time the trademark is mentioned in text in United States publications and include the credit line in all United States & international publications where the trademark is mentioned.
Example: Open Platform as a ServiceTM is Green Code®
Green Code is a trademark of Sullivan Software Systems registered in the U.S. and other countries. Open Platform as a Service is a trademark of Sullivan Software Systems