Boletín Extra #3

 Éstra!!  Éstra!! Salió la tercera edición del boletín estraoficial para arquitestos con la súltima novedade para las plataforma Java y el Punto Nés!!

 1 

[JavaWorld] Generando AJAX desde Java con el Google Web Toolkit (GWT)
Si sos javero y querías empezar a ver AJAX pero te desalentaba todo lo que tenías que aprender, esta noticia no te podía venir más al pelo
El caso es que Google viene liberando un toolkit que te permite crear la "plomería" de las llamadas asíncronas de AJAX en JavaScript… sin siquiera enterarte de qué es todo eso
Es más, si usás Eclipse o IDEA (IntelliJ), el toolkit se "cuelga" del mismo para pasar que todas estas novedades sean, en seguida, parte de tu día a día
Este artículo va de menos a más en el tema, anillazo al dedo

 2 

[InfoQ] Java y .NET: Se Ha Forrrrrrmado una Pareja
Ted Neward nos arrima acá uno de sus mejores papers, aunque no va a ser el típico ensayo de interoperabilidad entre las plataformas Java y .NET (de eso hay bocha publicado) sino en qué aplicar lo mejor de cada uno
Como bien dice Ted al principio, la clásica pregunta "cuál es mejor?" no tiene una respuesta valedera en forma vertical sino que según el área, alguno será más versatil que el otro. Su propuesta entonces es tomar lo mejor de cada uno

 3 

[.NET Development] Lecciones Aprendidas para Visual Studio Team System
Está por salir un libro llamado "Recetas para Team Foundation Server: un Enfoque Problema-Solución". Su autor, Michael Ruminer, nos brindó una presentación al respecto, contándonos las mejores prácticas para control de versiones, seguimiento de unidades de trabajo, administración de proyectos, adaptación de plantillas de procesos y otras instancias del ciclo de vida de desarrollo de software. Aprovechá a mirarla que esta vez no es un evangelizador de Microsoft haciendote el verso de que vas a ser, por fin, un programador feliz

 4 

[SaaSCon] Aplicación SaaS a la Microsoft
A fines de Abril se realizó nuevamente la conferencia principal sobre "Software as a Service" ("Software como un Servicio", o SaaS). Gianpaolo "GP" (yipí) Carraro, nuestro arquitecto jefe para guías y recomendaciones SaaS estuvo allá, explicó lo que viene estando analizando al respecto con Southworks, la consultora argentina que lo asesora en la materia, y por supuesto mostró la aplicación de referencia que implementa las guías que están produciendo: LitwareHR (una aplicación ficticia para recursos humanos)

 5 

[Java Insight] Cachando Algo de la Caché
Las aplicaciones de misión crítica requieren alta disponibilidad. Para ello deben ser capaces de escalar acorde a la cantidad de usuarios. La escalabilidad se suele ver comprometida cuando recursos externos de acceso limitado (por concurrencia, por velocidad de transmisión, etc) comienzan a generar contención. Entonces ahí es donde a varios se les ocurre "y si dejamos las consultas más frecuentes en memoria u otro recurso no tan comprometido?". Eso es lo que se conoce como caché de datos. Pero hacer una caché no es una tarea sencilla porque, para que sea efectiva, necesitamos dar en el clavo y terminar cacheando aquello que realmente se accede muy frecuentemente. Además, en el durante, qué pasa si en el back-end se modifica algo de lo que tenemos cacheado? Cómo nos enteramos para así refrescarla? Ésa y tantas otras inquietudes -incluso las que quizás ni habías pensado- te las va a contestar la autora de este artículo, para que lo tengas en cuenta y guardes en la caché

 6 

[IBM] El Mejor Programador También Puede Chamuyar
Normalmente a los buenos developers se los descubre jugando un picado en Parque Saavedra: son aquellos que no la ven ni cuadrada (ergo, yo soy un excelente programador). Los que conocen mucho de programación normalmente son los que se quedan a arreglar los bardos que saltan a las cinco y media de la tarde cuando todos creían que faltaba media hora para rajarse. Como estos individuos terminan, así, conociendo bien la aplicación, suelen también tenerla clara para indicar qué habría que rediseñar para que valores medibles como el rendimiento y la mantenibilidad no sean un dolor de handcuffs. Sin embargo, y curiosamente, a esta gente suele escatimarsele consideración en cuanto a emitir opinión se trata. Ellos mejor que se dediquen a programar callados que para opinar bastante que se le paga a los que juegan bien a la pelota. El Gigante Azul en un esfuerzo sin precedentes nos arrima acá un importantísimo documento para ir dejando de programar de 9 de la mañana a 9 de la noche

 7 

[Sun] JPA: de la Base de Datos a Su Mesa
La Java Persistence API está destinada a estandarizar el mapeo entre objetos y tablas relacionales en la plataforma Java. Este artículo muestra un interesante ejemplo en código de esta nueva facilidad, y a la vez aprovecha y muestra tips interesantes de la compilación de aplicaciones Java (lástima, en mi caso, venir a enterarme ahora que me pasé al lado oscuro smile_embaressed)

 8 

[O’Reilly] Open Source: Éramos Pocos y Parió la Abuela
Cuando yo era parte de la comunidad Java, me acuerdo que consideraba una gran virtud el hecho de que la plataforma Java daba lugar a una innumerable cantidad de proyectos Open Source de manera tal que para cualquier cosa que yo necesitara, tenía no menos de tres y seguramente más de cinco alternativas distintas de frameworks para incluir en mi aplicación. Querías Object/Relational Mapping? Ahí están Hibernate, iBatis y otros. Querías producir JSP de una manera rápida? Cocoon, Velocity, Tiles, y varios otros, cada uno con su enfoque particular, pero te iban a permitir lograrlo. Y qué me podés decir de motores de workflow, sistemas basados en reglas? Otro tanto
Claro, el problema -y yo realmente no lo notaba- era que si bien había un tiempo ahorrado de codificación de toda esa lógica que el framework aportaba, habían tiempos ocultos no siempre contemplados: primero, el tiempo que tomaba investigar y aprender no sólo lo básico del framework seleccionado sino también las mejores prácticas para que no se nos vuelva en contra. Pero además, y éste era un tiempo realmente sustancioso, cómo decidir rápido y bien por alguno de los frameworks entre tanta oferta disponible. A mí personalmente me pasaba que incluso habiendo tomado una decisión, todavía dormía con el cxxx fruncido durante varios meses de proyecto, temeroso de haber tomado la decisión equivocada. Los amigos de uno ayudaban poco, porque mientras que algunos eran radicalmente defensores de lo que uno "tenía" que elegir, otros decían "nuh!! no te metas con eso…!"
Bueno, este artículo comenta eso mismo y destaca el surgimiento de un portal donde los usuarios de los distintos frameworks no sólo los califican en determinados aspectos, sino que cuentan casos concretos de uso en proyectos reales. Por lo menos, si te vas a ensartar con lo que elegiste, enterate quién más piso el palito! smile_shades

 9 

[TheServerSide] Un Cluster de Java Virtual Machines hecho con Terracotta
En sistemas de Misión Crítica se necesita que las aplicaciones estén altamente disponibles. Para ello es necesario minimizar al extremo el downtime (esto es, el tiempo que las aplicaciones dejan de estar disponibles). Una manera de lograr reducir esta minimización casi a 0 es correr la aplicación en más de un equipo (servidor o no), de modo que si alguno de los equipos deja de operar, al menos el/los otro/s van a seguir brindando el servicio en tanto uno o más operadores reviven al equipo "convalesciente" (y, claro, si todos los equipos salen de operación… el downtime empieza a correr de nuevo). Pero para que el/los equipos remanentes puedan hacerse cargo, es necesario que ciertos datos de la aplicación estén en alguna forma replicados (las sesiones de una aplicación web, por citar un ejemplo). Replicados o al menos persistidos, de manera de poder ser accedidos por cualquier otro equipo del grupo, de imponerlo así las condiciones
Una aplicación que corre en esta manera se dice que se ejecuta en un clúster de equipos (CPU, servidores, etc). Obviamente, los clústers se tienen que poder gobernar de alguna manera. Y en realidad hay varias formas de lograrlos. Las hay descentralizadas, donde cada equipo del clúster comparte su info proactivamente con el resto. Las hay basadas en un administrador central, donde cada uno de los equipos le alcahuetea lo que está haciendo a este administrador central
Así las aplicaciones van a poder escarlar. Hablaremos, por lo tanto, de escalabilidad horizontal, cuando el cluster se compone de varios equipos homólogos, y de escalabilidad vertical cuando en realidad es un sólo equipo pero con varias CPUs trabajando en forma independiente aunque coordinada. Seguramente hayas tenido que aprender esto cuando tuviste que trabajar con granjas de servidores web corriendo una misma aplicación
Open Terracotta es un servidor de clúster para aplicaciones Java, y este artículo te cuenta en detalle cómo está pensada su arquitectura

 10 

[O’Really] Orientación a Servicios APB (a prueba de… ya sabés)
Como cierre, un artículo que no pretende ser otra vuelta de tuerca más sobre Windows Communication Foundation (WCF). Es un poco la historia de la orientación a servicios (que no se debe necesariamente interpretar por SOA o Arquitectura Orientada a Servicios) sino más bien del concepto como patrón de diseño de componentes
En ingeniería de software, como en la vida misma, todo tiene su por qué. Y la Orientación a Servicios no es una excepción acá. En realidad emergió como una consecuencia de intentos previos, de paradigmas más primitivos que al ser puestos en práctica resolvieron bastante de los problemas que prometían venir a resolver, en tanto que otros de estos problemas debieron seguir esperando a ser resueltos por otros mecanismos; y, finalmente y admitiendolo, los paradigmas previos a su turno introducían nuevos problemas
Pues bien, este artículo te relata brevemente qué paso con los intentos anteriores, cómo se llegó a la Orientación a Servicios, y te describe en detalle todas las premisas a cumplir por este tipo de componentes
Esta entrada fue publicada en Boletines de Arquitectura. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s