tdmartin102 / ajrdatabase

An OpenSource implementation of Apple's Objective-C Enterprise Objects framework
22 stars 9 forks source link

ajrdatabase - Introduction

JAEOF: "Just Another EOF"

Latest info

Feel free to help out!

This code is a fork of ajrdatabase written primarily by Alex J. Raftis
and published on SourceForge. The project there seems to be dead with no response from the current admin. Perhaps new life can be breathed into this project over here on github. An OpenSource implementation of Apple's Objective-C Enterprise Objects framework, arjdatabase is intended to be a plug-and-play replacement for Apple's EOF implementation. A strong attempt was made to make these frameworks adhere to the published EOF 4.5 API.

Currently there are database adaptors for OpenBase, Oracle, Postgres, MySQL, and SQLLite.

Status

Why?

Because, for me at least, I had over 100 very database intensive applications that were stuck in Tiger because they relied upon Apple EOF 4.5. I felt it would be great, if I could plug in a new framework that replaces EOF and they would just need minor tweaks to get them working on the current Apple OS. Further, EOF is rather amazing in many ways and I know of nothing available that even comes close to the functionality that it provides. I realize there probably are very few people like me that need an EOF replacement, but EOF is extremely powerful and offers a high level of abstraction that makes creating applications that need to work with databases a snap.

Background

In 2000, WebObjects and EOF were state-of-the-art tools for building advanced web applications. Apple was in a state of flux, and had signed a pact with the devil to port WO/EOF to Java, and EOL the obj-c (& webscript) version of these great tools. For all of us that built enterprise software based upon the Objective-C version of EOF/WebObjects we had to port to Java or look for some other solution. Alex J. Raftis created the ajrdatabaes Open Source project around 2004 sometime and had many contributors to the project. I am uncertain how many people actually used the frameworks, but my impression is that it was used in production applications to some extent even though it was never truly christened as being anything but beta. It has gathered some dust as of late on SourceForge and the admin there seems to be absent. In September of 2011 I forked the SourceForge project so that I could contribute. This is a fork of that original project, but in no way does this represent a departure from the goal of the original project. This is meant to continue that project, just to do so in a new environment under active administration.

DISCLAIMER

There are many, many things that are only partially implemented, or not implemented at all. There are API elements that do not conform to the published API. The functionality of EOF is huge and much of this code has not been fully tested. My intent is to get this framework to a point where it can be used in a production environment. I consider this code to be Beta. That said, I feel that it can be cautiously used in a production environment with the understanding that some functionality has never been tested.

HELP

Any/all help would be greatly appreciated; I would love constructive criticism and welcome any help that anyone would want to throw my way! It needs a lot of work; clean-up, optimization, etc. etc.

-tm May 2017