J2EE (Solo expertos)

Sip, estas en lo cierto

El_Rulas dijo:
Mr. Megavolt, je je ... es que es normal, los temas especializados son los menos atendidos a veces, pero vaya y vea foros donde preguntan pendejadas, ó temas ambiguos como: ¿Cuál es el más ....? ¿Cuál es el mejor ....? ... dónde cualquiera puede meter la cuchareta, están tetiados de posts. Temas avanzados y especializados como el de ese foro que creaste (que por cierto, no lo había visto, quizas porque bajó rápido y casí nunca miro páginas posteriores), son temas que requieren gente que sepa de verdad del tema, aquí no se puede decir "Yo creo", "Yo pienso", "Pude que sea ..." ... entonces pailas, su tema es muy avanzado y no da lugar a escribir payasadas. Por ejemplo: yo no sé de ese tema tan importante.

Si aveces es dificil llevar a cabo este tipo de discusiones, espero que esta discusion de J2EE prospere satisfactoriamente :), Y hablando de eso... una pregunta puntual.... Aplicaciones Java Script tipo AJAX (Asynchronous Java Script and XML), (porque J2EE tambien da un espacio para los scripters), su desarrollo es excelente y la funcionalidad genial... pero solo soporta exploradores nuevos.... no veo como validar el uso de la tecnologia si por ejemplo en una aplicacion tipo portal no todos mis usuarios van a poder verla.... en que momento se le puede exigir al usuario que se actualice para que vea los contenidos de un lugar que en principio puede parecerle poco atractivo.
 
Que características estás usando de AJAX? .... hay características como el "Autocomplete" que tiene Google que ya es un estándar Javascript y hay browsers como Opera que no lo soportan sino hasta la versión 8.0.

Sin embargo, para propósitos de aplicaciones Web yo te recomiendo Firefox 1.0 e Internet Explorer, concentrado en estos dos browsers abarcas mercado Linux, Windows y MacOS. Y además soportan características avanzadas de Scripts.
 
Ese es el problema eterno... no todos los browser se comportan igual...

El Firefox es el mejor...... pero igual hay que hacer que todo funcione en explorer, por ser el mas utilizado....
 
Hablando del tema, conocen un debugger decente para javascript en iexplorer... sufro creando scripts tipo ajax corriendolos genial en firefox con su debugger mientras ando rezando para que cuadren en el explorer...
 
Creo que es muy dificil de encontrar... al menos uno por el que no cobren..........

Es una dificil tarea... pero si encuentra se lo recomiendo;;;::::::: pues me gustaria tambien encontrar uno***
 
De todos modos uno puede programar en Firefox y hacer las depuraciones allá, si uno conoce la especificación Javascript y la usa tal cual, los riesgos de que algo falle es mínimo. Por ejemplo, la especificación dice: "usar el atributo ID para referencias los objetos por getElementById", sin embargo como Internet Explorer permite usar el mismo atributo NAME como ID mucha gente comete el error de hacer:

<input type="text" name="NombreCampo" value="Algún valor"/>

Lo correcto y estándar es:

<input type="text" name="NombreCampo" id="NombreCampo" value="Algún valor"/>

Haciendo lo correcto: getElementById nos funciona en todo lado.

De cosas como esta, muchos programadores no nos percatamos, y despues maldecimos por la compatibilidad, pero sucede que no estamos leyendo la biblia de la religión JavaScript, y aún así pretendemos llegar al cielo.

Mr Megavolt, interesante que uses AJAX ! ... esto te reducira el trafico de datos hasta en un 50%, una aplicación importanticima que veo en esa tecnología (y que el grupo Google la entendió de inmediato) es que uno puede transportar estrictamente el contenido de datos, y ahorrarse mandar la página completa en cada response, llamese mensaje de error, operación exitosa, etc ...
 
Disculpen me intrometo, solo queria felicitarlos por este foro, en verdad en este tipo de foros es donde una realmente aprende y se da cuenta cuan atrazado esta, y como dijo El_Rulas, si muchos no partcipamos no es que no nos interese, sino que todabia no programamos a ese nivel.
 
A los tesos de java les tengo una consulta.

Soy desarrollador de soluciones en .Net, pero los proyectos de .net en mi empresa finalizan aproximadamente en 1 mes y allí entro a un nuevo proyecto que se va a realizar en java, no se muy bien de que se trata el mismo, pero, si se que es orientado a la web, entonces necesito de ustedes que sabes las siguientes recomendaciones:

1. IDE recomendado
2. Mejores Practicas
3. Recursos

Todo lo anterior orientado a nivel empresarial.


Saludos,

Víctor Manuel Velásquez C.
Microsoft Certified Professional
Instructor .NET 3 Estrellas
Analista de Desarrollo PSL - Productora de software S.A
Medellin, Colombia Latin America
 
Viejo esto es J2EE, vayase a un foro llamado "foro oficial de java", los temas para los que inician en Java se tratan alla.

Suerte.

PD: Sin embargo puedes mirar el primer post de este foro, hay tendras unas sugerencias a un nivel más avanzado.
 
Estos son un par de artículos muy interesantes que me encontré en el portal de "Java en Castellano"

Master J2EE Paso 1

Master J2EE Paso 2

En total son 12 pasos... para que los tengan en cuenta.

Precisamente me gustó mucho la parte donde tratan el postulado de Ben Galbraith, denominado el 'Principio de Incertidumbre del Marco de Trabajo Java': "Tan pronto como decides utilizar un marco de trabajo, sale una nueva versión de otro marco de trabajo, así una y otra vez".

Interesante.
 
Buen dato Lucho, - reading now - ...

Hablando de información, hay un libro excelente, que no se arrepentirán de comprar, ó bien, conseguir el PDF. Se llama "Expert One-on-One J2EE Design and Development" de la serie Wrox, eso es para leerselo de PA' A PE' !
 
Felicitaciones por este foro. No había vuelto a Laneros desde hace rato (y aunque va a sonar muy chocante lo que voy a decir) porque me perecía que los temas de programación eran demasiado coquitos. Ahora se están tomando en serio el nombre del foro "Programación y Diseño de Software". Excelente.

Mis dos centavos:

Después de varias experiencias en proyectos grandes, medianos y pequeños, mi opinión es que Struts complica demasiado la vida para las aplicaciones empresariales que necesitamos en el país. Ahora he logrado que los desarrolladores utilicen un framework basado en MVC *MUY* simple y resultan construyendo más y mejor código.

Los mismo aplica para los frameworks de persistencia: Evitese complicaciones. En ambientes empresariales el 60% de la lógica del negocio existe hoy y está en StoredProcedures. Reutilícelos implementando DAOs sencillos y evítese la molestia de las herramientas ORM (Hibernate, TopLink, Entity EJB, etc).

Después de un buen diseño, las pruebas son el aspecto más crítico para que una aplicación empresarial sea exitosa. Las pruebas se pueden dividir en tres: Pruebas funcionales, pruebas integración y pruebas de estrés. Para mi, como arquitecto, las pruebas más críticas que indican el éxito del sistema son las dos últimas: qué tan bien se integra el sistema al entorno empresarial y qué tan bien soporta la carga el sistema y logra escalar.
 
No creo del todo mouffetard:

1. ¿Cómo haces para el controller? ó ¿qué patrón aplicas para esa parte?
2. Por lo menos usarás alguna API de taglibs, digamos JSTL ... ó te vas de scriplets limpio? for, while, if ventiao?
3. La idea de los store procedures para procesos críticos: consecutivos y vainas por el estilo, pero ¿casarse de una con la base de datos? ...
4. Las tres pruebas son indispensables, igual de valiosas en una aplicación enterprise, que tal si aguanta 5 millones de usuarios concurrentes y no funciona un carajo :( (Claro que el rol de arquitecto encuentra más atractiva las dos últimas, es su función, el aspecto no funcional).
 
Para los que ya están usando AJAX, una preguntica: están usando algún framework que simplifique la tarea de escribir los JS, lo que llaman el "AJAX engine", o están haciendo todo "from scratch"? Qué opciones opensource hay y cuál recomiendan?
 
mouffetard dijo:
Felicitaciones por este foro. No había vuelto a Laneros desde hace rato (y aunque va a sonar muy chocante lo que voy a decir) porque me perecía que los temas de programación eran demasiado coquitos. Ahora se están tomando en serio el nombre del foro "Programación y Diseño de Software". Excelente.

Mis dos centavos:

Después de varias experiencias en proyectos grandes, medianos y pequeños, mi opinión es que Struts complica demasiado la vida para las aplicaciones empresariales que necesitamos en el país. Ahora he logrado que los desarrolladores utilicen un framework basado en MVC *MUY* simple y resultan construyendo más y mejor código.

Los mismo aplica para los frameworks de persistencia: Evitese complicaciones. En ambientes empresariales el 60% de la lógica del negocio existe hoy y está en StoredProcedures. Reutilícelos implementando DAOs sencillos y evítese la molestia de las herramientas ORM (Hibernate, TopLink, Entity EJB, etc).

Después de un buen diseño, las pruebas son el aspecto más crítico para que una aplicación empresarial sea exitosa. Las pruebas se pueden dividir en tres: Pruebas funcionales, pruebas integración y pruebas de estrés. Para mi, como arquitecto, las pruebas más críticas que indican el éxito del sistema son las dos últimas: qué tan bien se integra el sistema al entorno empresarial y qué tan bien soporta la carga el sistema y logra escalar.

Creo que estoy en parte de acuerdo con lo que dice El_Rulas... Aunque estoy de acuerdo en que Struts es un poco complicado... pero por lo menos por el lado de la persistencia no estoy de acuerdo... Al utilizar Spring con Hibernate esto no llega nunca a ser una molestia, cuando se aprende a manejar se hacen cosas muy buenas y rapido.. teniendo codigo reutilizable y muy modular... ademas con la ventaja que si quiero puedo hacer una migracion de motor de bases de datos practicamente sin inconvenientes.

Yo se que es cierto que ya hay muchas cosas hechas y que funcionan... y lo hacen sin este tipo de cosas... pero eso no implica que no se puedan mejorar.. o cambiar el rumbo de estas... Aunque en algunas ocasiones estoy de acuerdo con que lo que esta funcionando no se debe tocar... no es en el 100% de los casos... Muchas veces las cosas deben re-hacerse para tener un mejor desempeño... etc. y creo que es una practica que se deberia usar mas amenudo en algunos casos donde no se toca lo que se tiene por muchos factores.. pero puede ser bueno...

Y por ultimo una pregunta...
cuando dices
mouffetard dijo:
Ahora he logrado que los desarrolladores utilicen un framework basado en MVC *MUY* simple y resultan construyendo más y mejor código.
Cual es ese framework *MUY* simple?? y porque es *MUY*?????
Gracias.....
 
will_23 dijo:
....

Yo se que es cierto que ya hay muchas cosas hechas y que funcionan... y lo hacen sin este tipo de cosas... pero eso no implica que no se puedan mejorar.. o cambiar el rumbo de estas... Aunque en algunas ocasiones estoy de acuerdo con que lo que esta funcionando no se debe tocar... no es en el 100% de los casos... Muchas veces las cosas deben re-hacerse para tener un mejor desempeño... etc. y creo que es una practica que se deberia usar mas amenudo en algunos casos donde no se toca lo que se tiene por muchos factores.. pero puede ser bueno...

Y por ultimo una pregunta...
cuando dices

Cual es ese framework *MUY* simple?? y porque es *MUY*?????
Gracias.....

Cobol también funciona, y los archivos planos, y no por eso voy a dejar de usar bases de datos ... es decir, las cosas evolucionan y mejoran, en principio no existía Struts, ni Faces, tampoco Hibernate ni JDO, pero la arquitectura moderna exije estas cosas para mejorar el desarrollo.

Si Struts le pareció engorroso a alguno, tiene Faces como alternativa, más fácil no se puede en el momento ;) . Personalmente siempre me parecio engorroso crear un ActionForm bien sea implementando el Bean, ó usando el DynaForm (Que felicidad cuando salió posteriormente). Faces maneja este cuento mucho mejor ! ... me gusta más el "populate" de Faces.

Repondiendo la inquietud de AJAX, recuerden que esto es una arquitectura, no una API, ni tecnología, sin embargo la implementación es bastante fácil. Además es fácil de integrar con Faces ... para las validaciones queda del carajo !.
 
El_Rulas dijo:
No creo del todo mouffetard:

1. ¿Cómo haces para el controller? ó ¿qué patrón aplicas para esa parte?
2. Por lo menos usarás alguna API de taglibs, digamos JSTL ... ó te vas de scriplets limpio? for, while, if ventiao?
3. La idea de los store procedures para procesos críticos: consecutivos y vainas por el estilo, pero ¿casarse de una con la base de datos? ...
4. Las tres pruebas son indispensables, igual de valiosas en una aplicación enterprise, que tal si aguanta 5 millones de usuarios concurrentes y no funciona un carajo :( (Claro que el rol de arquitecto encuentra más atractiva las dos últimas, es su función, el aspecto no funcional).

1 y 2. Se utiliza el Patrón MVC Model-2, es decir, un servlet que hace las veces controller. No todo el flujo de la aplicación pasa por un solo controller, lo más aproximado es que cada Caso de Uso pasa por un Controller. Además, las Views son JSP que utilizan TAGLIBS, de manera que se trata de reducir al máximo el código dentro de las JSP. Los proyectos empresariales son arriesgados y entre más simple sea lo que se utiliza como plataforma, mejor le irá en el proceso de desarrollo y mantenimiento.

3. La realidad en las empresas grandes es que tienen procedimientos almacenados que ya hacen la mayoría de la lógica, por ejemplo: validación de direcciones, cruces de información, cuadres, operaciones CRUD sobre modelos corporativos, etc. Y sí, las empresas están de hecho, casadas con un proveedor de base de datos. Aquí no hay mucha que decir, a menos de que se desarrolle software genérico, que es otro paseo.

4. Desde nuestro punto de vista de "Desarrollo y Diseño de Software" es más importante que el software funcione bien a que funcione como el cliente lo especificó funcionalmente. Desde el punto de vista de elicitación de requisitos y aproximaciones metodológicas, es más importante que el software funcione como el cliente lo especificó, es más, que funcione como el cliente lo soñó.
 
will_23 dijo:
Y por ultimo una pregunta...
cuando dices

Cual es ese framework *MUY* simple?? y porque es *MUY*?????
Gracias.....

Jeje...*MUY* simple se refiere a que son a lo más, 3 clases que el desarrollador debe dominar, nada más: La dos clases abstractas que equivalen a las Actions de Struts y un componente de seguridad que le permite realizar la autorización sobre las opciones de la aplicación.
 

Los últimos temas