Jeg har igennem årene set forskellige måder hvordan man kan få data ind og ud af en database i forskellige sprog. problemet beskrives som ORB – Object Relational Mapping – hvordan man kan få data i relationelle databaser til at fungere nemmest sammen med et objektorienteret sprog.
her i midten af 2009 er der følgende state of the art løsninger:
- http://msdn.microsoft.com/en-us/netframework/aa904594.aspx (funktionsprogrammering og sql-lignende udvidelser til C#)
- http://www.grails.org/GORM (rails inspireret groovy løsning)
- http://ar.rubyonrails.org/ (kernen af Ruby on rails )
- http://www.datanucleus.org/ (opensource jpa implementation brugt i google app engine)
- http://www.doctrine-project.org/ (for php )
- http://www.visualdataflex.com (DataFlex løste problemet i midt-firserne!)
Den løsning der er blevet valgt i de projekter jeg har været i nærheden af har typisk været afhængig af hvilke erfaringer medlemmerne nu har haft.
Her forleden sad jeg og så Missing in action og kom til at tænke på at starten af relationelle databaser var omkring Vietnam krigen ( IBM lavede System R i 70′erne ). Når vi tænker på at objekterede sprog også har eksisteret siden 70′erne , så er det lidt underligt at det ikke er helt oplagt hvordan man løser ORM problemet endnu.
Ted Neward har beskrevet ORM problemet som The Vietnam of Computer science . Vietnamkrigen er ofte blevet beskrevet som en krig som USA aldrig kunne have vundet.
Jeg har kendskab til flere projekter der stadigvæk kæmper med at løse ORM problemet – de må betragtes som værende “Missing in Action”. Kan vi ikke sende Chuck Norris ind for at redde dem ?

