OrangeScape platform is full of nuggets of concepts and OrangeScapians are proud of those little gems that are the foundations of the OrangeScape platform.
Here’s a little peek into some of those –
OrangeScape under the hood is an object oriented language on its own, with a unique “rule based” behavior, in addition to the “procedural” behavior like other languages. Each object in the OrangeScape VM abstracts persistence, business process, rule behavior, “usual” procedural behavior, authorization & SOA (REST & SOAP) serialization. The user interface that gets generated is also a first class client of the REST service exposed by the underlying service layer. So it is possible to build very sophisticated applications using OrangeScape – not just data capture applications with rudimentary validation.
Case in point – just like all good languages, OrangeScape itself is written on top of OrangeScape (using the core instruction set that becomes the spec of the OrangeScape VM).
2 Application Abstraction – Hibernate Metaphor
OrangeScape abstracts all parts of a business application to a declarative definition. This is quite similar to how Hibernate abstracts ‘Persistence Management’ to bunch of configuration files. While understanding Hiberate needs good amount clarity, the amount of coding that is required to use Hibernate in your application is very close to ‘Zero’. Think about similar abstraction for business rules, business process (workflow), SOA, integration, etc. That is OrangeScape for you!
3 Data-first Architecture
OrangeScape is built on a concept called “Data first architecture”. Data model is defined first and business process is an artifact of the business model. This eliminate glue code needed between model & process. Additions/Changes to the datamodel automatically get reflected in the business process.
4 Network of Objects
The data model entity in OrangeScape is connected to another entity using a relationship. There will not be any free standing model which not connected any other model. Relationships act as pipes to access data from the related model. All the entities in the application are somehow related and hence it is called ‘Network of objects’.
5 Test as you develop
OrangeScape use Spreadsheet metaphor in the context of “test as you develop” functionality of business logic and UI behavior. The traditional model of compile, run and test is an iterative & time consuming process. By using spreadsheet’s “working with data” metaphor, OrangeScape cuts down this time significantly
6 ACID Compliance on Cloud
It is worth noting that the NoSQL databases are “optimistic concurrent” & “non-atomic” across clusters. Hence, it trades-off ACID compliance for scalability. OrangeScape’s ORM built on top of BigTable is the “only ORM implementation in the industry” that provides ACID compliance (using a built-in session layer) on top of NoSQL database – akin to SQL databases – without losing the scalability advantage.
This is also the underlying architecture that enables portability across SQL & NoSQL databases like Google BigTable.
7 OrangeScape and Web-services
All components (models) created in OrangeScape natively expose a web services end-point with five standard invocation methods. OrangeScape Supports both REST and SOAP style web services. In fact, we refer to the server side architecture of OrangeScape 4-Tier architecture, instead of 3-Tier architecture – the additional tier being the Web Services layer.