Cita:
Empezado por roman
Pero yo no entiendo como funciona esto de un servidor de aplicaciones en entornos web. ¿Cómo se ejecuta una aplicación delphi desde un entorno web?
// Saludos
|
Esto era algo que tampoco yo entendía. De por si la denominación es confusa. Pero un servidor de aplicaciones no es más que un servidor de datos que implementa la lógica de negocios. Puede estar basado en varias arquitecturas, pero los nuevos están hechos exclusivamente sobre HTTP (No es lo mismo que Web).
Para darnos una idea, imaginemos el siguiente escenario:
Una aplicación necesita registrar un nuevo contacto. Luego del registro, necesita aumentar el contador de contactos del cliente padre del nuevo contacto.
Implementando lo anterior en Delphi y usando Firebird lo harías así:
Código Delphi
[-]begin
with ContactosQuery do
begin
SQL.Text :=
'insert into contactos (cliente, nombre, telefono) ' +
'values (:client, :name, :telephone)';
Params['client'] := cliente_seleccionado_en_dbgrid;
Params['name'] := NombreEdit.Text;
Params['telephoe'] := TelefonoEdit.Text;
ExecSQL;
end;
contador := ClientesDataset.FieldByName('contactos').Value;
contador := contador + 1;
ClientesDataset.Edit;
ClientesDataset.FieldByName('contactos').Value := Contador;
ClientesDataset.Post;
end;
El código anterior implementa la lógica de negocios y además posee código específico y dependiente de un Motor de Base de Datos.
Pero con un servidor de aplicaciones el código Delphi sería algo así:
Código Delphi
[-]begin
RequestData := '?cliente=%s&nombre=%s&telefono=%s';
RequestData := Format(RequestData,
[HTTPEncode(cliente_seleccionado_en_dbgrid),
HTTPEncode(NombreEdit.Text),
HTTPEncode(TelefonoEdit.Text)]);
idHTTP.Get('http://servidor_aplicacion/contactos/agregar' + RequestData);
end;
Con el anterior código sólo realizamos una petición HTTP al servidor de aplicaciones. Éste tomará los datos pasados por nuestra aplicación Delphi y los insertará en un nuevo contacto y también aumentará el contador de contactos. Además es el servidor de aplicaciones el que se encargará de gestionar la conexión a la DB.
La arquitectura anterior es un moderno y verdadero servidor de aplicaciones. Existen otro tipo de Servidor de aplicaciones, los de Java. Pero esos son un ActiveX en términos prácticos.