EL SERVICIO WEB ES UNA
TECNOLOGÍA QUE UTILIZA UN CONJUNTO DE PROTOCOLOS Y ESTÁNDARES QUE
SIRVEN PARA INTERCAMBIAR DATOS ENTRE APLICACIONES CON CAPACIDAD PARA
INTEROPERAR EN LA WEB.
ESTOS SERVICIOS PROPORCIONAN
MECANISMOS DE COMUNICACIÓN ESTÁNDARES ENTRE DIFERENTES
APLICACIONES, QUE INTERACTÚAN ENTRE SÍ PARA PRESENTAR INFORMACIÓN
DINÁMICA AL USUARIO. PARA PROPORCIONAR INTEROPERABILIDAD Y
EXTENSIBILIDAD ENTRE ESTAS APLICACIONES, Y QUE AL MISMO TIEMPO SEA
POSIBLE SU COMBINACIÓN PARA REALIZAR OPERACIONES COMPLEJAS.
PUERTOS QUE UTILIZA:
80: PUERTO POR DEFECTO
8080:PUERTO ALTERNATIVO
443: PUERTO SEGURO
CÓMO
INTERACTÚA UN CONJUNTO DE SERVICIOS WEB:
SEGÚN
EL EJEMPLO DEL GRÁFICO, UN USUARIO (QUE JUEGA EL PAPEL DE CLIENTE
DENTRO DE LOS SERVICIOS WEB), A TRAVÉS DE UNA APLICACIÓN, SOLICITA
INFORMACIÓN SOBRE UN VIAJE QUE DESEA REALIZAR HACIENDO UNA PETICIÓN
A UNA AGENCIA DE VIAJES QUE OFRECE SUS SERVICIOS A TRAVÉS DE
INTERNET. LA AGENCIA DE VIAJES OFRECERÁ A SU CLIENTE (USUARIO) LA
INFORMACIÓN REQUERIDA. PARA PROPORCIONAR AL CLIENTE LA INFORMACIÓN
QUE NECESITA, ESTA AGENCIA DE VIAJES SOLICITA A SU VEZ INFORMACIÓN A
OTROS RECURSOS (OTROS SERVICIOS WEB) EN RELACIÓN CON EL HOTEL Y LA
COMPAÑÍA AÉREA. LA AGENCIA DE VIAJES OBTENDRÁ INFORMACIÓN DE
ESTOS RECURSOS, LO QUE LA CONVIERTE A SU VEZ EN CLIENTE DE ESOS OTROS
SERVICIOS WEB QUE LE VAN A PROPORCIONAR LA INFORMACIÓN SOLICITADA
SOBRE EL HOTEL Y LA LÍNEA AÉREA. POR ÚLTIMO, EL USUARIO REALIZARÁ
EL PAGO DEL VIAJE A TRAVÉS DE LA AGENCIA DE VIAJES QUE SERVIRÁ DE
INTERMEDIARIO ENTRE EL USUARIO Y EL SERVICIO WEB QUE GESTIONARÁ EL
PAGO.
EL SISTEMA DEBE CONTAR CON UNA
SERIE DE PROGRAMAS BÁSICOS PARA DAR SERVICIO WEB. EXISTEN ALGUNAS
COMBINACIONES DE PROGRAMAS MUY UTILIZADAS PARA TAL FIN: WAMP, LAMP,
FAMP, MAMP, SOAP, MTOM,SOAP RRSHB, WSDL, UDDI, ENTRE OTRAS).
SERVIDOR
WEB APACHE
"A PATCHY SERVER".
SERVIDOR DE PÁGINAS WEB DE DISTRIBUCIÓN LIBRE Y DE CÓDIGO
ABIERTO, UN SERVIDOR DE PÁGINAS WEB ES UN PROGRAMA QUE PERMITE
ACCEDER A PÁGINAS WEB ALOJADAS EN UN ORDENADOR. APACHE ES
PRINCIPALMENTE USADO PARA SERVIR PÁGINAS WEB ESTÁTICAS Y DINÁMICAS
EN LA WWW. SI ES WINDOWS: WAMP, SI ES EL LINUX: LAMP, ETC.
ES EL MÁS UTILIZADO SEGUIDO DE
MICROSOFT INFORMATION SERVICES (IIS). LA APLICACIÓN PERMITE
EJECUTARSE EN MÚLTIPLES SISTEMAS OPERATIVOS COMO WINDOWS, NOVELL
NETWARE, MAC OS X Y LOS SISTEMAS BASADOS EN UNIX.
APACHE TIENE SOPORTE PARA LOS LENGUAJES PERL, PYTHON, TCL Y PHP, PERMITE LA CONFIGURACIÓN DE MENSAJES DE ERRORES PERSONALIZADOS Y NEGOCIACIÓN DE CONTENIDO Y PERMITE AUTENTICACIÓN DE BASE DE DATOS BASADA EN SGBD.
- APACHE ES UNA TECNOLOGÍA GRATUITA DE CÓDIGO FUENTE ABIERTO.ESTO LE DA UNA TRANSPARENCIA A ESTE SOFTWARE DE MANERA QUE SI QUEREMOS VER QUE ES LO QUE ESTAMOS INSTALANDO COMO SERVIDOR , LO PODEMOS SABER, ;).
- APACHE ES UN SERVIDOR ALTAMENTE CONFIGURABLE DE DISEÑO MODULAR. ES MUY SENCILLO AMPLIAR LAS CAPACIDADES DEL SERVIDOR WEB APACHE.
- APACHE TRABAJA CON GRAN CANTIDAD DE LENGUAJES DE SCRIPT, TAMBIÉN TRABAJA CON JAVA Y PÁGINAS JSP. TENIENDO TODO EL SOPORTE QUE SE NECESITA PARA TENER PÁGINAS DINÁMICAS.
- APACHE TE PERMITE PERSONALIZAR LA RESPUESTA ANTE LOS POSIBLES ERRORES QUE SE PUEDAN DAR EN EL SERVIDOR. ES POSIBLE CONFIGURAR APACHE PARA QUE EJECUTE UN DETERMINADO SCRIPT CUANDO OCURRA UN ERROR EN CONCRETO.
- TIENE UNA ALTA CONFIGURABILIDAD EN LA CREACIÓN Y GESTIÓN DE LOGS. APACHE PERMITE LA CREACIÓN DE FICHEROS DE LOG A MEDIDA DEL ADMINISTRADOR, DE ESTE MODO PUEDES TENER UN MAYOR CONTROL SOBRE LO QUE SUCEDE EN TU SERVIDOR .
CONFIGURACIÓN DE APACHE:
CUANDO SE HA INSTALADO EL SERVIDOR, HAY QUE CONFIGURARLO. APACHE
INCLUYE POR DEFECTO UNA CONFIGURACIÓN QUE ARRANCA EL SERVIDOR EN EL
PUERTO TCP POR DEFECTO, QUE ES EL PUERTO 80, Y SIRVE LOS FICHEROS DEL
DIRECTORIO QUE SE HA ESPECIFICADO MEDIANTE LA DIRECTIVA DE
CONFIGURACIÓN DENOMINADA DOCUMENTROOT. ESTE FICHERO DE CONFIGURACIÓN
DE APACHE ES EL HTTPD.CONF, LOCALIZADO EN EL SUBDIRECTORIO "CONF"
DENTRO DEL DIRECTORIO DE INSTALACIÓN. HTTPD.CONF ES UN FICHERO DE
TIPO ASCII QUE CONTIENE LAS DIRECTIVAS DE CONFIGURACIÓN.
ESTRUCTURA DEL FICHERO DE CONFIGURACIÓN HTTPD.CONF
HTTPD.CONF ESTÁ COMPUESTO POR TRES BLOQUES FUNDAMENTALES, AUNQUE
LAS DIRECTIVAS DE CADA UNO DE LOS BLOQUE PUEDEN APARECER DESORDENADAS
O MEZCLADAS.
ESTOS BLOQUES SON:
- PARÁMETROS GLOBALES
- DIRECTIVAS DE FUNCIONAMIENTO
- WEB HOSTING
PARÁMETROS GLOBALES:
<DIRECTORY>:
LOS PARÁMETROS QUE SE ENCUENTRAN DENTRO DE LA SECCIÓN DIRECTORY
SÓLO SE APLICAN AL DIRECTORIO INDICADO Y SUS SUBDIRECTORIOS.
<DIRECTORYMATCH>:
IGUAL QUE DIRECTORY, AUNQUE ACEPTA EXPRESIONES REGULARES EN EL NOMBRE
DEL DIRECTORIO.
<FILES>:
LOS PARÁMETROS DE CONFIGURACIÓN FACILITAN CONTROL DE ACCESO A LOS
FICHEROS MEDIANTE SU NOMBRE.
<FILESMATCH>:
IGUAL QUE FILES, PERO ACEPTA EN EL NOMBRE DEL FICHERO EXPRESIONES
REGULARES.
<LOCATION>:
PROPORCIONA CONTROL DE ACCESO A LOS FICHEROS MEDIANTE LA URL.
<LOCATIONMATCH>:
IGUAL QUE LOCATION, PERO ACEPTA EN EL NOMBRE DEL FICHERO EL USO DE
EXPRESIONES REGULARES.
<VIRTUALHOST>:
LOS PARÁMETROS SÓLO SE APLICAN A AQUELLAS PETICIONES DIRIGIDAS A
ESTE HOST (NOMBRE DE SERVIDOR, DIRECCIÓN IP O PUERTO TCP).
<PROXY>:
SÓLO SE APLICAN ESTOS PARÁMETROS A AQUELLAS PETICIONES DE PROXY
(REQUIERE QUE ESTÉ INSTALADO "MOD PROXY") COINCIDENTES CON
LA ESPECIFICACIÓN DE URL.
<PROXYMATCH>:
IGUAL QUE PROXY, PERO ACEPTA EN LA URL INDICADA EL USO DE EXPRESIONES
REGULARES.
<IFDEFINE>:
SÓLO SE APLICA SI AL ARRANCAR EL SERVIDOR EXISTE UN PARÁMETRO
CONCRETO DEFINIDO EN LA LÍNEA DE COMANDOS, MEDIANTE LA OPCIÓN -D.
<IFMODULE>:
SE APLICAN LOS PARÁMETROS SI EL MÓDULO ESPECIFICADO SE ENCUENTRA
CARGADO (MEDIANTE LOADMODULE) EN EL MOMENTO DE ARRANCAR EL SERVIDOR .
EN CASO
DE QUE EXISTA CONFLICTO ENTRE DIFERENTES ESPECIFICACIONES DE
PARÁMETROS, EL ORDEN DE PRECEDENCIA ES:
- <DIRECTORY> Y .HTACCESS
- <DIRECTORYMATCH> Y <DIRECTORY>
- <FILES> Y <FILESMATCH>
- <LOCATION>
Y <LOCATIONMATCH>
EN
CUANTO A <VIRTUALHOST>, ESTAS DIRECTIVAS SIEMPRE SE APLICAN
SIEMPRE DESPUÉS DE LAS DIRECTIVAS GENERALES. DE ESTE MODO, UN
VIRTUALHOST PUEDE MODIFICAR LA CONFIGURACIÓN POR DEFECTO.
DIRECTIVAS DE FUNCIONAMIENTO:
ESTAS
SON OPCIONES DE CONFIGURACIÓN PAR LA EJECUCIÓN DEL SERVIDOR WEB.
-
ACCESSFILENAME ESPECIFICA
EL NOMBRE DEL ARCHIVO DE CONTROL POR DIRECTORIO, EL ARCHIVO .HTACCES CONTIENE DIRECTIVAS APLICADAS PARA CADA DIRECTORIO.
-
DOCUMENTROOT ES
EL DIRECTORIO RAÍZ PARA LOS ARCHIVOS DEL SITIO WEB.
CADA
HOST VIRTUAL DEFINIDO DENTRO DE LOS CONTENEDORES <VIRTUALHOST>
DEBE TENER ESTA DIRECTIVA PARA INDICAR LA RUTA DÓNDE SE ENCUENTRAN
LOS ARCHIVOS DEL SITIO.
INCLUDE USADA
SI DESEA INCLUIR OTROS ARCHIVOS DE CONFIGURACIÓN A PARTE DE LOS
PROPIOS DEL SERVIDOR.
-LISTEN USADA
PARA ESPECIFICAR EL PUERTO A TRAVÉS DEL CUAL ESCUCHARÁ APACHE LAS
PETICIONES DE LOS CLIENTES WEB.
*
LISTEN 80 //PUERTO HTTP POR DEFECTO
*
LISTEN 8080 //HTTP ALTERNATIVO
*
LISTEN 443 //HTTPS
-USER ESTA
DIRECTIVA SE USA PARA CONFIGURAR EL ID DEL USUARIO DEL SISTEMA QUE SE
UTILIZARÁ PARA EJECUTAR LOS PROCESOS DEL APACHE.
-GROUP ESTA
DIRECTIVA SE USA PARA CONFIGURAR EL ID DEL GRUPO DEL SISTEMA QUE SE
UTILIZARÁ PARA EJECUTAR LOS PROCESOS DEL APACHE.
-OPTIONS ESTA
DIRECTIVA CONTROLA LAS PROPIEDADES DEL SERVIDOR DISPONIBLES PARA UN
DIRECTORIO EN PARTICULAR.
LOS
VALORES POSIBLES SON LOS SIGUIENTES:
NONE:SIN OPCIONES
ALL: TODAS
EXECCEGI:SE PERMITE LA EJECUCIÓN DE CGI
INDEXES:
SI SE SOLICITA LA URL DE UN DIRECTORIO Y ÉSTE CARECE DE UN
DIRECTORYINDEX,
ENTONCES EL SERVIDOR MUESTRA UNA LISTA CON EL CONTENIDO DE DICHA
CARPETA.
FOLLOWSYMLINKS:
EL SERVIDOR SEGUIRÁ LOS ENLACES SIMBÓLICOS QUE APUNTEN A LOS
DIRECTORIOS DEL SISTEMA.
INCLUDES:
SE PUEDEN UTILIZAR LOS COMANDOS SSI
-SERVERADMIN ESTA
DIRECTIVA ESPECIFICA LA DIRECCIÓN DE CORREO ELECTRÓNICO QUE
EL SERVIDOR INCLUYE PARA LOS MENSAJES DE ERROR (PUEDE SER LA DEL
WEBMASTER).
-
SERVERNAME ESTA
DIRECTIVA ES LA ENCARGADA DE DEFINIR EL NOMBRE DEL SERVIDOR (FQDN).
TENGA
EN CUENTA QUE PARA CADA HOST VIRTUAL DEBE ESPECIFICAR UN SERVERNAME.
-
SERVERROOT ESTA
DIRECTIVA SE USA PARA DEFINIR EL DIRECTORIO EN EL QUE SE ENCUENTRAN
LOS ARCHIVOS DE CONFIGURACIÓN DEL SERVIDOR.(ARCHIVO DE CONFIGURACIÓN
GLOBAL).
-
SERVERALIAS CUANDO
TENGA QUE REFERIRSE A UN SERVIDOR QUE TIENE VARIOS NOMBRES PUEDE
UTILIZAR SERVERALIAS PARA DEFINIR UN SOBRENOMBRE PARA EL MISMO
SERVERNAME.
-ERRORLOG ESTA
DIRECTIVA ESPECIFICA EL NOMBRE DEL ARCHIVO DE REGISTRO DONDE SE
GUARDAN LOS MENSAJES DE ERROR QUE GENERA EL SERVIDOR.
-
ALLOWOVERRIDE ESTA
DIRECTIVA LE INDICA AL SERVIDOR QUÉ DIRECTIVAS DE LAS DECLARADAS EN
EL ARCHIVO .HTACCESS, PUEDEN SUSTITUIR A LAS QUE SE ENCONTRÓ EN LOS
PRIMEROS ARCHIVOS DE CONFIGURACIÓN.
CUANDO
EL ARGUMENTO SEA NONE, EL SERVIDOR NO LEERÁ EL ARCHIVO .HTACCESS (SE
ACELERA EL TIEMPO DE RESPUESTA DEL SERVIDOR)
OPCIONES:
AUTHCONFIG
FILEINFO
INDEXES
LIMIT
OPTIONS
-ORDER CONTROLA
EL SISTEMA DE EVALUACIÓN QUE UTILIZA APACHE CON LAS DIRECTIVAS ALLOW
Y DENY (USADAS PARA PERMITIR O DENEGAR HOSTS)
-DIRECTORYINDEX ESPECIFICA LAS PAGINAS PRINCIPALES PARA UN SITIO WEB
HOSTING VIRTUAL:
APACHE PERMITE
SERVIR VARIOS SITIOS WEB CON UN ÚNICO SERVIDOR. PARA ELLO PERMITE LA
CREACIÓN DE DOMINIOS VIRTUALES EN FUNCIÓN DE DIFERENTES DIRECCIONES
IP O DIFERENTES NOMBRES POR IP. APACHE FUE DE LOS PRIMEROS SERVIDORES
QUE SOPORTÓ SERVIDORES VIRTUALES SIN NECESIDAD DE DISTINGUIR POR IP,
SINO EN FUNCIÓN DE NOMBRE. ESTA CAPACIDAD SIMPLIFICA ENORMEMENTE LA
ADMINISTRACIÓN DE LOS SERVIDORES, Y SUPONE UN AHORRO DE DIRECCIONES
IP, QUE NORMALMENTE SON ESCASAS
HOSTING VIRTUAL BASADO EN NOMBRES:
-
CUANDO SE USA HOSTING VIRTUAL BASADO EN NOMBRES, EL SERVIDOR ATIENDE
AL NOMBRE DE HOST QUE ESPECIFICA EL CLIENTE EN LAS CABECERAS DE HTTP.
-
USANDO ESTA TÉCNICA, UNA SOLA DIRECCIÓN IP PUEDE SER COMPARTIDA POR
MUCHOS SITIOS WEB DIFERENTES.
-
EL HOSTING VIRTUAL BASADO EN NOMBRES ES MÁS SENCILLO, PORQUE SOLO
NECESITA CONFIGURAR SU SERVIDOR DE DNS PARA QUE LOCALICE LA DIRECCIÓN
IP CORRECTA Y ENTONCES CONFIGURAR SERVIDOR WEB PARA QUE RECONOZCA LOS
DIFERENTES NOMBRES DE HOST.
HOSTING VIRTUAL BASADO EN BASADO EN IP:
-ES
NECESARIO CONFIGURAR LOS ROUTERS PARA QUE ASOCIEN ADECUADAMENTE TODAS
LAS DIRECCIONES IP QUE QUIERA USAR CON LOS SERVIDORES WEB (VIRTUALES
Y PRINCIPAL)
-PODRÁ
ELEGIR ENTRE CREAR ALIAS IP PARA CADA INTERFAZ ETHERNET O DISPONER DE
DISTINTAS INTERFACES PARA CADA DIRECCIÓN IP (TARJETAS ETHERNET
ADICIONALES).
GLOSARIO:
- SOAP:
"SIMPLE
OBJECT ACCESS PROTOCOL"
, ES UN PROTOCOLO DE MENSAJERÍA CONSTRUIDO EN XML QUE SE USA
PARA CODIFICAR INFORMACIÓN DE LOS REQUERIMIENTOS DE LOS WEB SERVICES
Y PARA RESPONDER LOS MENSAJES ANTES DE ENVIARLOS POR LA RED. LOS
MENSAJES SOAP SON INDEPENDIENTES DE LOS SISTEMAS OPERATIVOS Y PUEDEN
SER TRANSPORTADOS POR LOS PROTOCOLOS QUE FUNCIONAN EN LA INTERNET,
COMO SER: SMTP, MIME Y HTTP.
-MTOM:
TECNOLOGÍA COMPLEMENTARIA A
SOAP, QUE AGILIZA EL ENVÍO DE LOS MENSAJES.
-SOAP
RRSHB:
TECNOLOGÍA COMPLEMENTARIA A
SOAP, QUE AGILIZA EL ENVÍO DE LOS MENSAJES Y LOS RECURSOS QUE
SE TRANSMITEN EN ESOS MENSAJES
-WSDL:
"LENGUAJE DE DESCRIPCIÓN
DE SERVICIOS WEB", 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. WSDL REPRESENTA UNA ESPECIE DE CONTRATO
ENTRE EL PROVEEDOR Y EL QUE SOLICITA. WSDL ESPECIFICA LA SINTAXIS Y
LOS MECANISMOS DE INTERCAMBIO DE MENSAJES.
-UDDI:
"UNIVERSAL
DESCRIPTION, DISCOVERY AND
INTEGRATION". ES UN DIRECTORIO
DISTRIBUIDO QUE OPERA EN LA WEB QUE PERMITE A LAS EMPRESAS
PUBLICAR SUS WEB SERVICES, PARA QUE OTRAS EMPRESAS CONOZCAN Y
UTILICEN LOS WEB SERVICES QUE PUBLICAN, OPERA DE MANERA ANÁLOGA A
LAS PÁGINAS AMARILLAS.
-XML:
"EXTENSIBLE
MARKUP
LANGUAGE".
EL XML ES UNA ESPECIFICACIÓN DESARROLLADA POR W3C. PERMITE A LOS
DESARROLLADORES CREAR SUS PROPIOS TAGS, QUE LES PERMITEN HABILITAR
DEFINICIONES, TRANSMICIONES, VALIDACIONES, E INTERPRETACIÓN DE LOS
DATOS ENTRE APLICACIONES Y ENTRE ORGANIZACIONES.
-WAMP:FAMP: MAMP:
LAMP:
(LINUX-APACHE-MYSQL-
PHP/PYTHON/PERL). EL TÉRMINO HACE REFERENCIA AL SISTEMA CREADO POR
LA CONJUNCIÓN DE ESAS APLICACIONES LIBRES (DE CÓDIGO ABIERTO). ESTE
GRUPO DE APLICACIONES GENERALMENTE SON USADOS PARA CREAR SERVIDORES
WEB.
PROVEE A LOS DESARROLLADOES DE
CUATRO ELEMENTOS NECESARIOS PARA UN SERVIDOR WEB: UN SISTEMA
OPERATIVO, UN MANEJADOR DE BASE DE DATOS (MYSQL), UN SOFTWARE
PARA SERVIDOR WEB (APACHE) Y UN SOFTWARE DE PROGRAMACIÓN SCRIPT WEB.