Unidad 3. Webservices
3.3 Inicio de Proyecto
(Introducción, Contenidos Iniciales)
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas
Plataformas de Desarrollo 2
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
“No puedes derrotar a la persona que
nunca se rinde”
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas
Plataformas de Desarrollo 2
RESULTADO DE APRENDIZAJE
Desarrollar soluciones informáticas mediante metodologías,
herramientas y estándares que satisfagan los requerimientos
de las organizaciones sobre la base de los principios de la
sociedad de la información.
3.3 INICIO DE PROYECTO
OBJETIVOS
Adquirir los conceptos básicos relacionados con el web Service
Reconocer las características del diseño de web Service
AGENDA
Visión general
Infraestructura
Desarrollo de un servicio Web
Invocación de un servicio Web
Bibliografía
6
VISIÓN GENERAL - ¿QUÉ ES UN
WEB SERVICE?
Definición:
 Es una unidad de lógica de
aplicación que ofrece datos y
servicios a otras aplicaciones.
¿Cómo funciona?
 Las aplicaciones acceden a
los servicios Web a través de
estándares como HTTP, XML y
SOAP.
 Independencia de cómo se
haya implementado el servicio
Web y acceso desde cualquier
dispositivo.
7
HTML, XML
HTML, XML
Servicios Web
Servicios Web
VISIÓN GENERAL -
ESCENARIO
8
Otros servicios Web
Servicios Web
de tus socios
Capa de acceso a datos y almacenamiento
Capa de lógica de negocio de la aplicación
TuCompañia.com
Internet + XML
Otras aplicaciones
Usuarios finales
VISIÓN GENERAL - ¿PARA
QUÉ SIRVEN?
Permiten interconectar
 Aplicaciones
 Diferentes clientes
 No sólo browsers
 Cualquier dispositivo
 PC, móvil, PDA, ...
Distribución de la lógica de la aplicación
Permiten una Web programable
 No sólo puramente interactiva
9
VISIÓN GENERAL - ¿QUÉ
APORTA?
Nuevas oportunidades empresariales: facilitan la
comunicación con los socios.
Ofrecen a los usuarios experiencias mucho más
personalizadas e integradas, por medio de la nueva
gama de dispositivos inteligentes.
Reducen la duración del ciclo de creación.
Ponen fácilmente sus propios servicios Web XML a
disponibilidad de otros.
10
VISIÓN GENERAL - EJEMPLOS
E-commerce: venta de libros, música online y otros
productos
Seguimiento de mercancías: UPS, FedEx
Parte meteorológico
Consulta de mapas online
 TerraServer: TerraServer.Microsoft.Net
Servicios web gratuitos en: www.XMethods.com
11
AGENDA
Visión general
Infraestructura
Desarrollo de un servicio Web
Invocación de un servicio Web
Bibliografía
12
INFRAESTRUCTURA -
TECNOLOGÍAS
SUBYACENTES
13
Communications: Internet
Universal Data Format: XML
Wire Format: Service Interactions: SOAP
Description: Formal Service Descriptions: WSDL
Simple, Open, Broad Industry Support
Direcory: Publish & Find Services: UDDI
Inspection: Find Services on server: DISCO
INFRAESTRUCTURA -
TECNOLOGÍAS
SUBYACENTES
XML (eXtensible Markup Language)
 Formato universal para documentos estructurados y datos en la
Web administrado por W3C
UDDI (Universal Description, Discovery and Integration)
 Servicio de directorio que permite publicar y/o describir servicios
Web
DISCO
 Permite encontrar servicios Web en un sitio dado
WSDL (Web Service Description Language)
 Una gramática basada en XML que permite describir las
capacidades de un servicio Web
SOAP (Simple Object Access Protocol)
 Protocolo ligero para el intercambio de información en entornos
distribuidos y descentralizados administrado por W3C
14
INFRAESTRUCTURA - ¿CÓMO
ACCEDER?
15
Directory
http://www.uddi.org
UDDI
DISCO
WSDL
SOAP
Inspection
http://www.ibuyspy.com/ibuyspy.disco
Description
http://www.ibuyspy.com/ibuyspycs/InstantOrder.asmx?wsdl
Wire Format
Localiza un servicio
Enlace al Discovery Document (XML)
Pide un Discovery Document
Devuelve el Discovery Document (XML)
Devuelve la descripción del servicio (XML)
Devuelve la respuesta del servicio (XML)
Pide un servicio
Pide una descripción del servicio
ClientedelservicioWeb
UDDI
uotro
serviciode
directorio
ServicioWeb
AGENDA
Visión general
Infraestructura
Desarrollo de un servicio Web
Invocación de un servicio Web
Bibliografía
16
DESARROLLO DE UN
SERVICIO WEB -
INTRODUCCIÓN
Tiene extensión .asmx
Contiene código pero no la interficie de usuario
Herramientas:
 Notepad
 Simplemente crear el archivo .asmx
 Visual Studio .NET
 Crear un proyecto “ASP.NET Web Service”
 Sun ONE y otras plataformas
17
DESARROLLO DE UN
SERVICIO WEB - CÓDIGO
ServicioMates.asmx
18
<%@ WebService Language=“c#” Class=“ServicioMates” %>
Using System.Web.Services;
Public class ServicioMates : WebService {
[WebMethod]
public int suma( int num1, int num2 ) {
return num1 + num2;
}
[WebMethod]
public int resta( int num1, int num2 ) {
return num1 - num2;
}
}
DESARROLLO DE UN
SERVICIO WEB -
PUBLICACIÓN
Visual Studio .NET hace todo lo necesario
 Genera un proxy del servicio Web
 Permitirá a los desarrolladores programar contra el servicio Web
 Publica el contrato WSDL
 Genera el fichero .vsdisco
 Enlace al recurso que proporcionará el WSDL
Si tenemos instalado .NET Framework
 Colocamos el fichero .asmx en el root de nuestro servidor Web.
 Cuando alguien haga una petición a nuestro servicio Web, .NET
generará todo lo necesario y dará una respuesta.
19
AGENDA
Visión general
Infraestructura
Desarrollo de un servicio Web
Invocación de un servicio Web
Bibliografía
20
INVOCACIÓN DE UN SERVICIO
WEB
Desde cualquier browser
 http://servidor/ServicioMates.asmx
Resultado:
21
INVOCACIÓN DE UN SERVICIO
WEB
Desde cualquier browser
 http://servidor/ServicioMates.asmx?op=suma
22
INVOCACIÓN DE UN SERVICIO
WEB
Desde cualquier browser
 http://servidor/ServicioMates.asmx/suma?num1=4&num2=2
Equivale a un HTTP-GET
Devuelve un mensaje en XML con el resultado:
23
<?xml version="1.0" encoding="utf-8" ?>
<int xmlns="http://servidor/">6</int>
GET /ServicioMates.asmx/suma?num1=string&num2=string HTTP/1.1
Host: servidor
INVOCACIÓN DE UN SERVICIO
WEB
Desde cualquier browser
 http://servidor/ServicioMates.asmx?WSDL
Devuelve un mensaje en XML con el resultado:
24
<?xml version="1.0" encoding="utf-8" ?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
...
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://servidor/">
<s:element name="suma">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="num1" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="num2" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
...
INVOCACIÓN DE UN SERVICIO
WEB
Desde una aplicación
 Crear el proxy de acceso al servicio Web remoto
 Añadir una referencia Web al sitio donde se encuentra el servicio o
 Crear el proxy manualmente
 wsdl http://servidor/ServicioMates.asmx?WSDL
 Acceder de forma normal
ClienteMates.cs
25
Using System;
class App {
public static void Main() {
ServicioMates sm = new ServicioMates();
int suma = sm.suma( 3, 5 );
Console.WriteLine( suma );
}
}
INVOCACIÓN DE UN SERVICIO
WEB
26
...
[WebMethod]
public int suma(int num1,int num2){
return num1 + num2;
}
...
...
int suma = sm.suma( 3, 5 );
...
Cliente
Servicio Web
Internet
XML
INVOCACIÓN DE UN SERVICIO
WEB
Desde una página web ASP.NET
ClienteMates.aspx
 ASP.NET UI
 Operandos: Text Box
 Metodos: Botones
 Resultado: Label
 Manipulador de eventos
 OnServerClick
27
LA WEB
Al conectarnos a internet estamos navegando en 3 capas.
 Al abrir un formulario web de inscripción (capa de presentación)
 Después de enviar la información esta es verificada (capa de
negocios).
 Finalmente la información es grabada en una base de datos (capa de
datos).
EJEMPLO
Capa de datos
Capa de Negocio
Capa de Presentación
CAPA DE DATOS
Base de datos
Tablas
Procedimientos almacenados
Componentes de datos
CAPA DE DATOS MICROSOFT
ADO .NET
SQL SERVER 20000
Procedimientos almacenados
Componentes (c#, vb, c++, j#)
XML
CAPA DE NEGOCIO
Reglas del negocios
Validaciones
Cálculos
Flujos y procesos
CAPA DE NEGOCIOS
MICROSOFT
Lenguajes de Componentes (c#, vb, c++, j#)
 Componentes Locales
 Componentes Web (Servicios web)
Comunicación entre componentes utilizando el SOAP y
XML
WEB SERVICES
Permiten publicar componentes de negocios(Web
Services) en un servidor web.
Estas componentes pueden ser llamadas desde otros
servidores o clientes utilizando SOAP.
Simple Object Access Protocol (SOAP) es un protocolo
para el intercambio de la información basado en HTTP y
XML
CAPA DE PRESENTACIÓN
Formularios
Informes
Respuestas al usuario
CAPA DE PRESENTACIÓN
MICROSOFT
ASP .NET
ASP
XML, XSL
HTML
JAVASCRIPT , VBSCRIPT
Vb Form
Word, Excel
EXTENSIBLE MARKUP
LANGUAGE (XML)
Meta Lenguaje de Marcación es un lenguaje estandar
similar al html, que permite la comunicación entre los
sistemas de información.
Tiene una estructura de árbol.
Se recomienda usarlo en la comunicación entre las
componentes de Presentación con las de Negocios
EJEMPLO
DB
COMPONENTES
DATOS
C# o VB .NET
XML
INFORMACIÓN
COMPONENTES
NEGOCIO
C# o VB .NET WEB
SERVICE
XML
INFORMACIÓN
PROCESADA
PRESENTACION
ASPX
XSL
HOJA DE ESTILO
HTML
FORMULARIO
JAVASCRIPT
AGENDA
Visión general
Infraestructura
Desarrollo de un servicio Web
Invocación de un servicio Web
Bibliografía
39
BIBLIOGRAFIA
Microsoft XML Web Services
 http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp
?contentid=28000442
XML
 http://www.w3.org/TR/REC-xml
Especificación de SOAP
 http://www.w3.org/TR/SOAP
Especificación de WSDL
 http://www.w3.org/TR/wsdl
UDDI
 www.uddi.org
40
BIBLIOGRAFIA - SERVICIOS
WEB GRATUITOS
XMethods
 Servicios Web implementados desde diversas plataformas
 http://www.XMethods.com
TerraServer
 Conjunto de servicios, como por ejemplo un visor de mapas
topográficos de Estados Unidos
 http://TerraServer.Microsoft.net
41

Más contenido relacionado

PPT
Java2 servicios web
PPT
Desarrollo y consumo de web services
PPTX
Windows communication foundation completo
PPTX
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
PPTX
Windows communication foundation wcf
PDF
Servicios Web
PPTX
Windows comunication fundaction
Java2 servicios web
Desarrollo y consumo de web services
Windows communication foundation completo
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
Windows communication foundation wcf
Servicios Web
Windows comunication fundaction

La actualidad más candente (20)

PDF
SOA y Web Services
PPTX
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
PDF
3/9 soa y web services
PPSX
PPTX
Windows communication foundation(wcf)
PPTX
WCF for Dummies (Parte II)
PPT
Ruby y las arquitecturas orientadas a servicios
PPTX
Windows communication foundation (wcf)
PPTX
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
PPTX
Servicios web
PPTX
Windows communication foundation completo
PPTX
Windows communication foundation
PDF
Correo exchange 2013
PDF
23444719 monografia-de-web-services
PPT
Desarrollo y consumo de servicios web asp.net
PDF
Creando endpoint http
PPTX
Windows communication
PPTX
CONCEPTOS WEB
SOA y Web Services
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
3/9 soa y web services
Windows communication foundation(wcf)
WCF for Dummies (Parte II)
Ruby y las arquitecturas orientadas a servicios
Windows communication foundation (wcf)
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
Servicios web
Windows communication foundation completo
Windows communication foundation
Correo exchange 2013
23444719 monografia-de-web-services
Desarrollo y consumo de servicios web asp.net
Creando endpoint http
Windows communication
CONCEPTOS WEB
Publicidad

Similar a 12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos Iniciales) (20)

PPTX
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
PPTX
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
PPTX
PDF
Servicios WEB
PPTX
S3-PD2-2.1. SOAP
PDF
Web services
PPT
Semana 15 -servicios_web
PDF
[ES] Construyendo Servicios Web con JDeveloper
PDF
Componentes de los servicos web
PPTX
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
PPT
Presentacion sesion 3 en MPA del CEU por Pablo de Castro
PDF
Web services
PPT
Servicios web service api rest en netbeans
PPTX
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
PPT
Charla Web Services
DOCX
Servicios web ITT
DOCX
Servicios web itt
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
Servicios WEB
S3-PD2-2.1. SOAP
Web services
Semana 15 -servicios_web
[ES] Construyendo Servicios Web con JDeveloper
Componentes de los servicos web
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
Presentacion sesion 3 en MPA del CEU por Pablo de Castro
Web services
Servicios web service api rest en netbeans
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
Charla Web Services
Servicios web ITT
Servicios web itt
Publicidad

Más de Luis Fernando Aguas Bucheli (20)

PPTX
EFC-ISW-Luis Fernando Aguas.pptx
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX

Último (20)

PPT
Colores y Señales de Seguridad - NOM-STPS-026.ppt
PPTX
1.definiciones para Trabajos en Caliente.pptx
PDF
CRIPTOGRAFIASEGURIDADINFORMATICABREVE INTRODUCCION
PDF
Curso de Iniciación INTELIGENCIA ARTIFICIAL
PDF
Clases Evaluación de proyectos Magister salud 1.pdf
PPSX
investigacion incidentes accidentes TASC.ppsx
PPTX
MEDIDAS ELECTRICAS electricas de tecnica
PDF
Conceptos Básicos Presentación 12 de marzo.pdf
PPTX
Planeacion-de-Proyectos-de-Software.pptx
PPTX
psoriasis-220513045257-a03f59a9 (1).pptx
PPTX
CRIPTOGRAFÍA BASICA EN POWER POINT - CS
PDF
Curso-ACR-Facilitadores-INGEMAN-ss-2020_MOD.pdf
PPTX
Introduccion a microcontroladores PIC.pptx
PDF
Capacitación de Brigadas de Primeros Auxilios
DOCX
PETS-TRASLADO DE DESMONTE U OTROS MATERIALES.docx
PPTX
Unidad 15 Radiaciones ionizantes y No ionizantes.pptx
PPTX
asistencia alimentaria en caso de emerge
PPTX
Unidad 12 Normas Iso y RRHH cent 11.pptx
PDF
Manual ARIEL JGD-2 - compresor de gas para la industria
PDF
Manual ARIEL JR 2de compresor de Gas O
Colores y Señales de Seguridad - NOM-STPS-026.ppt
1.definiciones para Trabajos en Caliente.pptx
CRIPTOGRAFIASEGURIDADINFORMATICABREVE INTRODUCCION
Curso de Iniciación INTELIGENCIA ARTIFICIAL
Clases Evaluación de proyectos Magister salud 1.pdf
investigacion incidentes accidentes TASC.ppsx
MEDIDAS ELECTRICAS electricas de tecnica
Conceptos Básicos Presentación 12 de marzo.pdf
Planeacion-de-Proyectos-de-Software.pptx
psoriasis-220513045257-a03f59a9 (1).pptx
CRIPTOGRAFÍA BASICA EN POWER POINT - CS
Curso-ACR-Facilitadores-INGEMAN-ss-2020_MOD.pdf
Introduccion a microcontroladores PIC.pptx
Capacitación de Brigadas de Primeros Auxilios
PETS-TRASLADO DE DESMONTE U OTROS MATERIALES.docx
Unidad 15 Radiaciones ionizantes y No ionizantes.pptx
asistencia alimentaria en caso de emerge
Unidad 12 Normas Iso y RRHH cent 11.pptx
Manual ARIEL JGD-2 - compresor de gas para la industria
Manual ARIEL JR 2de compresor de Gas O

12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos Iniciales)

  • 1. Unidad 3. Webservices 3.3 Inicio de Proyecto (Introducción, Contenidos Iniciales) Autor(es): Ciencias de la Ingeniería Carrera de Sistemas Plataformas de Desarrollo 2 Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft [email protected] [email protected]
  • 2. “No puedes derrotar a la persona que nunca se rinde” (Anónimo) Ciencias de la Ingeniería Carrera de Sistemas Plataformas de Desarrollo 2
  • 3. RESULTADO DE APRENDIZAJE Desarrollar soluciones informáticas mediante metodologías, herramientas y estándares que satisfagan los requerimientos de las organizaciones sobre la base de los principios de la sociedad de la información.
  • 4. 3.3 INICIO DE PROYECTO
  • 5. OBJETIVOS Adquirir los conceptos básicos relacionados con el web Service Reconocer las características del diseño de web Service
  • 6. AGENDA Visión general Infraestructura Desarrollo de un servicio Web Invocación de un servicio Web Bibliografía 6
  • 7. VISIÓN GENERAL - ¿QUÉ ES UN WEB SERVICE? Definición:  Es una unidad de lógica de aplicación que ofrece datos y servicios a otras aplicaciones. ¿Cómo funciona?  Las aplicaciones acceden a los servicios Web a través de estándares como HTTP, XML y SOAP.  Independencia de cómo se haya implementado el servicio Web y acceso desde cualquier dispositivo. 7 HTML, XML HTML, XML Servicios Web Servicios Web
  • 8. VISIÓN GENERAL - ESCENARIO 8 Otros servicios Web Servicios Web de tus socios Capa de acceso a datos y almacenamiento Capa de lógica de negocio de la aplicación TuCompañia.com Internet + XML Otras aplicaciones Usuarios finales
  • 9. VISIÓN GENERAL - ¿PARA QUÉ SIRVEN? Permiten interconectar  Aplicaciones  Diferentes clientes  No sólo browsers  Cualquier dispositivo  PC, móvil, PDA, ... Distribución de la lógica de la aplicación Permiten una Web programable  No sólo puramente interactiva 9
  • 10. VISIÓN GENERAL - ¿QUÉ APORTA? Nuevas oportunidades empresariales: facilitan la comunicación con los socios. Ofrecen a los usuarios experiencias mucho más personalizadas e integradas, por medio de la nueva gama de dispositivos inteligentes. Reducen la duración del ciclo de creación. Ponen fácilmente sus propios servicios Web XML a disponibilidad de otros. 10
  • 11. VISIÓN GENERAL - EJEMPLOS E-commerce: venta de libros, música online y otros productos Seguimiento de mercancías: UPS, FedEx Parte meteorológico Consulta de mapas online  TerraServer: TerraServer.Microsoft.Net Servicios web gratuitos en: www.XMethods.com 11
  • 12. AGENDA Visión general Infraestructura Desarrollo de un servicio Web Invocación de un servicio Web Bibliografía 12
  • 13. INFRAESTRUCTURA - TECNOLOGÍAS SUBYACENTES 13 Communications: Internet Universal Data Format: XML Wire Format: Service Interactions: SOAP Description: Formal Service Descriptions: WSDL Simple, Open, Broad Industry Support Direcory: Publish & Find Services: UDDI Inspection: Find Services on server: DISCO
  • 14. INFRAESTRUCTURA - TECNOLOGÍAS SUBYACENTES XML (eXtensible Markup Language)  Formato universal para documentos estructurados y datos en la Web administrado por W3C UDDI (Universal Description, Discovery and Integration)  Servicio de directorio que permite publicar y/o describir servicios Web DISCO  Permite encontrar servicios Web en un sitio dado WSDL (Web Service Description Language)  Una gramática basada en XML que permite describir las capacidades de un servicio Web SOAP (Simple Object Access Protocol)  Protocolo ligero para el intercambio de información en entornos distribuidos y descentralizados administrado por W3C 14
  • 15. INFRAESTRUCTURA - ¿CÓMO ACCEDER? 15 Directory http://www.uddi.org UDDI DISCO WSDL SOAP Inspection http://www.ibuyspy.com/ibuyspy.disco Description http://www.ibuyspy.com/ibuyspycs/InstantOrder.asmx?wsdl Wire Format Localiza un servicio Enlace al Discovery Document (XML) Pide un Discovery Document Devuelve el Discovery Document (XML) Devuelve la descripción del servicio (XML) Devuelve la respuesta del servicio (XML) Pide un servicio Pide una descripción del servicio ClientedelservicioWeb UDDI uotro serviciode directorio ServicioWeb
  • 16. AGENDA Visión general Infraestructura Desarrollo de un servicio Web Invocación de un servicio Web Bibliografía 16
  • 17. DESARROLLO DE UN SERVICIO WEB - INTRODUCCIÓN Tiene extensión .asmx Contiene código pero no la interficie de usuario Herramientas:  Notepad  Simplemente crear el archivo .asmx  Visual Studio .NET  Crear un proyecto “ASP.NET Web Service”  Sun ONE y otras plataformas 17
  • 18. DESARROLLO DE UN SERVICIO WEB - CÓDIGO ServicioMates.asmx 18 <%@ WebService Language=“c#” Class=“ServicioMates” %> Using System.Web.Services; Public class ServicioMates : WebService { [WebMethod] public int suma( int num1, int num2 ) { return num1 + num2; } [WebMethod] public int resta( int num1, int num2 ) { return num1 - num2; } }
  • 19. DESARROLLO DE UN SERVICIO WEB - PUBLICACIÓN Visual Studio .NET hace todo lo necesario  Genera un proxy del servicio Web  Permitirá a los desarrolladores programar contra el servicio Web  Publica el contrato WSDL  Genera el fichero .vsdisco  Enlace al recurso que proporcionará el WSDL Si tenemos instalado .NET Framework  Colocamos el fichero .asmx en el root de nuestro servidor Web.  Cuando alguien haga una petición a nuestro servicio Web, .NET generará todo lo necesario y dará una respuesta. 19
  • 20. AGENDA Visión general Infraestructura Desarrollo de un servicio Web Invocación de un servicio Web Bibliografía 20
  • 21. INVOCACIÓN DE UN SERVICIO WEB Desde cualquier browser  http://servidor/ServicioMates.asmx Resultado: 21
  • 22. INVOCACIÓN DE UN SERVICIO WEB Desde cualquier browser  http://servidor/ServicioMates.asmx?op=suma 22
  • 23. INVOCACIÓN DE UN SERVICIO WEB Desde cualquier browser  http://servidor/ServicioMates.asmx/suma?num1=4&num2=2 Equivale a un HTTP-GET Devuelve un mensaje en XML con el resultado: 23 <?xml version="1.0" encoding="utf-8" ?> <int xmlns="http://servidor/">6</int> GET /ServicioMates.asmx/suma?num1=string&num2=string HTTP/1.1 Host: servidor
  • 24. INVOCACIÓN DE UN SERVICIO WEB Desde cualquier browser  http://servidor/ServicioMates.asmx?WSDL Devuelve un mensaje en XML con el resultado: 24 <?xml version="1.0" encoding="utf-8" ?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" ... xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://servidor/"> <s:element name="suma"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="num1" type="s:int" /> <s:element minOccurs="1" maxOccurs="1" name="num2" type="s:int" /> </s:sequence> </s:complexType> </s:element> ...
  • 25. INVOCACIÓN DE UN SERVICIO WEB Desde una aplicación  Crear el proxy de acceso al servicio Web remoto  Añadir una referencia Web al sitio donde se encuentra el servicio o  Crear el proxy manualmente  wsdl http://servidor/ServicioMates.asmx?WSDL  Acceder de forma normal ClienteMates.cs 25 Using System; class App { public static void Main() { ServicioMates sm = new ServicioMates(); int suma = sm.suma( 3, 5 ); Console.WriteLine( suma ); } }
  • 26. INVOCACIÓN DE UN SERVICIO WEB 26 ... [WebMethod] public int suma(int num1,int num2){ return num1 + num2; } ... ... int suma = sm.suma( 3, 5 ); ... Cliente Servicio Web Internet XML
  • 27. INVOCACIÓN DE UN SERVICIO WEB Desde una página web ASP.NET ClienteMates.aspx  ASP.NET UI  Operandos: Text Box  Metodos: Botones  Resultado: Label  Manipulador de eventos  OnServerClick 27
  • 28. LA WEB Al conectarnos a internet estamos navegando en 3 capas.  Al abrir un formulario web de inscripción (capa de presentación)  Después de enviar la información esta es verificada (capa de negocios).  Finalmente la información es grabada en una base de datos (capa de datos).
  • 29. EJEMPLO Capa de datos Capa de Negocio Capa de Presentación
  • 30. CAPA DE DATOS Base de datos Tablas Procedimientos almacenados Componentes de datos
  • 31. CAPA DE DATOS MICROSOFT ADO .NET SQL SERVER 20000 Procedimientos almacenados Componentes (c#, vb, c++, j#) XML
  • 32. CAPA DE NEGOCIO Reglas del negocios Validaciones Cálculos Flujos y procesos
  • 33. CAPA DE NEGOCIOS MICROSOFT Lenguajes de Componentes (c#, vb, c++, j#)  Componentes Locales  Componentes Web (Servicios web) Comunicación entre componentes utilizando el SOAP y XML
  • 34. WEB SERVICES Permiten publicar componentes de negocios(Web Services) en un servidor web. Estas componentes pueden ser llamadas desde otros servidores o clientes utilizando SOAP. Simple Object Access Protocol (SOAP) es un protocolo para el intercambio de la información basado en HTTP y XML
  • 36. CAPA DE PRESENTACIÓN MICROSOFT ASP .NET ASP XML, XSL HTML JAVASCRIPT , VBSCRIPT Vb Form Word, Excel
  • 37. EXTENSIBLE MARKUP LANGUAGE (XML) Meta Lenguaje de Marcación es un lenguaje estandar similar al html, que permite la comunicación entre los sistemas de información. Tiene una estructura de árbol. Se recomienda usarlo en la comunicación entre las componentes de Presentación con las de Negocios
  • 38. EJEMPLO DB COMPONENTES DATOS C# o VB .NET XML INFORMACIÓN COMPONENTES NEGOCIO C# o VB .NET WEB SERVICE XML INFORMACIÓN PROCESADA PRESENTACION ASPX XSL HOJA DE ESTILO HTML FORMULARIO JAVASCRIPT
  • 39. AGENDA Visión general Infraestructura Desarrollo de un servicio Web Invocación de un servicio Web Bibliografía 39
  • 40. BIBLIOGRAFIA Microsoft XML Web Services  http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp ?contentid=28000442 XML  http://www.w3.org/TR/REC-xml Especificación de SOAP  http://www.w3.org/TR/SOAP Especificación de WSDL  http://www.w3.org/TR/wsdl UDDI  www.uddi.org 40
  • 41. BIBLIOGRAFIA - SERVICIOS WEB GRATUITOS XMethods  Servicios Web implementados desde diversas plataformas  http://www.XMethods.com TerraServer  Conjunto de servicios, como por ejemplo un visor de mapas topográficos de Estados Unidos  http://TerraServer.Microsoft.net 41

Notas del editor

  • #32: ADO .NET SQL SERVER 20000 Procedimientos almacenados Componentes (c#, vb, c++, j#) XML
  • #33: Reglas del negocios Validaciones Cálculos Flujos y procesos
  • #37: ASP .NET ASP XML, XSL HTML JAVASCRIPT , VBSCRIPT Vb Form Word, Excel