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
