A Google search for “compatibility” finds this top result from http://www.astrology.com/game/compatibility/zodiac-signs/love.html : “Find out if you and your love interest or partner are soul mates, best friends, or a recipe for disaster. But no fear – even opposites can attract. Find out how you fare now…” In our professional day, where many hours are expended daily using business software, enterprise users can find utility relating their personal experiences of compatibility to their business relationships, processes, and the software that powers them. The 2nd most popular result from https://en.wiktionary.org/wiki/compatibility provides this useful definition of compatibility from computing: “the capability that allows the substitution of one subsystem (storage facility), or of one functional unit (e.g., hardware, software), for the originally designated system or functional unit in a relatively transparent manner, without loss of information and without the introduction of errors.”
From Wiktionary, the phrase, “substitution of one functional unit…in a relatively transparent manner, without loss of information and without the introduction of errors.”, is particularly relevant. In my previous post, I discussed 3 specific examples of compatible database data types in a compatible, re-platformed and equivalent application. Now, consider the illustrations below that compare an Oracle Forms v6 client-server app, and its re-platformed cloud equivalent running on Apple iPad:
Compared with Figure 1, Figure 2 shows a representative and straightforward target that would be expected of enterprise-scale apps that demand fast data entry in OnLine Transaction Processing (OLTP) workloads. All behavior – transient (with intended side-effects) and final (with pre-validated state-based data) – would be expected to run as-is in OLTP apps.
Characteristically, these new generation cloud apps, unlike Oracle Forms and Oracle Reports, enable customers freedom of choice to run everywhere and run fast, with these new capabilities:
• HTML5 “responsive” UI
• Any application server
• Any web browser and iOS/Android device
• Run without plug-ins (applet, flash)
• Run without Java Runtime Environment (JRE)
• Run on 64-bit systems at runtime and design-time for efficient Dev Ops
• Support continuous integration for rapid change resiliency to market needs
• Aspect Oriented Programming (AOP), AspectJ
• Lower maintenance cost from deployment ubiquity
When the above application characteristics are deployed on cloud offerings such as IBM Bluemix, Oracle PaaS, Amazon Web Services (AWS), and Google Cloud Platform, customers can respond more effectively to high-velocity markets disrupted by transient competitive advantage1.
Strictly-speaking, cloud does not require application multi-tenancy. For end-customers, multi-tenant architecture is not meaningful when each customer’s application, by origin and definition, is wholly different from another customer’s application. In this Information Week article from July 2014, http://www.informationweek.com/software/enterprise-applications/gartner-rising-enterprise-software-spending-wont-lift-it/d/d-id/1279210, Gartner talks about this alternative cloud offering that is equally valuable for many businesses: “Where multi-tenant services used to be viewed as “true cloud” and hosting or single-tenant a form of cloud washing, many enterprises are now choosing hosting as their preferred route away from on-premises deployments.” For Independent Software Vendors (ISVs), however, multi-tenant architecture has utility since well-designed apps will separate customer-specific extensions from an ISV’s base application that is served to its end-customers. In these contexts, multi-tenant resource sharing in the ISV’s PaaS cloud is important to better utilize infrastructure for scalable management.
In my next blog post, I will look more closely at the above application in the context of programming language differences between the original pre-cloud and re-platformed cloud apps. There, we will look at the difference in system architecture and languages with respect to the database data types and how compatibility matters – not just for user experience, but also for developer experience and enabling them for business agility while realizing Wiktionary’s definition of computing compatibility – transparent substitution without information loss and without errors.
Tweet us @neoworksinc with your ideas. Share your application compatibility experiences at Northern California Oracle User Group (NoCOUG) in San Ramon, Ca on August 20, 2015, http://nocoug.org/download/2015-08/NOCOUG_Summer2015_agenda.pdf . Visit our Facebook page at: https://www.facebook.com/neoworksinc .
Have a great rest of your week!
1”Transient Advantage”, Rita Gunther McGrath, Harvard Business Review, June 2013.