Cómo Crear Un Web Client en Delphi 7

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Cómo crear un Web Client en Delphi 7

¿Qué es un Servicio Web?


Un servicio web (en inglés, Web Service) es una tecnología que utiliza un conjunto de
protocolos y estándares que sirven para intercambiar datos entre aplicaciones.

Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y


ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar
datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la
adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités
responsables de la arquitectura y reglamentación de los servicios Web.

Ventajas
• Aportan interoperabilidad entre aplicaciones de software independientemente de sus
propiedades o de las plataformas sobre las que se instalen.
• Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más
fácil acceder a su contenido y entender su funcionamiento.
• Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares
geográficos puedan ser combinados fácilmente para proveer servicios integrados.

Inconvenientes
• Para realizar transacciones, no pueden compararse en su grado de desarrollo con los
estándares abiertos de computación distribuida como CORBA (Common Object Request
Broker Architecture).
• Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales
como Java Remote Method Invocation (RMI), CORBA o Distributed Component Object
Model (DCOM). Es uno de los inconvenientes derivados de adoptar un formato basado
en texto. Y es que entre los objetivos de XML no se encuentra la concisión ni la eficacia
de procesamiento.
• Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas
reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la
barrera.

¿Qué es un Cliente Web?


Del inglés Web Requester, es aquella aplicación que realiza el consumo de un servicio web,
para llevar a cabo sus funciones. Puede ser elaborada en el mismo lenguaje que el web
service, o en uno completamente diferente. En este último caso el sistema realiza una
adaptación de las funciones registradas en el servicio web para su uso dentro de la aplicación
cliente.

Crear el Cliente Web en Delphi

Se va a crear una calculadora básica. Para ello, se hará uso del siguiente servicio web:
http://www.dneonline.com/calculator.asmx

Paso 1: Crear el siguiente formulario

Los LabeledEdit están en la pestaña “Additional”, y los botones en “Standard”. (Por


supuesto, se recomienda cambiar el caption de todos ellos).

Paso 2: Añadir un nuevo elemento al proyecto


Paso 3: En la nueva ventana, ir a la pestaña, ir a la pestaña “Web Services” y elegir “WSDL
Importer”

Paso 4: Colocar la dirección del Servicio Web. Si no lo tiene, coloque luego de .asmx lo
siguiente: ?wsdl. Así http://www.dneonline.com/calculator.asmx?WSDL
Paso 5: Al hacer click en “Next” se abrirá la siguiente ventana.

Paso 6: Click en “Finish” y se abrirá una nueva pestaña en el proyecto.

Paso 7: En esa misma pestaña, vaya a la sección inicialization y añada la siguiente


instrucción:
InvRegistry.RegisterInvokeOptions(TypeInfo(CalculatorSoap),ioDocument);

Es muy importante hacerlo, ya que de lo contrario, al intentar enviar los datos desde un
formulario, el servicio web los recibirá como valores nulos.
Nota: Cuando incluya esta instrucción en otro programa que consuma un servicio web
distinto, lo que va dentro de “TypeInfo” se deduce de las otras instrucciones “InvRegistry”
que salen en esa pestaña, las cuales ya estaban añadidas por defecto.

Paso 8: Vuelva a la pestaña asociada al formulario (por defecto, Unit1.pas) y añada en la


sección uses a su nuevo Servicio Web (su nombre aparece en Unit, y también en la nueva
pestaña, en este caso es “calculator”).

Paso 9: Cree una variable global llamada “servicio”, la cual estará asociada al servicio web.
Así como lo muestra la imagen:

Nota: El tipo de datos aparece en la pestaña del servicio (por defecto suele ser Service1Soap).
Observe la siguiente pantalla:
Nótese que allí se pueden observar las funciones disponibles del servicio, incluyendo la
construcción del objeto (GetCalculatorSoap).

Paso 10: Hora de implementar las funciones. Primero, hay que inicializar el servicio. Esto se
puede hacer dentro de cada botón, o para hacerlo más genérico, se puede hacer al iniciar el
formulario. Se procederá de esa última manera.

Seleccione el formulario, luego click en la pestaña “Events” y doble click a “OnCreate”. Se


creará entonces un procedimiento asociado a este evento.

Paso 11: Inicializar al objeto “servicio” de la forma mostrada en la imagen:


Paso 12: Doble click al botón que asignará para sumar, y así crear su procedimiento
correspondiente. Añada la función “Add” (ver segunda imagen del paso 9).

Paso 13: Realice lo mismo para cada uno de los botones, asignándoles las funciones Subtract,
Multiply y Divide, respectivamente.
Paso 14: Ejecutar. Si todo sale bien no debería haber ningún problema.

Nota: Al ser un servicio web, es normal que su ejecución tarde un poco, dado que debe hacer
la consulta con el servidor.

Por supuesto, es mucho más efectivo realizar las operaciones aritméticas dentro del
programa. La idea, en este caso, es mostrar la forma de realizar un consumo.

También podría gustarte