Como Delgado menciona, lo importante es el diseño de tu arquitectura, y las
interfaces estandar que expongas en tu aplicacion.

--- Delgado Vite Wilfredo <[EMAIL PROTECTED]> wrote:

> Interesante ... aunque debes tomar en cuenta la dimensi�n de los
> desarrollos, no s�lo se trabaja con lenguajes orientados a objetos. 
> 
> La arquitectura J2EE se usa porque todas las aplicaciones son distribuidas y
> con accesos mediante

Esto no es un atributo exclusivo de las J2EE, ya las aplicaciones que usaban
CORBA, JINI, y otros tenian las caracteristicas de distribuidas.

> - Aplicativos WEB
> - Aplicativos Cliente - Servidor

Originalment J2EE solo soportaba esto, luego gano las dos caracteristicas
siguientes.

> - Aplicativos WAP
> - Web Services

En particular la ultima permite un desacoplamiento mas flexible y robusto, de
manera que puedes generar SOAs (Service Oriented Arquitectures), y no es
exclusivo de J2EE, por ejemplo el Globus Toolkit de la OGSA lo usa ahora para
la implementacion de sus modulos de manejo de Grids computacionales.

> Para el caso de los desarrollos WEB, los desarrollos se hacen en JAVA y se
> basan en el uso de componentes

O en Python, Ruby, Perl, PHP, etc. El desarollo de web apps no es exclusivo en
Java, y el lenguaje no es lo que les da escalabilidad, es la eleccion de los
protocolos, formatos y estandares de comunicacion, persistencia, etc. lo que
asegura la robustez del producto. Solo por que sean en Java no asegura que se
produzca algo bueno, hay mucho mal codigo en Java incluso en apps comerciales.

Esto se ve reflejado en porpuestas como JSR 223, en el cual se busca ya no usar
JSP sino otros scripting engines, en el caso ejemplo de la propuesta (que ya
tiene implementaciones de referencia y comerciales, la ultima de IBM) se
muestra PHP como front-end.

> Por diferentes motivos (est�ndares, seguridad, escalabilidad, rendimiento),
> los aplicativos corren en varios servidores 
> 
> Cada aplicativo tiene esta estructura 
> 
>    HTML     + (JSP + Servlets) + (Componentes) +     (BD)
> 1 Server    +     1 Server     +   n Server    +    n Server 
> 
> Todos estos componentes deben correr de manera sincronizada. 

Esto no es cierto, no hay necesidad estricta de sincronia de interaccion entre
componentes. Eso crea un acoplamiento muy estricto entre las capas, lo cual es
contraproducente. Es por eso que existen, en el mundo de Java, cosas como JMS
(Java Messaging Services), y vario estandares de acceso asincronico en Web
Services. Lo importante es las interfaces entre las capas y el contrato de
interaccion expuesta por cada una.

Por ejemplo, en una aplicacion en la cual se tiene que mandar a hacer un
computo complejo en el back-end, no puedes esperar que el cliente espere por la
duracion del proceso, eso se hace en forma asincronica y existen multiples
modos de hacerlo.

> El tema no es el lenguaje que se va a usar .. sino la arquitectura donde se
> va a ejecutar.

Exactamente, y no te olvides que el diseño y la eleccion de las tecnologias de
implementacion son tambien importantes, pues estas dictaran la posible
escalabilidad de la aplicacion. Algo critico para algunas aplicaciones basadas
en web.

Saludos.

--
Jesus M. Castagnetto ([EMAIL PROTECTED])
Web site: http://www.castagnetto.org/
Research: http://metallo.scripps.edu/
PEAR stuff: http://pear.php.net/user/jmcastagnetto

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
_______________________________________________
Linux-plug mailing list
[email protected]
http://www.linux.org.pe/cgi-bin/mailman/listinfo/linux-plug

Responder a