Está en la página 1de 19

ÍNDICE

INTRODUCCIÓN 3
OBJETIVO GENERAL 4
OBJETIVO ESPECIFICO 4

UNIDAD 5: SERVICIOS WEB CON .net 5


5.1 Introducción a los servicios web XML 5
5.2 Desarrollo de servicios web utilizando Visual S .net 6
5.3 Desarrollo de un caso práctico 7
5.4. Servicios web y clientes 8
5.5. Ejemplos de servicios web 5

CONCLUSIÓN 9
BIBLIOGRAFIA 10
INTRODUCCIÓN

Un servicio web se define como un componente de software que se comunica con


otras aplicaciones mediante mensajes en XML que se envían a través de protocolos
estándares de Internet tales como el protocolo HTTP (Hypertext Transfer Protocol),
de manera que en vez de retornar páginas web como respuesta, lo que se hace es
devolver un mensaje de respuesta que también se encuentra formateado en XML.
Generalmente se adapta como válido que:
 En primer lugar, que forman parte de lo que genéricamente se denomina
como SOA o Arquitectura Orientada a Servicios. Esta arquitectura software
se basa en el uso de servicios para resolver las necesidades de los
requerimientos de los usuarios. Los servicios tal y como se ven en la
arquitectura SOA se caracterizan por ofrecer un acoplamiento débil, pero en
donde la interoperabilidad es máxima, y para ello la definición de los
servicios, operaciones y mensajes que se intercambian se definen de una
manera abstracta e independiente de las plataformas. Veremos que los
servicios web consiguen esto mediante el uso del protocolo SOAP y de
WSDL.
 Y, en segundo lugar, que los servicios web se componen de los siguientes
elementos constitutivos:
o Elementos de Descubrimiento
o Elementos de Descripción
o Elementos de Formato
o Elementos de Codificación
o Elementos de Transporte
En los próximos párrafos veremos más en detalle cada uno de estos elementos.

OBJETIVO GENERAL

Mostrar en una guía de estudio todo lo aprendido en la unidad 5 de la materia de


Servicios Web.
OBJETIVOS ESPECIFICOS

 Presentar conceptos claros y concisos de cada subtema.


 Exponer la aplicación que se puede tener de cada uno de ellos.
 Resumir una unidad en un documento, para el análisis de estos datos.
5.15.1
Introducción a los
Introducción servicios
a los web
servicios XML
web XML
¿Qué es UN WEB SERVICE? Arquitectura de los Web Services

Es un método de comunicación entre dos Service Discovery. Responsable de


aparatos electrónicos en una red. Es una centralizar servicios web en un directorio
colección de protocolos abiertos y estándares común de registro y proveer una
usados para intercambiar datos entre funcionalidad sencilla para publicar y buscar.
aplicaciones o sistemas. Las aplicaciones UDDI se encarga del Service Discovery.
escritas en varios lenguajes de programación Service Description. Uno de los aspectos
que funcionan en plataformas diferentes pueden más característicos de los web services es
utilizar web services para intercambiar que se autodescriben.
información a través de una red.. Service Invocation. Invocar a un Web
Service implica pasar mensajes entre el
Componentes de los Web Services
cliente y el servidor.
Transport. Todos estos mensajes han de ser
transmitidos de alguna forma entre el
servidor y el cliente.

Componentes de los servidores en una


aplicación Web Service

Los web services estandarizados funcionan con


los siguientes componentes:
 SOAP es un protocolo escrito en XML para Web Service. Es el software o componente
el intercambio de información entre que realiza las operaciones.
aplicaciones. SOAP Engine. El Web Service no sabe
 WSDL es un lenguaje basado en XML interpretar SOAP requests y crear SOAP
para describir los servicios web y cómo responses.
acceder a ellos. Application Server. Para funcionar como un
 UDDI es un estándar XML para describir, servidor que puede recibir requests desde
publicar y encontrar servicios web. diferentes clientes.
5.2 Desarrollo
5.2 Desarrollo de
de servicios
servicios web
web
utilizando visual studio .net
Microsoft .NET es una plataforma para generar, ejecutar y experimentar la próxima
generación de aplicaciones distribuidas. Abarca clientes, servidores y
herramientas de desarrollo. Esta tecnología consta de:

 El modelo de programación .NET Framework, que permite a los desarrolladores crear aplicaciones Web,
aplicaciones de cliente inteligente y servicios Web XML que exponen su funcionalidad mediante
programación a través de una red utilizando protocolos estándar como SOAP, XML (Lenguaje de
marcado extensible) y HTTP.
 Herramientas de desarrollo, como Visual Studio® .NET, que proporcionan un entorno de programación
integrado de gran rapidez para la programación con .NET Framework.
 Un conjunto de servidores, incluidos Windows® 2000, SQL Server™ y BizTalk™ Server, que integra,
ejecuta y administra aplicaciones y servicios Web XML.
 Software de cliente, como Windows XP, Microsoft Office XP, que permite a los desarrolladores ofrecer
una experiencia de usuario convincente e intensa a través de una familia de dispositivos y productos
existentes.
COMPONENETE PORT DE UN SERVIDOR WEB DESDE LA VISTA DEL SERVIDOR

1. El consumidor de un servicio Un Port es creado e inicializado por el contenedor antes de que


Web puede ser un navegador la primera llamada recibida en la dirección del <port> del WSDL
de Internet, otro dispositivo con sea servida.
conexión a Internet, o una
aplicación. Incluso un servicio
Web puede –en sí mismo- ser
consumidor de otro servicio
Web de la misma forma que un
componente COM puede
utilizar otro componente como
parte de su implementación y
funcionamiento.
Arquitectura del entorno .NET Ventajas

 Confiabilidad mejorada El .NET


.NET es la plataforma de Microsoft para servicios Framework toma los principales logros
Web XML. Es la siguiente generación de software originalmente hechos en Windows 2000
que conecta información, dispositivos y personas y los lleva a nuevos niveles.
de una manera unificada y personalizada. La  Mejor desempeño Gracias en parte a la
Plataforma .NET permite la creación y uso de avanzada compilación y a las técnicas
servicios de aplicaciones, procesos y sitios Web de caché, las aplicaciones de servidor
basados en XML, que compartan y combinen nunca habían sido más rápidas que las
información y funcionalidad por su diseño, en creadas para el .NET Framework y con
cualquier plataforma o dispositivo inteligente. La tecnología Microsoft ASP.NET.
Plataforma .NET incluye una familia de productos  Productividad del desarrollador Los
integral, construida en estándares de la industria desarrolladores de todo tipo encuentran
y de Internet, que provee servicios Web XML que pueden familiarizarse rápidamente
para cada aspecto del desarrollo, administración con el .NET Framework.
y uso.
Principales Componentes .NET Requisitos para el consumo de servicios Web en
.NET

1. Herramientas – para construir Para consumir un servicio Web, es necesario


aplicaciones y servicios Web XML (.NET disponer de varios elementos de forma
Framework y Visual Studio.NET) · adecuada. Al utilizar Microsoft Visual Studio®
.NET, estos elementos se colocarán
2. Servidores – sobre los que construir, correctamente de forma automática.
proveer y desplegar esas aplicaciones y
servicios · Servicios – un conjunto central  El kit de desarrollo de software
de servicios .NET ensamblables (servicios Microsoft .NET Framework SDK
“HailStorm”) ·  Los Servicios del servidor de
información de Internet (IIS) de
3. Software cliente – el software que provee Microsoft
dispositivos inteligentes, permitiendo a los  Un proxy de servicios Web
usuarios interactuar y experimentar la  · Un formulario Web de ASP.NET
plataforma .NET.
5.3 Desarrollo
5.3 Desarrollo de
de un
un caso
caso práctico
práctico
Requisitos de desarrollo ASP.NET

Para desarrollar aplicaciones ASP.NET, es necesario tener:

 Un editor de código.
 .NET Framework.
 Un servidor Web como IIS (Servicios de Internet Information Server)

Adicionalmente a la programación web es necesario en muchos casos contar con


algún soporte para el almacenamiento de datos. Lo ideal es contar con un motor de
base de datos (SQL Server, Oracle, etc.) pero para esta guía vamos a persistir la
información en soportes que estén al alcance de todos.

Editor de código

Para programar páginas en ASP.NET alcanza con tener un editor de texto estándar
(Notepad, Notepad++) pero existen herramientas con un entorno de desarrollo
integrado (IDE) que nos facilita el acceso a las librerías del Framework y nos brinda
un entorno amigable para la creación de aplicaciones web en ASP.NET como el
Visual Studio. En esta guía utilizaremos este IDE para abordar los ejemplos.
Podemos descargar la versión Express
en: http://www.microsoft.com/express/Downloads/.

.NET Framework

Es un conjunto de clases que actuarán de soporte de las aplicaciones ASP.NET que


tengamos instaladas en nuestro equipo. Es de distribución gratuita y se puede
descargar desde la página de Microsoft. (Incluido al Visual Studio .NET).

Servidores Web

Una aplicación ASP.NET además de contar con el .NET Framework instalado


necesita de un Servidor Web. Vamos a utilizar el IIS (Internet Information Server).
El IIS viene como complemento de instalación de Windows; si dentro de nuestros
servicios en ejecución no contamos con Internet Information Server debemos
agregarlo al equipo donde instalaremos nuestras aplicaciones.

MI PRIMERA APLICACIÓN ASP.NET


¿Cómo probamos nuestra primera aplicación?
1. Abrimos el Bloc de Notas, copiamos el código.

2. Guardamos el archivo con el nombre Default.aspx

3.- Creamos nuestro espacio virtual en el IIS


a.- Abrimos el IIS y creamos un nuevo directorio virtual.
b.- Ingresamos el nombre que tendrá nuestra aplicación web.
c.- Indicamos el directorio donde guardamos nuestra pagina web Default.aspx.

Seguimos hasta el final para que quede creada nuestro directorio virtual. Listo, ya
tenemos nuestra primera aplicación ASP.NET instalada para probar. Ahora abrimos
nuestro browser y escribimos en la barra de
dirección: http://localhost/MiPrimeraAplicacionWeb/Default
.aspx

Estructura de nuestra aplicación web.


La estructura de nuestra primera aplicación es la más simple.
1.- Contiene una directiva:

<%@ Page Language="C#" %>

Le estamos indicando que la pagina usará lenguaje C# (C Sharp)

2.- Código en línea:

1 <script runat="server">
2 protected void btnAceptar_Click(object sender, EventArgs e)
3 {
4 lblResultado.Text = txtNombre.Text;
5 txtNombre.Text = string.Empty;
6 }
7 </script>

El tag script está indicando que el código se ejecutará del lado del servidor. En esta

porción del código van las acciones que ejecutaremos en nuestra aplicación; en este

caso sólo tenemos una única acción asociada al botón Aceptar.

3.- Código HTML para la creación de objetos en pantalla.

01 <html xmlns="http://www.w3.org/1999/xhtml">
02 <head runat="server">
03 <title>Mi primera aplicacion - Maestros del Web</title>
04 </head>
05 <body>
06 <form id="form1" runat="server">
07 <div>
08 <asp:TextBox ID="txtNombre" runat="server"></asp:TextBox>
09 <asp:Button ID="btnAceptar" runat="server" Text="Aceptar" onclick="btnAceptar_Clic
10 <br/>
11 <asp:Label ID="lblResultado" runat="server" Text="[Resultado]"></asp:Label>
12 </div>
13 </form>
14 </body>
15 </html>

En pantalla vemos tres objetos

1. Un TextBox llamado txtNombre (Para ingresar un nombre).


2. Un Botón llamado btnAceptar y con el evento OnClick definido (Ejecutamos
la acción de pegar contenido).
3. Un label de resultados llamado lblResultado. (Mostramos los resultados
luego de ejecutar el evento del botón).

Creación de un proyecto ASP.NET con Visual Studio

1.- Abrimos Visual Studio .NET y creamos un nuevo proyecto web.

2.- Seleccionamos el tipo de proyecto que deseamos realizar.


a.- Seleccionamos ASP.NET Web Site,
b.- Indicamos la ruta donde vamos a guardar el
proyecto: c:\MaestrosDelWeb\GuiaASPNET
c.- Determinamos el lenguaje que vamos a utilizar. Visual C#.
Por último, presionamos el botón OK para crear la solución.

3.- Una vez creada la solución el IDE genera el primer template.


En la pantalla de edición de código copiamos y pegamos el código anterior y ya
tenemos nuestra primera página web dentro del entorno de desarrollo integrado.

Para ejecutar la aplicación dentro del entorno de desarrollo presionamos la


tecla F5 y nos pregunta si deseamos habilitar el modo de debug. Presionamos OK.

A continuación, se abre nuestro Browser predeterminado ejecutando la aplicación


en modo debug. Al trabajar con un entorno de desarrollo no es necesario crear un
espacio virtual en el IIS ya que la misma aplicación se encarga de preparar el
ambiente.

5.4 Servicio
5.4 Servicio web
web yy clientes
clientes
La clase/interfaz Service (SI) define
INTRODUCCIÓN los métodos que un cliente puede
utilizar para acceder a un Port de un
servicio Web. Un cliente NO crea o
destruye un Port. Utiliza la
La vista del cliente de un servicio Web es bastante similar a clase/interfaz Service para obtener
la de un Enterprise JavaBean. Un cliente de un servicio Web el acceso a un Port. La
puede ser otro servicio Web, un componente Java EE clase/interfaz Service se define en
(componente web,componente EJB), incluyendo una la especificación JAX-WS, pero su
aplicacion cliente Java EE, o una aplicación Java arbitraria. comportamiento viene definido en el
Una aplicación no Java o un servicio Web para una documento WSDL proporcionado
aplicación no Java EE también podrían ser clientes de un por el proveedor del servicio Web.
Servicio Web, pero vamos a ceñirnos a la plataforma Java
EE. El cliente accede a una
implementación de un servicio Web
utilizando el SEI. Dicho SEI es
El cliente de un servicio Web puede ser remoto (no se especificado por el proveedor del
requiere que resida en la misma máquina que el servicio servicio.
Web) y se proporciona una total transparencia al respecto (el
Un Port no tiene identidad para el
cliente no puede distinguir si está accediendo a un servidor
cliente, que lo debe considerar
local o remoto).
como un objeto sin estado.
La siguiente figura ilustra la vista del cliente de un servicio
JAX-WS define un modelo de
Web, proporcionada por el proveedor del componente Port y
programación en el que se realiza
el contenedor en el que éste reside. Además se incluye la
un mapeado de un documento
clase/interfaz Service (SI: Service Interface), y la interfaz del
WSDL a Java. Dicho mapaeado
Endpoint del servicio (SEI: Service Endpoint Interface).
proporciona una factoría (Service)
para seleccionar qué Port
(agregado en el servicio) desea
usar el cliente. Como veremos más
adelante, la herramienta JAX-WS
que porporciona las clases
necesarias en la parte del cliente
para poder acceder a un servicio
web se denomina wsimport. E

En general, el transporte, codificación, y dirección del Port son transparentes para el cliente. El
5.5 Ejemplos
5.5 Ejemplos de
de servicios
servicios web
web
cliente sólamente necesita realizar llamadas sobre la interfaz del endpoint del servicio (Service
Endpoint Interface), utilizando el PortType correspondiente para acceder a dicho servicio.
Iniciar sesion.
Antes de que se pueda establecer una comunicación con cualquier servicio web de
Alfresco se debe autenticar el usuario actual para iniciar una sesion. Esto se puede
hacer usando el metodo
startSession que se
encuentra en el
Authentication Web // Obtener la referencia de Authentication
Services. service
AuthenticationServiceSoapBindingStub
Al metodo startSession se
le pasa un usauario y un
authenticationService =
password y, si la
(AuthenticationServiceSoapBindingStub)
autenticacion tiene exito, new AuthenticationServiceLocator()
devolvera un ticket. Este .getAuthenticationService();
ticket puede ser usado
cuando se llamen otros // Iniciar la sesion
metodos de los servicios AuthenticationResult result =
web. authenticationService

.startSession(userName, password);
Uso del Ticket String ticket = result.getTicket();

Las llamadas a todos los


metodos de los servicios
web deben tener la
información de seguridad
WS en la cabecera. Esto
asegura el que solo los <deployment
usuarios autenticados xmlns='http://xml.apache.org/axis/wsdd/'
puedan acceder a la API
de servicios web.
xmlns:java='http://xml.apache.org/axis/wsdd/
providers/java'>
<transport name='http'

Los servicios web que se pivot='java:org.apache.axis.transport.http.H


basan en XML permiten TTPSender'/>
que las aplicaciones <globalConfiguration >
compartan información y <requestFlow >
que además invoquen <handler
funciones de otras type='java:org.apache.ws.axis.security.WSDoA
aplicaciones llSender' >
independientemente de <parameter name='action'
cómo se hayan creado value='UsernameToken'/>
<parameter name='user'
value='ticket'/>
<parameter
name='passwordCallbackClass'
dichas aplicaciones e independientemente del sistemas operativo o plataforma en
que se ejecuten y de los dispositivos utilizados en el acceso. Los servicios Web
XML, aunque sean independientes entre sí, pueden vincularse para realizar una
tarea.

Por ejemplo, Google, utiliza un Servicio Web -Google Web APIs- basado en los
estándares SOAP y WSDL que permite programar en Java, Perl ó Visual
Studio.NET y que sirve para la recuperación de información permitiendo utilizar este
buscador en distintas plataformas y Servicios Web. http://www.google.com/apis/ Por
su parte, Amazon Web Services ofrece una serie de de aplicaciones de referencia
que permiten a los desarrolladores acceso directo a la plataforma de tecnología de
Amazon y construir aplicaciones propias. Una lista promenorizada de muchos de
los servicios web existentes en la actualidad los ofrece XMethod:
http://www.xmethods.com Además, existen numerosos proyectos como Web
Services and Semantic (WS2) Project (http://www.w3.org/2004/WS2/) cuyo objetivo
es promover los Servicios Web y trabajar en la integración de la semántica en la
Web, o el proyecto Infrawebs Europe http://www.infrawebs.org/ cuyo objetivo es
desarrollar un marco para que los desarrolladores de software y proveedores de
servicios puedan generar y establecer plataformas de desarrollo para aplicaciones
de Servicios Web que sean abiertas, extensibles y reconfigurables.

“Como se ha afirmado anteriormente, los


servicios web se componen de varias capas entre
las que destacan: servicios de transporte
(constituidos por los protocolos del nivel más
bajo, que codifican la información
independientemente de su formato, y que pueden
ser comunes a otros servicios), de mensajería, de descripción y de
descubrimiento.”

CONCLUSIÓN

Internet es un conjunto de protocolos. Así nació y así sigue siendo. Incluso cada
día se agregan nuevos protocolos a este conjunto.
El desarrollo de aplicaciones para Internet no es la simple creación de páginas
interactivas. Existe una gran gama de aplicaciones que se pueden crear.
La tendencia es la creación de aplicaciones en capas con una o varias tecnologías
que se comunican por medio de protocolos como SOAP o XML-RPC.
A partir del concepto de desarrollo en capas nace el concepto de Servicio Web.
Hay alternativas para las tecnologías propietarias mayores que dominan el
mercado. Por ejemplo: una combinación de XWT con PHP por medio de XML-RPC,
podría reemplazar una aplicación de Visual Studio .NET, aligerando el costo de las
licencias.

BIBLIOGRAFIA

(s.f.). Recuperado el 23 de 11 de 2019, de http://www.jtech.ua.es/j2ee/publico/servc-web-2012-


13/sesion02-apuntes.html#Creaci%C3%B3n+de+un+servicio+Web+con+JDK+1.6

(s.f.). Recuperado el 23 de 11 de 2019, de


https://www.dtic.ua.es/grupoM/recursos/articulos/JDARE-05-C.pdf

(s.f.). Recuperado el 23 de 11 de 2019, de


https://www.ibm.com/support/knowledgecenter/es/SSEQTP_9.0.5/com.ibm.websphere.b
ase.doc/ae/rwbs_map.html

(s.f.). Recuperado el 23 de 11 de 2019, de https://es.wikipedia.org/wiki/UDDI

(s.f.). Recuperado el 23 de 11 de 2019, de https://desarrolloweb.com/articulos/1589.php

(s.f.). Recuperado el 23 de 11 de 2019, de


https://www.ibm.com/developerworks/ssa/webservices/library/j-jws12/j-jws12.html

(s.f.). Recuperado el 23 de 11 de 2019, de https://desarrolloweb.com/articulos/1664.php

(s.f.). Recuperado el 22 de 11 de 2019, de


http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/211

También podría gustarte