3 ms·
At some point during the dot-com era, Microsoft toyed with adding an HTTP server to its SQL Server product to enable similar development paradigms. My recollec
by ezekiel68 3y ago
At some point during the dot-com era, Microsoft toyed with adding an HTTP server to its SQL Server product to enable similar development paradigms. My recollection is that this was a disaster on several fronts, not the least of which was that successfully breaching the HTTP server gave an attacker direct access to the database. This (and other considerations) make a good case for the kind of separation-of-concerns which would avoid entwining API service with DB access.
I read the README, but it focuses on the practical aspects of getting the solution to work, not its philosophical justification.
edit: When I say "disaster" for the MS SQL Server attempt, I don't believe anyone ever experienced a breach, etc. But, as I recall, there were no large customers (MS caters to the larger corporate crowd) with IT deparments willing to risk exposing their DB servers to the "DMZ zone" of public Internet access (or only 1 layer past is, such as behind a proxy). So from that standpoint the disaster was providing a solution nobody (with money and corporate experience) wanted. I guess for hobbies or Silicon Valley MVPs, the concept might have some legitimate appeal.
- dmitry-vsl 3y agoThere was a similar tool developed by Oracle called mod_plsql, which served as an Apache web server module. As far as I remember, it allowed you to configure a mapping from a URL to a stored procedure. These stored procedures could receive HTTP request parameters and return HTML content. I've always felt that this approach is the right way to build applications. Application servers seemed like an unnecessary layer to me, essentially serving as intermediaries that merely passed data from the database to the browser. In the past, they played a more critical role in generating HTML, but nowadays, application servers are primarily used for handling APIs. Consequently, they often lack meaningful tasks to justify their existence. Having your code closely integrated with the data also has the benefit of improving performance.
- deleted 3y ago[deleted]
- sixbrx 3y agoYes I believe this is often used as part of Oracle's APEX (Application Expresss) tool which has similar goals to Omnigres. It's used to put together internal business CRUD and reporting apps very quickly for some orgs I've worked for.
- aae42 3y agoI work at a shop that viewed MSSQL as a platform just like the OP describes. Of course noone ever pointed that out to me, but as we migrated more and more away and the graybeards became upset about moving logic out of stored procedures into the application... and async tasks out of Agent jobs into an application job server... it dawned on me. Would not recommend this path, but that is probably because I understand deployments and platforms. if they can fix the ergonomics, modernize the process, I could see it working out. I suppose replacing your OS with postgres could have its advantages.