Category Archives: Tecnologías de la información y comunicación

Alfresco VS Documentum

Que tal compañeros, en esta ocasión traigo hasta ustedes una comparativa personal de un par de herramientas muy poderosas para gestión de contenido, con capacidad de mejorar la calidad de los procesos de muchas empresas e instituciones. Les hablo de Documentum y su hermano libre(Open Source) Alfresco.

Primero veamos un poco de su potencial.

Documentum es una plataforma de manejo de contenidos empresariales, actualmente propiedad de EMC Corporation. Fue fundada en 1990 por Howard Shao y John Newton. Maneja un modelo de contenido en dos partes, por un lado tenemos el contenido como tal y por el otro todos los metadatos adjuntos que describen a ese contenido. Algunas de sus funcionalidades son: manejo de contenido en forma no estructurada sobre cualquier formato(documentos, imágenes, audio, video, etc), manejo de roles y grupos, seguridad a través de niveles de acceso, versionamiento de todos los archivos, transformaciones de contenido para presentarlo en distintos formatos (renditions) y publicaciones automáticas, permite generación de índices para mejorar las búsquedas no solo sobre metadatos, si no sobre cualquier contenido que pueda ser indexado, gestiona ciclos de vida y flujos de trabajo, proporciona seguridad dentro y fuera del repositorio, arquitecturas distribuidas y federadas, comunicación con Microsoft Office, Microsoft Outlook, y otros sistemas de negocios como SAP o Share Point. Manejo de múltiples bases de datos (SQL server, Oracle, DB), conexión de red por medio de: JDBC, WebDAV, FTP, File Share Services, Documentum Foundation Services. Actualmente su versión más reciente es la 6.7.

Alfresco. Es una plataforma LIBRE de manejo de contenidos empresariales que cuenta con 2 versiones, la versión de la comunidad  Alfresco Community Edition que está bajo licencia LGPL (Lesser General Public License) y su versión comercial Alfresco Enterprise Edition también Open Source pero que incluye soporte y certificación de productos. Fundada en 2005 por John Newton (co-foundador de Documentum) y John Powell (un ex director de operaciones de Business Objects). Su Staff original estaba formado por los “ingenieros principales de Documentum y de Oracle”. (Si les interesa saber que hacían estas personalidades ahí, comenten y generamos otro post). Algunas de sus funcionalidades básicas son: manejo de documentos en cualquier formato, versionamiento del repositorio, manejo de registros, manejo de imágenes, integración de publicaciones, acceso al repositorio vía CIFS/SMB, FTP, WebDAV, NFS y CMIS, flujos de trabajo con el motor de Activiti (BPMN 2.0), búsquedas con Lucene, servidores federados, soporte de múltiples bases de datos (MySQL y PostgreSQL para la versión Community y Oracle, IBM DB2, Microsoft SQL Server para la versión Enterprise).


Ya que estamos más en contexto sobre estas herramientas que son muy útiles y facilitan en gran medida los procesos de trámites y negocios en las empresas, así como brindan un camino seguro para la administración y búsquedas de contenido, levantemos el dedo índice para señalar 5 ventajas que tienen el uno sobre el otro.

Y así comienza el Top Five Alfresco vs Documentum

Comencemos con la herramienta libre y siempre dispuesta Alfresco:

  1. A diferencia de Documentum, Alfresco está disponible de forma gratuita en la página de la comunidad (http://wiki.alfresco.com/wiki/Download_and_Install_Alfresco) para ser instalada, configurada y adecuada a nuestras necesidades.
  2. Sin necesidad de instalar algún plug-in u otra aplicación que genere costo, se puede generar una conexión directa a nuestra PC por medio del protocolo CIFS (Common Internet File System), lo cual nos permite ver el sistema de archivos como si fuera una unidad más de red y manejar el contenido con la facilidad de nuestro sistema operativo.
  3. Dado que Alfresco está construido sobre El framework de Java Spring utilizando el modelo MVC, hay un gran potencial para desarrollar nuevos componentes e integrarlos a los que ya existen.
  4. Integración con Google Docs para edición de contenido en línea.
  5. El consumo de recursos por parte de los servicios de Alfresco es mucho menor que en Documentum, pues con 1GB de RAM y 2 procesadores Dual Core podemos mantener 1000 usuarios concurrentes.

Algunos de estos datos los encontré dentro de las presentaciones de la autoría de José Pereira en las que estudiaba, las pueden encontrar en http://www.jpereira.net/gestion-documental/manuales-alfresco-espanol.
Ahora nuestro buen amigo Documentum:

  1. Al estar licenciado, existe ese compromiso por parte de EMC que brindan la experiencia de años de soporte y certificación, lo cual da tranquilidad a las grandes empresas.
  2. Tiene una suite de procductos dedicados a transformaciones de formatos con mayor diversidad que Alfresco, hablo de CTS (Content Transformation Services).
  3. Mayor desarrollo en sistemas de encriptación(RMI) y niveles de seguridad(seguridad por objeto, por nievel de acceso y por funcionalidad en las aplicaciones).
  4. Manejo de versionamiento automático sobre todos los objetos que ingresan al repositorio, en Alfresco hay que configurar la opción de versionamiento en cada documento o generar una regla que lo haga.
  5. Aplicaciones y plug-ins que facilitan el desarrollo, validación e instalación para workflows, ciclos de vida, artefactos y desarrollo de Aplicaciones con WDK (Web Development Kit) como son Composer, Workflow Manager, Documentum Developer Studio entre otras.

Como verán cada uno tiene sus virtudes, pero como todo en este mundo nadie es perfecto, y a mi parecer su uso depende de el potencial del proyecto y por supuesto del presupuesto.
Yo en lo particular que estoy aprendiendo de ambas herramientas, creo que si lo que se busca, es armar un proyecto en el que se tienen los recursos economicos y se necesitan herramientas completamente integradas, usemos Documentum. Ahora bien si el proyecto carece de disponibilidad financiera, implementemos Alfresco y expandamos sus capacidades.

Si ustedes ya han ocupado estas herramientas, coméntenos sus experiencias, así sabremos que es mejor en cada situación y podremos aprovechar mejor las tecnologías de Administración Documental con todas sus bondades.

Inteligencia de negocios en la nube

La mayoría de los sistemas que manejan grandes cantidades de información dentro de las empresas, son desarrollos in-house, o a la medida desarrollados por alguna entidad externa pero con la participación del cliente. Muchos de estos desarrollos tienen un análisis de requerimientos y un diseño muy pobres y/o el cliente no está seguro de lo que necesita hasta que lo prueba y el tiempo y costos del proyecto se ven seriamente afectados con los ajustes.

Uno de los principales factores que llevan a un proyecto como este a fracasar o terminar de una manera no deseada es la infraestructura del cliente, que en la mayoría de las ocasiones por cuestiones burocráticas, se vuelve difícil acceder a los servidores y optimizarlos para que el rendimiento de la aplicación antes, durante y después de la salida a producción sea el adecuado.

Sin pretender hacer una labor de mercadotecnia de un producto que no desarrollamos, me gustaría hablar de una posibilidad de evitar o aminorar estos problemas con un producto que pretende lanzar Google y que vale la pena echarle un ojo.

Google está desarrollando un servicio en la nube que permite analizar una gran cantidad de información. Se llama BigQuery. En un principio, ayudará a las organizaciones a analizar sus datos sin necesidad de construir o configurar infraestructura para ello. La compañía aprovechó los desarrollos internos que usa para analizar sus productos como GMail y AdSense, y llevó sus algoritmos a la nube para brindar la opción a ciertas empresas de subir sus datos(y alternativamente guardarlos) en grandes cantidades y posteriormente ejecutar análisis tal como se hace con cualquier sistema de inteligencia de negocios.

Una de las ventajas de este servicio es que se elimina el uso de un data warehouse; tanto el desarrollador como el cliente evitan preocuparse por la seguridad pues se usa la infraestructura y cuentas de Google para ello y además se automatizan los respaldos de la información cargada. Sus capacidades parecen ser simplemente sorprendentes: procesar billones de registros en segundos, capacidad de almacenar terabytes de información, facilidad de ejecutar análisis mediante consultas tipo SQL, administrar los grupos y usuarios a través de la cuenta de correo electrónico, seguridad mediante SSL y el poder acceder a la información a través de cualquiera de sus interfaces: BigQuery browser, línea de comandos, a través de su API con arquitectura REST o Google Apps Script.

A pesar de que lo escrito anteriormente puede sonar a promoción, personalmente lo veo como una gran oportunidad de negocio, por lo menos de manera alternativa, para las empresas o desarrolladores independientes de hacer llegar una solución con bajos costos pero con muchos beneficios a los clientes que lo necesiten y no estén dispuestos a mantener un sistema desarrollado in-house.

Si están interesados en sus bondades, quieren darle seguimiento a este servicio y ver la posibilidad de crear algo interesante, cuenten conmigo para hacerlo.

Espero sus comentarios.

La utopía de la relación consultoría-cliente

El amor del cliente hacia el proyecto, una utopía cuando se trata de consultorías pequeñas o freelancers. La honestidad y la pasión por el proyecto fluyendo en ambos sentidos: del cliente hacia el proveedor de servicios y viceversa, utopía que es el día a día de cualquier profesional de TI. Pero, ¿cómo lograr que no sea sólo un sueño y se traduzca en mejores condiciones de trabajo para las consultorías pequeñas?. Confianza.

Los clientes que trabajan con proveedores de servicios tienden a confiar en aquellas agencias de renombre, con una marca bien posicionada. Las consultorías pequeñas no siempre inspiran esa confianza, lo que significa que esta debe ser construida, alimentada y nunca darse por sentada. Pero, ¿qué herramientas tenemos las empresas pequeñas para ganarnos esa confianza del cliente y llevar una mejor relación en los proyectos?

Ganar-ganar significa que las soluciones que le damos al cliente resuelven sus problemas y nosotros recibimos a cambio la satisfacción de haber cumplido en tiempo y forma con lo requerido. El cliente debería responder a tus ideas con respeto, poniendo su confianza en aquellas propuestas con las que no está totalmente identificado y dejando de lado sus propios planteamientos de los que inconscientemente sabe que no tendrán mucho éxito. De la misma manera deberíamos mostrar la confianza y respeto por las ideas del cliente y dejar de lado algunas otras para darle paso a conceptos frescos surgidos de esta relación. Con estos primeros pasos aseguramos que se creará la mejor plataforma para el éxito del proyecto.

Aunque hay algunos esfuerzos que necesitamos hacer para mantener esta plataforma estable y evitar la frustración y decadencia características de los proyectos mexicanos.

La manera en la que los equipos de la consultoría y el ciente trabajan, es un punto crítico. Primero que nada, debemos ser aquello que queremos que el cliente sea, es decir, si queremos que sean honestos con nosotros, entonces debemos ser honestos también. Si queremos que muestren interés en el proyecto, entonces tengamos pasión al realizar nuestro trabajo. Probablemente, al principio no detecten este entusiasmo, pero tarde o temprano lo harán y esto servirá para reforzar las relaciones de trabajo. Cuando las cosas no vayan bien, se tengan muchos issues en el sistema o simplemente la relación vaya en decadencia, debemos asegurar que el cliente se enfoque en los usuarios y los problemas de negocio más que en las deficiencias detectadas, siendo siempre nosotros los catalizadores para resolver dichos problemas. Discutir la resolución de problemas en un ambiente controlado y con pruebas, es la mejor manera de retirar los prejuicios que el cliente se haya hecho de nosotros.

Implementar metodologías para investigación de clientes y pruebas con usuarios es una buena idea para llevar un proyecto. Algunas de estas dinámicas pueden ser: focus groups, entrevistas, encuestas, prototipos, pruebas de usabilidad, etc. Todos estos procedimientos arrojan información invaluable al inicio de un proyecto pues permiten focalizar los esfuerzos y no trabajar a ciegas sin saber que tipo de usuarios estarán interactuando con el sistema. Inclusive se pueden generar estrategias que permitan convencer al cliente de usarlas pues sabremos con certeza el éxito que tendrán al ser implementadas. Aquí el punto interesante será el compromiso por parte del cliente de destinar cierto presupuesto a la implementación de estos procedimientos, o bien, por salud propia, definir un estándar en todos nuestros proyectos para asignar recursos humanos, económicos y materiales a esas tareas que se traducirán en mejores resultados en los proyectos y muy probablemente en nuevos contratos. Finalmente será un gasto mucho menor que perder tiempo y dinero en la corrección de problemas posteriores.

Existe una teoría de la usabilidad llamada aesthetic usability effect o efecto de la usabilidad estética, esta teoría básicamente dice que aunque un producto sea muy dificil de usar, si es atractivo visualmente, inspirará la confianza necesaria en el usuario a nivel de generar cierta tolerancia a fallos, crear una idea de que la curva de aprendizaje será menor y por lo tanto que el esfuerzo que hará para poder usar el sistema será mínimo. Entonces, entre más atractiva sea una liberación, un prototipo e inclusive una presentación ejecutiva, mejor será el resultado y la probabilidad de que nuestras propuestas sean aceptadas. El punto es, mantener al cliente siempre interesado en nuestras propuestas, en las presentaciones, liberaciones o pruebas, no darle oportunidad de hacer decaer la curva de interés y no detenernos hasta que hayamos impreso en su subconsciente nuestro objetivo.

Mantener a los clientes a bordo con nuestras recomendaciones y propuestas no sólo se traduce en mejor productividad también implica éxito de los proyectos en los que participemos.

No nos casemos con un lenguaje, una metodología, un administrador de contenidos o una plataforma de desarrollo, la tecnología y las mentes de las sociedades evolucionan muy rápido, enfrentemos los retos con apertura e ideas creativas e innovadoras para crecer como profesionales.

¡Nos leemos en el próximo!

e-learning y social media (Parte I: Twitter)

Como este tema es muy amplio, trataré de ser lo más concreto que pueda en las ideas y entregar esta aportación en varias partes, he aquí la primera de ellas.

Desde hace un par de años las redes sociales, microblogs y los foros diseñados para la llamada web 2.0 han tenido un auge increíble dentro de los cibernautas de todos los sectores sociales, desde redes sociales únicamente diseñadas para hacer el “friend connection” hasta microblogs y aplicaciones tremendamente ingeniosas en las que puedes invertir mucho de tu tiempo investigando sus bondades.

En esta serie enfocaré mi análisis a aquellas redes sociales, blogs y aplicaciones que son de utilidad en la propagación del conocimiento dentro de todos los sectores de la población y mostrar que quizá existe una cierta aversión mal infundada(en algunos casos) por parte de las personas, al tomar estos “recursos” como meramente ociosos.

Twitter
En pocas palabras, twitter es un servicio en línea donde puedes escribir mensajes cortos para tus seguidores o followers. Algunos de los puntos interesantes para tomar en cuenta a esta herramienta como fuente de información son los siguientes:

  • La mayoría de empresas actualmente, en su lado virtual, es decir, en sus sitios web integran alguna o todas las funcionalidades de este servicio en los servicios que proveian usualmente.
  • Si tienes a los seguidores y colaboradores adecuados, puedes encontrar rápidamente ligas interesantes y utiles sin tener que navegar o hacer búsquedas tediosas de algún tema, pues alguien seguramente ya lo hizo por ti y lo ha comentado en un “tweet”, de tal manera que puedes acceder a esta información de una forma rápida y sencilla.
  • Es un gran medio colaborativo, actualmente en los congresos o conferencias se ha usado para que la gran cantidad de asistentes pueda colaborar proporcionando sus comentarios, haciendo esto un método ágil de recabar las opiniones de los asistentes. También equipos de desarrollo o en salones de clase, han sugerido esta herramienta por la facilidad de uso y la retroalimentación instantanea de participantes remotos.
  • La información es un factor determinante en todo proyecto, la información verídica instantanea bien propagada es aún más importante, y esto es lo que hace twitter. Actualmente la mayoría de medios tradicionales, como periódicos, revistas y televisión, han desviado su vista a colocar noticias y recursos informativos en twitter, haciendo este medio un lugar interesante para enterarte de acontecimientos alrededor del mundo casi en tiempo real.

Hay demasiada información en internet de como microblogs como twitter pueden ayudar a propagar el aprendizaje, motivo suficiente para poner en práctica las habilidades de búsqueda. Un resumen de lo que hace twitter lo pueden ver a continuación:

- ¿Qué es twitter?
- Twitter como herramienta de enseñanza y aprendizaje

Espero sus comentarios. Nos leemos en el próximo.

Redes Neuronales (por Silvia Diaz)

Las computadoras actuales son máquinas de von Neumann; es decir,  máquinas de procesos donde se ejecutan en serie una secuencia de instrucciones, las cuales son almacenadas en memoria. Ese fue el objetivo de la invención de las computadoras, facilitarnos procesos donde implique cálculos o razonamiento lógico. Ya que aunque el ser humano los puede realizar, el tiempo invertido en ellos es mucho comparado a la velocidad que lo puede resolver una computadora. Esto hace que el resolver problemas complejos aritméticamente resulte hasta cierto punto sencillo de programar.¿Pero qué pasa al elaborar un sistema que tome decisiones a partir de experiencias previas y factores externos? ¿Cómo hacer para que el sistema aprenda?El realizar programas que impliquen cierta “inteligencia” y que vayan aprendiendo conforme recibe información y no sólo seguir ordenes secuenciales que se programaron antes de su ejecución, ha hecho que se lleven más de 50 años trabajando en la Inteligencia Artificial. Ya que en 1950, Shannon y Turing diseñaron los primeros programas que permiten que una computadora “razone y juegue ajedrez, ganándole hasta al campeón mundial de ajedrez.

Para poder resolver este tipo de problemas se han dado una serie de paradigmas de cómputo alternativos, como lo son las redes neuronales, algoritmos genéticos o la computación evolutiva, de las cuales las dos primeras quizás sean las más relevantes y utilizadas.

Hablar de redes neuronales artificiales (ANS- Artificial Neural Systems) implica conocer primero el funcionamiento de las redes neuronales biológicas, para así poder entender más fácilmente el paralelismo que existe entre ambas.

Neuronas Biológicas

Una neurona es el componente básico del sistema nervioso, incluyendo al cerebro. Y son células que tienen tres partes importantes:

1.       Dendritas: Son el elemento receptor, son fibras que cargan de señales eléctricas al cuerpo de la célula.

2.       Soma: Realiza la suma de las señales eléctricas recibidas por las dendritas.

3.       Axón: Es una fibra larga que lleva la señal eléctrica del cuerpo de la célula hacia otras.

El punto de contacto entre el axón de una célula y la dendrita de otra se denomina sinapsis.

Sinapsis.

 

Una de las neuronas será  presináptica (la que envía las señales) y la otra postsinápticas (la que recibe las señales). En la figura 2 podemos observar la comunicación entre dos neuronas de manera química. La neurona presináptica libera unas sustancias químicas llamadas neurotransmisores y atraviesan el intervalo sináptico.Si la neurona receptora posee en las dendritas o en el soma canales sensibles a los neurotransmisores liberados, los fijarán, y como consecuencia permitirán el paso de determinados iones a través de la membrana. Así se crean pequeños excitadores (positivos) o inhibidores (negativos), por lo que la neurona se disparará a mayor frecuencia cuanto mayor sea el nivel de excitación. La intensidad de una sinapsis se mide a partir de los disparos y dependiendo de la escala es el aprendizaje que se tiene entre la red de neuronas.

Así en las neuronas artificiales se simulan las entradas asociadas a un peso (la fuerza de las cargas eléctricas de conexión que reciben las dendritas) y el elemento procesador (simulando el soma) multiplica cada entrada por su peso y suma los productos.   Para finalizar el proceso se pasa a la función de la transferencia para generar un resultado, éste se transmite por la vía de salida (sería como el axón). Y la sinapsis es el proceso de aprendizaje a partir de las salidas correctas. Esto lo veremos con más detalle en el siguiente tema, que será una introducción a los Sistemas Neuronales Artificiales (ANS) así como su clasificación y sus modelos.

Cómo lograr gráficos realistas con poco poder de cómputo. (Por Azael Nieves)

Desde un simple pixel (la representación de un punto en pantalla), hasta la complejidad de un polígono, la graficación por computadora se encuentra presente en diversas áreas como la medicina, la biología y otras más.Los gráficos han evolucionado a pasos agigantados durante estos 40 años que han trascurrido, desde 1970 año en el que se comercializaron los primeros sistemas de graficación por  computadora en los hogares, aquellos sistemas en los que todo eran gráficos vectorizados, hasta los 90′s ,2000′s años de grandes avances en el área los cuales fueron tan enormes que se logro una interacción con diferentes áreas de estudio, como la medicina en la que se han realizado importantes simuladores para prevenciones de enfermedades cardiacas, hasta complejos simuladores para la ayuda de la extracción de hidrocarburos y  recientemente en el área de videojuegos en el que se han mostrado grandes avances.Pero este gran avance a tenido un costo a nivel de computo, ya que para lograr el gran realismo que se alcanza a percibir hoy en día, se requiere de un número millonario de polígonos para lograr una reproducción casi fiel de cualquier objeto, por lo que el desarrollar técnicas que permitan reproducir gráficos de alta definición con un número menor de polígonos es necesario debido a los altos costos de computo que esto representa, a una de esta técnica se le llama displacement mapping.Recreación de un objeto utilizando Displacement MappingEsta técnica consiste en crear detalles geométricos en cualquier figura que se encuentre creada con pocos polígonos a través de un proceso de codificación a partir de una textura.

Es como si al colocar una imagen a un conjunto mínimo de polígonos, este conjunto adquiriera un aspecto realmente foto realista, esto debido a la información contenida en los relieves de la textura o displacement map.

En la figura siguiente se muestra que con un displacement map y dos polígonos podemos crear un grafico foto realista.

Representación de una pared con displacement mapping y dos poligonos.

Con esta técnica se pueden lograr gráficos asombrosos con muy bajo costo de computo, no necesitaríamos una gran poder grafico para poder desarrollar este tipo de gráficos, y se optimizarían grandes cantidades de recursos, pero el avance agigantado del procesamiento por hardware han opacado técnicas como estas que podrían ofrecernos imágenes realistas con hardware muy por debajo de la norma que se sigue actualmente.

¿En verdad sabemos que son las TIC’s?

Me da mucho gusto ser la primera en postera algo en este blog, supongo que todos somos “expertos” en las TIC’s pero en verdad sabemos de que se tratan? para que son? por qué estamos considerados colaboradores en esta rama?

Para empezar cuando comenzaron a integrarse a este grupo ya sea por la carrera o el trabajo sabían que era una TIC? no lo creo jajaja, en realidad el término es muy reciente, comenzó a emplearse por ahí de mediados de los años 90, cuando se dá toda esta revolución del acceso a internet, se ven ya nuevos dispositivos móviles ( ustedes saben ya no se usaban esos tabicotes como celulares), comienza la tan famosa globalización.

Bologna y Walsh mencionan que las TIC’s  (Tecnologías de la Información y Comunicación) son  “aquellas herramientas y métodos empleados para recabar, retener, manipular o distribuir información. La tecnología de la información se encuentra generalmente asociada con las computadoras y las tecnologías afines aplicadas a la toma de decisiones”.

Como verán el campo es muy variado, depende mucho del ámbito en el que estemos presentes, telecomunicaciones, innovación, difusión, etc etc. Lo bonito de nuestro campo es que abarcamos todos estos y podemos explotarlos de una manera impresionante, por que no es por nada, pero nuestro nivel de comprensión de dichas tecnologías no sólo se enfoca al simple uso de un correo electrónico (ó 20 como algúnos llegamos a tener jaja), ni messenger jajaj. Nosotros vamos allá.

Y espero que con este blog retroalimentemos nuestras grandiosas mentecitas y colaboremos, ya que como dice Eduardo, a veces estamos rodeados de personas que no quieren compartir sus conocimientos (malditos!! pero algún dia nos necesitarán jajaj) y bueno espero mis pequeños aportes sean de gran utilidad.

Por el momento me despido esperando no haberlos aburrido y colaborar más seguido.

Ann Margareth Meza Rodríguez

Facultad de Ciencias, UNAM

Desarrollador WEB, nGWiSE Comunicaciones S.A. de C.V.