Coding for fun and profit.....

Home ObjectGOO Reference Services Contact About Me Source Code/Contribute

 

Why ObjectGOO

Near Zero Configuration

Persist Objects in SQL in Minutes

No Config Files (Did I already say that)

Partial Persitance Normalization

Its Free

Its Open Source

Retrieve objects using SQL

Auto reconfigures views for reporting

Status

ObjectGOO is PRE-Alpha, I have decided to release a Demo project as the methods and interfaces wont change only be added to and revised for performance and Oracle compatiblity. A Subversion repository and Forge should be available by months end if you wish to help.

Oddities

ObjectGOO has an unusual side effect, it is actually FASTER at retrieval and population of Datasets than native ADO.Net.

Reason: Because the way objects are deserialized into XML they translate to create a dataset much faster than retrieval from a flat structure then into XML.

Odd but true.....

   

ObjectGOO has landed (SPLAT !)

With a splat for now lets say. Well sort of, I have decided after much prodding and pushing to relase a proof of concept demo. I have decided to release an earlier and (sort of) working demo.

Cliche' I know but please excuse the dust I threw this site together with tired eyes in a few hours and there are lots of spelling and grammar errors to be corrected as time allows.

I will be posting the code for ObjectGOO itself shortly, Meanwhile a Demo Project is available with an old single threaded model for inserts that is semi-stable for CRUD, I'm in the middle of a teardown, the version (released only as a dll (all 48kb) turns SQL 2005 (And Soon Oracle 10g +) into an Object Database. I was tired of writing (or having junior developers) write SQL maps for IBatis and the like for prototyping and training, so ObjectGOO was Born.

I coded the original implementation in an evening, the second in 2 days, its lightweight uses no config files and Will persist objects, Collections, Etc, using deep serialization.

The MS entity framework will be integrated as well as LINQ when released but realize ObjectGOO is MUCH MUCH simpler to use and implement, it does all the "dirty work" on the downside it currently only works with SQL 2005-2008, Oracle support is in the works and partially complete. So say a Person has a collection of addresses , I can persist either the person or the whole domain chain..... With one line of code.

Actions.ExportDomain(g)

More.....
 

BlogGOO

BlogGOO is a proof of concept using ObjectGoo, its a simple blog engine meant to be dropped in place and run. This will be available on the forge at months end.
 

SurveyGOO

SurveyGOO is a Generic Relational Survey Engine, it is meant for Boolean (True / False) , Freeform (Text Based) and multiple Multiple Choice , a question has a predicate depending on how its answered , different questions may be presented, related to the parent question with an unlimited depth. Originally built for a client and the project was scrapped internally, no use in letting the code go to waste.

Data is available for a simple report (included in the project) or for consumption by other more sophisticated analysis engines, such as MS Analyisis Service.

Alpha Release planned for Mid Dec. 2007


 

Known Issues

 

  • LOTS ! Its Pre-Alpha code.
  • Inserts are in the Demo only Single Threaded. (Last version to pass NUnit tests 100%)
  • SQL Parsing 85% complete must use * on selects.
  • ENUM persistance broke somewhere along the line while threading.
  • .....Trust me there are more, did I say PRE-Alpha ?
  •  

    Requirements

  • SQL 2005 or (SQL 2005 Express Installed)
  • PWS, or IIS (for Demo)
  • .Net 2.0 or Greater framework (Tested up to 3.5 beta 2 and SQL 2008 Beta/RC)

  • Download

    ObjectGoo Demo Project
    Base Object Source
    ObjectGOO Source


    Whats Coming.....

  • Multithreaded Inserts
  • Bulk Inserts
  • DataTable, as well as many IBatis style overloads for object retrieval options.
  • LINQ Integration.
  • Lazy Loading of large collections

  •  

    Copyright 2007 Chris Wertman. All Rights Reserved.