Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Redes
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #15  
Antiguo 06-08-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por roman Ver Mensaje
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
  // este codigo implementa la conexión a la DB
  // y al mismo tiempo, implementa la lógica de negocios.


  // 1. INICIAR CONECCION A LA DB
  // 2. INICIAR UNA NUEVA TRANSACCIÓN

  // Luego...
  // Insertar el nuevo contacto
  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;


  // Increamentar el contador de contactos
  contador := ClientesDataset.FieldByName('contactos').Value;
  contador := contador + 1;
  ClientesDataset.Edit;
  ClientesDataset.FieldByName('contactos').Value := Contador;
  ClientesDataset.Post;

  // Transaction.Commit ...
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.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hacer un ejecutable unico para cada ordenador? negrokau Varios 1 14-10-2011 14:21:39
solo copio el ejecutable? Patricio Varios 3 16-05-2008 23:00:44
Usar un TDataModule compartido entre un ejecutable y una dll Luzma Conexión con bases de datos 1 18-07-2007 01:37:25
Seleccionar impresora predeterminada en cada cliente david duarte Impresión 6 26-04-2006 16:04:24
mostrar SOLO cliente de los que tengo un sólo registro Giniromero SQL 15 11-06-2004 12:33:19


La franja horaria es GMT +2. Ahora son las 19:54:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi