I work in Progress ABL and use what we call AppServers. Application Servers, processes that can talk to a Progress database and run business logic on the on a server and then send a response back to the client.
These come in 4 modes but I’m most accustomed to state-reset which is an appserver that preserves state throughout the connection and state-free which is a fire and forget mode.
This product is highly proprietary with compatibility with other clients such as .net.
My question is, are there any solutions out there that are pure .NET that do the same thing. I’m not talking about doing ASP.net or web services as they address a different problem. I want something that can run code that can connect to a database and transmit back responses without writing my own system.
Example of running code on an AppServer.
define variable handleToAppServer as handle no-undo. define variable charResponse as character no-undo.
run ‘AppServerProcedure.p’ on server hAppServer (output charResponse).
I’m a longtime ABL developer and I think this is an excellent question. I also use C#, I like and respect both platforms. But, I’ve never really understood how a C# developer would do what the OP describes and seems so simple in P4GL.
The above response from p.marino assumes that you can do what you want to do with SP’s. That is often the case, sure, but us ABL developers are used to doing things far beyond what you can achieve with SQL.
So, if I want to write business logic in C# and have it execute remotely, but not as a SQL SP, what are my options? .NET Remoting, Web Services, or .NET Enterprise Services maybe? I don’t think any of those are as straightforward as ABL AppServers, and none of them with the possible exception of WS seems to have a lot of traction.
(Lest I sound like a P4GL fanboy, their GUI totally blows, their tools are disgusting, and the licence fees are rather exorbitant. I’d write GUI in C# or Swing over P4GL anyday. But remote business logic… I’m not so sure).