lunes, enero 29, 2007

SOA Bootcamp - Día 4

Jueves 18, ultimo día del Curso. El día anterior estuvimos todos comiendo en Rodizio, invitación de IBM, la verdad que la pasamos muy bien, no faltó casi nadie. Ali se comprometió a dar un feedback del curso en Argentina en su blog, vamos a ver lo hace. Ya tambien me comprometí a traducir los conclusiones del primer día, no puedo ser tan vago. Durante todo el día lo que estuvimos viendo principalmente es SOMA V3.0, que aun está en beta, recuerdan? El gran cambio en esta nueva versión es que SOMA pasa a ser una metodología de desarrollo de proyectos SOA End2End. Incluyendo etapas de implementación, testing, deploy y mantenimiento. Digamos que fue una unión entre SOMA y RUP. Todavia está bastante verde y necesita muchos reviews, pero creo que se va clarificando bastante, es más dentro del curso Ali nos preguntó bastante sobre algunos puntos que no le gustaban como estaban hechos y tomo nuestros comentarios, calculo que en la versión final estén nuestros inputs. Lo que si, le pedí por temas de "mejor entendimiento" que la "M" de SOMA, deje de ser "Modeling" y pase a ser "Method" o "Methodology" ya que trae a confusión, a Ali le gustó la idea y dijo que lo iba a proponer :) En este post de Ali se explica muy bien el cambio de SOMA en la nueva versión.

Otra de las cosas que estuvimos charlando fue de un plug-in que desarrollaron para un nuevo producto llamado, Rational Method Composer, dicho producto permite armar modelos de desarrollo, detallando el ciclo de vida, los work products, entregables, dependencias y papers, entre otras cosas, con lo que al final de dicho trabajo podes exportar a MS Project o RPM (ational Porfolio Manager), el plug-in que desarrollaron es un template para la metodología SOMA. Con el cual podes crear tu WBS desde dicho templeta y customizar de acuerdo a las necesidades y restricciones del proyecto.

Y por ultimo dio un panorama muy pero muy por arriba de SOMA Modeling Environment for RSA, que es un plugin para el RSA que permite organizar el modelado y documentación de la arquitectura y diseño en proyecto SOA. Este si está muy verde ya que quieren migrar a la nueva versión del RSA, la 7.0 que está basada en eclipse 3.2.

Esto es todo, espero que les haya interesado.

lunes, enero 22, 2007

SOA Bootcamp - Día 3

Miercoles 17, con algunas caras cansadas, sobre todo la gente de Uruguay y Venezuela, ya que estuvimos tomando unas cervezas el día anterior y para cuando yo me volví todavía quedaban algunos tirando tiros en la cigale.
Durante la primera hora Ali estuvo hablando sobre algunos SOA Patterns, básicamente todos los que se desccriben en el "Design SOA Solutions and Apply Project, Technical, and Operational Governance (SW718)", Proxy Interaction Patterns, Remote Strategy Pattern, Enterprise Service Bus pattern y Service Registry pattern. Digamos que los más interesantes son los úlimos dos. Los primeros si bien son muy usados son un sub-conjunto del ESB Pattern. Una de las cosas que comentó Ali, fue que IBM fue la primer empresa en hablar de un ESB como un estilo arquitectónico, yo lo recuerdo, esto era por el 2004, pero tambien sabia que en algún momento iba a salir el Websphere ESB, y obviamente ese producto llegó ;)
El segundo tema fue, SOA Architectural Reference (S3), este es uno de los temas más interesantes del curso, básicamente es la arquitectura de referencia de todo proyecto de integración implementando SOA. Esto ya lo habia leido en un paper que me llegó hace un tiempo y realmente es muy interesan, muestra con lujo de detalle todas las capas, elementos, componentes e interacciones que pueden aparecer en una integración con SOA. Para describir un poco esta arquitectura de referencia, transcribo la explicación "literalmente" de un post del blog de Ali en DeveloperWorks (se pueden ayudar de la imagen):

These layers are:

1. Consumer layer - any consumer of a service would reside in this layer
2. Business process layer (choreography and composition)-- a process uses a set of loosely coupled services in a choreography or composite application
3. Services layers -- a layer of service descriptions and policies, implemented through
4. Service Components -- (e.g., EJB's or .NET components) who privide the actual realization of the service operation, or the service directly uses or exposes
5. Operational Systems and Data -- which include packaged applications like SAP, Siebel, PeopleSoft (Oracle), Legacy systems, and of course the data bases that support the applications.

Cross cutting these functional layers are the operational layers that support and intersect the above:

6. Integration Layer -- if you need/have an ESB it's here
7. Quality of Service layer -- all, aspects of security, monitoring, management and all other quality of service aspects are implemented and ensure through this layer
8. Data Architecture, Business Intelligence and meta-data layer -- provides data models, star cshemas or meta-data relating to and supporting the SOA
9. Governance Layer -- includes the procedures, processes, registry , repository and run-time governance needed to servce as support for the entire life-cycle


Durante la tarde estuvimos viendo las capas "cross-cutting" que se ven en la figura, de la 6 a la 9:
El tercer tema del día fue SOA Governance, si bien fue un poco abstracto y generalista, se pudo entender que significa el tema. Básicamente apunta de dictar las normas a nivel organizacional de como se van a integrar las aplicaciones, es como el gobierno en una ciudad, bueno pero esto es en un empresa, buenas normas de IT Governance aseguran una correcta implementación de los sistemas, obviamente si se siguen. Esta sería la herramienta fundamental para el Enterprise Architect.
Seguimos con SOI (Service Oriented Integration) y ESB (Enterprise Service Bus), si bien fue bastante corta, se pudo revisar en detalle cada uno de los temas, más adelante voy a explicar un poco más estos conceptos.
El siguiente tema fue QoS (Quality of Service), digamos que para mi gusto no fue lo esperado, solo explicaron un poco de Monitoreo, Logs y algunos productos que soportan. Faltaron conceptos un poco más arquitectónicos como tácticas para lograr performance, disponibilidad, tolerancia a fallos, etc...
Creo que habló un poco de Data Architecture, aunque no estoy muy seguro, si encuentro algo de info la voy a compartir.

Lo más interesante de este día, obviamente, fue el SOA Architectural Reference, ya que es el template que tendríamos que seguir para construir arquitecturas de integración SOA.

SOA Bootcamp - Día 2

Martes 16, con Ali recién llegado de USA, continuamos con el curso.
El primer tema que estuvimos viendo fue SOMA, la versión 2.4, básicamente esta versión es una técnica de análisis y diseño de servicios dentro de una arquitectura SOA, aca tienen una descripción más detallada de SOMA 2.x. La técnica tiene 3 fases principales, Identificación, Especificación y Realización, en cada fase se tomaban decisiones y es algo bastante iterativo a lo largo del proyecto.

Luego estuvimos viendo los tipos de soluciones que IBM (SOA Offerings) tiene para ofrecer a sus clientes en lo que refiere a SOA, siempre desde el punto de vista del Servicio/Cosultoría/Desarrollo, nada de Software IBM. Algunos ejemplos que recuerdo eran para SOA Governance, integración a través de servicios, Evaluación de la madurez SOA en la empresa (SIMM), etc. La verdad que hay varios offerings y no se que tan confidenciales sean, la idea era mostrar de que manera IBM ofrece sus servicios para la implementación de SOA en las empresas.

El último de los puntos que estuvimos viendo, aunque un poco aburrido, fueron todos los estándares sobre Web Services, como WSDL, SOAP, BPEL, UDDI, etc. Digamos hubo dos cosas bastante interesante que me dejó esta parte del curso con respecto a los estándares:
1- Esto no lo sabía de bruto que soy, WSDL 1.x tiene una sección en donde se puede especificar el tipo de bindding tecnológico en el cual se debe acceder al servicio, ejemplo, si es por SOAP-HTTP, SOAP-JMS, EJB-IIOP, POJO o lo que sea. Yo pensaba que esa sección venia solo a partir de WSDL 2.
2- Teniendo el punto 1 claro, surge una pequeña discrepancia en la industria en el entendimiento de Web Servicies, ya que para MS y otros un Web Service implica el uso de WSDL, SOAP y HTTP, con lo cual está recortando la posibilidad que nos dá el WSDL para extender el bindding. IBM dice que para llamar Web Service a un servicio solo tiene que ser expuesto a través de WSDL, con lo cual, desde mi punto de vista, suena más lógico... de este modo para IBM, SOA implica el uso de Web Service.
Esto fue todo en el segundo día del curso.

martes, enero 16, 2007

SOA Bootcamp – Día 1

Luego del primer día del Bootcamp, me dí cuenta que lo mejor del curso es el grupo de arquitectos que fueron convocados, es un nivel excelente. Como ya les comenté, vinieron arquitectos de Argentina, Uruguay, Perú y Venezuela, tengo que decir que el nivel técnico es genial.
Durante el primer día fue todo muy introductorio, sinceramente no hubo nada que no haya leído antes, aunque lo más enriquecedor de todo fueron las discusiones (más 3 horas entre tema y tema charlando entre nosotros) e intercambios de ideas que hubo entre todos nosotros, pude sacar una serie de conclusiones:
  • Hablando consensuamos, según la experiencia en cada país, que la industria (clientes) cuando piensa en SOA solo ve la parte tecnológica y no como una estrategia que debe tomar la Enterprise Architecture para guiar la integración de aplicaciones. Por lo menos es lo que pasa en America del Sur, no ve el valor que tiene como la flexibilidad, adaptabilidad y reusabilidad.
  • Quedó claro que los productos que soportan SOA, (ejemplo ESBs, BPMs, Registries) todavía están muy inmaduros. Supongo que en algún momento van a madurar.
  • El ESB en SOA = EAI.
  • SOA NO es Web Services, tener una arquitectura SOA no quiere decir que vas a usar Web Services, y que tengas WS tampoco quiere decir que implementas SOA.
  • La nueva especificación de WSDL debería ser sin la W, o sea, SDL (Service Description Language)
  • EL discovery dinámico de Servicios por el momento no tiene sentido. Discutimos que este podría empezar a usarse cuando la Web Semántica gane más adeptos y esté mas madura, con protocolos como RDF, WS-Agreement, etc.
  • Uno de los grandes problemas para implementar una arquitectura SOA es el uso indiscriminado de SAP en la compañía. Esto no quiere decir que está mal, sino que cada empresa tiene los drivers arquitecturales que su EA guía. Pero es cierto, cuanto más funcionalidad tiene SAP menos procesos de negocio se van a poder estandarizar y flexibilizar.
Si bien muchas de estas cosas ya las venía discutiendo con Gastón Escobar y Fernando Sanabria en Argentina, estuvo bueno poder exponer ese tipo de ideas y consensuarlas con otros arquitectos con experiencia en proyectos SOA. Calculo que el curso se va a poner más interesan mañana cuando Ali de los temas que no conozco en profundidad.
Si tienen alguna pregunta interesante sobre SOA… adelante!

sábado, enero 13, 2007

Viaje a Bs As - SOA Bootcamp

Mañana Domingo, a las 8:30 hs, tomo un ómnibus a Bs As, interrumpiendo mi mes de vacaciones debido a que Ali Arsanjani, Chief Architect SOA de IBM a nivel mundial viene a la argentina dar un curso de 4 días (completos) sobre SOA, SOMA, ESB, Web Services, SOA Governance, SOA Patterns, etc...
La verdad que estoy muy contento y tengo muchas expectativas, ya que vengo participando de muchas calls/webconference de Ali y también leyendo su blog, y verdaderamente es un profesional que tiene mucha experiencia en el tema, y por comentarios de Gastón Escobar que lo conoce personalmente, es una persona muy copada y abierta.
Si bien, muchos de los conceptos ya los he leido, lo más interesante van a ser las discusiones que se van a generar ya que en el curso van a participar varios arquitectos de Argentina y america del sur.
Les voy a tener más novedades!

viernes, enero 05, 2007

Blogs que suelo leer (Geek Blogs)

Les voy a detallar los Weblogs que suelo leer sobre Arquitectura, Java, JavaScript, Ruby, RoR, Diseño, Metodologías, SOA, Programación y software en general. Todos excepto uno (Luciano Bello) son en ingles.

también les voy a adjuntar el archivo exportado de mi Reader (RSSOwl), quien use el mismo reader puede importarlo tranquilamente.

Hace mucho que quería hacer esto, pero por una cosa o por otra no lo hacia, hoy me puse las pilas tiré un par de lineas en Ruby (4 exactamente) y generé el HTML parseando con un RegEx muy muy pedorra el xml que exporta el RSSOwl, asi que aca está.


Carol Jones
Autor : Carol Jones
Comentario : Es Fellow de IBM, la tiene muy clara con Web2.0 y herramientas de colaboración. No actualiza mucho el blog

Bill Higgins
Autor : Bill Higgins
Comentario : Es un grande, sabe mucho de RIA/AJAX y más también, es el típico Geek que cuando habla de tecnología se le debe caer la baba ;)

Ali Arsanjani
Autor : Ali Arsanjani
Comentario : Un groso de IBM, en teoría es la persona que más sabe de SOA en IBM, pronto lo voy a conocer personalmente ya que va a venir a un curso en Argentina. No actualiza mucho el blog

Enterprise Integration Patterns: Gregor's Ramblings
Autor : Gregor Hohpe
Comentario : Debe ser uno de los que más sabe de integración, actualmente trabaja en Google, escribió el mejor libro de EAI que existe hasta el momento en conjunto con Bobby Wolf. No actualiza mucho el blog

Loud Thinking - DHH
Autor : Loud Thinking - DHH
Comentario : Un groso, creador del framework Web Ruby on Rails, con solo 26 años...

luciano's blog
Autor : Luciano Bello
Comentario : Un loco lindo... aparte de leer su blog, lo conozco bastante. Es un excelente escritor y Taliban del software libre, no tiene que ver mucho con mi palo pero es interesante leer sobre su experiencia sobre developer de Debian y más

.: Manageability :.
Autor : Carlos E. Perez
Comentario : El mejor Blog de todos, habla sobre Diseño, Arquitectura y Programación, escribe muy bien y actualiza muy seguido.

Martin Fowler's Bliki
Autor : Martin Fowler's Bliki
Comentario : Que puedo decir, es uno de los mejores escritores sobre Arquitectura, Metodologías, Diseño y Programación, si bien actualiza muy seguido aveces me pone frenetico

Grady - Handbook of Software Architecture
Autor : Grady Booch
Comentario : Que puedo decir de Gardy?, un grande, tambien Fellow en IBM, actualiza seguido y te mantiene al tanto de lo que pasa en el software en general, no baja para nada al detalle.

Joel on Software
Autor : Joel Spolsky
Comentario : Excelente escritor y gran técnico. Me gusta leer mucho su blog tiene algunos post que hasta se publicaron en libros. Es el blog de software más leido en todo el mundo

Venkatesh Krishnamurthys Architecture NotesNA
Autor : Venkatesh Krishnamurthys
Comentario : Le acabo de agregar me gustó el título y un par de post.

developer.* Blogs
Autor : developer.* Blogs
Comentario : Son muchos desarrolladores en general actulizan seguido y hablan de Diseño, Arquitectura y Programación en general

Paddle Like Hell
Autor : Bruce Tate
Comentario : Un excelente escritor exhiliado de Java y ahora evangelizador de Ruby y RoR. Me gusta mucho su manera de escribir y hablar. Publicó muchos libros y una excelente serie en developerWorks llamada "Crossing Borders"

Artima
Autor : Varios
Comentario : Al igual que .Developers, son varios que postean, aunque ultimamente está bajando la cantidad y calidad de sus post, el sitio es muy interesante. Diseño y Programacion.

Blog Blah Blah Architecture
Autor : Mario Cardinal
Comentario : A este blog llegué despues de escuchar muchos de sus podcast que estuvieron geniales, aunque el blog se actuliza muy poco a veces postea cosas interesantes de arquitectura y tecnología. Aunque a veces los post son Francés

Michael Feathers' Weblog
Autor : Michael Feathers
Comentario : Un groso! Es el autor de uno de los mejores libros que leí "Working Effective with Legacy Code". Aunque ultimamente no postea mucho, hay que tenerlo siempre ahi. Ya que cuando postea, la calidad es increible. Mucho de Diseño y TDD

Andi's Blog
Autor : Andy Hunt
Comentario : Creador de la serie de libros "Pragmatic Programmers", con eso digo todo :). No actualiza mucho su blog

The Pragmatic ArchitectNA
Autor : Varios
Comentario : Recien lo acabo de agregar, el título y algunos post me gustaron

DaveAstels.com
Autor : Dave Astels
Comentario : Creador del framework rSpec para BDD en Ruby, me gusta como escribe y publicó uno de los mejores libros de TDD. Ultimamente con la salida del PSIII y Wii no para de postear sobre eso, con lo cual su blog está decayendo mucho.

PragDave
Autor : Dave Thomas
Comentario : Creador de la serie de libros "Pragmatic Programmers", con eso digo todo :). No actualiza mucho su blog. Antes generalmente hablaba de TDD y Ruby/RoR

ambysoft at Yahoo! Groups
Autor : Scott Ambler
Comentario : IT Architect de IBM y excelente escritor, publicó millones de libros, aunque por ahora no leí ninguno de el, tengo en mi backlog de libros varios para arrancar. Generalmente hablar de Aruitectura, Metodologías y Diseño. Lo malo del blog es que no baja el contenido en el RSS, tenes que entrar si o si por web y con user/pass

Mike Does Tech
Autor : Mike Pence
Comentario : Programador independiente que la tiene muy clara con Ruby/RoR, tiene muy buenos posts

Java Competence Centre LogicaCMG
Autor : Varios
Comentario : It's all about Java Technology! No actualiza muy seguido.

Joe Walker's Blog
Autor : Joe Walker
Comentario : Creador de uno de los frameworks mas interesante de AJAX llamado DWR. Me gusta mucho como escribe y está on top de toda la tecnolgia AJAX, la verdad que la tiene muy clara, habla mucho de diseño, arquitectura de UI y programación.

Agregarían alguno/s más?