Over the years I’ve been in IT: structured programming, object oriented programming, relational databases, client-server programming, network programming, and privacy/security have all added “unnecessary complexity”.
If you don’t know it by now, you will. I’m a bit of a jerk about going directly to the database. Why? I listen to Epicor. The E10 application is faster than E9 because the system is written to take advantage of caching. What does this mean to a read-only user? It means that the database may not have the most up-to-date information in it. Your guys might be returning stale data in their apps. So I will argue that there IS something inherently wrong with direct database querying.
At a minimum, they should use the Business Objects so at least those get the most recent data since they read from the cache.
They are used to parsing CSV files today. Calling a BAQ from the BAQSvc has got to be the easiest solution ever. There is just no magic to it. Seriously, what’s difficult about:
https://server/epicor10/api/v1/BaqSvc/{BAQName}?param='2016-12-01'
which returns data in tabular form with no parsing required? That’s got to be the lowest technical barrier I’ve ever seen.
Know what else is cool with REST? Upgrades. If you do things the same way as 9.05 and direct access, it’ll be another five years before you upgrade again. With business object programming, you’ll have to recompile your programs with every upgrade. With the BAQ REST service, you may never have to recompile that program again.
I also like the finer control of security that you will already have in the application at your disposal instead of recreating a whole new model. Which of course, they probably won’t. They’ll use one or two users and open everything wide open - because of the “unnecessary complexity”. Also, at least at this version of Epicor, creating VIEWs directly in the database has caused several users on this list to crash the upgrade process.
And finally, so much of the programming done today involves REST. Microsoft has exposed all of O365 as REST services. Most of the new apps in O365 are just REST orchestrations. For those who want to integrate Epicor into the rest (oddly, no pun intended) of the world, I would highly recommend expanding one’s horizons.
(How was that @markdamen?) ![]()
Mark W.