5. SERVIDORES LOCALES
• Es aquel servidor web que reside en una red local al equipo de referencia.
• Se requiere de un programa que permita utilizar la red asignada por el
proveedor como sitio local. (usual mente para pruebas).
6. LOCALHOST
• Es el nombre reservado que se tiene en la pc para referenciar así mima.
• Siempre se utiliza una dirección url usualmente es 127.0.0.1
8. APACHE
• ¿Qué es un servidor web Apache?
• Apache es un servidor web HTTP de código abierto. Está
desarrollado y mantenido por una comunidad de usuarios
en torno a la Apache Software Foundation. Actualmente y
desde el 1996 es el servidor web más usado en todo el
mundo debido a su seguridad y estabilidad.
9. ESTRUCTURAS DE LAS PAGINAS WEB
Página Web
Estructura
Contenido
Apariencia
Comportamiento
HTML
CSS
Javascript
• Colores
• Tipografías
• Alineación
• Efectos
• Validaciones
• Automatización
• Párrafos
• Encabezados
• Listas
•Tablas
• Capas
• Etc.
• Textos
• Imágenes
• Enlaces
• Fondos
• Tamaños
• Etc.
11. ¿QUÉ ES HTML5?
• Es un lenguaje de marcas utilizado para el desarrollo de páginas web.
• Define la estructura y contenido que debe tener una web.
• No define el estilo visual que tendrá para eso se usará CSS.
• Ha sido establecido como estándar de diseño web por el W3C.
• Los navegadores deben saber interpretar este lenguaje de manera correcta (no siempre
IE)
• Sobre HTML se desarrollan tecnologías para facilitar a los usuarios el diseño de una web.
12. • ¿Por qué HTML5?
• HTML 4.0 era suficiente para cubrir todas las necesidades web surgidas hasta el
momento.
• La web evolucionó rápidamente insertando diferentes contenidos a ofrecer en cada
página.
• HTML 4.0 no cubre esas necesidades por lo que se crearon diversas tecnologías
que suplieran este vacío:
• Flash Player
• Silverlight
• Se tiende a un trabajo distribuido por lo que se exigen herramientas tipo "escritorio"
en versión web.
13. El concepto de elemento HTML
• Los elementos son los componentes fundamentales del HTML
• Cuentan con 2 propiedades básicas:
• Atributos
• Contenido
• En general se conforman con una Etiqueta de Apertura y otra Cierre.
• Los atributos se colocan dentro la etiqueta de apertura, y el contenido se coloca
entre la etiqueta de apertura y la de cierre.
14. El concepto de elemento HTML
Elemento
Etiqueta de Apertura Etiq. de Cierre
Contenido
<p class=“texto”>Curso HTML CEMA </p>
Nombre Valor
Atributo
15. Tipos de elementos HTML
• Estructurales:
• Describen el propósito del texto y no denotan ningún formato específico.
<h1>Curso HTML</h1>
• De Presentacion:
• Describen la apariencia del texto, independientemente de su función.
<b>Curso HTML</b>
• Los elementos de presentación se encuentran obsoletos desde la aparición del
CSS.
• De HiperTexto:
• Relaciona una parte del documento a otros documentos.
<a href=“http://www.uaq.mx”>Universidad Autonoma de Queretaro</a>
16. Estructura base de un documento html.
<!DOCTYPE html>
<html lang="es">
<head>
<title>Título</title>
<!– Encabezado de la web. Aquí incluiremos metainformación y cargaremos
componentes y estilos utilizados en la web-->
</head>
<body>
<!– Cuerpo de la web. Aquí escribiremos el contenido-->
…..
</body>
</html>
17. Definir un documento HTML.
• El primer paso es crear un fichero html o xhtml.
• Una vez creado deberemos especificar el tipo de
documento, para ello la primera línea debe ser:
• <!DOCTYPE html> si es HTML
• <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> si es XHTML
• Una vez realizado esto podremos comenzar con el
contenido de nuestro fichero HTML
• HTML layout
18. La sección HEAD
• Contiene metainformación de la página
• Establecemos título y palabras clave para los buscadores
• Incluimos hojas de estilo (CSS) a utilizar en la página
• Podemos introducir código javascript a usar en nuestra página.
• Referencia: http://www.w3schools.com/html/html_head.asp
19. La sección BODY
• Alberga el "contenido" real de la página.
• Establece cómo se visualizan los elementos.
• Hace uso de los scripts y hojas de estilo definidos en la
sección HEAD.
• En este punto tenemos a nuestra disposición de todos los tags
disponibles para maquetar nuestra página.
• Referencia: Elementos HTML
20. CSS 3
• El lenguaje HTML está limitado a la hora de aplicarle forma a
un documento.
• Sus estructuras tienen poca flexibilidad a la hora de dar forma
al contenido mostrado.
• HTML se creó originariamente para uso científico y
posteriormente fue adoptado para el desarrollo web.
• Para "maquetar" se utilizan elementos HTML en un uso
diferente de su objetivo (tablas por ejemplo).
• Todos estos problemas dieron lugar al origen de CSS.
21. CSS 3
• Los estilos CSS deben darse de alta en un fichero acorde para ello,
no obstante:
• Pueden declararse dentro de un HTML mediante la etiqueta
<style>
• Pueden aplicarse directamente sobre un elemento concreto en
la propiedad "style".
• Lo correcto es llevar los estilos a un o unos ficheros css, pero se
permite añadir pequeños retoques directamente sobre el HTML.
22. Cómo se define un estilo en css:
Selector { propiedad: valor; ...}
Declaración
H1 {color:#CC9900;}
Ejemplo:
23. Tipos de selectores:
• De elemento HTML:
• h1, table, div, span…
• De identificador
• Todos los elementos HTML cuya propiedad "id" tenga un
determinado valor, tendrán ese estilo.
• De clase
• Todos los elementos HTML cuya propiedad "class" tenga un
determinado valor tendrán ese estilo.
24. CSS 3
• Normalmente se le aplica un estilo por defecto a los elementos HTML para
conformar una plantilla.
• La personalización definitiva se suele realizar haciendo uso de la propiedad
"class".
• No es recomendado usar el selector por id. Sólo se recomienda cuando el
componente, además de estilo realiza alguna funcionalidad javascript.
• Cuando incluyamos plantillas en un fichero HTML hay que estar seguros que no
incorporan estilos CSS que sobreescriban los nuestros.
• En caso de conflicto, debemos asegurar que nuestros estilos quedan situados por
encima de los otros (aunque no siempre es posible)
25. • CSS3 como mejora de CSS incorpora propiedades para una mejor
maquetación y decoración de los elementos.
• Se han añadido propiedades para aplicar efectos de pintado.
• Se permiten realizar animaciones.
• Habilita el uso de lógica en los CSS.
• Ejemplo de dibujado HTML + CSS: Minion
27. BOOTSTRAP
• Framework CSS que facilita a los desarrolladores la
maquetación de las páginas.
• Incluye un conjunto de clases CSS para maquetar de
manera fácil una página a cualquier resolución.
• Es mantenido y actualizado por Twitter.
• Está optimizado para dispositivos móviles.
• Permite un diseño “Responsive”
• Web de Boostrap
28. El problema
• A la hora de maquetar una web tenemos que tener en
cuenta infinitas resoluciones y tamaños de pantalla.
• Nuestros diseños no se adaptan a todas las
resoluciones.
• Debemos hacer un gran esfuerzo para crear un CSS
que maquete bien.
• Tenemos que hacer diferentes versiones de la web
según el dispositivo en el que se verán.
29. Solución “Responsive Design”
• Diseña una sóla vez para todos tus dispositivos.
• El diseño se adaptará dinámicamente a la resolución
en la que se esté visualizando.
• Los diferentes elementos “saben” que propiedades
deben tener, según la resolución.
• Definimos la estructura que debe tener la web y esta
se adapta según el dispositivo que la visualiza.
30. • Boostrap incluye un conjunto de estilos para hacer nuestra
web responsive.
• Es un framework potente y complejo por lo que para
profundizar a fondo requiere conocimientos amplios de
CSS.
• No obstante no es necesaria una gran experiencia para
conseguir una maquetación de calidad que sea
“responsive”,
33. JAVASCRIPT
• Inicialmente se llamaba LiveScript.
• Lenguaje de guiones (script).
• Con el respaldo de SUN en 1995 pasó a llamarse JavaScript.
• Es un lenguaje interpretado.
• Se ejecuta en el cliente, nunca en el servidor.
• Parte de un conjunto limitado de objetos y clases
• No permite interacción cliente-servidor, únicamente opera en el
cliente (Conseguido con jQuery). Actual mente Javascript vainilla
34. JAVASCRIPT
• Javascript se integra en HTML de dos maneras:
• Como fichero *.js incluido en la misma sección que los CSS.
• Como código directamente en el fichero HTML haciendo uso
de la etiqueta <script>
• Algunos navegadores no soportan scripts por lo que tendremos que
tenerlo en cuenta.
• Para tratar el problema haremos uso de la etiqueta <noscript>
35. La declaración de variables se hace sin especificar el tipo:
• var miVariable;
• Si intento hacer una operación no permitida sobre el tipo que
contiene la variable tendré un error.
• Para mostrar mensajes por pantalla haré uso de:
• alert("texto del mensaje")
• Los métodos se declaran con la etiqueta function:
• function hola(){ … }
• Para devolver un valor haremos uso de "return".
36. • La llamada a los métodos Javascript se hará desde
elementos HTML.
• Los elementos HTML tienen asociados determinados
eventos cuando su estado cambie.
• En esos eventos podemos llamar a código Javascript.
• Haciendo uso de Jquery como extensión de Javascript
podremos realizar funcionalidad antes de que un
documento se cargue.
37. JAVASCRIPT :JQUERY
• Jquery es una librería Javascript que pretende facilitar el
uso del código Javascript a los programadores.
• Añade un conjunto nuevo de eventos a los ya existentes
HTML.
• Permite hacer llamdas AJAX, por lo que permite que, el
cliente, llame directamente al servidor.
• Incorpora librerías de componentes HTML con
funcionalidad enriquecida que podemos usar con poco
esfuerzo. jQuery
• Tutorial: jQuery tutorial
38. JQUERY
• Al igual que en CSS haremos uso de selectores para
recuperar un elemento concreto.
• La sintaxis es $(selector):
• $("p"): recuperaría todos los elementos HTML de tipo
<p>
• $(".test"): recuperaría todos los elementos HTML
cuyo atributo "class" fuera "test".
• $("#test"): recuperaría todos los elementos HTML
cuyo atributo "id" fuera "test".
40. PHP
• Breve historia de PHP
• Creado por Rasmus Lerdorf para uso personal en 1994
• PHP = Personal Hypertext Processor
• Versión actual: PHP 5
• Es un módulo que se añade al servidor web y fue concebido
inicialmente para Apache
• ¿Por qué PHP?
• Por sus ventajas: es potente, fácil de aprender, de libre
distribución, permite el acceso a bases de datos y otras
funcionalidades orientadas a la red
• Dispone de abundante soporte en la Web
41. Principales usos del PHP:
- Programación de páginas web dinámicas, habitualmente en combinación con el motor
base datos MySQL.
- Programación en consola, al estilo de Perl, en Linux, Windows y Macintosh.
- Creación de aplicaciones gráficas independientes del navegador, por medio de la
combinación de PHP y GTK (GIMP Tool Kit), que permite desarrollar aplicaciones de
tanto para los sistemas operativos basados en Unix, como para Windows y Mac OS X.
42. SINTAXIS BÁSICA
• PHP es sensible a las mayúsculas
• ¿Cómo se incrusta en la página web?
<?PHP ... ?>
recomendado, siempre disponible
<?= expresión ?>
equivale a <? echo expresión ?>
• Las instrucciones se separan con un ; como en C. La
marca final ?> implica un ;
• Comentarios: como en C, /* … */ y //
43. • Para imprimir: echo y print
echo: muestra una o más cadenas
echo cadena1 [, cadena2…]; // no es una función
echo “Hola mundo”;
echo “Hola “, “mundo”;
print: muestra una cadena
print cadena; // no es una función
print “Hola mundo”;
print “Hola “ . “mundo”;
45. • Inclusión de ficheros externos:
• include()
• require()
• Ambos incluyen y evalúan el fichero especificado
• Diferencia: en caso de error include() produce un warning
y require() un error fatal
• Se usará require() si al producirse un error debe
interrumpirse la carga de la página
46. Ejemplo:
<HTML>
<HEAD>
<TITLE>Título</TITLE>
<?PHP
// Incluir bibliotecas de funciones
require ("$libdir/conecta.php");
require ("$libdir/fecha.php");
require ("$libdir/cadena.php");
require ("$libdir/globals.php");
?>
</HEAD>
<BODY>
<?PHP
include ("cabecera.html");
?>
// Código HTML + PHP
. . .
<?PHP
include ("pie.html");
?>
</BODY>
</HTML>
47. VARIABLES
• Las variables siempre van precedidas de un $
• El nombre es sensible a las mayúsculas
• Comienzan por letra o subrayado, seguido de letras,
números o subrayado
• Variables predefinidas:
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,
$_ENV, $_REQUEST, $_SESSION
• Ámbito: globales al fichero (excepto funciones) o locales a
una función
• Ejemplo:
$valor = 5;
print “El valor es: “ . $valor . “n”;
print “El valor es: $valorn”; // ojo: comillas
dobles
Resultado:
El valor es: 5
48. CONSTANTES
• Definición de constantes:
define (“CONSTANTE”, “hola”);
print CONSTANTE;
• No llevan $ delante
• Sólo se pueden definir constantes de los tipos escalares
(boolean, integer, double, string)
49. ESTRUCTURAS DE CONTROL
• if-else
• while
• do .. while
• for
• foreach
• Switch
• Mismo comportamiento que en C
52. Los argumentos con valores por defecto deben ser siempre
los últimos:
function muestranombre ($nombre, $titulo= "Sr.")
{
print "Estimado $titulo $nombre:n";
}
muestranombre (“Fernández”);
muestranombre (“Fernández”, "Prof.");
• Salida:
Estimado Sr. Fernández:
Estimado Prof. Fernández:
53. TABLAS
• Sintaxis:
array ([clave =>] valor, ...)
• La clave es una cadena o un entero no negativo. El valor puede ser de
cualquier tipo válido en PHP, incluyendo otro array
• Ejemplos:
$color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255);
$medidas = array (10, 25, 15);
• Acceso:
$color[‘rojo’] // No olvidar las comillas
$medidas[0]
• El primer elemento es el 0
54. FORMULARIOS
1. Acceso a formularios HTML desde PHP
2. El formulario de PHP
3. Campos dinámicos con JavaScript
4. Validación de los datos de un formulario
56. • Para saber si se ha enviado el formulario se acude a la
variable correspondiente al botón de envío. Si este botón
aparece de la siguiente forma en el formulario HTML:
<INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar">
entonces la condición anterior se transforma en:
if (isset($enviar))
o bien
if ($enviar == “procesar”)
58. ACCESO A FORMULARIOS DESDE PHP
• Acceso a los diferentes tipos de elementos de entrada de
formulario
• Elementos de tipo INPUT
• TEXT
• RADIO
• CHECKBOX
• BUTTON
• FILE
• HIDDEN
• PASSWORD
• SUBMIT
• Elemento SELECT
• Simple / múltiple
• Elemento TEXTAREA
59. VALIDACIÓN DE FORMULARIOS
• Toda la información proveniente de un formulario
debe considerarse por norma como contaminada, y
hay que validarla antes de darla por buena y
procesarla
• Lo más eficiente es mostrar los errores sobre el
propio formulario para facilitar su corrección.
60. ACCESO A BASES DE DATOS MYSQL EN PHP
1. Bases de datos en la Web
2. Lenguaje SQL
3. Funciones de PHP para el acceso a bases de datos MySQL
61. BASE DE DATOS WEB
• Las bases de datos permiten almacenar de una forma
estructurada y eficiente toda la información de un
sitio web
• Ventajas
– Proporcionar información actualizada
– Facilitar la realización de búsquedas
– Disminuir los costes de mantenimiento
– Implementar sistemas de control de acceso
– Almacenar preferencias de los usuarios
63. LENGUAJE SQL
• SQL (Structured Query Language) es el lenguaje que se utiliza
para comunicarse con la base de datos
• Procedimiento de comunicación con la base de datos:
Página
PHP
Base de
datos
orden SQL
resultado
64. LENGUAJE SQL
• Las instrucciones más habituales son SELECT, INSERT, UPDATE, DELETE
• Veamos su sintaxis básica y algunos ejemplos de uso
• Para ello utilizaremos una tabla noticias con cinco campos: un identificador único de la
noticia, el título de la noticia, el texto de la noticia, la categoría de la noticia y la fecha de
publicación de la noticia
título
texto
categoría
noticias
id
fecha
66. FUNCIONES DE PHP PARA EL
ACCESO A BASES DE DATOS MYSQL
• Los pasos para acceder desde PHP a una base de datos son los
siguientes:
• Conectar con el servidor de bases de datos
• Seleccionar una base de datos
• Enviar la instrucción SQL a la base de datos
• Obtener y procesar los resultados
• Cerrar la conexión con el servidor de bases de datos
67. ACCESO A BASES DE DATOS MYSQL
• Las funciones concretas de MySQL que realizan estas operaciones son:
• Conectar con el servidor de bases de datos:
• mysql_connect()
• Seleccionar una base de datos:
• mysql_select_db()
• Enviar la instrucción SQL a la base de datos:
• mysql_query()
• Obtener y procesar los resultados:
• mysql_num_rows() y mysql_fetch_array()
• Cerrar la conexión con el servidor de bases de datos:
• mysql_close()
68. ACCESO A BASES DE DATOS MYSQL
• Conectar con el servidor de bases de datos: mysql_connect()
• Devuelve un identificador de la conexión en caso de éxito y false en caso contrario
• Sintaxis:
$conexion = mysqli_connect (servidor, username, password,database);
• Ejemplo:
• $link = mysqli_connect("localhost", "my_user", "my_password
", "world");
69. Enviar la instrucción SQL a la base de datos: mysqli_query()
• Devuelve un identificador o true (dependiendo de la instrucción) si la instrucción se ejecuta correctamente y false en caso
contrario
Sintaxis:
$consulta = mysqli_query ($conexion ,instrucción);
Ejemplo:
if (mysqli_connect_errno()) {
printf("Conexión fallida: %sn", mysqli_connect_error());
exit();
}
$result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")
if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {
$row_cnt = mysqli_num_rows($result);
}
o
71. • Obtener y procesar los resultados: mysqli_num_rows(),
mysqli_fetch_array()
• En el caso de que la instrucción enviada produzca unos resultados,
mysql_query() devuelve las filas de la tabla afectadas por la instrucción
• mysqli_num_rows() devuelve el número de filas afectadas
• Para obtener las distintas filas del resultado se utiliza la función
mysqli_fetch_array(), que obtiene una fila del resultado en un array
asociativo cada vez que se invoca
• Sintaxis:
$nfilas = mysqli_num_rows ($consulta);
$fila = mysqli_fetch_array ($consulta);
79. DOCUMENTOS Y ELEMENTOS XML
• Los documentos consisten en una serie de datos marcados mediante etiquetas.
• Las etiquetas describen la estructura del documento .
• Un elemento = etiqueta inicial, etiqueta final y contenido entre ambas.
• La etiqueta inicial puede incluir atributos.
83. ATRIBUTOS
• Cada elemento puede contener atributos en la etiqueta inicial.
• El orden de los atributos no es significativo no puede haber 2 atributos con el
mismo nombre las comillas dobles y simples pueden mezclarse
86. JSON
• JSON, acrónimo de JavaScript Object Notation, es un formato de texto ligero para
el intercambio de datos. JSON es un subconjunto de la notación literal de objetos
de JavaScript aunque hoy, debido a su amplia adopción como alternativa a XML,
se considera un formato de lenguaje independiente.
87. Un objeto es un conjunto desordenado de pares nombre/valor. Un objeto comienza con { (llave de apertura) y
termine con } (llave de cierre). Cada nombre es seguido por : (dos puntos) y los pares nombre/valor están
separados por , (coma).
90. MIME
Es un acrónimo de multipurpose internet mail extensión el cual nos sirve para
definir un contenedor de html el cual puede ser de diferentes tipos para convertir
esa pagina a un elemento que nosotros necesitemos.
MIME mensaje que puede contener:
• Texto
• Imágenes
• Audios
• Videos
• Aplicaciones especificas (Excel , Word ,powerpoint , PDF).
94. WEB SERVICE
un Web Service es un componente de software que se comunica con otras aplicaciones
codificando los mensaje en XML y enviando estos mensaje a través de protocolos estándares
de Internet tales como el Hypertext Transfer Protocol (HTTP).
95. REQUISITOS DE UN WEB SERVICE:
Interoperabilidad: Un servicio remoto debe permitir su utilización por clientes de otras plataformas.
Amigabilidad con Internet: La solución debe poder funcionar para soportar clientes que accedan a los
servicios remotos desde internet.
Interfaces fuertemente tipadas: procedimentales. Más aún, los tipos de datos definidos en el servicio
remoto deben poderse corresponder razonablemente bien con los tipos de datos de la mayoría de los lenguaje de
programación.
• Posibilidad de aprovechar los estándares de Internet existentes: La implementación del servicio
remoto debería aprovechar estándares de Internet existentes tanto como sea posible y evitar reinventar soluciones a
problema que ya se han resuelto.
• Soporte para cualquier lenguaje: Un cliente debería ser capaz de implementar un nuevo servicio Web
existente independientemente del lenguaje de programación en el que se halla escrito el cliente.
97. SOAP - PROTOCOLO SIMPLE DE ACCESO A OBJETOS
• Es un protocolo basado en XML, que permite la interacción entre
varios dispositivos y que tiene la capacidad de transmitir
información compleja. Los datos pueden ser transmitidos a
través de HTTP , SMTP , etc.
SOAP especifica el formato de los mensajes de la siguiente forma:
envelope (envoltura): Es el elemento raíz del mensaje para describir
su contenido y la forma de procesarlo.
header (encabezado): Es la información de identificación del
contenido. Un grupo de reglas de codificación para expresar las
instancias de tipos de datos definidos por la aplicación.
body (cuerpo): Es el contenido del mensaje. Una convención para
representar las llamadas y las respuestas a procedimientos remotos.
99. ALGUNAS DE LAS VENTAJAS DE SOAP
• No esta asociado con ningún lenguaje
• No se encuentra fuertemente asociado a ningún protocolo de
transporte
• Aprovecha los estándares existentes en la industria
• Permite la interoperabilidad entre múltiples entornos
• Ampliamente aceptado
100. RPC USANDO SOAP
• RPC: Consiste en pasarle parámetros a un procedimiento remoto en
algún lenguaje determinado (java, c++, etc) utilizando un esquema
de comunicación xml via HTTP.
101. DESCRIPCIÓN: WSDL
Lenguaje de Descripción de Servicios Web
• WSDL representa una especie de contracto entre el
proveedor y el que solicita. O sea permite que un servicio
y un cliente establezcan un acuerdo en lo que se refiere a
los detalles de transporte de mensajes y su contenido, a
través de un documento procesable por dispositivos.
102. WSDL
Distingue claramente los mensajes de los puertos
• Los mensajes (la sintaxis y semántica que necesita un servicio
Web) son siempre abstractos
• Los puertos (las direcciones de red en las que se invoca al
servicio Web) son siempre concretos
103. Existen tres componentes principales de esta interfaz abstracta:
El vocabulario
El mensaje
La interacción
Descripción abstracta:
105. DESCUBRIMIENTO: UDDI
• Una vez creado el servicio web el siguiente paso consiste en definir cómo se dará
a conocer el servicio Web para que los clientes interesados puedan descubrirlo
fácilmente y utilizarlo en sus aplicaciones.
• UDDI es un registro público diseñado para almacenar de forma estructurada
información sobre empresas y los servicios que éstas ofrecen. A través de UDDI,
se puede publicar y descubrir información de una empresa y de sus servicios.
106. En UDDI codifica tres tipos de información acerca de un servicio
web
Sección blanca - dirección, contacto y otros identificadores
conocidos.
Sección amarilla - categorización industrial basada en
taxonomías.
Sección verde - información técnica sobre los servicios que
aportan las propias empresas.
107. PARA CONCLUIR:
• WSDL: Ofrece un modo formal de definir servicios web,
independientemente del proveedor.
• UDDI: Proporciona una amplia infraestructura estandarizada que
permite al usuario describir y descubrir servicios web.