You are on page 1of 14

1.

3 TECNOLOGAS PARA EL DESARROLLO DE


APLICACIONES WEB

Caractersticas del cliente


*Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicacin.
*Espera y recibe las respuestas del servidor.
*Por lo general, puede conectarse a varios servidores a la vez.
*Normalmente interacta directamente con los usuarios finales mediante una interfaz
grfica de usuario.

Caractersticas del servidor


*Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempean entonces un
papel pasivo en la comunicacin.
*Tras la recepcin de una solicitud, la procesan y luego envan la respuesta al cliente.

Capa de presentacin:
es la que ve el usuario, presenta el sistema al usuario.

Capa de negocio:
esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar
los resultados, y con la capa de datos, para solicitar al gestor de base de datos para
almacenar o recuperar datos de l

Capa de datos:
es donde residen los datos y es la encargada de acceder a los mismos. Est formada por
uno o ms gestores de bases de datos que almacenan la informacin.

Tecnologas en la capa de presentacin

Java Server Faces (JSF)


La tecnologa Java Server Faces es un marco de desarrollo de los componentes de la
interfaz de usuario, vlido para todas aquellas aplicaciones web basadas en la tecnologa
Java.

Richfaces
RichFaces es un marco de cdigo abierto que aade a las aplicaciones capacidad de Ajax
en JSF, sin recurrir a Java Script. RichFaces aprovecha el framework Java Server Faces,
incluyendo su ciclo de vida, la validacin, los medios de conversin y la gestin de los
recursos estticos y dinmicos.

Ajax
AJAX, acrnimo de Asynchronous JavaScript And XML (JavaScript asncrono y XML), es
una tcnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet
Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los
usuarios mientras se mantiene la comunicacin asncrona con el servidor en segundo
plano. De esta forma es posible realizar cambios sobre las pginas sin necesidad de
recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones.

Lenguaje de Marcado de Hipertexto Extensible (XHTML)


Es una versin ms estricta y limpia de HTML, que nace con el objetivo de remplazar a
HTML ante su limitacin de uso con las cada vez ms abundantes herramientas basadas
en XML. XHTML extiende HTML 4.0 combinando la sintaxis de HTML, diseado para
mostrar datos, con la de XML, diseado para describir los datos.

Extensible Markup Language (XML)


Es un lenguaje de etiquetas no predefinidas previamente, es decir, el programador es el
que las crea en cada caso. El XML ahorra tiempos de desarrollo y proporciona ventajas,
dotando a webs y a aplicaciones de una forma realmente potente de guardar la informacin.

Java Persistence API (JPA)


El Java Persistence API fue desarrollado por el grupo de expertos de EJB 3.0, aunque su
uso no se limita a los componentes software EJB. Tambin puede utilizarse directamente
en aplicaciones web y aplicaciones clientes; incluso fuera de la plataforma Java EE.

En su definicin, se han combinado ideas y conceptos de los principales frameworks de


persistencia como Hibernate, Toplink y JDO y de las versiones anteriores de EJB. Todos
estos cuentan actualmente con una implementacin JPA.

Framework Hibernate
Hibernate es una capa de persistencia objeto/relacional y un generador de sentencias SQL.
Permite disear objetos persistentes que podrn incluir polimorfismo, relaciones,
colecciones, y un gran nmero de tipos de datos. Hibernate ofrece tambin un lenguaje de
consulta de datos llamado HQL (Hibernate Query Language.
La seleccin de las herramientas y tecnologas para el desarrollo de un software debe estar
dada por el conocimiento que tenga el programador de las mismas.

Hoy en da se cuenta con muchsimas herramientas para el desarrollo de aplicaciones web


tanto de IDE, como de lenguajes o manejadores de BD.

Lenguajes de programacin
Java
es un lenguaje orientado a objetos desarrollado por Sun Microsystems. La programacin
en Java, permite el desarrollo de aplicaciones bajo el esquema de Cliente - Servidor, como
de aplicaciones distribuidas, lo que lo hace capaz de conectar dos o ms computadoras u
ordenadores, ejecutando tareas simultneamente, y de esta forma logra distribuir el trabajo
a realizar.

PHP
es un lenguaje de programacin de uso general de cdigo del lado del servidor
originalmente diseado para el desarrollo web de contenido dinmico. Fue uno de los
primeros lenguajes de programacin del lado del servidor que se podan incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que procese
los datos. El cdigo es interpretado por un servidor web con un mdulo de procesador de
PHP que genera la pgina Web resultante.

Tecnologas en la capa de negocios


Se clasifican en:
*Servidor de aplicaciones:
Usualmente se trata de un dispositivo de software que proporciona servicios de aplicacin
a las computadoras cliente.

*Herramientas:
Conjunto de programas informticos o utilidades que brindan la resolucin de una
determinada tarea.

Servidor de aplicaciones
JBoss
JBoss es un servidor de aplicaciones para Java. Es muy reconocido por ser de los primeros
servidores de aplicacin empresarial gratuito y open source. Al estar basado en Java, puede
ser utilizado en cualquier sistema operativo que lo soporte, ofreciendo una plataforma de
alto rendimiento para aplicaciones java, aplicaciones Web y Portales.

Enterprise Java Beans (EJB)


Es una plataforma para construir aplicaciones de negocio portables, escalables, y
reutilizables utilizando el lenguaje de programacin java. Permite a los desarrolladores
enfocarse en la lgica del negocio sin tener que emplear tiempo en la conformacin del
cdigo de la infraestructura.

Adobre Dreamweaver
Es una aplicacin en forma de estudio que est destinada a la construccin, diseo y edicin
de sitios, vdeos y aplicaciones Web basados en estndares. Creado inicialmente por
Macromedia (actualmente producido por Adobe Systems) es uno de los programas ms
utilizados en el sector del diseo y la programacin web, por sus funcionalidades, su
integracin con otras herramientas como Adobe Flash y, recientemente, por su soporte de
los estndares del World Wide Web Consortium.

Eclipse Ganymede
Es un entorno integrado (IDE) para desarrollo de aplicaciones con java. Est soportado por
IBM, es un proyecto open source, multiplataforma para desarrollar lo que el proyecto llama
"Aplicaciones de Cliente Enriquecido". Se est convirtiendo en el estndar de facto de los
entornos de desarrollo para Java.

PostgreSQL Server 8.3.


Es un potente gestor de cdigo abierto, ofrece servicios de control de concurrencia multi-
versin, soportando casi toda la sintaxis SQL (incluyendo subconsultas, transacciones,
tipos y funciones definidas por el usuario), contando tambin con un amplio conjunto de
enlaces con lenguajes de programacin (incluyendo C, C++, Java, Perl y Python). Es
extensible, brinda gran estabilidad y confiabilidad y es multiplataforma.

Existen dos enfoques en el desarrollo de aplicaciones web:


Creacin de webs con tecnologas de desarrollo
Creacin de webs con sistemas gestores de contenido.

Creacin de webs con tecnologa de desarrollo

Arquitecturas de aplicaciones web: una aplicacin web puede tener diferentes


arquitecturas. Esto Determina como se usan las diferentes tecnologas existentes
tecnologas de cliente: tecnologas que permiten crear interfaces de usuario atractivos y
permiten la comunicacin con el servidor .Basadas en HTML,CSS y JAVASCRIPT.
Tecnologas de servidor: Tecnologas que permiten implementar el comportamiento de la
aplicacin web en el servidor :lgica de negocios, generacin de informes ,compartir
informacin entre usuarios, envi de correos.

Base de datos :La gran mayora de las webs necesitan guardar informacin. Las bases de
datos son una parte esencial del desarrollo web.

Creacin de webs con sistemas gestores de contenido

Existen aplicaciones web cuya principal funcionalidad es la publicacin de contenido: blog,


pginas de empresa, organismos pblicos.

Todas estas webs tienen mucho en comn, prcticamente solo se diferencian en el


contenido y en el aspecto grfico. Para desarrollar
este tipo de webs, en vez de desarrollar la web con
tcnicas de desarrollo, se utiliza un software ya
desarrollado y se personaliza y adapta a las
necesidades.

A las aplicaciones de este tipo se las denomina


sistemas gestores de contenido(CMSs).

Administracin de sistemas

Internet y las aplicaciones web han hecho evolucionar la administracin de sistemas en


muchos aspectos.
Para que una aplicacin web funcione
necesidades que el sistema donde se
instale disponga de un servidor web y
habitualmente una base de datos. Como
la web tiene que estar disponible para los
usuarios de internet , habitualmente se
instala en sistemas que se alquilan a
terceros: alojamiento en la nube(cloud).

Como las aplicaciones web pueden tener un nmero muy grande de usuarios y tiene que
estar siempre disponibles, se utilizan tcnicas de escalabilidad y tolerancia a fallos.

HTTP : El Protocolo de transferencia de Hipertexto es un protocolo de


nivel de aplicacin del modelo OSI, aplicado para la comunicacin
cliente servidor en sistemas de World Widw Web.

FTP:es un protocolo de red para la transferencia


de archivos entre sistemas conectados a una red
TCP (Transmission Control Protocol), basado en
la arquitectura cliente-servidor.

SMTP: simple mail transfer protocol,


protocolo simple de transferencia de
correo, es un protocolo de la capa de
aplicacin. Protocolo de red basado en
texto utilizado para el intercambio de
mensajes de correo electrnico entre computadoras u otros dispositivos.

HTML5:Es un lenguaje para estructura y presentar el contenido de la World wide web , una
tecnologa clave de la internet.
SIVERLINGHT: Microsoft Silverlight es una estructura para
aplicaciones web que agrega nuevas funciones multimedia
como reproduccin de videos ,grficos vectoriales, e
interactividad, en forma similar a lo que hace Adobe Flash.

ASP: Tambin conocido como ASP clsico, es


una tecnologa de Microsoft del tipo "lado del
servidor" para pginas web generadas
dinmicamente que ha sido comercializada
como un anexo a internet informaation
services(lls).

CSS Grid Builder


Es un GUI (interfaz grfica de usuario) en lnea para
personalizar plantillas web con ligero CSS elaborado
por Yahoo! que viene con ms de 1000
combinaciones de diseo de pginas. La CSS Grid
Builder te permite generar una rpida web basada en CSS que soporta estndares de
diseo de pginas en cuestin de minutos (o incluso segundos). Una vez que tengas el
diseo de tu pgina solo tienes que pulsar Ver cdigo y se genera el HTML.
Por si fuera poco, ni siquiera debes colocar en tu servidor web el archivo CSS (esto permite
ahorrar ancho de banda y algunos problemas de mantenimiento), este ser respaldado en
los servidores de Yahoo!s Developer Network API.
El uso de CSS sprites es una excelente forma de mejorar el rendimiento de una pgina web
reduciendo el nmero de peticiones al protocolo HTTP necesarios para mostrar tus
imgenes, una tarea que requiere de mucha planificacin, medicin, codificacin y si se
hace manualmente.Generador CSS Sprite te permite cargar la totalidad de tus imgenes
pero antes debes subirlas comprimidas en un archivo .Zip mientras genera el CSS
necesario para tu sitio.

Blueprint Aplicacin para CSS


Blueprint es una aplicacin para hojas de estilos, que tiene por objeto reducir su tiempo en
el desarrollo CSS. Brinda una slida base CSS para construir tu proyecto con un simple
sistema de grilla, fcil uso de tipografas e incluso una hoja de estilos para impresin.

CSSTidy
CSSTidy es una aplicacin de cdigo abierto que analiza, fija y optimiza el cdigo CSS para
reducir el tamao del archivo y tambin para normalizar automticamente el formato de
cdigo CSS. Asimismo elimina los estilos y propiedades que considera redundante.

Puedes ajustar la configuracin de CSSTidy a tu nivel preferido de compresin, pero incluso


la configuracin por defecto te da el 30% de compresin de acuerdo con los creadores de
CSSTidy. Echa un vistazo a los antes y despus de ejemplos para tener una idea de cmo
funciona CSSTidy.

Logicss. Aplicacin para CSS


Logicss es una coleccin de archivos CSS y PHP utilidades destinadas a reducir el tiempo
de desarrollo web. Permite a los desarrolladores crear web personalizables fijas, elsticas
o fluidas (lquidos). Echa un vistazo a la vista previa de su herramienta para generacin de
cdigo CSS.

Layouts Aplicacin para CSS


Layouts es un sencillo simple Creador de CSS que puede ser usado para crear web, soporta
estndares de diseos de pgina. Layouts se inspir en Yahoo! s Grids CSS y ofrece 5
opciones predefinidas de anchos que soporta ancho tipo lquido o fijo.

Layouts tambin tiene una web basada en patrones prediseados que fue desarrollado para
el navegador Firefox. Precaucin: el diseo de patrones est todava en sus primeras
etapas de desarrollo, por lo que puede generar algunos errores.
Clean Ajax
Clean es un motor de cdigo abierto para AJAX que proporciona una interfaz de alto nivel
para trabajar con esta tecnologa.
Clean es un software basado en el buen uso de patrones de diseo e inspirados en el
servicio de mensajes de Java API que ofrece soluciones fiables para AJAX. Se pueden
utilizar con cualquier servidor de tecnologa, como PHP, RoR, y .NET porque es basado en
JavaScript

SAJAX
SAJAX (que significa Simple Ajax Toolkit) es un desarrollador de cdigo abierto para
acelerar la creacin de aplicaciones Ajax. Soporta los principales tecnologas como ASP,
Cold Fusion, PHP, Perl, Python y Ruby.
SAJAX tiene una gran comunidad de ms de 39000 usuarios registrados en sus foros por
si llegas a tener problemas mientras trabajas en cualquier parte del desarrollo de una
aplicacin basada SAJAX o si desea mostrar tu trabajo.

DOMTool:
DOMTool fue creado para reducir el tiempo que tarda el cdigo en estructuras DOM. DOM
tiene opciones tan simples como copiar su cdigo HTML en el DOMTool y a continuacin,
hacer clic en un botn.

JavaScript Code Improver:


JavaScript Code Improver es una simple aplicacin que permite rpidamente que puedas
ordenar tu formato de JavaScript. Es una gran ayuda para un equipo de desarrolladores
que deben normalizar el formato de cdigo JavaScript para facilitar su legibilidad y
colaboracin.

JSUnit:
JSUnit es una unidad de pruebas para JavaScript. La prueba de cdigo JavaScript en forma
manual es lento y propenso a errores, pero JSUnit proporciona al desarrollador una simple
y automatizada forma de hacer las pruebas para garantizar un cdigo eficiente.
JSUnit permite la ejecucin automtica de pruebas para varios navegadores y sistemas
operativos aunque tu no lo creas.

JavaScriptMVC:
El Test plugin para JavaScriptMVC es otra excelente ayuda para crear JavaScript y ayudar
a que el desarrollo sea ms rpido. El Test Plugin es un completo conjunto de utilidades
que te permite hacer una gran variedad de pruebas, as como simular la interaccin del
usuario en una pgina web.

Java
Es un lenguaje orientado a objetos desarrollado por Sun Microsystems. La programacin
en Java, permite el desarrollo de aplicaciones bajo el esquema de Cliente - Servidor, como
de aplicaciones distribuidas, lo que lo hace capaz de conectar dos o ms computadoras u
ordenadores, ejecutando tareas simultneamente, y de esta forma logra distribuir el trabajo
a realizar.

PHP
Es un lenguaje de programacin de uso general de cdigo del lado del servidor
originalmente diseado para el desarrollo web de contenido dinmico. Fue uno de los
primeros lenguajes de programacin del lado del servidor que se podan incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que procese
los datos. El cdigo es interpretado por un servidor web con un mdulo de procesador de
PHP que genera la pgina Web resultante.
Tecnologias en la capa de negocios
Se clasifican en:
*Servidor de aplicaciones:
Usualmente se trata de un dispositivo de software que proporciona servicios de aplicacin
a las computadoras cliente.
*Herramientas:
Conjunto de programas informaticos o utilidades que brindan la resolucin de una
determinada tarea.

Venkman:
Venkman es un entorno de depuracin de JavaScript para Firefox 2, Netscape y
Seamonkey. Tiene una interfaz grfica para el refuerzo a travs de cdigo JavaScript y la
posicin de puntos de ruptura.
Venkman es una extensin que se puede instalar fcilmente y descargar a travs del Firefox
Add-ons de Mozilla.org.

Firebug:
Firebug es una popular extensin de Mozilla Firefox que te da una gran cantidad de
herramientas de desarrollo web y caractersticas. Firebug ha incorporado un depurador de
JavaScript que te permite moverte por su cdigo as como permitir realizar puntos de
referencia para ver por qu el script es lento o dbil.
Se puede capturar rpidamente CSS, HTML, JavaScript, XML y los errores a travs de
Firebug, incluso te permite filtrar y buscar errores especficos. Es una herramienta
impresionante aunque a veces se debe desactivar Firebug para acelerar la navegacin
normal.

Servidor de aplicaciones
JBoss
JBoss es un servidor de aplicaciones para Java. Es muy reconocido por ser de los primeros
servidores de aplicacin empresarial gratuito y open source. Al estar basado en Java, puede
ser utilizado en cualquier sistema operativo que lo soporte, ofreciendo una plataforma de
alto rendimiento para aplicaciones java, aplicaciones Web y Portales.

Enterprise Java Beans (EJB)


Es una plataforma para construir aplicaciones de negocio portables, escalables, y
reutilizables utilizando el lenguaje de programacin java. Permite a los desarrolladores
enfocarse en la lgica del negocio sin tener que emplear tiempo en la conformacin del
cdigo de la infraestructura.

HTTP

Hypertext Transfer Protocol o HTTP (en espaol protocolo de transferencia de hipertexto) es el


protocolo usado en cada transaccin de la World Wide Web. HTTP fue desarrollado por el World
Wide Web Consortium y la Internet Engineering Task Force, colaboracin que culmin en 1999 con
la publicacin de una serie de RFC, el ms importante de ellos es el RFC 2616 que especifica la
versin 1.1.

FTP

FTP (siglas en ingls de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en


informtica, es un protocolo de red para la transferencia de archivos entre sistemas conectados a
una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un
equipo cliente se puede conectar a un servidor para descargar archivos desde l o para enviarle
archivos, independientemente del sistema operativo utilizado en cada equipo.

SMTP

El Simple Mail Transfer Protocol (SMTP) (Protocolo para la transferencia simple de correo
electrnico), es un protocolo de la capa de aplicacin. Protocolo de red basado en texto, utilizado
para el intercambio de mensajes de correo electrnico entre computadoras u otros dispositivos
(PDA, telfonos mviles, etc.). Est definido en el RFC 2821 y es un estndar oficial de Internet.
HTML5

HTML5 (HyperText Markup Language, versin 5) es la quinta revisin importante del lenguaje
bsico de la World Wide Web, HTML. HTML5 especifica dos variantes de sintaxis para HTML: un
clsico HTML (text/html), la variante conocida como HTML5 y una variante XHTML conocida
como sintaxis XHTML5 que deber ser servida como XML (XHTML) (application/xhtml+xml).1 2
Esta es la primera vez que HTML y XHTML se han desarrollado en paralelo.

RIA

Las rich Internet applications, o RIA (en espaol "aplicaciones de Internet enriquecidas"), son
aplicaciones web que tienen la mayora de las caractersticas de las aplicaciones de escritorio
tradicionales. Estas aplicaciones utilizan un navegador web estandarizado para ejecutarse y por
medio de complementos o mediante una mquina virtual se agregan las caractersticas
adicionales. Las RIA surgen como una combinacin de las ventajas que ofrecen las aplicaciones
web y las aplicaciones tradicionales. Buscan mejorar la experiencia y productividad del usuario.
SilverLight

Microsoft Silverlight es una estructura para aplicaciones web que agrega nuevas funciones
multimedia como la reproduccin de vdeos, grficos vectoriales, animaciones e interactividad, en
forma similar a lo que hace Adobe Flash. Silverlight compite con Adobe Flex, JavaFX, OpenLaszlo y
algunas presentaciones de componentes AJAX. La primera versin de Silverlight fue lanzada en
septiembre de 2007 y actualmente su versin 5.0 se distribuye de forma gratuita.

ASP

Son aplicacions web que tienen la mayoria de las caracteristicas de las aplicaciones de escritorio
tradicionales. Estas aplicaciones utilizaban un navegador web estandarzado para ejecurase y por
medio de complementos o mediante una maquina virtual se agregan las caracteristicas
adicionales.
PHP

PHP es un lenguaje de programacin de uso general de script del lado del servidor originalmente
diseado para el desarrollo web de contenido dinmico. Fue uno de los primeros lenguajes de
programacin del lado del servidor que se podan incorporar directamente en el documento HTML
en lugar de llamar a un archivo externo que procese los datos. El cdigo es interpretado por un
servidor web con un mdulo de procesador de PHP que genera la pgina Web resultante. PHP ha
evolucionado por lo que ahora incluye tambin una interfaz de lnea de comandos que puede ser
usada en aplicaciones grficasindependientes. PHP puede ser usado en la mayora de los
servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningn costo.

JavaServer Pages (JSP)

aServer Pages (JSP) es una tecnologa que ayuda a los desarrolladores de software a crear pginas
web dinmicas basadas en HTML, XML entre otros tipos de documentos. JSP es similar a PHP pero
usa el lenguaje de programacin Java

You might also like