Home
Introduction
Onyct is an .NET application framework that aims to provide a tightly integrated structure around which desktop, server or web applications can be developed.
The Onyct libaries are designed in layers to allow developers to pick and choose how much or how little of the framework they use. At the very least the libraries provide an extension to the standard features found in the Microsoft System libraries. Used to the fullest extent Onyct provides an environment similar in concept to J2EE.
The core of the framework is a kernel that provides services (such as database connections or configuration) with the minimum of fuss. The provider of services is generally anonymous in the sense that a service consumer does not need to know anything about the implementer other than it implements a standard interface.
Onyct uses a number of basic concepts to simplify development:
A declarative style to accessing services. Wherever possible (and sensible) attributes are used to supply information about the resources required by code. This allows a more flexible and modular approach to the fulfilling of those requirements without the developer needing to make special calls or use base-classes.;
An interface-driven approach to objects and attributes that allows developers to pick-and-mix the features that an object or service uses or requires;
Features
The Onyct framework provides a range environments, services, and base-classes to make application and component development as simple as possible. One of the main aims is to remove dependencies from the developed components to encourage and simplify their re-use.
Environments
An environment is a safe and reliable location for an application to run. It provides all of the necessary resources and manages a lot of the details that might otherwise make writing generic code difficult. Applications and components running within an environment are able to communicate a global message bus. They are also able to interact with their surroundings through a variety of APIs.
Command-line executable;
Windows Service;
Web Service;
Windows Application.
Services
Services provide a mechanism for resources to be accessed by any piece of in an application, regardless of where it is or how it has been loaded. All services are accessed by interface - allowing for different implementations to be used by different applications without the need to recompile any of the consumers.
Logging;
Configuration;
Persistence;
Messaging;
Reliable database connections;
Authentication and Authorisation;
Application management.
Base Classes
A rich selection of base class and interfaces are provided to allow interaction with the framework and derived components. The base classes provide a quick and useful foundation for new components or the extension of existing ones.
Service Consumer;
Type Extension;
Database Connection;
Configuration Provider;
Persistence Engine;
Message Bus;
Client/Server Remoting Connection;
Authenticator and Authorisor.
Tools
The aim of the project is to utilise only free tools and open formats wherever possible. See this list for details.
Standards
A set of standards is being developed along with the code. These will be published alongside the first release.
Roadmap
The project is still in the very early stages of planning and design with no released code. The following is a list of some basics documents explaining where we are and what we intend doing: