Translate
martes, 17 de agosto de 2010
Flex 4
Flex 4 hace rato que esta en el mercado, pero husmeando por MadeInFlex encontré un recopilado de nuevas características. Como sabrán Flex 4 cambio bastante, tanto que tuvo que romper compatibilidad con la versión 3.
Dejo el link:
http://www.madeinflex.com/2010/08/15/serie-introduccion-flex4/
Léanlo que esta bueno.
Saludos!!
domingo, 15 de agosto de 2010
Libro Gratuito de SEO
http://www.slideshare.net/IAB_Spain/seo-optimizacin-de-webs-para-buscadores-buenas-prcticas-y-resultados
sábado, 14 de agosto de 2010
Productos BPM Open Sources
- Intalio BPM (edición community) : Herramienta BPM rica en funcionalidades que utiliza la noción de modelado de procesos de negocio BPMN para generar orquestaciones basadas en BPEL. Al ser una versión open source de un producto comercial utiliza librerías de la versión de pago, este software fue concebido para permitir el desarrollo y luego cuando se ponga en producción se compre la versión estándar.
- Motor ActiveBPEL: Motor BPEL eficiente y sumamente cuidado. Los modelos pueden diseñarse utilizando su herramienta Designer que es gratuita pero no es open source. La funcionalidad más importante, como puede ser las instancias de procesos persistentes a una base de datos o el control de versión de los procesos, únicamente esta disponible en la versión Enterprise.
- Apache ODE: Apache ODE (Orchestation Director Engine) es un motor BPEL de ejecución de procesos. Su API permite extenderlo de muchas maneras y por lo tanto, no esta limitado a utilizar únicamente SOAP. Es un motor liviano que puede integrarse fácilmente con productos de Apache como Service Mix. Apache ODE no posee editor gráfico para deseñar los procesos pero se puede contar con un plugin que se puede instalar en Eclipse.
- Jboss JBPM: Es un motor de workflow maduro, eficiente y ligero que va siempre de la mano de la herramienta de modelado basado en Eclipse. Usa su propio lenguaje de grafo en xml llamado jPDL (jBPM process Definition Language) y tiene soporte para todos los nodos de modelado principales, como puede ser las decisiones y las bifurcaciones. Se puede extender de manera sencilla y no está restringido su uso a ningún entorno de despliegue. A diferencia de otras alternativas, no existe una actualización a la versión comercial y no hay ninguna funcionalidad que esté restringida.
- ObjectWeb Bonita: Se trata de un motor de workflow potente y compatible con XPDL. Es un proyecto maduro y bien documentado. Incluye excelente integración con herramientas graficas de actividades humanas (por ejemplo, un generador de formularios) No dispone de ningún editor de software libre y necesita el servidor de aplicaciones JOnAS (Java Open Application Server)
- WSO2 Bussiness Process Server: El producto está basado en Apache ODE e incluye una interfaz administrativa basada en la Web y funcionalidades de simulación.
Ustedes usan uno de estos framework? Cual y porque?
viernes, 13 de agosto de 2010
PET
Yo no tengo ni la más mínima idea de python, pero la idea del blog es compartir conocimiento y apoyar a las comunidades.
En este caso presento una revista libre y gratuita, llamada PET: Python entre todos. PyAr escribio una revista para la comunidad.
Para leerla: http://revista.python.org.ar
Felicitaciones!!
Se viene Tomcat 7 Beta !!
Después de más de tres años desde el lanzamiento de Tomcat 6, el popular servidor Web hecho en Java, la Apache Software Foundation (ASF) ha anunciado la primera versión beta de Tomcat 7. De acuerdo con la ASF, hasta la fecha de hoy, el Tomcat se ha descargado más de 10 millones de veces. Entre la nueva versión beta está donando la plena aplicación de la especificación Java Servlet 3.0, Java Server Pages (JSP) 2.2, y el Expression Language (EL) 2.2, que fue parte de la especificación de Java EE 6 (Java Enterprise Edition) terminó en diciembre 2009. Como resultado, el medio ambiente tiempo de ejecución sólo es compatible con el Java Runtime Environment (JRE) 6.0, que a su vez, la necesidad de actualizar el compilador integrado Eclipse.
Los desarrolladores también están trabajando en la seguridad privada y de rendimiento para el 7 de Tomcat. Es cambios ya son visibles. Un ejemplo son las aplicaciones Web, Gerente y Host Manager, Que ahora tienen nuevas reglas de autorización en su propia URL para que sea más fácil identificar pérdidas de memoria de aplicaciones Web a través de la máquina virtual Java (JVM), la aplicación del Administrador de ahora contiene un botón para la dirección http://localhost:8080/manager/html/findleaks Para hacer un análisis de uso de memoria.
lunes, 9 de agosto de 2010
Gambas
sábado, 7 de agosto de 2010
¿Que herramienta de registro de servicios utilizar?
El objetivo de tener un registro de las funcionalidades desarrolladas en una arquitectura SOA es que todos los desarrolladores conozcan los servicios y no exista duplicidad de servicios. Para esto se podría utilizar diferentes herramientas de propósito más general, como una wiki o una base LDAP pero es mejor utilizar herramientas de objetivo particular. En el mercado existen herramientas open sources para el registro de servicios. Entre los más importantes podemos mencionar a MuleSource Galaxy y Registro de WSO2.
MuleSource Galaxy: Esta basado en un diseñador de repositorios para la gestión de artefactos de software basados en SOA. Entre ellos se incluye la configuración del ESB Mule, WSDL, archivos xml y configuración de Spring. Es una perfecta herramienta de registro cuando se utiliza ESB mule ya que se integra totalmente con ese producto.
Registro de WSO2: Esta diseñado para almacenar, catalogar, indexar y gestionar metadatos de empresa relacionados con artefactos SOA. Ambienta se incluye el control de versiones y su rapidez lo hace un buen candidato para sistemas empotrados.
El producto Galaxy tiene soporte para las mismas funcionalidades generales que el registro de WSO2, como puede ser la categorización de recursos, la monitorización y la gestión de ciclo de vida y de la dependencia. Además, su versión 1.5 incluye nuevas funcionalidades como la replicación (disponible solo la versión de pago) tiene soporte para scritps y una API de eventos.
Hay que decir que el producto de registro WSO2 es muy sencillo de utilizar y gana a Galaxy gracias a su mejor infraestructura para Atom/Rss y sus funcionalidades de control de versiones y de restauración de versiones anteriores. Las funcionalidades más atractivas de Galaxy se encuentran en la versión de pago mientras que la herramienta de registro de WSO2 es 100% libre y gratuita.
Cual utilizar? como todo en esta vida depende, Si usamos Mule hay que optar por la integración de sus productos por lo tanto en buena opción MuleSource Galaxy, en otros casos puede ser uno u otro. Yo pienso que WSO2 es 100% libre y gratuita, por esta razón y la facilidad de uso, creo que es mejor optar por la herramienta de registro de WSO2.
lunes, 2 de agosto de 2010
Libro Gratuito de Ruby y Rails
http://everydayrails.com/2010/07/28/free-ruby-rails-books.html
La verdad no los leí pero ya vamos a tener tiempo ;)
viernes, 30 de julio de 2010
Cuantos lenguajes corren en la jvm?
http://www.is-research.de/info/vmlanguages
the Da Vinci Machine Project
La idea es simple que la jvm soporte otros lenguajes.
Para entender esto hay que detenerse en el proceso de compilación de java como ustedes sabrán, java compila en un código intermedio llamado byte code, este código intermedio es interpretado por la jvm y de esa forma java puede correr en cualquier plataforma que tenga una jvm, compilando solo una vez el código. Si creo un lenguaje que pueda compilar a byte code puedo compartir toda la plataforma java con sus librerías y frameworks gratis.
Este proyecto es una serie de extensiones a la JVM, de modo que pueda ejecutar lenguajes no-Java de manera eficiente, con un nivel de rendimiento comparable al de Java.
El énfasis está en completar el código de bytes existente y arquitectura de ejecución con extensiones de uso general.
Dejo links de proyecto:
http://openjdk.java.net/projects/mlvm/index.html
lunes, 26 de julio de 2010
Hay algo mal que no anda bien!!!
viernes, 23 de julio de 2010
Lenguaje de programación modernos
Un poco amarillista el titulo del post pero en los últimos años nos vimos bombardeados por nuevos lenguajes de programación como ruby, goovy, scala, ioke, python, etc. Y la verdad que están muy buenos.
Todo empezó con el bum de ruby, lenguaje script basado en smalltalk, que con railes parecía como que iba a conquistar el mundo. Pero otras plataformas no tardaron en copiar los beneficios del lenguaje para su plataforma así nació jruby, jython groovy (en java) y iron ruby y iron python (en .net).
Luego nació algo muy interesante la mezcla de paradigmas en particular la programación funcional con la programación orientada objetos, dando muy buenos lenguajes como scala, ioke o clojure en java y F# en .net.
En el blog se hablo de algunos de estos lenguajes:
http://emanuelpeg.blogspot.com/search/label/Clojure
http://emanuelpeg.blogspot.com/search/label/Ioke
http://emanuelpeg.blogspot.com/search/label/jython
http://emanuelpeg.blogspot.com/search/label/jRuby
http://emanuelpeg.blogspot.com/search/label/Lua
http://emanuelpeg.blogspot.com/search/label/Scala
Me quede pensando que esto esta buenísimo, la convivencia de diferentes paradigmas en un lenguaje, es raro que no se allá todavía inventado un lenguaje orientado a objeto y lógico como un prolog OO. Un ejemplo de esto es logtalk
¿Alguien conoce otro lenguaje multiparadigma?¿Alguien usa algun lenguaje multiparadigma?
viernes, 16 de julio de 2010
ESP y CEP con Esper!!
Las tecnologías emergentes como el Procesamiento de Eventos Complejos (Complex Event Processing o CEP) y el Procesamiento de Flujos de Eventos (Event Stream Processing o ESP) han comenzado a ocuparse de problemas de mayor complejidad que no podían resolverse con el procesamiento de eventos tradicional. Por ejemplo, con CEP se puede “analizar, correlacionar y resumir eventos de bajo nivel en eventos de más alto nivel adecuados para informar a las personas en términos humanos o para desencadenar procesos automáticos.”1 CEP y ESP emplean técnicas como la detección de patrones complejos en numerosos eventos, utilizando algoritmos de procesamiento de reglas para la correlación y abstracción de eventos, empleando jerarquías de eventos y relaciones entre los eventos. Los análisis de causalidad, membrecía, oportunidad y procesos impulsados por eventos son capacidades centrales de estas tecnologías.
ESP y CEP se consideran parte de una tendencia más extensa llamada EDA (event-Driven Architecture) EDA es un estilo arquitectónico, que esta centrado en comunicaciones asíncronas basadas en eventos. Es totalmente complementario a SOA y utiliza mensajes asíncronos en lugar de llamadas a funciones al estilo RPC, para realizar computación distribuida. Un evento es simplemente la acción de algo que está ocurriendo, bien sea un pedido, un aviso de entrega o la finalización del trabajo de un empleado. El sistema que registra el evento (tambien llamado sensor) genera un objeto de eventos que se envía mediante una notificación. El consumidor de la notificación o receptor puede ser otro sistema que por su parte, utilice el evento para iniciar alguna acción como respuesta. Aquí es donde el concepto de ESP entra en juego.
Esper es una implementación open source esto es para java, pero también viene una versión .net que se llama NEsper. Esper y NEsper permitir el rápido desarrollo de aplicaciones que procesan grandes volúmenes de mensajes entrantes o eventos. Esper y NEsper filtra y analiza eventos de diversas maneras, y responde a condiciones de interés en tiempo real.
Dejo link para mayor información:
http://complexevents.com/2007/07/24/how-event-processing-improves-business-decision-making/
http://esper.codehaus.org/
miércoles, 14 de julio de 2010
Atlassian recibe ronda de financiación por US $60 mill
Atlassian es una empresa dedicada a desarrollar productos con java muy exitosa. De ella ya hemos hablado en varios podcasts de javaHispano porque son un gran ejemplo de cómo construir un modelo exitoso de negocios alrededor del software: desarrollan productos que son gratuitos para proyectos open source y de pago para proyectos comerciales. La primera parte les ha permitido mejorar sus productos con el feedback de muchos usuarios y la segunda conseguir ingresos para vivir de ello.
Sus productos ya son una referencia en el mundo del desarrollo: Jira, Confluence, FishEye, Bamboo, etc. Con 20, 000 usuarios en todo el mundo y clientes del tamaño de Facebook y y Cisco, son una empresa consolidada.
Por primera vez, han salido a buscar financiación para expandir su negocio y presumiblemente para comprar algunas otras empresas y Accel ha accedido a financiar a la empresa con US $60 mill. Nada mal para una empresa de software y que prácticamente no tiene personal comercial, solo desarrolladores que ha sabido construir productos de calidad.
Si aún no lo has probado y tienes una empresa, puedes comprar una licencia starter desde US $10 para hasta 10 usuarios.Esta noticia es de javahispano, lo que quiero agregar es lo importante del modelo de negocio Open source, y que ya es un hecho se puede ser rentable con productos open source. Esta es una visión que en otros post hemos señalado:
http://emanuelpeg.blogspot.com/2010/01/codigo-abierto-donde-hemos-estado-y.html
http://emanuelpeg.blogspot.com/2009/12/dan-pink-en-la-sorprendente-ciencia-de.html (mirar comentarios)
http://emanuelpeg.blogspot.com/2009/08/linux-como-plataforma-de-desarrollo.html
http://emanuelpeg.blogspot.com/2009/08/linux-crecio-un-234-entre-2007-y-2008.html
Creo que en Argentina, y debe ser en otras partes del mundo se ve este modelo de negocio como serio y que realmente puede dejar ganancias.
Ustedes que piensan ? Tener productos open Sources es rentable?
domingo, 11 de julio de 2010
Servicios y Gobierno SOA
Los servicios son funcionalidad necesaria para la empresa, es decir son funcionalidad expuesta a otros servicios, sistemas o una interfaz gráfica. Los cuales fueron concebidos para solucionar un requerimiento. Los servicios son los ladrillos de nuestra arquitectura SOA. Ellos pueden contener lógica de negoció, acceso a bases de datos, accesos a otros servicios, etc.
Los servicios están descriptos en una interfaz que indica como utilizarlos. Pero los servicios nunca exponen su funcionamiento; son una caja negra. Lo que permite cambiar un servicio fácilmente por otro, favoreciendo la mantenibilidad y agilidad de desarrollo. Los servicios exponen como se utilizan pero no exponen como funcionan.
Los servicios pueden acoplarse para formar nuevos servicios, que solucionan nuevos requerimientos, esto ayuda a que no se duplique el código. Los servicios son atómicos y sin estado lo que permite distribuirlos en diferentes maquinas favoreciendo la escalabilidad de los sistemas.
Los servicios por si solos son incompletos, necesitan una arquitectura que los mantenga y soporte sus ventajas. Por ejemplo a la hora de desarrollar un nuevo servicio ¿como se si no existe ya? O ¿si existen servicios que pueden ayudar? Por lo tanto debo tener un registro a donde registrar mis servicios, en el cual puedo buscar los servicios existentes.
El gobierno SOA es el conjunto de roles, políticas y procedimientos que sirven de guía para la adopción de la SOA. Al implementar los componentes tecnológicos de gobierno, está creando la infraestructura para soportar y aplicar estos roles, políticas y procedimientos en toda su SOA.
Luego de desarrollar los servicios hay que gestionarlos, la gestion de los servicios se le llama gobierno SOA.
Gobierno de SOA es una ampliación del gobierno de IT centrada en el ciclo de vida de los servicios y en las aplicaciones compuestas en una arquitectura orientada a servicios (SOA) de una organización. La función del gobierno de SOA es definir:
- Derechos para tomar decisiones para el desarrollo, el despliegue y la gestión de nuevos servicios.
- La supervisión y notificación de procesos para capturar y comunicar los resultados del gobierno. Debido a que las aplicaciones SOA están intrínsecamente fragmentadas, introducen nuevos retos de gobierno. No obstante, con políticas, principios, estándares y procedimientos adecuados, los empresarios pueden darse cuenta de todas las ventajas que ofrece la arquitectura orientada a servicios. Una plataforma de gobierno de SOA eficaz no sólo ayuda a los equipos de IT y negocio a identificar mejor qué proyectos contribuyen más a los objetivos empresariales, sino que también dotan de más facilidades a los empleados para trabajar y colaborar de forma más eficaz definiendo claramente sus roles y sus responsabilidades.
El Gobierno SOA pretende dotar de los mecanismos de control, procesos, procedimientos y métodos probados en la práctica para garantizar el orden en las decisiones que se tomen en una iniciativa SOA, evitando el caos en cualquier proyecto SOA que se plantee, logrando la efectividad y agilidad esperada en la transición hacia SOA.
El Gobierno se refiere a los procesos que una empresa establece para garantizar que las acciones realizadas se adhieren a las mejores prácticas, normativas, estándares y principios de arquitectura, con objeto de gobernar la adopción e implementación de SOA.
La ausencia del Gobierno SOA puede desembocar en los siguientes problemas:
- El Programa SOA entrega resultados inconsistentes
- Crecimiento caótico a nivel de infraestructura y servicios
- Servicios con funcionalidad redundante
- Disponer de servicios que no se pueden reutilizar en la organización
- Inconsistencia en la identificación, diseño y uso de los servicios
- No se definen métricas para cuantificar el éxito
- Ausencia de coordinación entre proyectos
Por lo tanto podríamos definir a SOA como la suma de servicios y gobierno SOA.
El Gobierno SOA comprende varias herramientas que permiten gobernar los servicios:
- Registro de servicios, permite registrar nuestros servicios y consultar servicios existentes.
- Bus de servicios o ESB (Enterprise Service Bus) facilita la comunicación entre diferentes servicios.
- Orquestación y coreografía, herramienta que permite definir la interoperabilidad de los servicios.
- Procesador de flujos de eventos o ESP(Event Stream Processing) herramienta para diseñar, gestionar y monitorizar los eventos que fluyen a traves de un entorno orientado a EDA(Event-Driver Architecture) dado.
- Integración de aplicaciones empresariales o EAI (Enterprise Application Integration) facilita la integración con aplicaciones o bases de datos legacy.
No necesariamente se deben tener todos las herramientas descriptas para conformar el gobierno SOA. Se deben adoptar las herramientas que satisfagan las necesidades propias de la empresa que adopta SOA.