Tecnología Web

 

 

En los últimos años Internet ha abierto para las empresas una enorme gama de posibilidades de negocio. Su uso permite agilizar los procesos, mejorar la productividad, aumentar la eficiencia y alinearse con la cultura empresarial global. Todo esto es posible sacando el mayor provecho a la Red. Por estolas empresas y los nuevos profesionales deben basarse en Internet y sacar el mayor provecho de las tecnologías Web para ser aprovechado por los profesionales para ofrecer servicios con valor añadido.

 

En este trabajo pretende dar una introducción a tecnologías para el desarrollo de aplicaciones Web de uso sencillo y que está al alcance de cualquier tipo de empresa mediante de un conjunto de lenguaje como lo son XML, PHP, ASP, JSP, los cuales permiten construir de manera sencilla y efectiva sitios Web dinámicos.

 

 

 

 

 

XML

 

 

Rafael Capilla Sevilla en el libro Fundamentos de Internet y programación de aplicaciones para la Web (2003, pág.205) expone “El lenguaje de marcas extensibles (Extensible Markup Language) más conocido como XML, su desarrollo comienza en 1996 y la primera versión estándar (XML 1.0) del World Wide Web consortium (W3C) aparece en 1998. El lenguaje xml surge con la idea de solventar los problemas de rigidez y poca estructuración del lenguaje HTML. En primer lugar hay que distinguir que mientras HTML es un vocabulario concreto del SGML (Standard Generalizad Markup Language), XML al igual que SGML permite definir lenguajes (vocabularios) de marcado. Esta es la principal diferencia entre ambos ya que aunque puedan parecer similares en muchos aspectos no son equiparables en el sentido antes mencionado.

 

XML es una familia de tecnologías que incluye, entre otras, las siguientes:

·          XSL (eXtensible Style Sheet): Es un lenguaje para representar hojas de estilo.

·          DOM (Document Object Model): Son un conjunto de llamadas a funciones para manipular ficheros XML desde un lenguaje de programación.

·          SAX (Simple API for XML): Son un conjunto de definiciones de interfaz dirigidas por eventos que indican como pueden interactuar las aplicaciones con documentos XML.

·          Xpath: Es un lenguaje para acceder a partes de documentos XML y está diseñado para ser utilizado por XSLT y XPointer.

·          XPointer: Se basa en Xpath y soporta el direccionamiento de partes o estructuras de un documento XML. El lenguaje se usa como un identificador para cualquier referencia URI que localiza un recurso en Internet de tipo text/xml o aplicación/xml.

·          XSLT (XSL transformations): Es un lenguaje para realizar transformaciones de documentos XML. Se suele utilizar para transformaciones de XML a HTML.”

 

 

Chris Payne en el libro Aprendiendo ASP.net en 21 lecciones avanzadas (2004) expone “XML es un formato basado en texto para describir datos, incluye nuevas formas de distribuir datos a aplicaciones propias de Web, lo que permite que casi cualquier tipo de dato se envíe a cualquier lugar. Eso suena como algún tipo de varita mágica, pero la utilidad de XML se centra en dos sencillas características. Primero, XML es extensible (de ahí el nombre Lenguaje de Marcado Extensible), lo que significa que puede extenderlo con facilidad que usted podrá generar etiquetas y estructuras. Segundo, está basado en texto, lo que significa que podrá generar o leer XML con cualquier editor de textos, como block de notas.

 

Un archivo XML que sigue a un esquema y cuyas etiquetas están adecuadamente expresadas (con lo que se apega a las normas de XML dictadas por el consorcio World Wide Web, W3C) se conoce como XML bien formado. Crear archivos XML bien formados asegura que sus datos podrán ser leídos por cualquier aplicación orientada a XML. En general, un archivo bien formado debe seguir estas directivas:

 

·          Debe contener al menos un elemento.

·          Debe contener una sola etiqueta de apertura y cierre que contenga a todo el documento, con lo que se formará al elemento principal.

·          Todas las demás etiquetas deben estar animadas, con etiquetas anidadas, con etiquetas de apertura y cierre, y no pueden traslaparse.”

 

 

Principales Características

 

XML se representa como texto simple; puede generar XML en el block de notas si así lo desea. Por ello, es una forma sencilla de transportar datos a diversos lugares. En la mayoría de las aplicaciones de bases de datos, los datos internos se almacenan en un formato específico. Cuando use distintos almacenes de datos (o distintas plataformas de cómputo) en el mismo proyecto, necesitará agregar complejas conversiones de un formato u otro. Pero con XML los datos se presentan en un formato textual y estructurado, con lo que se elimina la necesidad de cualquier conversión arcaica. Dada su naturaleza textual, XML facilita su lectura y comprensión a los usuarios. Además XML no necesita medidas de seguridad sofisticadas que con frecuencia evitan que ocurran otros tipos de comunicación, o que necesiten sofisticados rodeos. Estas medidas de seguridad con frecuencia permiten que pase sólo el texto simple, por lo cual XML es perfecto para transportas datos a cualquier parte.

 

 

Las principales características del lenguaje XML las podemos resumir en los siguientes puntos:

 

 

·         XML es fácil de usar se basa en la utilización de etiquetas de texto.

 

·         XML es extensible en cuanto a etiquetas y vocabulario. Podemos definir nuestras propias etiquetas.

 

·         XML es una tecnología madura puesto que se basa en SGML.

 

·         XML soporta Unicote (Unicote es un estándar internacional de codificación que soporta todos los alfabetos del mundo).

 

·         XML se orienta a los datos y la semántica en lugar de la representación.

 

·         XML permite transacciones Cliente/Servidor sobre el protocolo HTTP.

 

·         XML es también un mecanismo de intercambio de información entre aplicaciones.

 

 

 

JSP

 

Java Server Pages (JSP) es una tecnología Java que permite generar contenido dinámico para Web, en forma de documentos HTML, XML o de otro tipo.

 

Las JSP's permiten la utilización de código Java mediante scripts. Además es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas mediante la utilización de Librerías de Etiquetas (TagLibs o Tag Libraries) externas e incluso personalizadas.

 

JSP puede considerarse como una manera alternativa, y simplificada, de construir servlets. Es por esto que una página puede hacer todo lo que un servlet puede hacer, y viceversa. Cada versión de la especificación de JSP está fuertemente vinculada a una versión en particular de la especificación de servlets.

 

Un JSP es una página Web con etiquetas especiales y código Java incrustado, mientras que un servlet es un programa que recibe peticiones y genera a partir de ellas una página Web. En ambos casos se necesita un programa un programa servidor que se encargue de recibir las peticiones, distribuirlas entre los servlets  y realizar las tareas de gestión propias de un servidor Web.

 

 

 

Principales Características

 

 

 

Permiten separar la parte dinámica de la estática en una página Web. Las páginas JSP se almacenan en el servidor en archivos con extensión .jsp. El código JSP es java y se encierra entre: <% y %>, por ejemplo:

 

<H1>Hora: <%= new java.util.Date() %></H1>

 

La sintaxis también se puede expresar en formato XML

 

<jsp:xxx> ... </jsp:xxx>

 

En una página jsp hay varios objetos implícitos (predefinidos): request, response, out, session, application, config, pageContext, page y exception

 

Cada página JSP es compilada automáticamente hacia un servlet por el motor JSP la primera vez que se accede a esa página.

 

Desde una página JSP se puede llamar a un componente JavaBean donde se puede implementar la lógica de negocio.

 

Según el articulo publicado en http://blog.taragana.com/index.php/archive/top-10-java-features-or-what-makes-java-great/es/ titulado Top 10 Características de Java (o ¿Qué hace que Gran Java)

 

1. Servlets y JSP - La mayoría de java desarrollo de hoy es posiblemente realizado en Servlets y JSP. It is the most widely used part of EJB specs today. Es el más utilizado parte de las especificaciones EJB hoy.

2. Platform independence - It works in most cases flawlessly. Plataforma independencia - Funciona en la mayoría de los casos sin problemas. It has significantly improved over the years. Se ha mejorado significativamente en los últimos años. Some other languages / platform offers some degree of platform independence too. Algunos otros idiomas / plataforma ofrece un cierto grado de independencia de plataforma. However in Java it is without pain. Sin embargo, en Java es sin dolor. I develop on Windows and yet deploy on Linux regularly without any issues ever. I desarrollar en Windows y, sin embargo, a desplegar Linux regularmente sin ningún tipo de cuestiones nunca.

3. Availability of JVM source code - When in trouble we can always look up the source code and find what exactly is going on behind the scenes. La disponibilidad de código fuente JVM - Cuando en problemas, siempre podemos buscar el código fuente y saber qué es exactamente lo que está sucediendo entre bastidores.

4. Security - Java was designed with security in mind. Seguridad - Java fue diseñado con la seguridad en mente. It provides super solid libraries for all your security requirements. Proporciona súper sólida bibliotecas para todas sus necesidades en materia de seguridad. Security in Java was nowhere an afterthought like many other languages. Seguridad en Java es un lenguaje en ninguna parte una idea de último momento al igual que muchos otros idiomas.

5. Strong support for protocols and interfaces with API’s like JDBC, JNDI, JNI, Java IDL, JAXP etc. Java has a solution for almost anything you can throw at it. Fuerte apoyo para protocolos e interfaces con API's, como JDBC, JNDI, JNI, Java IDL, etc JAXP Java tiene una solución para casi cualquier cosa que usted puede lanzar a ella.

6. Dynamic class loading - Ability to load class data over different devices and network. La carga dinámica de clase - Capacidad de carga clase de datos sobre diferentes dispositivos y redes. This forms the foundation of EJB, RMI and host of other technologies. Esto constituye la base de EJB, RMI y de acogida de otras tecnologías.

7. Reflection - Java reflection API allows dynamic discovery and invocation of methods etc. Reflexión - Java API permite la reflexión dinámica descubrimiento e invocación de métodos, etc

8. Generics - Java generics simplifies coding while continuing to provide type safety Generics - Java simplifica la codificación de medicamentos genéricos sin dejar de prestar el tipo de seguridad

9. Annotations - In terms of usage we have only begun to scratch the surface. Anotaciones - En términos de uso sólo hemos empezado a arañar la superficie. I expect it to be the next XML for Java developers (for better or for worse). Espero que sea el próximo XML para desarrolladores de Java (para bien o para mal).

10. Lack of pointers - This is a boon for those frustrated with pointer arithmetic in C / C++. La falta de referencias - Esto es una bendición para aquellos frustrados con la aritmética puntero en C / C + +.

 

PHP

 

 PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor. PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo Web y puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor Web, tomando el código en PHP como su entrada y creando páginas Web como salida. Puede ser desplegado en la mayoría de los servidores Web y en casi todos los sistemas operativos y plataformas sin costo alguno.

 

 

 

Principales Características

 

 

 

·         Es un lenguaje multiplataforma

 

·         Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL.

 

·         Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).

 

·         Posee una amplia documentación en su página oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.

 

·         Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

 

·         Permite las técnicas de Programación Orientada a Objetos.

 

·         Biblioteca nativa de funciones sumamente amplia e incluida.

 

·         No requiere definición de tipos de variables.

 

·         Tiene manejo de excepciones (desde php5).

 

·         No posee una abstracción de base de datos estándar, sino bibliotecas especializadas para cada motor (a veces más de una para el mismo motor).

 

 

·         No posee adecuado manejo de internacionalización, unicode, etc.

 

·         Por su diseño dinámico no puede ser compilado y es muy difícil de optimizar.

 

·         Por sus características favorece la creación de código desordenado y complejo de mantener.

 

·         Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aún estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP).

 

ASP

 

Las siglas ASP corresponden a las palabras Active Server Pages (Páginas Activas en el Servidor). Es una tecnología que impulsó Microsoft hace ya varios años, y que en la actualidad es uno de los lenguajes de programación Web más utilizados. Su funcionamiento se basa, principalmente, sobre servidores Microsoft con Internet Information Server para Windows NT o 2000, y en caso de contar con un sistema operativo Windows 95 o 98 se utiliza un servidor Web personal, especialmente el Personal Web Server.

 

Hay que destacar que las páginas ASP se ejecutan del lado del servidor, devolviendo al cliente los resultados, esto quiere decir que no importa el navegador o sistema operativo del usuario, ya que el mismo vera una simple pagina Html. Para correr aplicaciones ASP bajo sistemas con Windows 95 o 98 es necesario contar con el Personal Web Server, el cual está incluido en el CD de Instalación de Windows 98. Si el sistema es Windows NT o 2000 hay que contar con el IIS (Internet Information Server). Hoy en día, es posible correr páginas ASP bajo servidores Unix/Linux, utilizando algún software como puede ser Instant ASP o Chilisoft.

 

 

 

Principales Características

 

 

·         Una de las características más importantes de las páginas ASP es la posibilidad de conectar con diferentes tipos de bases de datos, para extraer-agregar-eliminar datos de ellas, y generar páginas con esos datos. Estas paginas se generan en forma dinámica, dependen de las sentencias que se establezcan, para si obtener los resultados del proceso realizado. Pueden conectarse a motores de bases de datos SQL, Access, Oracle, y a cualquier otro con soporte de conexión ODBC.

 

·         Se ejecuta en el servidor donde esta alojada la pagina Web.

 

·         El cliente (navegador del usuario) no nota diferencias con una pagina normal (HTML).

 

·         Por medio de ASP se puede tener acceso a bases de datos.

 

·         Para su implementación se utiliza lenguaje script como VBScript o JScript.

 

·         Se puede utilizar HTML y ASP en una misma pagina.

 

·         Es totalmente ampliable gracias a que es compatible con la tecnología ActiveX.

 

 

 

 

Diferencias entre XML - JSP - ASP – PHP

 

Antes de comenzar a ver las diferencias veamos un poco el funcionamiento de las aplicaciones. La editorial Editorial CEP en el libro Temario Oposiciones Vol. Iii Cuerpo de TÉcnicos Auxiliares de InformÁtica de la AdministraciÓn Del Estado. En la página  237 señala:

 

“Las aplicaciones Web responden a lo que se denomina arquitectura por capas. Cada capa se ejecuta en un sistema diferente o en procesos diferentes dentro de una misma máquina. La cantidad de capas viene dada por los diferentes niveles que atraviesa la información, existiendo siempre la capa de datos y la de presentación y la de presentación. En medio se insertan las restantes capas.

 

Habitualmente las aplicaciones se ejecutan en un modelo de dos capas o tres capas.

 

ü      Modelos de dos capas (arquitectura cliente - servidor): La interfaz de usuario se ejecuta en la parte cliente. La base de datos está en un servidor. La lógica de negocio está dividida entre el cliente y el servidor, normalmente, la mayor parte está en la parte del cliente. El principal inconveniente es que requieren clientes pesados y conllevan problemas de configuración y actualización de versiones.

 

ü      Modelo de tres capas: La interfaz de usuario se ejecuta en la parte cliente. La lógica de negocio reside en un servidor, y hace el intermediario entre la interfaz del cliente y los datos. Por ultimo, los datos están en otro servidor (o en el mismo pero de forma independiente). La principal ventaja es que se pueden realizar cambios en cada capa sin que tengan que afectar necesariamente las otras.

 

Ø      Capa de presentación: es la parte correspondiente al interfaz de usuario. En ella se realizan los siguientes procesos:

 

§         Recoger la información del usuario.

 

§         Enviar dicha información a la capa lógica de negocio.

 

§         Recoge los resultados producidas en la capa de lógica de negocio.

 

§         Presenta los resultados al usuario.

 

Ø      Capa de lógica de negocio: o capa de trabajo, es donde se realizan los cálculos, comprobaciones, procesos:

 

§         Recibe la información de la capa de presentación.

 

§         Se comunica con la capa de datos para obtener, procesar, actualizar información.

 

§         Envía los resultados a la capa de presentación.

 

Ø      Capa de datos:

 

§         Almacena los datos.

 

§         Recibe datos.

 

§         Mantenimiento de los datos.

 

§         Asegura la integridad de los datos.”

 

 

 Veamos el siguiente cuadro

 

Diferencias

XML

JSP

ASP

PHP

Servidores Web que lo soporta.

Permite transacciones Cliente/Servidor sobre el protocolo http.

Esta tecnología se puede implantar en los servidores Web más populares: Apache, Nestcape, Microsoft IIS, etc.

Esta tecnología sólo se soportada por Microsoft IIS o Microsoft personal Web Server.

Esta tecnología se puede implantar en los servidores Web más populares: Apache, Nestcape, Microsoft IIS, etc.

Plataforma que soporta la tecnología.

Independiente de alguna plataforma

en específico.

Independiente de alguna plataforma en específico.

Dependiente de la plataforma Windows debido a la dependencia del componente Win32.

Independiente de alguna plataforma en específico.

Componentes principales.

Es una tecnología madura puesto que se basa en SGML.

Se basa principalmente en la reusabilidad de componentes como por ejemplo: JavaBeans, Entrepiso Java Beans y Tag Libraries.

Basado principalmente en la arquitectura COM de Win32.

Basado en el motor de interpretación creado por Zend.

Seguridad

La  seguridad en XML permiten que pase sólo el texto simple, por lo cual XML es perfecto para transportas datos a cualquier parte.

Trabaja con el modelo de seguridad de Java.

Trabaja con el modelo de seguridad de Windows NT.

Depende de la manera de instalar si es por modo GCI o como módulo de servidor Web.

Base de datos

Una Definición de Tipo de Documento es un archivo con extensión .dtd que describe XML. Un archivo DTD proporciona la composición del modelo lógico de Base da Datos y define las reglas de etiquetas y sintaxis valida para cada tipo documento XML.

Acceso por medio de JDBC.

Acceso por medio de los objetos ADO.

Funciones incorporadas para las diferentes DBMS que  PHP soporta

 

A continuación veremos diferencias mas a fondo entre algunos de los lenguajes para desarrollos Web mencionados anteriormente:

 

Diferencias entre JSP y ASP

JSP sigue la filosofía de la arquitectura JAVA de "escribe una vez ejecuta donde quieras". La implantación de ASP está limitada para arquitecturas basadas en tecnología Microsoft.

Así, JSP se puede ejecutar en los sistemas operativos y servidores Web más populares, como por ejemplo Apache, Netscape o Microsoft IIS. Mientras que ASP sólo tiene soporte nativo para los servidores IIS y Personal Web Server, que son los dos servidores Web para sistemas Microsoft, el primero con tecnología NT y el segundo para sistemas Windows 98 y similares.

JSP se beneficia de la extendida comunidad JAVA existente, por el contrario la tecnología ASP es específica de Microsoft que desarrolla sus procesos internamente.

Mientras que tanto JSP como ASP usan una combinación de tags y scripts para crear paginas Web dinámicas, la tecnología JSP permite a los desarrolladores crear nuevos tags. Así los desarrolladores pueden crear nuevos tags y no depender tanto de los scripts.

Los componentes JSP son reusables en distintas plataformas (UNIX, Windows).

La tecnología JSP usa Java como lenguaje de Script mientras que ASP usa VBScript o Jscript. Java es un lenguaje mas potente y escalable que los lenguajes de Script. Las páginas JSP son compilados en Servlets por lo que actúan como una puerta a todos los servicios Java de Servidor y librerías Java para aplicaciones http. Java hace el trabajo del desarrollador más fácil p. e. ayuda a proteger el sistema contra las "caídas" mientras que las aplicaciones ASP sobre sistemas NT son más susceptibles a sufrirlas, también ayuda en el manejo de la memoria protegiendo contra fallos de memoria y el duro trabajo de buscar los fallos de perdida de punteros de memoria que pueden hacer mas lento el funcionamiento de una aplicación.

Las aplicaciones que usan JSP tienen un mantenimiento más fácil que las que usan ASP.

 

 

Bibliografía

Aprendiendo ASP.net en 21 lecciones avanzadas

Autor Chris Payne, Christopher Payne

Publicado por Pearson Educación, 2004

ISBN 9702603404, 9789702603405

 

Fundamentos de Internet y programación de aplicaciones para la Web

Autor Rafael Capilla Sevilla, Capilla, Jaime Urquiza Fuentes, Urquiza, Centro de Estudios Ramón Areces, Universidad Rey Juan Carlos Servicio de Publicaciones

Colaborador Jaime Urquiza Fuentes

Publicado por Editorial Ramón Areces, 2003

ISBN 8480045876, 9788480045872

 

 

PHP y MySQL: Tecnologías para el desarrollo de aplicaciones Web.

Autor Angel Cobo, Patricia Gomez, e-libro, Corp

Colaborador Patricia Gomez, Daniel Pérez, Rocío Rocha

Publicado por Ediciones Díaz de Santos, 2005

ISBN 8479787066, 9788479787066

 

 

Sistemas de bases de datos: Diseño, implementación y administración

Autor Peter Rob, PETER AUTOR ROB, Peter Rob Carlos Coronel, Carlos Coronel

Colaborador Carlos Coronel, Rodolfo Navarro Salas

Publicado por Cengage Learning Editores, 2004

ISBN 9706862862, 9789706862860

838 páginas

 

Temario Oposiciones Vol. Iii Cuerpo de TÉcnicos Auxiliares de InformÁtica de la AdministraciÓn Del Estado.

Autor Editorial CEP

Publicado por EDITORIAL CEP

ISBN 8483681889, 9788483681886

 

Infografia

http://es.wikipedia.org/wiki/Java_Server_Pages

http://www.webtaller.com/construccion/lenguajes/xml/lecciones/diferencias-xml-html.php

http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/benitez_m_m/capitulo6.pdf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hosted by www.Geocities.ws

1