Resumen Mod 07
Resumen Mod 07
Resumen Mod 07
AJAX JAVA
Introducción a AJAX
Conceptos Generales
El fenómeno AJAX ha generado la aparición de un gran número utilidades orientadas a facilitar
la utilización de esta nueva tecnología. Dichas utilidades han sido agrupadas en dos grandes
categorías: Librerías y Frameworks.
Dichas utilidades han sido estandarizadas en cierta medida con la aparición de los patrones de
Ajax. En la lista inicial de utilidades, aparecían unos 20 productos orientados a diferentes
tecnologías pero la mayoría orientada a un entorno lineal (línea de comando). La gran
evolución de AJAX ha permitido la aparición de alrededor de 160 productos actualmente
orientados a diversas tecnologías con JAVA o .NET.
Tomcat
http://www.osmosislatina.com/tomcat/instalacion.htm
http://www.desarrolloweb.com/articulos/1613.php
http://www.alu.ua.es/j/jhm/cocoon/install1.htm
Instalación de JBoss
http://javaejb.osmosislatina.com/jboss_windows.htm
http://www.osmosislatina.com/jboss/instalacion.htm
Tenemos que tener presente que estamos trabajando en un entorno como el que aparece en la
gráfica siguiente:
2
Introducción a AJAX
Librerías JavaScript
Desde hace bastante tiempo , la comunidad AJAX ha optado facilitar el acceso a esta nueva
tecnología y ha desarrollado una serie de librerías en Javascript y Frameworks para poder
realizar implementaciones de código de una forma mucho mas rápida y cómoda que su
implementación manual.
ProtoType
Es la librería Javascript más popular utilizada en AJAX, creada por Sam Stephenson. Librería
de bajo nivel, que resuelve muchos de los problemas de compatibilidad entre navegadores y
que da soporte a otras librerías de efectos.
Se destaca como una librería fácil de usar y muy agradable para el desarrollador. Los pasos de
configuración son bastante básicos, únicamente tendremos que declarar la inclusión de nuestro
fichero prototype.js en el <head></head> de nuestra aplicación.
3
Introducción a AJAX
<html>
<head>
<title>Mi Primer AJAX con Prototype</title>
<script src="prototype.js"
type="text/javascript"></script>
function respuesta(Objetoajax)
{ $("destino").innerHTML =
Objetoajax.responseText; }
</script>
</head>
<body>
</div>
</body>
</html>
Script.aculo.us
Es una librería Javascript que permite el uso de controles AJAX, Arrastre y Suelte (drag and
drop) y otros efectos visuales en una página WEB. Creada por Thomas Fuchs.
Su ocupación está alrededor de 76k, comparada con otras librerías es “pesada” pero es muy
completa. Se utiliza normalmente para construir aplicaciones Web 2.0 compatibles con los
principales navegadores.
NOTA: En este ejemplo se muestra un uso muy sencillo de los efectos que se pueden obtener
con esta librería; necesitamos incorporar unas librerías y disponer de 4 imágenes para que
vayan siendo mostradas. También necesitamos disponer de una CSS creada dentro del
código.
4
Introducción a AJAX
<html>
<head>
<title>Ejemplo de efectos con script.aculo.us</title>
<script src="js/prototype.js"
type="text/javascript"></script>
<script src="js/scriptaculous.js"
type="text/javascript"></script>
<script src="js/simple-slide-show.js"
type="text/javascript"></script>
<style>
#slide-images{
position:relative;
display:block;
margin:0px;
padding:0px;
width:400px;
height:300px;
overflow:hidden;
}
#slide-images li{
position:absolute;
display:block;
list-style-type:none;
margin:0px;
padding:0px;
background-color:#FFFFFF;
}
#slide-images li img{
display:block;
background-color:#FFFFFF;
}
</style>
</head>
<body>
<div id="slide-show">
<ul id="slide-images">
<li><img src="images/one.jpg" alt="One" title="One" /></li>
<li><img src="images/two.jpg" alt="Two" title="Two" /></li>
<li><img src="images/three.jpg" alt="Three" title="Three"
/></li>
<li><img src="images/four.jpg" alt="Four" title="Four"
/></li>
</ul>
</div>
</body>
</html>
Dojo
Es un toolkit (Conjunto de herramienta) OPEN SOURCE escrito en javascript compuesto por un
conjunto de librerías creadas en imitación al estilo java cuyo principal objetivo es la abstracción
del desarrollador con el lenguaje de programación y sus inconvenientes en diversos
navegadores.
5
Introducción a AJAX
<html>
<head><title>Hola Mundo Ajax con DOJO</title>
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.Button");
dojo.require("dojo.event.*");
function saludo() {
alert('Hola Mundo Ajax Con DOJO!!!');
}
function init() {
var botonSaludo = dojo.widget.byId('botonSaludo');
dojo.event.connect(botonSaludo, 'onClick', 'saludo')
}
dojo.addOnLoad(init);
</script>
</head>
<body>
<body>
</body>
</html>
Todos los componentes de YUI han sido liberados como OPEN SOURCE bajo licencia BSD y
son libres para todos los usos. Destaca entre otros sus widget: Rich Text Editor (beta), Base
CSS, ImageLoader Utility (experimental)
<html>
<head>
6
Introducción a AJAX
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1" />
<style type="text/css">
body {
margin:0;
padding:0;
}
</style>
<link rel="stylesheet" type="text/css"
href="yui/build/fonts/fonts-min.css?_yuiversion=2.4.0" />
<link rel="stylesheet" type="text/css"
href="yui/build/tabview/assets/skins/sam/tabview.css?_yuive
rsion=2.4.0" />
</head>
<body class=" yui-skin-sam">
<h1>Probando las Pestañas Múltiples con YUI</h1>
<div class="ejemplo">
</div>
<div id="ejemplo" class="yui-navset">
<ul class="yui-nav">
<li class="selected"><a href="#pest1"><em>Pestaña
1</em></a></li>
<li><a href="#pest2"><em>Pestaña 2</em></a></li>
<li><a href="#pest3"><em>Pestaña 3</em></a></li>
</ul>
<div class="yui-content">
<div id="pest1"><p>Contenido de la Pestaña
1</p></div>
<div id="pest2"><p>Contenido de la Pestaña
2</p></div>
<div id="pest3"><p>Contenido de la Pestaña
3</p></div>
</div>
</div>
<script>
(function() {
var tabView = new YAHOO.widget.TabView('ejemplo'); } )
();
</script>
</body> </html>
JQuery
Librería de Javascript de tamaño reducido pensada para interactuar con los elementos web de
una manera sencilla y práctica.
7
Introducción a AJAX
Xajax
Librería desarrollada en Javascript orientado al trabajo en AJAX con PHP. Uno de sus puntos
fuertes es definir qué funciones de código PHP se convierten en funciones AJAX.
Dispone de abundante y muy buena documentación y ejemplos. El único inconveniente es
conocer el lenguaje PHP para incorporarla correctamente y utilizarla al 100%.
Su sencillez de programación y ser gratuita y de código abierto, ha hecho que esta librería esté
en auge. Permite una serie de efectos como el “drag and Drop”, animaciones, efecto acordeón
con varios DIV anidados y algunos otros más.
Ajax y Java
Todas las librerías de javascript vistas anteriormente trabajan en el cliente, también llamado
“Lado Cliente”. Todas las peticiones que se realiza mediante AJAX deben de ser tratadas y
respondidas desde el Servidor “Lado Servidor”.
Los Frameworks son las herramientas usadas para dar respuesta a estas peticiones de una
manera clara, sencilla y “casi” transparente para el desarrollador. Los frameworks
referenciados trabajan con JAVA, por lo que el entorno de trabajo deberemos disponer de un
Servidor de Aplicaciones que sustente dicha tecnología como puede ser: WebSphere, Oracle
Application Server, WebLogic, EAServer, Jboss (free), comentados anteriormente.
Todos los entornos que trabajan con AJAX y JAVA comprenden dos partes principales:
- Una librería Javascript ejecutándose en el navegador que envía las peticiones y que
permite fácilmente actualizar la página web con la información recuperada.
8
Introducción a AJAX
JMaki
Es una framework que te permite crear aplicaciones web con AJAX utilizando Java, JSP (Java
Server Page, es la tecnología para generar páginas web de forma dinámica en el servidor),
PHP, JSF (Java Server Faces)
JMaki dispone de muchos widgets propios y de otras librerías como Dojo, Yui, script.aculo, con
un interface de programación único para todos y para todas las librerías.
- Clases Java que permiten al código javascript poder recuperar datos usando AJAX.
A pesar de tener una interface muy amigable y rica, el único inconveniente que presenta es la
no compatibilidad con todos los navegadores actuales.
La característica más importante de GWT es que es compatible con todos los navegadores por
lo que no dependemos del navegador donde hacemos las pruebas de desarrollo de la
aplicación.
Echo2
Es un framework basado en su antecesor Echo Web Framework. Permite el desarrollo de
aplicaciones Java usando AJAX en web 2.0
Framework OPEN SOURCE bajo licencia GNU LGPL. Permite la creación de forma automática
de HTML y Javascript, gestión de mensajes XML entre el cliente y el servidor.
9
Introducción a AJAX
Implementaciones Remotas
¿Qué Son las implementaciones Remotas?
Esencialmente, las implementaciones remotas (Remote Scripting) son la forma de permitir que
el código JavaScript del lado del cliente solicite datos del servidor sin necesidad de recargar la
página web.
Ejemplo de ello tenemos,la creación de una lista de palabras para seleccionar ( Google
Suggest ), o podría implicar la creación de una aplicación o interfce mas compleja con
posibilidades de navegación y de obtención de imágenes (map.search )
Se dispone ya de un patrón de diseño para hacer este tipo de operaciones (Web Remoting).
- Estándar XML-RPC.
Es un protocolo de llamada remota que utiliza datos XML y utiliza el
protocolo HTTP para su transmisión.
Es el antecesor de SOAP (Simple Object Access Protocol. Es un protocolo
que define la comunicación entre dos objetos en diferentes procesos por medio de
intercambio de datos XML. )
Wrappers
10
Introducción a AJAX
En nuestro ámbito un wrapper se podría definir como un código encapsulado en Java que
ofrece funcionalidades para ser utilizadas en AJAX. Esto es usado en muchísimas utilidades y
la mayoría de los frameworks los utilizan y los integran.
Por ejemplo, podríamos crear una clase java que envolviese (wrapper) las funcionalidades de
cada navegador para así ser totalmente transparente en su utilización posterior.
El software libre suele estar disponible gratuitamente aunque también se puede cobrar por su
distribución, no así por su contenido. Hay veces que nos encontramos con aplicaciones
denominadas “Software Libre” y nos están cobrando por ello y no hay que asociar software
libre a "software gratuito" (denominado habitualmente freeware).
Actualmente existen muchas formas de indicar el tipo de características que tiene un producto
o aplicación en referencia a su modificación, distribución, utilización, etc…lo más habitual es la
utilización de Licencias de tipos específicos para ello, como por ejemplo:
GNU (Gnu No es Unix). Desarrolla un sistema operativo tipo Unix completo, con la
principal propiedad de ser Software Libre).
11
Introducción a AJAX
Tipo de Licencia
MIT ProtoType, Script.aculo.us, JQuery
GPL y LGPL JQuery, Xajax, Echo2
BSD Dojo, YUI, JMaki
ASL Rico, DWR, GWT
12