Friday, September 3, 2010

Organon introduction: Information (Part 2)

I love information upon all subjects that come in my way, and especially upon those that are most important. -- Alciphron
Most of enterprise systems deal with information modeling, manipulating, validating and flowing. Usually, one or more techniques are implemented to provide application level access to the information model such as JDBC, JPA, DAO. Unfortunately, available techniques doesn't solve all the problems such as portability, data format, information validity and semantic accessibility. That's why we decide to design a new platform as part of our effort to solve long standing problems.

ORGANON is platform designed from scratch to solve current data modeling challenges and problems and provide set of features:
  • Support many semantic language like RDFS, OWL, OML or annotated classes.
  • Support abstract and final concepts.
  • Support subsets inheritance.
  • Support subset final concepts, for example Age is subset of Integer which will inherit the Integer symbol.
  • Support multiple-parent inheritance.
  • Support scoped declaration and nested concept declaration (not fully implemented yet).
  • Support constrained relations.
  • Automated verification and validation including enumerated types, subset, inheritance, relations and cardinality constraints.
  • Reusable routine, for example Date concept has routine Age returns Integer which can be reused (SELECT dateOfBirth.age() from persons)
  • Defining objects in time, for example referencing task.assignee to employee in "present" where 'present' constraint by status is active.
  • Complete metadata query and reasoning API.
  • Complete Event/Subscription API.
  • Schema compiler and validator.
  • Source code generation from model to java classes.
  • Predefined queries or percepts.
  • Strongly typed symbols.
  • Transparent persistence and Memory API.
  • Multiple I/O formats including XML, JSON, RDF.
  • Rich query language including support for query abstract concepts, for example (SELECT * FROM OnlineUsers WHERE Weather.status = 'Fine' AND Employee.company= 'Accorpa')
  • Rich instances inferencing API.
  • Global annotation reasoning API.
  • Binding API similar to JAXB.
  • RDBMS store implementation (JDBC)
  • XML database store implementation (not fully implemented yet).
  • J2EE architecture Integration (not fully implemented yet).
  • Maven integration.
ORGANON (codename: LIBERTY) focus on the information accessibility and transformation between different data representation formats, the below diagram shows the information flow (Symbols are strongly type objects)

We started writing in ORGANON since two years ago. it reaches 120K lines of code (coverage). We plan to move from alpha to beta in about month and still have some issues with licensing.

120K lines have a lot of things there to talk about

HAPPY ORGANON!