viernes, 1 de julio de 2011

Entre Middleware te veras

Que tal muchachos, feliz viernes!!!! yeeeah

Hace algunos meses por necesidades de un proyecto (por cierto muy interesante), nos invitan a participar en la parte de arquitectura de integración, que dicho sea de paso es usando plataforma OpenSource.

Herramientas Middleware muy interesantes son ocupadas dentro de la arquitectura algunas de ellas:
  • MDM - Talend Community Edition: Un excelente propuesta de Bases de Datos Maestros.
  • Application Server: Jboss
  • Enterprise Service Bus - Jboss ESB : De los ESBs mas intuitivos que me toco trabajar.
El proyecto involucra varios retos que si se plantean de manera general, son muy conocidos en el ámbito de integración en la industria, aquí algunos:
  • Comunicación con Bases de Datos Legadas
  • Comunicación con Aplicaciones Legadas que usan COBOL
  • Comunicación con una MDM
  • Comunicación con un BPM
  • y le podemos seguir.
Dentro de la arquitectura, se tomo la decisión de usar al ESB como mediador de todas las peticiones a los sistemas legados o propietarios (tal como se hace comúnmente), lo cual resulto muy interesante, ya que seria el ESB quien tendría que manejar conceptos de EIP en este sentido, tales como transformaciones, ruteo basado en contenido, Pipelines, etc.

Particularmente los Post siguientes, serán hablando del tema de Jboss ESB y estarán enfocados a como resolver ciertos escenarios de integración de los cuales comúnmente me he topado en estos ya 7 años como Arquitecto/Ingeniero de Integración de Aplicaciones, la mayoría trabajando con middleware de BEA (Aqualogic ESB, ALDS) ahora ORACLE (SOA Suite)

Les adelanto algunos temas puntuales del Jboss ESB que vamos a tocar en el uso de:
  • org.jboss.soa.esb.actions.soap.proxy.SOAPProxy
  • org.jboss.soa.esb.actions.routing.http.HttpRouter
  • org.jboss.soa.esb.actions.transformation.xslt.XsltAction
  • org.jboss.soa.esb.actions.ContentBasedRouter
  • org.jboss.soa.esb.actions.SystemPrintln
Cada uno de estos temas los veremos en conjunto con ejemplos de su uso.

Por una integración mejor, nos vemos pronto.

Saludos Tuzo




martes, 10 de mayo de 2011

Cambio

Aunque no debería usar este blog para cosas humanas, je, pues igual está relacionado con el tema

Ya llevo 7 y medio años donde trabajo. Ahí he madurado y aprendido muchas cosas y experiencias buenas y malas

Mi instinto y el odioso radiopasillo dice que ya es el momento final de mi trabajo

Sin embargo, no me siento mal, al contrario, veo que tengo muchas habilidades e igual ha llegado el momento de que la integración a la mexicana se abra a nuevos caminos

Les platicaré que pasa, esta semana seguro y se define algo

Iniciando TOGAF

Hola 3 lectores

Durante las últimas semanas he estado leyendo TOGAF, la parte básica

Si me he encontrado con un marco de referencia de arquitectura extenso y abstracto. Pero en esa abastracción, da mucho poder para ir de lo general a lo particular.

Pero también requiere de tener experiencia en este tipo de marcos, como CMMI, ITIL, PMP.

Ayer dí un taller de TOGAF, y si que me costó trabajo aterrizar, pero al mismo tiempo vi el poderío de conceptos como Enterprise Continum, ADM, Content Framework, Technical Reference Model

Me estoy poniendo como meta buscar certificación en TOGAF

sábado, 9 de abril de 2011

Archimate o de como si se puede modelar en serio

Hola 3 lectores

El mes de marzo fue muy bueno, por que se empezó el tema de Arquitectura Empresarial.

Como parte de la estrategia, el director de TI nos solicito utilizar Archimate para cuestiones del modelado.

El caso es que me puse aprender Archimate de volada, pero no fue dificil, por que me encontré con la grata sopresa de que es un lenguaje bastante completo y bien pensado.

A diferencia de UML, que se puede considerar como pobre en estos temas, Archimate propone un conjunto rico de elementos de su notación y que son completos para modelar el negocio, aplicaciones e infraestructura.

Y el Tuzo afortunadamente encontró una herramienta libre, llamada Archi la cual está muy bien hecha para cuestiones del modelado.

Con Archimate, el trabajo de modelar ya no cae en términos de la creatividad, sino que te va guiando. Les invito lean el libro de Archimate .

El concepot de puntos de vista (viewpoint) es muy importante, ya que te va indicando que debes modelar y como relacionar los diversos elementos.

El jueves 7 y viernes 8 de abril, estuvimos haciendo un ejercicio de modelado de dos aplicaciones y el tema hasta se vuelve adictivo; ya que el tiempo se va de volada al hacerlo y quieres poner más y más conocimiento de lo que se sabe de la aplicación

Adicional, de que se va formando un repositorio de activos de arquitectura y de lo que modelas, va constituyendo un grupo de activos.

Por fin, adios a la hojita de Excel que tanto odie para hacer el inventario de aplicaciones. Con Archimate vamos a poder expresar todos los conceptos de los que constituye una aplicación.

También estamos utilizando otra herramienta, comercial y con necesidad de licencia; que se llama BizzDesign Architect; pero la ventaja es que permite realizar el análisis de las relaciones entre los diversos activos y obtiene las tablas de cruce entre los distintos activos. Y tiene hasta un lenguaje para hacer consultas para hacer la mineria de los activos de la organización.

Y ahora estoy estudiando TOGAF, para tener ya el marco metodólogico para trabajar en el tema de arquitectura empresarial.

Estoy contento por la chamba que estamos haciendo y el equipo de personas que somos, muy bueno y con distintas perspectivas para atacar los diversos temas de arquitectura empresarial.

Con esto espero ya pasar de las presentaciones de PowerPoint a poder decir que estamos haciendo Arquitectura Empresarial ... bueno en parte, por que implica mucho mas alla de modelar. Aun faltan muchos retos por superar.

sábado, 19 de febrero de 2011

Integracion con sabor internacional

Pues el Tuzo y yo (2 de los 3 lectores de este blog) tuvimos una aventura de miercoles a jueves. Para evitar problemas de no thiklozur (hablando a la Doriga) no voy a decir nombres de empresas
El caso es que donde trabajamos, se aventaron un sistema en Java para obtener todas las facturas electrónicas de los proveedores. Todo hubiera ido bien si no hubieran utilizado el java.io.FileReader de Java, pero lo hicieron y cuando escribieron esos archivos al sistema de archivos le dieron mas feo que FECAL al país. Perdieron las secuencias especiales de los acentos y caracteres anexos.
El caso es que esos benditos archivos en formato XML, al momento de querer ser verificados contra el sistema de Factura electrónica del SAT, pues era rechazado, por que no era integro.
Sepa San Donald Knuth por que nunca los desarolladores hicieron una mondriga prueba con un solo archivo XML que pasara un ciclo completo, o quiza nunca probaron los acentos, para que si nadie los usa en este país
El caso es que el miercoles, su servidor que tenía planeada otra actividad mas interesante a las 20 pm, recibe una llamada de auxilio en el batiphone y tuvo que oir.
Para aquello de ls 19:30 pm, retoma el tema, que ya el Tuzo estaba viendo, y el panorama se veía oscuro. Ya los desarrolladores habían confesado su pecado y por lo menos ya habían corregido y usando Input/OutputStream.
Y pues me avente un programa en C, usando getchar y explore los 25,000 archivos. Como 14,000 estaban con problemas. Y ahora, que hacer. Pues dije, a sustituir byte por byte. El reto era que se le tenia que hacer al detective, por que si se alteraba algún byte, todo era inutil. Tres horas de infructosa manera de volver a los archivos a su estado original y mejor ya tirar la toalla y esperar mi indeminización, ya que el problema era mío; le digo al Tuzo, vamos a poner en Google, para buscar algo. Que le pongo criterios como acentos, UTF8. Y me encuentro que alguien mas ya había pasado la misma situación.
Eureka! Encontramos un hechizo mágico, iconv.
Gracias a que pudimos trabajar en UNIX/Solaris, empezamos a probar y por fin un archivo pudo ser validado con uso de la razón. Eras casi las 12. Dado que nuestros jefes no daban pista de darnos ni una triste mijaga, bajamos por la comida clasica de desarrollador, sabritones, cocacola, donas bimbo, fastfood microondas. Y a aventarse un script para automatizar todo. A las 2 am ya estaba todo. De ahí a sacar muestras y dejar en manos de San Meyer todos. A las 4 am acabo todo
Pero me pregunto, que necesidad había de pasar todo esto. No hubiera sido mejor tomar en cuenta los acentos.
La verdad, estas lecciones le dan a uno humilidad. Se da cuenta cuan ignorante es su servidor. Por mas de una decada ignore el tema de acentos y anexas, Unicode, internacionalización. Ahora me doy cuenta que si queremos lograr una integración es muy importante. UTF 8 e ISO 8859-1 no deben ser magia negra ni ignorados, por algo existen.

Y por favor, prueben antes de liberar a producción!

Por cierto, el equipo de desarrollo al otro día les pregunto sobre como manejan su conexión a la base de datos, si estaban usando algun pool. Su cara me lo dijo todo... Es la próxima aventura de la siguiente semana !

domingo, 23 de enero de 2011

Integración a la mexicana Recargada

Hola!

Tendremos todavía lectores?

Han pasado varios años desde que creamos este blog. El Tuzo y yo seguimos trabajando juntos. Chillicoder ha recorrido un camino aparte, pero bien metido a Ruby

Y de Ruby quiero hablar

Estoy este fin de semana preparando clases, inicio en la ULSA, programación Web es la materia. Después de observar como ORACLE ha llevado a Java, he decidido por primera vez en mis casi 14 años dando clase, no impartir sobre la plataforma Java. La última vez trate sobre GRAILS

Retomando las ideas de Bruce Tate, en su libro Beyond Java, he decidido aplicar el camino, al igual que Chillicoder.

Durante ya los casi 5 años en los que Ruby on Rails ha evolucionado, encuentro una plataforma madura y bien diseñada.

Aunque seguimos usando Web Services con SOAP, WSDL y JMS; y seguimos usando el Service Bus de ahora ORACLE; ya tengo un rato que me percato de la existencia de REST y como simplifica el desarrollo

Me doy cuenta que la visión de llenar Internet con servicios Web basados en SOAP no prospero. Me encuentro al contrario, toda una serie de servicios implantados por Google, Amazon, Twitter, bajo un diseño simple

Y de cloud computing me encuentro conceptos similares a los planteados en los inicios de concepción de SOA. En algún blog anterior hable del concepto de X As a Service. Ahora, el tener la capacidad de exponer Hardware y Sistema operativo como Servicio, supero las expectativas de esos tiempos

Ahora hasta tengo un teléfono movil inteligente como los llaman hoy, un iPhone. Ya he probado el progamar sobre BlackBerry y iPhone. Me falta Android

Me percato, que el concepto de servicio no se ha perdido. En muchos lados, veo como varios "computologos" hablan de la muerte de SOA o de que ya no está "in". Me da risa esa visión de consultor que no aplica nada de lo que escribe, tipo Gartner

En una platica que oi de Mike Rossen, hablaba él de experiencias en implantaciones de SOA. Al final, la conclusión es que las organizaciones posiblemente no implantarán en su totalidad SOA. Pero la industria de software si está basando fuertemente en dicho concepto

En el temario de la materia a la que me refiero, incluí varias ideas. Espero que mis alumnos absorban los conceptos básicos para llegar a tocar los temas de servicios. Pongo aquí la liga de la presentación http://sites.google.com/site/cibgusdelact/progweb8012011/tema0/Introduccion Programacion Web.pdf

Me doy cuenta de nuevas oportunidades de trabajo, ya sea en el actual o pensar en nuevos lugares. Veo que se necesitan personas técnicas que sepan de este tema, que tengan experiencia en pasadas tecnologías que trataron la misma visión

De ahí que llamo a esta entrada, Integración Recargada por que veo nuevas posibilidades por aprender y de ahí aplicar

Empezando el 2011, y con retos interesantes en la chamba

sábado, 29 de mayo de 2010

Bertrand Meyer

Nunca les he platicado de Bertrand Meyer, http://bertrandmeyer.com, pero es uno de los computologos bastante reconocidos.

El concepto de contrato que tenemos nosotros para interfaces, fue definido por Meyer, "Design by Contract", en esa epoca de los ochentas y noventas se pensaba para objetos, pero pues facilmente extrapolable a servicios.

El definio un lenguaje orientado a objetos llamado Eiffel, con una sintaxis muy parecida a Pascal y Modula, con la idea de que el lenguaje fuera una herramienta que se adaptara al programador (a la manera Europea que siempre han pensado que los sistemas se adecuen al humano y no a la inversa, como luego piensan los gringos) y por lo tanto el concepto de apuntadores y conceptos de bajo nivel fueron eliminados del lenguaje. Aunque el lenguaje es muy elegante, para su epoca si era caro de implementar.

Cuando yo empece a trabajar en Cromasoft, distribuidor de SUN, con los Horvilleur, eran distribuidores del compilador y otras herramientas de la empresa de Meyer. Para un estudiante de sistemas apenas entrando a los veintes fue como trabajar en Disneylandia. Estuve a punto de conocerlo en Merida, pero no lo dejaron pasar en la aduana por que dijo que venia por cuestiones de trabajo ... Alguna vez detectamos un bug en una herramienta, y el personalmente nos hablo a Cromasoft.

En algun momento SUN empezo a ver Eiffel como su lenguaje de programacion orientada a objetos, pero fue Java quien gano al final.

Y pues la manera como yo estructuro los conceptos, viene mucho de el. De leer sus libros, llegue a la idea de que mi tesis fuera sobre Objetos Distribuidos para integracion de aplicaciones, y de ahi empezo mi obsesion.