Identificarte

Versión Completa : Opinion arquitectura proyecto J2EE


Sponsored links
.




teckloide
octubre 10, 2007, 04:31
buenas a todos los foreros!!
Es mi primer post en este foro y quisiera consultar la opinión de los expertos en J2EE sobre un par de dudas que tengo en la arquitectura que estoy empleando en un proyecto.
El contexto es el siguiente : trabajo en un Hospital bastante grande , en el que se están usando sistemas programados en Oracle Forms para Oracle 7.3.4 db , dentro de una máquina Unix que tiene 15 años de antigüedad ( ya se imaginarán los sahumerios y mandas que hay que hacer para que no se caiga .... tanto) . el punto es que me contrataron junto a una compañera para reemplazar estos sistemas de admisión por tecnologías mas modernas Java/.NET .
Para ésto ya hemos desarrollado algunas aplicaciones , pero tengo ciertas dudas respecto de la arquitectura que se ha elegido , no porque no funcione (ya está probada y funciona bien de momento) , sino por lo "exótica" de la combinación.
El hospital tiene alrededor de 200-300 usuarios conectados por terminal server a los Oracle Forms , y generando todo el flujo de atención a los clientes. Además ha invertido mucho dinero en comprar un par de herramientas de software , la primera orientada a la gestión clínica y que poseen módulos de desarrollo propios , java por supuesto (se llama E-Health Solutions y trabaja con Oracle 10g), y la segunda es un motor de integración de sistemas que grandes rasgos es un workflow que permite automatizar traspaso de datos entra bases de datos , archivos o lo que quieras mediante el diseño asistido de actividades y reacciones (se llama Tycon-Bizuit y esta basado en Windows Workflow Foundation y SQL-Server standard) .
Hemos desarrollado las aplicaciones de la siguiente forma :
- Capa web y de autentificacion hecha en jsp/servlets
- una vez autentificado el usuario identifica el/los programas a los que quiere acceder los cuales son aplicaciones Java (JFrames) lanzados desde applets embebido en los JSP's de la capa de autentificacion.
- Estas aplicaciones Java se comunican con un servidor de aplicaciones Tomcat mediante llamadas a Web services Axis , que actúan como fachada para las peticiones de los Applets/JFrames.
- Los Web Services se comunican con la base de datos mediante POJO's Hibernate a un schema Oracle 10g (la misma BD de E-Health Solutions).
- la capa web de autentificacion esta en un servidor Linux+Tomcat+MySQL y los applet's , Web Services e Hibernate y Oracle 10g están en otro servidor , Windows 2003 Server .
- los web services son necesarios desde el punto de vista que el motor de integración está basado en XAML (Prontamente BPEL) y en algún momento se puede llegar a la orquestacion de servicios , además de que puede que Clientes de otros establecimientos escritos en otras plataformas quieran integrarsenos .

Ahora , la gran pregunta es : Alguien ha diseñado algún sistema en java usando la arquitectura que menciono (applet-->axis-->hibernate-->oracle10g)???? , y si lo ha hecho , que tal ha sido el desempeño con el orden de 200 - 300 usuarios concurrentes , que es mi mayor miedo orque por ahora solo tenemos 30 .
Desde ya , gracias por su tiempo y por su opinion , cualquier crítica constructiva se agradecerá !!!

Rachmaninov
octubre 10, 2007, 04:54
Bueno te menciono unas recomendaciones:


No usar J2EE, sino la nueva especificación JavaEE. Cumplida esta recomiendación, aplican las siguientes.
No emplear Applet, en lugar usar JWS (Java Web Start) para las aplicaciones clientes.
No usar Hibernate, sino JDBC directo.

teckloide
octubre 10, 2007, 09:30
Gracias por las recomendaciones Rachmaninov (excelente compositor , por cierto) ... respecto de la primera , estoy estudiando la especificacion detenidamente ... respecto de usar Java Web Start para las aplicaciones también lo habíamos considerado pero existe un requerimiento adicional , tengo entendido que para ejecutar las aplicaciones se debe configurar un archivo jnlp basado en xml ... pero necesito entregar algunos parámetros en tiempo de ejecución como el ID de la sesión para hacer comprobaciones de seguridad , y eso me lo permite el applet . En lo de cambiar Hibernate por JDBC directo tienes mucha razón ... está planificado para un tiempo mas , pero el tiempo de desarrollo es poco y lo más rápido es abstraerme del SQL para ganar tiempo . un Abrazo !!

Rachmaninov
octubre 11, 2007, 10:37
Lo del archivo JNLP no es estrictamente necesario, servidores de vanguardia ya lo generan al vuelo a partir de la aplicación cliente. Los asuntos de seguridad también son manejados automáticamente por el contenedor, asi que esos asuntos de seguridad tampoco significan problema alguno.

Si no considera usar SQL directo, por diversas razones (el tiempo de desarrollo es buen argumento), entonces le recomiendo que use EJB Entities 3, pero no Hibernate, así su aplicación estará empleando la especificación. De hecho una implementación posible de Entities EJB 3 es Hibernate, pero eso es un detalle de implementación, Ud use Entities y después lo conecta con Toplink, Hibernate o cualquier existente.

teckloide
octubre 17, 2007, 09:29
rachmaninov , podrías darme mas luces de aquellos servidores o funcionalidades que generan jnlp's "al vuelo"?? . un abrazo!!

Rachmaninov
octubre 17, 2007, 09:37
rachmaninov , podrías darme mas luces de aquellos servidores o funcionalidades que generan jnlp's "al vuelo"?? . un abrazo!!

Una alternativa vanguardista JavaEE es la última versión de Sun Application Sever (alias Glassfish). Es Open Source además.