Hello,
I've been asked to investigate the OERA as a prelude to designing a new from the ground up web based system with typical CRUD functionality. As part of this process I've looked at the AutoEdge|The Factory as an example of an implementation of the OERA.
I was wondering if anyone has found themselves in a similar situation. i.e Using OE116 and looking at developing a new system based on the OERA and if so what are;
a. the pitfalls
b. the caveats/provisos
c. the benefits
After downloading the sources and looking through the code the AutoEdge stuff looks very much like an OE version of something like a Java ORM framework such as Hibernate with the priciples of dependancy injection for example.
So, basically, what I'm asking is if you were starting from scratch, what type of framework (if any) would you employ and why?
Thanks.
|
We built NSRA Framework (for which I did a presentation at PUG 2011), that is radically different to ORM, as I never liked the concepto of ORM. You can find information about it here: www.nomadesoft.com.ar/nsra
When we develop the framework (which is an Multi database / ABL server / Multi client framework) we did it to fulfill a wider need that what you seem to be doing.
For such a "small" project, I will recommend to go for a prebuilt solution/framework (as Mike suggested). If you like the challenge of building a framework, the important points you should consider first:
- Why? Clear goals for the framework itself, other than "build the website"
- How? Layers, SAS, Protocols, technologies involved
- Who? Not only who is building it, but, more importantly, who's going to use it
If you search the PEG (I wonder if that is possible) you may find a lot of discussions about "OERA frameworks" taken place between 2010-2013.
I can't sell you anything right now, but you are welcome to ask..
Many thanks for the answers everyone. I'm currently looking at the CCS project (So much to go through!) .
Cheers.
I think OERA it’s more about layers and how one should build/use application’s blocks, very often this is referred to in relation with a framework that implements generic functionality of some of those blocks - data access, business logic, service interface, generic services (authentication, authorisation, logging, session/context management, etc) but it doesn’t automatically imply any framework.
|
Sure thing Mike, just saying maybe dataset centric frameworks with data access/business entities might be too much if all you need is a web based system with CRUD functionality… surprised no one mentioned Rollbase already ;)
Sure thing - one can always throw in additional technologies to complicate things that can also be done with the technologies most of us here master already. ;-)
LOL, just said “using” node.js there is only a matter of installing it and the dependencies all in all 3-4 command lines… it’s not that different than using the PAS (new or old), you do not need to master Java/Servlets/Spring to use the “pure” OpenEdge solution do you?
Hi MIke,
NodeJs opens up a world of (free) modules that can provide a wide range of services. Logging in via FaceBook, sending push notifications, integration with payment services, and so on.
All of those things are harder to do with OpenEdge code running in Tomcat, right?
|
Well, I didn’t even tried to start a debate here… my reply was only trying to address the ORM considerations of the OP, although that can be done with only OE components things are not that easy without a framework to provide the boiling plate while with node.js&akera.io&strongloop this can be done in five minutes. If you already have something that works great then there is no point in changing that, my point is not that node.js is cool nor that we just did that because we’ve could… as you know JS is there to stay, typescript did cleared some of your nuisances with it and the fact that the same language is now used on server side and even more on mobile native frameworks (nativescript) I would say node.js is here to stay even just because it’s easier to master one language that works everywhere ;)