What is the Orixa Framework?
An Application Development Framework
Orixa is a framework of code which can be used to rapldly develop Business Software. It is designed to be able to represent and store the data required by complex businesses such as food processing factories, agricultural purchasing businesses and any businesses that monitors large quantities of diverse information.
The Orixa Framework has been developed over roughly 20 years by staff at a British food business with partner businesses in multiple African and Asian countries. Over this time Orixa systems have been developed for and used by many businesses, Governmental and Non-Governmental organisations, but mainly in the agricultural, food, commodity and processing sectors.
The Orixa Framework is designed to make complex data-structures manageable. Data-structures which include multiple relationships and hierarchical or cascading tiers of data in "parent-child", "parent-parent" and "many to many" data-relationships are typically very difficult to manage in tools such as Excel once large quantities of data are being processed. With Orixa it is possible to build an application to directly represent the data rather than struggling to make your data fit the software.
The Orixa Framework is an object-oriented application development framework which builds very fast programs that run on the Windows operating system. It uses client-server architecture, but this data architecture has been reworked for a modern world with a multi-node "briefcase" implementation, meaning that multiple users of any Orixa software product can work on it and add data updating their input locally before synchronizing with a central data-store. This model makes Orixa a good platform for places like Africa where the data-network is unreliable, or in any business with multiple offices, warehouses or use-locations.
The Orixa allows very rapid application development. Multiple common components of any data-application are auto-generated by the framework, meaning they require no development time for programmers. Most elements of the User Interface are auto-generated, based on the application database contents, and data added to system-tables by developers. These User Interface elements can then be extended, customized and designed by trained users who do not have to be highly trained programmers.
The Orixa Framework creates a visual interface with a full range of data-controls to allow multiple users to add and share data on diverse aspects of a business’s operations such as Deliveries, Purchases, Sales, Contacts, lists of Farmers, Staff, Training done by staff or farmers, Wages, Taxation and payroll data to name only a few of the possibilities. An Orixa Application is agnostic about the data it contains, it can store, manipulate and edit any data provided it is structured correctly.
The Orixa Framework has a mechanism for adding meta-data attributes to the data-tables, functions, views and stored-procedures of its database allowing a wide variety of elements of the database to be surfaced within the structure of the application. To give an example, a simple mechanism exists to define a data-table as containing data that can / should be surfaced within a visual diary component. When the application starts, Orixa Application checks whether any of its data-tables include this attribute. If they do the Orixa Application creates a diary component and makes it available for the user to view data, add and edit data that is contained in it. Similar processes allow an Orixa Application to generate grid-views, web-views, tree-views, interactive charts, reports and summaries of data.
The flexibility of the Orixa Framework allows it to be extended and developed to manage most business problems. Elements exist within the Orixa Framework for management of diverse business processes including built in support for certain commonly used business applications:
- Factory asset management and maintenance scheduling
- Customer, Sales and Products data records.
- Supplier, Purchases and Purchase-Items.
- Product Quality Management, Sampling, Testing and Traceability
- Records related to Organic and Fairtrade certifications, inspections and supply chain management
- MEL data records for households relating to project participation or base-line survey data-collection.
Key Features of Orixa
Programmatic Extensibility
As well as providing a highly automated mechanism for managing complex data the Orixa Application can be extended and developed within the Delphi programming environment, giving developers the opportunity to extend its functionality in any way they wish. Delphi’s high-level language includes compilation of native executables that are extremely fast and very robust. Delphi has been used to develop many best-in-class applications including many pieces of software which are installed on Windows computers. As a development environment it is well supported, and has existed for more than 20 years.
The Orixa Framework has been in development since about 2000. Its 20 year history means that it has already dealt with a wide variety of business problems and includes solutions to most fundamental data-management problems such as simple tools to keep data secure, to give users passwords and security levels for access to different parts of the database etc.
How the Orixa Framework is structured
- It is a set of standards for structuring a database which, if followed, allow an App to build user interface elements for adding and editing data in the whole database.
- An Orixa App includes a set of "Framework" data-tables, which hold meta-data used by the App, for example details of parts of the user interface of the App and "Business" data-tables which hold the data viewed and edited by users. Staff with some training in the user of Orixa Applications can edit and update the data in these framework data-tables to alter the underlying Orixa Application.
- Then an Orixa App includes data-tables. These actually store the data that the user interact with, adding / editing and deleting data. Staff members using the system will spend most of their time viewing actual data-records, via the visual interface provided by the Orixa App.
- The Orixa Framework includes a diverse range of additional software tools and features. For example it is possible to extend an Orixa Application by adding stored procedures to the database, these procedures are surfaced into the Application user interface, and can result in complex data-management.