domingo, noviembre 04, 2012

Trabajando con IBM Lotus 8.5

En este año tuve la oportunidad de trabajar con entornos nuevos hasta entonces para mi, uno de ellos IBM Lotus.

Lotus es una arquitectura para la colaboración cliente servidor, es en gran medida la contraparte o la alternativa a SharePoint de Microsoft. Lotus es mas antiguo que su competencia y como suele suceder para los usuarios normales o los promedio no es muy conocido, sin embargo en las grandes empresas si lo es y tiene una gran aceptación.

En latinoamérica se utiliza mucho, mas lo hacen en Europa, tengo datos que se lo utilizan en centroamérica, salvador, honduras, en costa rica las entidades del estado lo utilizan, como el el MOPT y el CONAVI, ademas de otras empresas privadas, en Nicaragua lo utiliza el BAC y la asamblea nacional, aunque es de reciente adquisición. Lo que he observado en muchas de estas empresas es que lo utilizan principalmente solo cliente y servidor de correo e IM feature subutilizandolo, y no solo los usuarios, también los desarrolladores.

NOTA: Aunque una solución de IBM Lotus se puede adquirir  a un precio inferior a las de Microsoft legalmente, en latinoamérica pierde por el alto indice de uso piratas. Otra desventaja es la poca oferta de personal cualificado.


Mas información técnica, características e historia la encontraran en la red, este articulo se centra en ser una referencia y principalmente notas de mi experiencia.


 

EL ecosistema de Lotus.

LOTUS es una solución corporativa colaborativa, aunque por cuestiones de marketing la venden separadas pero fácil de integrar. Cada parte creada para interactuar con las demás de forma nativa y transparente. Utiliza una base documental por defecto aunque actualmente se puede conectar a una base de datos externa principalmente DB2.

El ecosistema incluye pero no limitado a: servidor y cliente de correo, suite ofimática, mensajeria instantenea, conectores/middleware para colaboracion en tiempo real, solucion para conferencias, clientes para smartphones, entre otras.

El enlace, midleware o conector para colaboracion de documentos es una de las soluciones menos compradas, la falta de conocimiento o el impetu de ahorrarse unos cuantos dolares hace seguir trabajando con documentos de forma antigua.

Notes: Es el cliente de Domino, que es el servidor, pero por legacy o legado los usuarios veteranos le llaman a todo el conjunto LOTUS.

Domino: Es el servidor, brinda las conexiones, controla partiendo de LDAP (Directorio de Acceso) las cuentas de usuario partiendo de estas la seguridad y luego la comunicación o enlace con los demás servicios como: mensajería instantánea, correo electrónico, y el acceso a todas las base de datos/aplicaciones creadas, también controla que todas las copias o replicas estén debidamente sincronizadas según los parámetros establecidos.

Symphony: Es la suit o solucion ofimatica, es un fork de OpenOffice, con algunas caracteristicas propias de IBM, al comprar el paquete de colaboracion ofimatica en tiempo real, varios usuarios pueden estar editando el mismo documento al mismo tiempo.

SameTime: Es el cliente de mensajeria instantanea, permite todo lo que se espera de tal: llamadas de audio y video, conferencias, enviar y recibir archivos. Tiene clientes para los principales S.O. de los smartphone: iOs de iPhone, Android y blackberry.


Para que sirve?

Permite crear aplicaciones standalone o distribuidas, a cada aplicacion se le llama base de datos, y se distribuye como un solo archivo. Las aplicaciones que crear tienen nivel de acceso por usuario o perfil altamente personalizable y estricto una vez establecido.

La ventaja es que puede acceder desde un solo cliente el Notes, a todas las funciones: e-mails, la mensajería instantánea, herramientas ofimáticas y por supuesto las aplicaciones creadas y desde estas puede controlar todo lo antes mencionado. Permite crear desde una misma interfaz de desarrollo crear una capa de interacción tanto de escritorio (RCP), como WEB, y rich web.
 
 El problema es que muchos lo compran nomas porque se lo vendieron bonito y luego no se sienten cómodos y/o no saben como explotarlo apropiadamente.

Algunos adquieren IBM Portal y luego exigen portlets creados en lotus, pero al hacerlo de la forma incorrecta solo estan utilizando LOTUS como un almacén de datos, para este caso lo mejor es utilizar otra solución, les seria mas rentable. 

Puntos a Favor

1. Colaboracion. Es la razón de ser, pero irónicamente para la colaboración completa se debe adquirir un conector aparte que es el menos comprando.

2. Seguridad. Uno de los pilares de Lotus.

3. Integración. Con la suit completa y una buena implementación la integración es tan que es transparente para el usuario logrando una sensación que todo es lo mismo.

4. Precio. Siendo legales, es mas asequible que Microsoft.


Puntos en Contra

1. Una de las principales debilidades es a como todos los productos de IBM su lento mantenimiento y actualización, su ultima release fue en 2009, la version 8.5.3. Impidiéndole tener acceso a tecnologías de reciente lanzamiento rápidamente, forzando en algunos casos a comprar soluciones a terceros.

2. Desarrollo. Puede ser confuso, si no se sigue un patrón y se deja constancia de ello(un documento), puede ser una pesadilla para el próximo desarrollador que le de mantenimiento a un sistema existente.

4. A Symphony aun le faltan algunas funciones para competir en el feeling o comodidad contra MS Office.

5.

El desarrollo

 Desarrollar aplicaciones para lotus puede parecer complicado al principio, la curva de aprendizaje es horizontal al principio.

Muchos desarrolladores terminan por hacerlo de un modo incorrecto, puesto que les parece limitado y complicado la forma de hacerlo correctamente.

En lotus, cada pantalla o ventana es un formulario o documento y es único, y los datos almacenados en ese formulario o documento corresponden a una tabla con ese nombre, si quieres crear diferentes interfaces para los mismos datos no puedes crear otro formulario y esperar conectar los datos, se puede pero es mas difícil y poco recomendable, lo que se hace es crear todas las variantes en el mismo formulario, cada detalle, cada boton, sea para una interfaz de escritorio, web o de móvil, debe ser programado en el mismo archivo, en el mismo espacio de trabajo, motivo por el cual el formulario se puede volver caótico, aparentar que no tiene forma, todo esta revuelto.

Debido a esto hay comunidades como esta:

Los formularios tienen un esquema de eventos y propiedades, para programar visualmente, se puede colocar código para un cliente web, o para el cliente RCP o ambos. 

Al programar de la forma correcta muchos programadores se sienten limitados o incapaces de resolver en tiempo, ademas algunas cosas son tecnicamente imposibles de hacer con las herramientas que brinda por defecto, asi que terminan utilizando lotus como un almacen de datos y desarrollan una interfaz  accesible solo via web con un framework para web Rich como : Extjs. Muchos incluso pegan codigo HTML completo dentro de los formularios para hacer una pagina. Esto tiene sus desventajas, por ejemplo la integracion con el ecosistema se hace un poco mas difícil. Ademas en una actualización de plataforma puede presentarles serios problemas de compatibilidad, la seguridad también se puede comprometer y por ultimo en un esfuerzo por tratar de cumplir con todo puedes crear un FrankStain poco atractivo para el usuario.

 Recomendaciones para desarrollar con LOTUS.

1. Utilizar equipos potentes. siempre es bueno esto, los equipos viejos aunque seguros hacen tener mucho lack de desarrollo que al sumarlo no nos conviene.

2. Utilizar pantalla grande widescreen. una pantalla grande permite desarrollar mas cómodamente y aumenta la productividad.

3. Recordar que esta utilizando Eclipse, puede incluso utilizar versiones mas recientes de eclipse y agregarle el soporte a lotus.

4. Hacer copias de su base de datos constantemente, cada una o dos horas o en su defecto activar el control de versiones, aunque para algunos esto puede ser difícil. Contrario a lo que te pueda decir tu jefe, resuelve siempre que puedas y tengas el tiempo conectarlo a un sistema de control de versiones.

5. Planear bien el alcance y la escalavilidad para poder extenderlo sin dejar de utilizar todo el potencial de lotus, desde el punto de vista de la integración y la seguridad, que es la esencia, de no ser así, mejor se buscan otra plataforma.


Enlaces Recomendados (Desarrollo)

 OpenNTF
 Xpages
Blog particular acerca de Lotus

Conclusión:

...

Related Posts Plugin for WordPress, Blogger...

POST MAS populares