ODOS .NET Platform
Real Time Platform
ODOS is an object oriented middleware and development platform for rapidly building real-time enterprise grade .NET applications
With ODOS you can build entire systems composed by various micro-systems and services. It is fast, lightweight and flexible, built entirely by Missionware using .NET framework without any external/3rd party dependency. ODOS promotes a domain oriented development approach and clean architecture. It provides:
- Two way synchronization
- Offline Cache/Store
- Memory-first transactions
- Rich Declarative Data Modelling
- Roles Based Access Control
- Rich User Interfaces for Native and Web Applications
- Built-in Integration Engine to easily build integrations with 3rd party systems
- Multi-service orchestration
- Simplified programming paradigm
What applications can be built with ODOS?
Building complex and difficult applications using ODOS becomes a breeze. It’s up to you to build the next generation internet application, a large enterprise wide system or a simple app. ODOS provides with the tools for any case. By mastering ODOS platform you ready to build even the most demanding applications and will give you the jump start you need to speed up time-to-market. Some examples are:
IoT & Smart Edge
Finance & Trading
Chat & Social
ODOS Components Diagram
Real time in memory transactions & two-way synchronization
ODOS at its core is a real time in memory transactional engine and push-based synchronization system. The system performs in memory transactions with optimistic locking at the server level and immediate synchronization of data to the subscribed clients’ cache. Using online transaction processing a system module can continuously process any new data change and perform in real time any needed calculation or algorithm execution. This unique feature can provide calculation of metadata, such as risk factors and alerts, analytics processing, notification generation, command execution, etc. Additionally data filtering can provide fine grained design on the exact entities and changes that are synchronized to the clients.
With ODOS, it is easy to build a multi-service / multi-agent architecture to isolate the system components into different processes, in the same or in separate machines. These processes can perform separated tasks improving modularity and making the application easier to understand, develop and test. All the services are orchestrated by the platform.
Domain Oriented Design
ODOS Domain Oriented and declarative design paradigm provides a robust concept that assists architects in easily building large object models that address particular domain problems in an agile and evolving way. It also provides domain integrity schema rules such as mandatory, reverse reference association, cascaded deletion/nullification, composition child and other. It also provides data validation rules. Additionally custom integrity and data validation rules, as well as special business rules, can be easily implemented and plugged into the system.
ODOS contains an extensible integration engine (GEE – Gateway Extensibility Engine) to support rapid and robust 3rd party system integration. By providing easy integration ODOS can be used for data integration and fusion at the entity and field level. ODOS supports integration by polling requests as well as by communicating with push-based services. We have already built ready to use gateways for industry standard protocols, such as OPC and SNMP. ODOS can be used to integrate with any data source; Web Services and APIs, devices and sensors, 3rd party SDKs, standard protocols (Modbus, MQTT, AMQP, etc.) in a structured object oriented way. We have used GEE to integrate with SCADA, VMS and other high level operational systems.
Reactive Design/Event Sourcing
ODOS is reactive by design, meaning that the server continuously sends events and changes to the connected clients and agents, enabling reactive application development. The modules can subscribe to server events and perform real time visualizations (and animations), data processing and reactions to changes. Additionally, by using OOQL (Object Oriented Query Language), one can build live collections and react on events on these.
ODOS provides an advanced and extensible UI binding engine so as 3rd party rendering and visualizations libraries can be easily plugged providing real time visualization. We have already built bindings for various libraries, such as 2D diagramming and charts, form based data presentations components, GIS engine and even with a 3D game engine so as to build 3D worlds, simulations and real time 3D representations.
Rapid Application Development
ODOS has been designed and built with the ease of development in mind providing a robust infrastructure and multiple components so as to minimize the development effort of building distributed, multi-service, multi-user applications and let the user focus on Business Logic and User Interface. The programming paradigm is very easy to learn because it follows the standard concepts of object oriented programming and the .NET framework. The interaction with the platform is minimal. The platform provides also ready to use graphical components for fast development of rich data interfaces.