3. Expectativas de aprendizaje en la materia
Que espera aprender en el desarrollo de la misma
Proyecto
Como le gustaría desarrollar su proyecto, individual, grupal?
Habilidades
Tiene alguna habilidad en la programación (algún lenguaje en
particular)
Personales
Que es lo que mas me gusta hacer?
andrescruz@unicauca.edu.co
www.miproximopaso.org/explore/ip
4. PARA QUE SE NECESITAN?
• Las empresas usualmente tienen diferentes
proveedores de tecnologías en sus
organizaciones (software y hardware) y
sistemas operativos, se requiere
intercomunicación entre ell@s.
• Es difícil su intercomunicación y compartir
recursos.
5. COMO SURGIERON?
• Los servicios Web fueron "inventados" para
solucionar el problema de la interoperabilidad
entre las aplicaciones. Al principio de los 90,
con el desarrollo de Internet/LAN/WAN,
apareció el gran problema de integrar
aplicaciones diferentes. Una aplicación podía
haber sido desarrollada en C++ o Java, y
ejecutarse bajo Unix, un PC, o un computador
mainframe.
6. QUE ES UN WEB SERVICE?
• Es un termino genérico para denominar una
componente de software de maquina a maquina, y que
está almacenado en una ubicación de red
direccionable.
• Normalmente nos referimos con Servicio Web a una
colección de procedimientos (métodos) a los que
podemos llamar desde cualquier lugar de Internet o de
nuestra intranet, siendo este mecanismo de invocación
totalmente independiente de la plataforma que
utilicemos y del lenguaje de programación en el que se
haya implementado internamente el servicio.
7. QUE ES UN WEB SERVICE?
• Son componentes de una aplicación.
• Se comunican usando protocolos abiertos
• Tienen contenido y descripción propias
• Pueden ser usados por otras aplicaciones
• XML (Lenguaje de Marcas Extendido) es su
lenguaje base
11. PORQUE WEB SERVICE?
• Las aplicaciones web se desarrollan para
intercomunicar plataformas, usando
estándares para que cualquier navegador de
cualquier plataforma pueda acceder a ellas.
• La VENTAJA del WEB SERVICE es que PUBLICA
al mundo lo que sabe hacer FUNCION
12. PORQUE WEB SERVICE
• Usan XML para codificar y decodificar sus
datos y SOAP para transportar usando
protocolos abiertos (HTTP).
• Son creados para ser componentes reusables
y abiertos.
• Solucionan el problema de interoperabilidad,
para intercambiar datos
13. PORQUE WEB SERVICE
• XML provee interoperabilidad con funciones
complejas para diferentes lenguajes de
programación y plataformas.
• Son creados para ser componentes reusables
y abiertos.
• Solucionan el problema de interoperabilidad,
para intercambiar datos
14. ELEMENTOS DEL WEB SERVICE
• Permiten acoplar sistemas de diferente
plataforma (software y hardware), haciendo
invisible los detalles de su implementación
(lenguaje de desarrollo) como las
características de la plataforma donde se
despliega.
17. QUE HACE?
• Permiten acoplar sistemas de diferente
plataforma (software y hardware), haciendo
invisible los detalles de su implementación
(lenguaje de desarrollo) como las
características de la plataforma donde se
despliega.
19. WEB SERVICES
Clase 2 15/08/2017
andrescruz@unicauca.edu.co
ANDRES FELIPE CRUZ ERASO
20. Presentación y contexto
• Estimado estudiante favor contestar lo siguiente:
• CONOCIMIENTOS PREVIOS: Sin consultar internet, con
sus propias palabras escriba lo que sabe de
modelamiento de bases de datos
• EXPECTATIVAS: Que espera ahondar o aprender si es la
primera vez que ve la materia?
• HABILIDADES: ¿cual es su mejor habilidad en la
ingeniería de sistemas?
21. Metodología
• Exposición magistral y participativa, uso de
recursos como: diapositivas, videos practicas
• Estrategias: Consulta guiada, practicas de
laboratorio, exposiciones y participación grupal
• Actividades en diferentes clases 15%
• Quiz on line 22/08/2017 15%
• Primer parcial 05/09/2017 70%
22. RESUMEN CLASE ANTERIOR
• HTML, XML
• Que es un web service
• Que es SOAP
• Ventaja del Web Service
• Otros protocolos WSDL, UDDI.
23. Contenido
1. Fundamentos de los web Service
2. Interfaz entre código de aplicación y código de
aplicación del cliente
3. Ubicación del web service
4. Proceso de intercambio de información
5. Codificación con SOAP
6. SOAP Y HTTP
7. WSDL y codigo
8. UDDI
9. Implementacion de web service
24. Fundamentos de Servicios Web
• El servicio web es una interfaz entre el código de
usuario y el código de aplicación, funcionando
como una capa que separa la plataforma de los
detalles específicos de lenguaje de programación.
• Esto significa que cualquier lenguaje de
programacion soportado por el web service
pueda acceder la funcionalidad de la aplicación.
27. Ubicación del web service
• El web service debe ser capaz de enviar y recibir
mensajes, por ejemplo llamando procedimientos que se
ejecutan en un servidor.
Contiene la lógica del negocio
O el código por ejemplo para
Listar libros y/o el de comprar
Recibe solicitudes entrantes que
Usan protocolos de transporte como
HTTP, SOAP, Jabber, etc.
Decodifica las solicitudes y
Las pasa al código de aplicación.
28. Ubicación del web service
• El web service no necesita de un servidor web exclusivo,
puede ubicarse también en cualquier proveedor de
servicios de aplicaciones distribuidos o en un sistema
operativo de un dispositivo móvil.
32. Codificación con SOAP
• Atributo encodingStyle define reglas de
codificación Algunos tipos básicos predefinidos
Enteros, cadenas, flotantes
• Contiene reglas específicas para:
Estructuras
Arrays
Referencias
• Se complementa con XML Schemas Pueden
definirse otros sistemas de codificación
37. WSDL
• WSDL (Web Services Description Language) Describe:
Qué puede hacer el servicio
Dónde reside
Cómo invocarlo
Vocabulario basado en capas
Es posible concentrarse en una capa cada vez
Evolución: Iniciativa conjunta de IBM y Microsoft (2001)
Propuesto a W3C como recomendación
(WSDL 1.1) (2003)
En desarrollo WSDL 2.0
41. UDDI
• UDDI (Universal Discovery, Description and Integration)
Consorcio formado por IBM, Hp, Sun, Microsoft, Oracle, etc.
UDDI 1.0 (2000) Fundación del registro
UDDI 2.0 (2001) Alineación con estándares y taxonomía de servicios más
flexible
UDDI 3.0 (2002) Interacción de implementaciones públicas y privadas
2 partes:
Descripción de negocios
Páginas blancas (información de contacto)
“ amarillas (información de la industria)
“ verdes (información técnica y especificaciones)
Registro de servicios
42. UDDI
• UDDI (Universal Discovery, Description and Integration)
Consorcio formado por IBM, Hp, Sun, Microsoft, Oracle, etc.
UDDI 1.0 (2000) Fundación del registro
UDDI 2.0 (2001) Alineación con estándares y taxonomía de servicios más
flexible
UDDI 3.0 (2002) Interacción de implementaciones públicas y privadas
2 partes:
Descripción de negocios
Páginas blancas (información de contacto)
“ amarillas (información de la industria)
“ verdes (información técnica y especificaciones)
Registro de servicios
45. UDDI
• Sitios para publicar servicios WEB
• WWW.XMETHODS.NET
• WWW.BINDINGPOINT.COM
Entrar a estos sitios, revisar también servicios
web de Google y de Amazon.
46. IMPLEMENTACIÓN DE SERVICIOS WEB
• Java
APIs de Sun: JAXRPC, JAXM, SAAJ,
Librerías de Apache: Axis
Microsoft .NET
ASP.NET para C#, VBasic, etc. MS SOAP Toolkit
Otros:
SOAP::Lite (Perl), NuSOAP (PHP), Axis (C++)
52. Objetivos
Reconocer los elementos necesarios para la
creación de un Web Service y la configuración
requerida para la creación de un archivo XML.
Entender la potencia y versatilidad del lenguage
XML y su aplicación en los Web Service
53. Contenido
1. Resumen clase 10/08/2017
2. Definiciones básicas: Servidor web, paginas
web y protocolos HTTP, puertos.
3. Configuración de un servidor web
4. Creación de una pagina web
5. Uso de HTML
6. Uso de XML
54. 1. Resumen clase 10/08/2017
1. Fundamentos de los web Service
2. Interfaz entre código de aplicación y código de
aplicación del cliente
3. Ubicación del web service
4. Proceso de intercambio de información
5. Codificación con SOAP
6. SOAP Y HTTP
7. WSDL y codigo
8. UDDI
9. Implementación de web service
55. 2. Definiciones básicas
• SERVIDORES WEB:
Cualquier computador se puede convertir en un
servidor web instalando en el un software de
servidor
Servidores de fuente abierta
Apache HTTP Server
NGINX
Apache Tomcat
Node.js
Lighttpd
Tips
Servidores comerciales
IBM HTTP
IIS Internet Information Server
Jexus
Oracle
Zeus web server
56. 2. Definiciones básicas
• SERVIDOR WEB:
Es un software que sirve o entrega paginas web, este
debe estar ubicado en una dirección IP asociada a un
dispositivo de computo y posiblemente un nombre de
dominio.
Cuando se digita en el navegador web:
www.unicomfacauca.edu.co se le pregunta al nombre de
dominio de servidor unicomfacauca.edu.co y este busca y
le envia a usted la pagina index.html la cual contendrá el
contenido de inicio.
57. 2. Definiciones básicas
• HTTP
Hyper Text Transfer Protocol Es el protocolo
subyacente, define como los mensajes son
formateados y trasmitidos por la red, por ejemplo
cuando se solicita una pagina web este protocolo
envia la solicitud al servidor web
Este es un procolo simple porque no tiene conexión
con los demas comandos, por eso las paginas en
html son basicas
58. 2. Definiciones básicas
PUERTO
Es una interfaz en un computador la cual
permite conectar un dispositivo
Puerto Nombre Información
20 FTP Data
Puerto utilizado en modo activo para el proceso de
transferencia de datos FTP.
21 FTP Servicio para compartir archivos FTP.
22 SSH
Secure SHell, utilizado principalmente para conexión
por línea de comandos entre otras muchas
funciones. Uso casi exclusivo para Linux, en
Windows algunas aplicaciones pueden abrirlo.
23 Telnet
TELecommunication NETwork permite controlar un
equipo remotamente. Puerto potencialmente
peligroso.
59. 2. Definiciones básicas
PUERTO
25 SMTP
TELecommunication NETwork, usado para envío de
correo electrónico. Un puerto muy escaneado para
aprovechar vulnerabilidades para el envío de SPAM.
Asegúrate de validar usuarios para el envío de
correo.
53 DNS
Sistema de nombre de dominio, utilizado para
resolver la dirección IP de un dominio.
59 DCC
Direct Client-to-Client, usado de forma
predeterminada para el envío de ficheros en algunos
programas como IRC.
79 Finger
Informa al cliente datos sobre los usuarios
conectados a un determinado servicios del servidor.
Puede revelar información no deseada.
80 HTTP
Servidor Web. Utilizado para navegación web. Este
servicio por si solo ya supone un riesgo, suele ser
escaneado y se las ingenian para encontrar nuevas
entradas por el.
110 POP3
Una de las formas de acceder a los correos de tu
cuenta de correo electrónico personal.
60. 2. Definiciones básicas
PUERTO
113 IDENT
Un antiguo sistema de identificación de usuarios.
Puerto potencialmente peligroso.
119 NNTP Servidor de noticias.
135 NetBIOS
Remote Procedure Calls. Usado para compartir tus
archivos en red, usar unicamente en red local y no
hacia Internet, ya que cualquiera podría acceder al
contenido que compartas de tu ordenador. Es
habitual encontrarlo abierto en Windows.
139 NetBIOS
Usado para compartir servicios compartidos de
impresoras y/o archivos. Potencialmente peligroso si
se encuentra abierto ya que se puede acceder a un
gran contenido del equipo.
143 IMAP
Otra forma de acceder a los correos electrónicos de
tu cuenta de correo electrónico personal. Mas
moderna que el POP3 y con una funcionalidad
similar.
389 LDAP
Lightweight Directory Access Protocol. Es un
protocolo a nivel de aplicación que permite el
acceso a un servicio de directorio ordenado y
distribuido para buscar diversa información en un
entorno de red.
61. 2. Definiciones básicas
PUERTO
443 HTTPS
Usado para navegación Web en modo seguro. Se usa
junto con un certificado de seguridad. Los comercios
electrónicos por ejemplo aseguran sus ventas gracias
a este servicio.
445 MSFT DS
Server Message Block. Puede considerarse un puerto
peligroso.
563 POP3 SSL
Conexión POP3 pero con cifrado SSL. Una forma más
segura de acceder a los correos electrónicos de tu
cuenta personal ya que el intercambio de datos se
realiza cifrado por medio de Secure Socket Layer (SSL).
993 IMAP4 SSL
Una forma más segura de acceder a los correos de tu
cuenta personal por medio cifrado Secure Socket
Layer (SSL), cifrando los datos de la comunicación.
995 POP3 SSL
Conexión POP3 pero con cifrado SSL. Una forma más
segura de acceder a los correos electrónicos de tu
cuenta personal ya que el intercambio de datos se
realiza cifrado por medio de Secure Socket Layer (SSL).
1080 Proxy
Servicio de proxy. Garantiza a los clientes del servicio
mas seguridad en las conexiones en Internet, ya que
tu IP no aparece en las conexiones, apareciendo la IP
del servidor proxy.
62. 2. Definiciones básicas
PUERTO
1723 PPTP
Virtual private network (VPN). Puerto usado para
conectar equipos por medio de Red Privada Virtual.
3306 MySQL
Base de datos MySQL. La base de datos usada de
forma mas frecuente como complemento a las
paginas web dinámicas.
5000 UPnP
Universal Plug'n'Play, facilita el reconocimiento de
periféricos pero innecesario para Internet.
8080 Proxy Web
Una forma de navegar de forma mas privada por
Internet, ya que el servidor oculta tu IP al navegar
por Internet.
63. 3. Configuración de un servidor WEB
• Elegir el software de servidor
• Instalar el servidor
• Verificar la carpeta de archivos html
• Publicar una pagina html