UNIVERSIDAD YACAMBU
ESTUDIOS VIRTUALES
 
 
TEMA: Desarrollo de un Sistema de Información basados en tecnología WEB con acceso a base de datos. 
 
Software que permita realizar acceso a base de datos utilizando un sistema de información basado en web.(JAVA; PERL, COLD FUSION, ASP, PHP, etc)
 
Diferencias/Características.

Java

Por la forma en que está diseñado, Java no permite el manejo directo del hardware ni de la memoria (inclusive no permite modificar valores de punteros, por ejemplo); de modo que se puede decir que es virtualmente imposible colgar un programa Java. El intérprete siempre tiene el control.

Inclusive el compilador es suficientemente inteligente como para no permitir un montón de cosas que podrían traer problemas, como usar variables sin inicializarlas, modificar valores de punteros directamente, acceder a métodos o variables en forma incorrecta, utilizar herencia múltiple, etc.

Además, Java implementa mecanismos de seguridad que limitan el acceso a recursos de las máquinas donde se ejecuta, especialmente en el caso de los Applets (que son aplicaciones que se cargan desde un servidor y se ejecutan en el cliente).

También está diseñado específicamente para trabajar sobre una red, de modo que incorpora objetos que permiten acceder a archivos en forma remota (via URL por ejemplo).

Además, con el JDK (Java Development Kit) vienen incorporadas muchas herramientas, entre ellas un generador automático de documentación que, con un poco de atención al poner los comentarios en las clases, crea inclusive toda la documentación de las mismas en formato HTML!

Perl

Perl (Practical Extraction and Report Language) es un lenguaje de programación desarrollado por Larry Wall (lwall at netlabs.com) inspirado en otras herramientas de UNIX como son: sed, grep, awk, c-shell, para la administración de tareas propias de sistemas UNIX.

No establece ninguna filosofía de programación concreta. No se puede decir que sea orientado a objetos, modular o estructurado aunque soporta directamente todos estos paradigmas; su punto fuerte son las labores de procesamiento de textos y archivos.

No es ni un compilador ni un intérprete, esta en un punto intermedio, cuando mandamos a ejecutar un programa en Perl, se compila el código fuente a un código intermedio en memoria que se optimiza como si se fuera a elaborar un programa ejecutable pero es ejecutado por un motor, como si se tratase de un interprete.

Lenguaje de programación basado en scripts portable a casi cualquier plataforma. Es muy utilizado para escribir CGIs. Uno de sus elementos mas potentes son las expresiones regulares, que a partir de su versión en Perl han sido adoptadas por otros lenguajes y plataformas como .NET o Javascript.

Lenguaje optimizado para el escaneo de texto arbitrario de ficheros. Es también un buen lenguaje para tareas de administración de sistemas. Es un lenguaje con intención de ser práctico en lugar de bonito. Satisface las tres virtudes del programador: flojera, impaciencia y petulancia.

Básicamente, es un lenguaje que se ha intentado que sea lo más natural posible, lo que conlleva que en ocasiones nos encontremos estructuras poco habituales en un lenguaje de este tipo:

print "hola" if $saludo == 1;

Destaca también el uso de variables especiales, muy habituales en los lenguajes de tipo script en los sistemas de tipo Unix. Estas variables permiten realizar una serie de operaciones sobre los datos y los archivos que aportan a Perl una flexibilidad y potencia enormes. Además de variables que podemos encontrar en otros lenguajes como @ARGV (indica los parámetros con los que se ha llamado al programa) o %ENV (indica las variables de entorno de la aplicación), podemos utilizar también variables como $_ (que representa el último dato que llegó por la entrada estándar), o $|, que nos indica si Perl debe enviar el texto a la salida estandar inmediatamente (o al flujo de salida que le hayamos indicado previamente). Perl tiene implementadas las expresiones regulares, lo que le da una potencia muy grande en el procesamiento de textos.

Cold Fusion

Cold Fusion centra su potencialidad en la confiabilidad y el control del manejo de datos. Reconoce la complejidad del manejo e interacción de escritos CGI, ofreciendo una potente seguridad, veloz carga de datos, procesamiento rápido de escritos CGI que posibilita el cumplimiento de tareas de entrada o devolución de datos.

Utiliza fuentes de datos ODBC de 32-bits, las cuales deberán cumplir con el nivel 1 de los ODBC API y soportar las sentencias SQL.

Entre las funciones de Cold Fusion están:

Para crear aplicaciones de Cold Fusion, se necesita del conocimiento previo de sentencias SQL para la generación de código en la selección de la correcta información alojada en una base de datos. Gracias a las sentencias SQL se tiene un control completo sobre qué, dónde y por qué desplegar los datos dentro de un sitio Web.

ASP

Las principales características de la tecnología ASP y de sus páginas asociadas son:

ASP proporciona un método eficiente y sencillo de crear sitios Web con páginas dinámicas y acceso a base de datos. Para que un usuario realice una petición de páginas Web, deberá proporcionar en su explorador una dirección que indique un archivo con extensión “asp”. La tecnología ASP ha sido diseñada por Microsoft para facilitar la creación de sitios web con una sencillez mayor que la empleada en la programación CGI y con una eficiencia igual a la que proporciona ISAPI (el núcleo de funcionamiento de ASP es una aplicación ISAPI).

 

PHP

PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas Web dinámicas, similar al ASP de Microsoft o el JSP de Sun, embebido en páginas HTML y ejecutado en el servidor..

La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas de sí mismo. La meta del lenguaje es permitir rápidamente a los desarrolladores la generación dinámica de páginas. No es un lenguaje de marcas como podría ser HTML, XML o WML. Está más cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.

¿Cómo Funciona PHP ?

A diferencia de Java o JavaScript que se ejecutan en el navegador PHP se ejecuta en el servidor por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado es enviado al navegador. El resultado es normalmente una página HTML pero también podría ser una página WML (Wap).

Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, sin embargo, para que sus páginas PHP funcionen el servidor donde están alojadas debe soportar PHP.

Al ser un lenguaje libre dispone de una gran cantidad de características que lo convierten en la herramienta ideal para la creación de páginas web dinámicas:

Un sitio con páginas webs dinámicas es aquel que permite interactuar con el visitante, de modo que cada usuario que visita la página vea la información modificada para propósitos particulares.

Relación entre el análisis y diseño de sistemas basados en Web y otras áreas de la computación.
 
Ingeniería del Software y Sistemas de Información Web

La Ingeniería del Software orientada al Web (Web Engineering) se ocupa del establecimiento y uso de principios de ingeniería mediante la propuesta de aproximaciones sistemáticas y disciplinadas para el abordar con éxito el desarrollo, implementación, y mantenimiento de aplicaciones y sistemas basados en web de alta calidad.

Según la definición del IEEE, citada por [Lewis 1994] "software es la suma total de los programas de computadora, procedimientos, reglas, la documentación asociada y los datos que pertenecen a un sistema de cómputo". Según el mismo autor, "un producto de software es un producto diseñado para un usuario". En este contexto, la Ingeniería de Software (SE del inglés Software Engineering) es un enfoque sistemático del desarrollo, operación, mantenimiento y retiro del software", que en palabras más llanas, se considera que "la Ingeniería de Software es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones costo-efectivas (eficaces en costo o económicas) a los problemas de desarrollo de software", es decir, "permite elaborar consistentemente productos correctos, utilizables y costo-efectivos" [Cota 1994].

El proceso de ingeniería de software se define como "un conjunto de etapas parcialmente ordenadas con la intención de logra un objetivo, en este caso, la obtención de un producto de software de calidad" [Jacobson 1998].El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo". Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo" [Jacobson 1998].

El proceso de desarrollo de software requiere por un lado un conjunto de conceptos, una metodología y un lenguaje propio. A este proceso también se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepción, elaboración, construcción y transición. La concepción define le alcance del proyecto y desarrolla un caso de negocio. La elaboración define un plan del proyecto, especifica las características y fundamenta la arquitectura. La construcción crea el producto y la transición transfiere el producto a los usuarios.

Actualmente se encuentra en una etapa de madurez el enfoque Orientado a Objetos (OO) como paradigma del desarrollo de sistemas de información. El Object Management Group (OMG) es un consorcio a nivel internacional que integra a los principales representantes de la industria de la tecnología de información OO. El OMG tiene como objetivo central la promoción, fortalecimiento e impulso de la industria OO. El OMG propone y adopta por consenso especificaciones entorno a la tecnología OO. Una de las especificaciones más importantes es la adopción en 1998 del Lenguaje de Modelado Unificado o UML (del inglés Unified Modeling Language) como un estándar, que junto con el Proceso Unificado están consolidando la tecnología

Frameworks y arquitecturas software para sistemas basados en web

 

Un framework permite el rehuso de la misma manera que las técnicas orientadas a objetos lo hacen, pero con los frameworks es posible rehusar largos y complejos diseños.

Un tema importante en la tecnología de frameworks, es la necesidad de contar con una documentación consistente y poderosa, que ayude a los usuarios de un framework a comprender rápidamente la arquitectura del mismo y cómo utilizarlo para poder cumplir con sus tareas.

 

Diversos tipos de usuario utilizan un framework, y cada usuario, de acuerdo a su perfil, tiene diferentes objetivos. Estos diferentes tipos de usuarios necesitan diferentes tipos de documentación, de acuerdo con la tarea que realizan con el framework. Por ejemplo, un usuario normal o instanciador del framework, necesitará documentación del tipo de un cookbook. Por otro lado, un ingeniero de software cuya tarea es modificar el diseño del framework, necesitará documentación acerca del diseño, tal como un Exemplar [GM95] o varios artefactos UML que describan diversas características de la arquitectura y el funcionamiento del framework.

 

Más aún, diferentes tipos de usuarios deben ser capaces de leer la misma documentación con diferentes propiedades. Por ejemplo, el instanciador puede necesitar leer solo el cookbook, mientras que el ingeniero de software puede necesitar leer el mismo cookbook pero con links que vinculan las páginas del mismo con otros documentos. Por ejemplo, navegar de una página del cookbook que menciona como utilizar una clase en particular, a la CRC Card que describe a dicha clase. Se requiere una documentación on-line, por lo que también es necesario tener una aplicación de documentación.

 

En este sentido, la experiencia ha demostrado que las aplicaciones hipermediales son la forma más eficaz de organizar documentación on-line (la mayoría de los ambientes de desarrollo, por citar solo un ejemplo, proveen una aplicación hipermedia con la documentación de ayuda).

 
Inteligencia Artificial y Web

La inteligencia artificial en la informática actual podemos definirla como la capacidad de acción de las máquinas para realizar determinados procesos.

Este campo tiene múltiples usos. Desde el entretenimiento, ya sea en videojuegos y juguetes, hasta en funciones destinadas a formar parte del proceso productivo de una industria. En general se usa en el campo de la robótica. Estas máquinas funciona básicamente mediante algoritmos y calculo integral.

Se está promoviendo una solución para abordar la explosión de contenido en la Web y facilitar que sean los agentes inteligentes quienes busquen, analicen, comparen y manejen la información presente en internet para nosotros. Pero para esto el contenido de la web debe ser adaptado. La actual se basa en HTML y lo que se está haciendo se basa en XML y sus derivados RDF(Resource Description Framework), y dentro de poco, OWL(Ontology Web Language), que definen mediante el uso de ontologías(diccionario de términos) el significado de los textos e imagenes que se ven, permitiendo su comprensión a los agentes de software. A esta Web que se está construyendo y es una extensión de la actual, se la ha bautizado como Web Semántica .

Minería de Datos y Minería de Texto

 

Las técnicas de minería de datos se emplean para mejorar el rendimiento de procesos de negocio o industriales en los que se manejan grandes volúmenes de información estructurada y almacenada en bases de datos. Por ejemplo, se usan con éxito en aplicaciones de control de procesos productivos, como herramienta de ayuda a la planificación y a la decisión en marketing, finanzas, etc.

Asimismo, la minería de datos es fundamental en la investigación científica y técnica, como herramienta de análisis y descubrimiento de conocimiento a partir de datos de observación o de resultados de experimentos.

Se ha llamado minería de datos (ìdata miningî) al análisis de archivos y bitácoras de transacciones con el fin de descubrir patrones, relaciones, reglas, asociaciones o incluso excepciones que sean útiles para la toma de decisiones. La especie humana posee habilidades extremadamente sofisticadas para detectar patrones y descubrir tendencias. Por tal motivo, una imagen nos dice más que mil palabras y una gráfica o una tabulación nos permite, de una mirada, identificar tendencias en el tiempo o relaciones entre dos mediciones de un fenómeno. Por otro lado, no es claro que nuestras habilidades puedan realizar, con la misma eficiencia, la tarea de analizar los trillones de datos almacenados electrónicamente al monitorear las transacciones comerciales de una base de datos.

SSIS, además de integrarse profundamente con las características de minería de datos de Analysis Services, también tiene componentes de minería de texto. La minería de texto (también denominada clasificación de texto) consiste en identificar la relación existente entre categorías de empresas y los datos de texto (palabras y frases). Esto permite descubrir términos clave en los datos de texto y utilizarlos para identificar, de forma automática, texto que resulte “interesante”. A su vez, esto puede impulsar acciones de “bucle cerrado” para lograr objetivos empresariales, como aumentar la satisfacción del cliente o la calidad de los productos y los servicios.

La minería de textos pretende algo similar a la minería de datos: identificar relaciones y modelos en la información no cuantitativa. En pocas palabras, proveer de una visión selectiva y perfeccionada de la información contenida en documentos escritos y sacar consecuencias para la acción. Un ejemplo ilustrativo nos lo dan Swanson y Smalheiser (artificial Intelligence 91) en su proceso de investigación de las causas de las migrañas a partir de la literatura biomédica. Utilizando la minería de textos a las publicaciones encuentran relaciones del tipo: el stress se asocia a las migrañas. El estrés genera pérdidas de magnesio. Los bloqueadores de calcio previenen de las migrañas. El magnesio es un bloqueador natural del calcio. La difusión de la depresión cortical (SCD) aparece en casos de migraña. Altos niveles de magnesio inhiben el SCD. Los pacientes con migraña tienen una alta agregación de plaquetas. El magnesio puede suprimir la agregación de plaquetas.

 
Métricas y Calidad en Sistemas basados en Web

Como ocurre con la cuantificación de la calidad del software, la de un documento también podría realizarse si se consigue identificar un conjunto suficientemente representativo de variables de medida para ello. En este sentido hay que diferenciar, por una parte, la medida de la calidad del texto incluido en un documento, la calidad de la interfaz del documento con el usuario, la calidad de la estructura del documento, sobre todo en documentos hipertexto o hipermedia, y, por otro lado, la calidad de los diagramas o modelos que aparecen en ellos como consecuencia de haber aplicado alguna metodología de desarrollo de software. En este último caso, el establecimiento de variables de medida es más sencillo, pues vienen impuestas por la propia técnica de modelado, existiendo métricas tanto para modelos estructurados como orientados a objetos.

Más complicada es la cuantificación de la calidad global de un documento, que normalmente se refiere a la medida de su comprensibilidad. Los principales métodos de medida pueden agruparse en las siguientes categorías establecidas por Lehner [1993]:
Métodos basados en las pruebas de CLOZE: Su nombre proviene de closure construct y hace referencia a la característica humana que permite completar caracteres incompletos según el contexto. El principal método de este tipo es el "procedimiento de Taylor", utilizado inicialmente en el ámbito periodístico (años cincuenta). Después se aplicó en el ámbito de la literatura y traducción para comprobar la comprensibilidad de los textos. También ha sido utilizado en la documentación de proyectos de software [Hall y Zweben, 1986]. Este método consiste en eliminar palabras del texto original a intervalos regulares, ofrecer este texto incompleto a un cierto número de personas relacionadas con el tema, recoger las opiniones de estas personas respecto a cuáles podrían ser las palabras que faltan, contabilizar el número de palabras acertadas y calcular el coeficiente de comprensibilidad del texto (entre 0 y 1) como el cociente del número de aciertos y el total de palabras eliminadas.

Métodos de formalización de la comprensibilidad: Se caracterizan por determinar la comprensibilidad y legibilidad de los textos cuantificando formalmente atributos léxicos y sintácticos. Son los métodos más científicos, que obtienen índices de comprensibilidad a partir de diferentes fórmulas matemáticas. Algunos índices propuestos por estos métodos son Fog index, Flesh/Kincaid index, Steiwer index, Flesh reading ease index, New reading ease index, Automated readability index (ARI) [Lehner, 1993].

Métodos de ordenación/estructuración de la información: Con estos métodos se trataría de "medir" la adecuada disposición de los contenidos según un orden secuencial, desde aspectos generales hasta aspectos específicos. Este tema ha estado bastante olvidado hasta la aparición de los documentos hipertexto e hipermedia, cuyas enormes posibilidades de navegación por su contenido ha planteado la necesidad de establecer métricas para evaluar la calidad de los enlaces hipermediales [Johnson, 1995]. Autores como Botafogo, Rivlin y Shneiderman [1992] han propuesto un método formal de cuantificación de la calidad basado en el análisis de la estructura jerárquica de los hipertextos, midiendo, entre otros, la compactación (lo intrincado de las conexiones) y la disposición (el grado de organización, que se refiere al número de nodos que deben ser leídos antes que otros) del documento. Otras métricas estructurales se describen en [Aigrain y Longueville, 1992], [Blustein y Webber,1995], [Blustein et al., 1997], [Rada, 1991], [Smeaton, 1996], [Thistlewaite, 1995] y [Westland, 1998]. En este grupo también se incluyen los métodos que cuantifican el grado de semejanza semántica entre los contenidos de los nodos enlazados en un hiper-documento [Cruz et al., 1998], [Dumais,1991], [Hu y Furuta,1998], [Salton,1989].

Métodos basados en el medio de presentación: Se basan en cuantificar la calidad de la forma de presentar la información al lector. Esto tiene una gran importancia en el caso de la documentación hipermedia, cuya lectura se realiza a través de una interface de usuario cuya calidad debería poder valorarse, ya que influirá en la atención que se prestará en la lectura y, por ende, en la comprensión del contenido. En este sentido existen autores como [Hammond, 1993] y [Thüring et al., 1995], que han analizado los parámetros que influyen en la comprensión de un hiperdocumento teniendo en cuenta el proceso cognitivo que se produce en el lector cuando lo utiliza, estos parámetros son el control, la participación y la síntesis.

Métodos intuitivos basados en la experiencia: Son métodos sin justificación científica, pero que han adquirido un cierto nivel de aceptación, como el de Reiners, que promedia la opinión de un cierto número de lectores respecto a la comprensión individual de palabras (o frases), verbos activos, nombres personales y sustantivos abstractos.

Métodos basados en impresiones subjetivas: Consiste en cuantificar las opiniones subjetivas de expertos en forma de grado de satisfacción con respecto a atributos como simplicidad, organización, brevedad, estimulación, etc.

Métodos basados en la relación texto-lector: Consideran la comprensión como una interrelación ente el lector y el texto. El principal método de este tipo es el propuesto por Groeben [Lehner, 1993], que construye una teoría del conocimiento en la que la comprensión de un texto es vista como la "construcción cognitiva de una estructura semántica". Groeben diferencia, por primera vez, entre la "comprensión individual de un texto", en la que se considera la influencia de los atributos del lector en el proceso de comprensión, y la "comprensibilidad intercultural de un texto", que describe la influencia de los atributos del texto en tal proceso. Esta comprensibilidad se evalúa a través de cuatro dimensiones: la estructura cognitiva del texto, la simplicidad lingüística y la brevedad semántica, la redundancia, y la conflictividad en la estimulación cognitiva (incongruencias, incoherencias, complejidad).

Aunque todo lo anterior es perfectamente aplicable al caso particular de la valoración de la calidad de la documentación de los proyectos de desarrollo de software, especial mención en el campo del software merece el trabajo de [Arhur y Stevens, 1989], quienes han propuesto una serie de indicadores de calidad de los documentos (DQI: Document Quality Indicators) y los han clasificado siguiendo una estructura de descomposición en tres niveles: en el superior se encontrarían los atributos (precisión, completitud, usabilidad, etc.), en el segundo los factores en los que se descompone cada atributo (consistencia sería un factor del atributo precisión, legibilidad del atributo usabilidad, etc.) y en el tercer nivel se situarían la medidas cuantificables en que se descomponen los factores (consistencia conceptual sería una medida del factor consistencia, índice de comprensibilidad lo sería del factor legibilidad,etc.). 

Hay otros autores, como [Torkzadeh y Doll, 1993], que se han especializado exclusivamente en la cuantificación de la calidad de los manuales de usuario, por la importancia comercial de estos documentos, ya que de ellos va a depender en gran medida el grado de satisfacción de los usuarios con la aplicación informática que han adquirido. Estos autores han propuesto y experimentado un método para cuantificar su calidad basado en el tratamiento estadístico de 15 medidas. Para comprobar la incidencia de la calidad de la documentación de usuario en la satisfacción del usuario con el software, estos autores han establecido también un sistema de 12 medidas para valorar tal satisfacción.
 Además de las métricas anteriores, si como afirmamos en [Hilera et al., 1998], la documentación del software puede considerarse un proceso de ingeniería, también será susceptible de ser medida como proceso, además de como producto, utilizando métricas similares a las empleadas en otras ingenierías.

Seguridad en los sistemas  basados en web

Hoy en día, se pueden tomar muchas medidas para crear servicios Web XML seguros. A la hora de tratar la seguridad en servicios Web XML, es necesario considerar los siguientes puntos:

Esto se consigue respondiendo a las preguntas anteriores y, a continuación, aplicando las mismas técnicas de seguridad que utilizaríamos para cualquier otra aplicación Web:

Como podrá comprobar seguidamente, estas técnicas ofrecen varias opciones que se pueden combinar para obtener beneficios adicionales. Por ejemplo, un servidor de seguridad puede funcionar con servicios Web XML para limitar el acceso a ciertas funcionalidades (métodos) basándose en la identidad del cliente y las directivas definidas para cada cliente. Vamos a empezar repasando y entendiendo el funcionamiento de cada una de las opciones disponibles actualmente para crear una infraestructura segura.
Creación de una infraestructura segura es la clave para contar con servicios Web XML seguros. Microsoft ofrece una amplia gama de tecnologías que, una vez integradas en un plan general de seguridad, permiten a las empresas proteger eficazmente una infraestructura informática. Para completar la implementación con éxito, la planeación debe considerar lo siguiente:

Uno de los métodos más sencillos para aumentar la seguridad de los servicios Web XML consiste en asegurarse de que la conexión entre el cliente de servicios Web XML y el servidor es segura. Esto se puede llevar a cabo mediante varias técnicas, dependiendo de la extensión de la red y el perfil de actividades de las interacciones. Tres de las técnicas más comunes y accesibles son: reglas basadas en un servidor de seguridad, SSL (Secure Sockets Layer) y redes privadas virtuales(VPN).

Si sabe con exactitud qué equipos van a tener acceso a los servicios Web XML, puede utilizar reglas de servidor de seguridad para restringir el acceso a equipos con direcciones IP conocidas. Esta técnica resulta particularmente útil si desea restringir el acceso a equipos en una red privada virtual (por ejemplo, una red LAN/WAN corporativa) y no desea mantener el contenido de los mensajes en secreto (cifrados. Los servidores de seguridad, como Microsoft Internet Security and Acceleration (ISA) Server, pueden ofrecer reglas avanzadas basadas en directivas que proporcionen distintas restricciones para clientes diferentes según su origen o identidad. Esto resulta de gran utilidad cuando se espera que determinados clientes tengan acceso a funcionalidades (métodos) diferentes de los mismos servicios Web XML.
Se puede utilizar SSL para establecer conexiones seguras en redes que no son de confianza (como Internet. SSL cifra y descifra mensajes enviados entre el cliente y el servidor. Al cifrar los datos, se evita que los mensajes sean leídos por terceros durante la transmisión. SSL cifra el mensaje del cliente y, a continuación, lo envía al servidor. Una vez que el servidor lo recibe, SSL lo descifra y comprueba que procede del remitente correcto (proceso que se denomina autenticación. El servidor, o el servidor y el cliente, pueden tener certificados que se utilizan como parte del proceso de autenticación y que proporcionan capacidades de autenticación además del cifrado de la conexión. Aunque es un método muy eficaz para crear comunicaciones seguras, SSL presenta un coste en rendimiento que debe tenerse en cuenta. Los servicios Web XML de Microsoft admiten SSL integrado, tanto en clientes como en servidores.

Desde la perspectiva de alguien que intenta implementar servicios Web XML, una de las ventajas de utilizar estos mecanismos de autenticación es que no se necesita escribir nuevo código. IIS/ISA Server completa todo el proceso de autenticación y autorización ACL antes de llamar a los servicios Web XML. Sin embargo, al implementar el cliente será necesario realizar algunas tareas adicionales. La aplicación cliente necesitará responder a las peticiones de autenticación y credenciales del servidor.

Entre los métodos para la implementación de autenticación en servicios Web XML también se incluyen servicios de terceros, como los que se encuentran en Microsoft® . NET Passport, características de sesión de Microsoft ASP.NET o la creación de métodos de autenticación personalizados.

Próximamente  Interoperabilidad

Como puede ver, las técnicas habituales para crear aplicaciones Web seguras se pueden aplicar por separado o combinadas a la hora de proteger servicios Web XML. Estas técnicas ya se han utilizado en el pasado y resultan bastante efectivas. Sin embargo, no ofrecen una solución integrada dentro de la arquitectura de servicios Web XML. Conforme aumenta la complejidad del entorno de servicios Web XML (sobrepasando los límites de la confianza, extendiéndose a múltiples sistemas o empresas) los responsables de implementarlos tienen que recurrir a soluciones personalizadas que, si bien resultan eficaces, no ofrecen una interoperabilidad total. 
Para hacer frente a estas necesidades y mejorar la interoperabilidad entre servicios Web XML, Microsoft y sus socios están trabajando en un conjunto de especificaciones de seguridad basadas en el mecanismo de extensibilidad de la especificación SOAP para ofrecer funciones de seguridad mejoradas e integradas en el núcleo mismo de los servicios Web XML.
Una de las principales especificaciones que se están desarrollando es el lenguaje de seguridad de servicios Web XML (WS-Security) que proporciona mejoras en la mensajería SOAP, consistentes en tres funcionalidades: transferencia de credenciales, integridad de mensajes y confidencialidad. Estas funcionalidades no proporcionan por sí mismas una solución de seguridad completa; WS-Security es una pieza que se puede utilizar en conjunción con la infraestructura y otros protocolos de servicios Web XML para hacer frente a un gran número de requisitos de seguridad de aplicaciones. La arquitectura de servicios Web XML globales de Microsoft alberga a WS-Security y otras especificaciones relacionadas y proporciona un marco para la evolución de la infraestructura de los servicios Web XML.
 
Suponga que usted lo contrata una empresa que tiene un producto y lo quiere comercializar en la web. Elaborar el análisis y diseño del sistema a fin de poder vender este  producto por la web tomando en cuenta que la empresa no posee experiencia en el uso de tecnologías basados en web y usted va a liderizar todo el proyecto.
 
Análisis

En esta primera etapa vamos a analizar los requerimientos Básicos de la Empresa, vamos a definir  cuál es el objetivo del sitio web  y estudiar la factibilidad del proyecto.

Considerando esto vamos a elaborar una propuesta en la cual se determina el alcance, y podamos estimar plazos y costos. Debemos conocer: ¿Cuál es el objetivo del sitio web? ¿Desea que sea un catálogo en línea de sus productos o bien espera vender realmente sus productos o servicios por Internet? ¿Con qué presupuesto cuenta? ¿Quién será responsable de mantener el sitio funcionando? ¿Quién proporcionará las ilustraciones o fotografías y el contenido del sitio? ¿Quién será el dueño de los derechos de autor de estos materiales? ¿Qué información desea que se muestre y cuál no.? En fin, un levantamiento de información acerca de los productos a comercializar .

 

Realizaremos una revisión exhaustiva de los Recursos Físicos Disponibles, Equipos y software, para sustituir, mejorar o confirmar su disposición para el proyecto.

El sitio se va a desarrollar para que funcione con las tecnologías actuales (ya sea, animación Flash, herramientas activadas por Javascript, sonido e imagen de última generación) y las soluciones de comercio electrónico.

Diseño

En esta etapa definimos el sitio con máximo nivel de detalle, vamos a generar modelos del aspecto gráfico, del contenido, y del funcionamiento.

Vamos a personalizar completamente el producto que se quiere comprar. Una vez elegido un modelo base , por ejemplo, el cliente puede seleccionar las opciones de un menú para variar las características del producto de acuerdo a sus necesidades, bien sea agregando, quitando, mejorando,  etcétera. Al terminar, puede dar clic en un botón que podemos llamarle  Recalcular (el precio), y en segundos la página le dice cuánto aumenta el precio con las nuevas opciones.

Vamos a diseñar una base de datos con una adecuada estructura de campos, que incluyen diferentes elementos de análisis formal y de contenido:

-Campos para la identificación y localización del recurso: título, autoría o responsabilidad, localización web (URL u otros), tipología de recurso, idioma,...

-Clasificación jerárquica por disciplinas.

-Indización por palabras clave o por descriptores (con otros tipos de índices adicionales en ocasiones).

-Descripción del contenido (resumen).

-Campos de control interno: analista, fecha de creación del registro y de la última consulta o actualización de datos,...

Diseño de una interfaz de usuario: visualización de registros, pantallas de búsqueda simple y avanzada, así como la navegación a través del sistema de clasificación (browsing).

En el diseño de las páginas se va a incorporar fuentes habituales, con la intención de que nuestros clientes puedan abrir  o guardar un archivo fácilmente. Tales como Microsoft Frontpage y Dreamweaver de Macromedia. Las herramientas de navegación a utilizar van a ser claras y fáciles de comprender en cada una de las páginas del sistema . No todos los usuarios de Internet cuentan con exploradores que admiten gráficos y algunos desactivan intencionalmente sus programas gráficos para acelerar el tiempo de descarga. Vamos a utilizar vínculos de texto.

Incluiremos un contenido útil y extra al  producto con la intención de que los clientes regresen  al sitio.

 

Vamos a fomentar  la retroalimentación de los clientes. Debemos preguntar a los clientes lo que desean. ¿Encontraron lo que estaban buscando? ¿Cómo se podría mejorar el sitio para que sea más útil y fácil de usar? Prestaremos atención a todos los comentarios desfavorables de los clientes relacionados con malas experiencias. Son ellos los que le dirán qué está bien y qué está mal.

 

Estará a  disposición una lista de correo. A casi todos los consumidores les desagradan los correos basura, también conocidos como spam o correo comercial no solicitado. Una estrategia mucho más atractiva es crear una lista de correo. Invitaremos a los clientes a que se inscriban si desean recibir un boletín informativo o notas de eventos especiales de la empresa . La idea es que esta información sea útil y pertinente para el cliente. Podemos ofrecer un cupón de descuento por una próxima compra.

 

Estos modelos son prototipos del sitio que lo reflejan con exactitud, los cuales vamos a ir trabajando con ustedes  evolucionándolos hasta que quede satisfecho con todos los aspectos.

Es fundamental la aprobación de la empresa para seguir avanzando, pues los cambios en etapas posteriores serán más costosos.

Codificación

En esta etapa hacemos realidad el modelo de diseño, es decir que se elaboran y adaptan los elementos gráficos y multimedias, se codifican las páginas, los programas y scripts, se definen y preparan las bases de datos para que el sitio quede en funcionamiento.

En esta etapa hay que realizar pruebas exhaustivas para asegurar el perfecto funcionamiento del mismo, se prueba la integración con los sistemas internos de la empresa, todo esto se hace primero en el ambiente de desarrollo y luego en el servidor de Internet en el que realmente funcionará.

Los administradores reciben la capacitación para desarrollar su tarea.

El sitio está listo para comenzar a funcionar

 

Puesta en Funcionamiento

 

En esta etapa habilitamos el sitio, en la Internet, para que los verdaderos usuarios comiencen a servirse del mismo; se registra el nombre de dominio. Corresponde a un nombre exclusivo que lo distingue de todos las otras computadoras conectadas a Internet. Se registra el nombre de el sitio Web con algo que se denomina "Internic" o "apodo virtual", de modo que todas las otras computadoras conectadas a la red sepan de su existencia. Una vez que se registre, cuando alguien escriba www.nombredesuempresa.com en su explorador, irá directamente a su sitio Web.

 

El sitio se encuentra en pleno funcionamiento con usuarios verdaderos accediendo y con los administradores realizando las tareas periódicas de mantenimiento como ser, atención al cliente, actualización de contenidos y administración del servidor.

 

Evolución

Como todo sistema, para conseguir su objetivo, el sitio debe evolucionar adaptándose a su medio ambiente. Aquí vamos a definir las características de tal evolución.

Para esto vamos a analizar continuamente su funcionamiento, considerando los resultados planificados, los realmente obtenidos y el comportamiento del usuario, para realizar los ajustes cuando sea apropiado.

Se genera un documento con las adaptaciones que recibirá el sitio, y se pasa al diseño para realizar las mismas.

 

Conclusiones.

 

El crecimiento en el uso de las nuevas tecnologías y de la WWW en general está teniendo un impacto significativo en los sistemas de información de sectores tales como comercio, industrias, bancos, finanzas, educación, gobierno, entretenimiento, he incluso en nuestro trabajo y vida privada. A medida que el número y complejidad de las aplicaciones basadas en red crece, se hace necesario reflexionar acerca de la forma en la cual éstas deben ser creadas y cómo mantener su calidad e integridad.

En muchos casos, las aproximaciones que se usan para desarrollo de estos sistemas son procesos sin una planificación previa, poco estructurados, recordando los primeros días del desarrollo de aplicaciones software. La ausencia de procesos disciplinados en este contexto, ha motivado que exista un interés creciente en afrontar esta problemática para abordar con éxito el desarrollo, implementación y mantenimiento de sistemas basados en la web.

Varios expertos coinciden en el hecho de que las ‘aplicaciones web’ que están proliferando en la actualidad tienen un riesgo demasiado alto de fracaso. Según los sistemas se hacen más complejos, un fallo en uno de ellos propagará y amplificará ese error al resto de sistemas conectados. Cuando esto ocurre, la confianza en la web puede verse gravemente dañada causando una ‘crisis del web’.

En consecuencia, podemos concluir que para abordar todos estos problemas necesitamos de aproximaciones rigurosas de ingeniería web así como de nuevos métodos y herramientas para las fases de desarrollo, implementación y evaluación. Es importante que estas aproximaciones tengan en cuenta las características especiales del nuevo medio, los escenarios y entornos operacionales y la multitud de perfiles de usuario que plantean retos adicionales al desarrollo de aplicaciones basadas en web.

 
Recomendaciones.

Para redactar, organizar y diseñar una información para ser publicada en un servidor web conectado a la red Internet, deben tomarse en cuenta una serie de cuestiones propias y específicas de esta tecnología: 

1. El hipertexto y la posibilidad de "navegar" por la información

En una página web el hipertexto nos permite irnos desplazando de un documento a otro con el simple acto de pulsar sobre un enlace. Esta peculiar forma de navegar por un conjunto de información entrelazada puede provocar cierta desorientación por parte del lector, ya que con un solo paso puede haberse desplazado tanto a una sección diferente del mismo web, como a un web totalmente distinto. Además, raramente podremos incluir toda nuestra información en un solo documento; tendremos que fragmentarla en diversos ficheros.

Estas dos circunstancias nos obligan a intentar estructurar lo mejor posible la información, de forma que nuestro lector esté siempre bien orientado sobre en qué sección se encuentra y entienda la relación entre la página que está viendo con las demás de nuestro web. Esto podemos conseguirlo con diversas ayudas:

·        Realizando páginas de índice lo más claras posible.

·        Usando los botones de navegación que permitan al usuario volver a las páginas de índice, a la página principal o desplazarse a las páginas relacionadas.

·        Incluyendo gráficos o colores diferentes según la sección de nuestro web en que nos encontremos.

2. La lentitud de las redes de comunicaciones

Siempre debemos ser conscientes de que la pagina web que estamos diseñando se va a transmitir por una red de comunicaciones que no es tan rápida como sería deseable, que muchos de nuestros lectores tienen que pagar por hacer esa transmisión y que desconocemos la potencia del equipo informático que poseen. Así, tenemos que cuidar que nuestras páginas no tengan un tamaño demasiado grande, para facilitar su carga rápida por la red. Suele considerarse como el máximo tolerable un tamaño de unos 40 o 50 Kb (fichero + imágenes).

En un documento web lo que ocupa más espacio son los gráficos, por lo que deberemos valorar cuidadosamente la necesidad, cantidad y calidad de los gráficos que ponemos.

También debemos tener en cuenta la lentitud de la red a la hora de estructurar nuestra información: Hay que intentar que el lector llegue a la información deseada con el menor número de pasos intermedios que sea posible, para evitar que tenga que cargar fichero tras fichero. Por ello, si bien las paginas con índices son imprescindibles, no debemos abusar de ellas poniendo índices que remitan a más índices, como a veces podemos encontrar en Internet.

3. La existencia de diferentes programas y versiones de los programas navegadores

También a diferencia con los documentos en papel, los lectores de nuestras páginas web tienen que usar una herramienta para visualizarlas: los navegadores o browsers. Los distintos fabricantes se hacen la competencia incluyendo nuevos avances técnicos en sucesivas versiones de sus productos que normalmente no funcionan bien en el de la competencia.

Esto hace que una página que nosotros hemos diseñado viéndola con el programa Netscape, nos dé alguna sorpresa desagradable al intentar visualizarla con Internet Explorer. Y viceversa. Lo mismo puede ocurrirnos si vemos esa página con el mismo programa empleado, pero en una versión inferior. Esta es la razón por la que debemos valorar cuidadosamente la necesidad de emplear la "última" tecnología de diseño de paginas www que esté de moda en este momento y ser conscientes de que cuanto más simple sea nuestra página más posibilidades hay de que sea correctamente visualizada por un mayor número de lectores.

4. El monitor del ordenador

Los documentos web están pensados para ser visualizados en la pantalla de un ordenador. El problema es que desconocemos el tipo de monitor desde el que se van a leer las páginas: pequeño o grande, de cristal líquido, en color o blanco y negro, con resolución buena o mala, etc. Así, un documento que hemos diseñado cuidadosamente en nuestro monitor de 15 pulgadas con una resolución 600 X 800, puede verse "encogido" en una pantalla grande, o bien parte del contenido "salirse" de la pantalla en un monitor de baja resolución. Por esta razón no está de más comprobar el aspecto que toma nuestra pagina en distintos tipos de pantallas.

El hecho de visualizar el documento en una pantalla también va a influir en la longitud que deberemos dar a nuestras páginas, ya que no es conveniente obligar a los lectores a desplegar páginas excesivamente largas. En todo caso es importante que el máximo de información significativa aparezca en pantalla nada más acceder a nuestra página.

5. La actualización de la información

Una de las principales ventajas del soporte web es la posibilidad de mantener actualizada la información en un instante. Así, la tarea realizar unas páginas web no finaliza con su publicación en un servidor: es necesario mantenerla actualizada, trabajo que en realidad no "termina" nunca. Es necesario considerar previamente la posible caducidad de la información que vamos a poner en la red. Si pensamos que no vamos a ser capaces de mantener actualizada determinada página, tal vez debamos replantearnos la oportunidad de su publicación. Lo mismo ocurre con los tan comunes listados de enlaces recomendados: quedan obsoletos con gran rapidez. Además, es importante indicar en la propia página la fecha de la última modificación, de forma que el lector esté informado de la puesta al día de la misma.

6. Difusión y publicidad de las páginas

Poner la información en un servidor web no es garantía suficiente de alcanzar a todos los usuarios potenciales deseados. Necesitamos dar difusión a la existencia de nuestras páginas si deseamos que cumplan su función. Lo más normal es que nuestros usuarios alcancen nuestro web tras una búsqueda en alguno de los numerosos motores de búsqueda existentes. Para que aparezcan nuestras páginas reflejadas en estos buscadores, debemos tener en cuenta los elementos que estos usan para localizar información:

·        Poner claramente el título del documento

·        Introducir algunas palabras clave en la etiqueta <meta> del lenguaje html

·        Incluir el máximo de información significativa posible en las primeras 25 líneas de la página, ya que algunos motores de búsqueda las usan para indizar su base de datos.

·        Darnos expresamente de alta en los motores de búsqueda. Casi todos los buscadores incluyen un formulario para darse de alta. Existen además servicios que nos dan de alta simultáneamente en muchos buscadores, aunque la mayoría de ellos son de pago.

7. Los contenidos y el tipo de usuarios a quienes están dirigidos

Lo más importante en una página web son los contenidos. La búsqueda de cualquier información en Internet suele ser una larga navegación de página en página, necesitando emplear mucho tiempo para encontrar información útil. La manera de diseñar y organizar nuestra información estará claramente condicionada por el tipo de contenidos y, sobre todo, por el usuario al que van dedicados.

 
Infografía
 

1.http://www.myownbusiness.org/espanol/s9/#2

 

2.http://www.nexodigital.com.ar/metodologia.php

 

3.http://www.wikilearning.com/algunas_caracterí_sticas-wkccp-3830-5.htm

 

4.http://www.mmschool.com/cursos_on_line/asp/curso/asp_1/asp_1_2.htm

 

5.http://www.linuxcentro.net/linux/staticpages/index.php?page=CaracteristicasPHP

 

6.http://www.wikilearning.com/mineria_de_textos-wkccp-3285-11.htm

 

7.http://centros5.pntic.mec.es/ies.victoria.kent/Rincon-C/Alumnos/al-12/al-12.htm

 

8. http://www.uc3m.es/uc3m/web/recomendaciones.html

 

 

 

 

Participante: Mirelys M. Petit Cedeño.

C.I.Nº 10.855.264

Hosted by www.Geocities.ws

1