|
|
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 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. 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
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 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 Mientras que tanto JSP como ASP usan una combinación de tags y
scripts para crear paginas Web dinámicas, Los componentes JSP son reusables en distintas plataformas (UNIX,
Windows). 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 |