I must be missing something (as usual!). I see Aware's huge plus not in the backend database logic (more on this later) but in the ease, and speed, and flexibility of the Aware UI. The Visual Perspectives, built in security, queries, forms, menus, etc, etc. are the main reason why I adopted Aware for my development.
REST is usually used for CRUD (Create, Read, Update, Delete) processing. Lets talk about each of these. Aware does a SELECT * for all of the table columns and related tables. Perhaps you won't see much of a difference on a LAN, but for a mobile device, I would much rather have a Stored Proc (or query) that is just transmitting the required columns on the LAN.
Creates, Updates and Deletes (the other 75%) of CRUD are easy - peazy to write in SQL (and once written can be copied so for your next BO, just change the name of the underlying table and all is good). I don't see any plus of Aware doing this.
Yes, I do understand that Aware Rules are UBER-AWESOME. I am adding a payment entry process to my system, and when a payment is entered / changed, my simple rules makes sure that the Invoice file is updated, the Customer file is updated. ) That logic would have to be written in all of the Payment CRUD procedures. This DOES add complexity to those and I can see that as a prime reason to want to use Aware for the REST Server.
As far as Aware Processes, so many have a UI component (Report Error or Display Message ) So they would be useless to use as a REST Server. If they are just doing Database manipulation, that would be so much faster and more efficient using a SP.
Other Issues. I do not write any process to just UPDATE a BO without starting with a form. So, if I am updating my Payments, I open a form, and the update happens when the user clicks the Save button. (Yea, it might call a process to update other tables, but not the main BO) I am not sure how you could write a process to do that, assuming you have the UI handled by other front ends. I "Guess" you would have to have a "ReadBO" process that would return all of the attributes (there are at least 2 that you and I never see, that Aware uses for "locking" the BASVERSION and BASTIMESTAMP). and then you would have to have an UpdateBO process where you can send the entire record with the updates back to Aware. Maybe there is another way. Not sure.
BTW, I am using Node for a REST Server for applications that I wrote using Sencha EXTJS. So I am very familiar with REST. (Of course, a HUGE advantage of using Node is the extensibility with 1,000's of free add-on modules. I have ones that connect to a credit card processor, ones for logging, etc.)
So please educate me as to the benefits of using AwareIM as a REST Server.
Bruce