Posts

  • Creando un nube privada "low cost" con Proxmox VE 3.0

    Actualmente existe una oferta muy rica de proveedores de infraestructura o hosting y proveedores de tecnología para sacar el máximo provecho de dicha infraestructura, aún más importante, a un coste razonablemente bajo usando tecnología free y open source.

    proxmox-logo En mi caso, esta infraestructura la usaré para construir una plataforma donde provea servicios alrededor de productos como WSO2 ESB, Liferay Portal, Alfresco ECM, Drupal, etc., para ello he contratado un hosting medianamente decente en Hetzner (repito experiencia) y he empleado Proxmox VE.

  • Building a Social eCommerce solution

    I’d like to explain our recent experience gained in a project of eCommerce. Now more than ever the need to sell and generate business is an important point, the strategy of building the eCommerce solution and their viability is closely linked to these business needs. For these reasons, I will explain how to approach this project from a technological point of view and its direct relation to requirements.

    Social eCommerce Architecture with opensourceSocial eCommerce Architecture with opensource

  • Creando túneles SSH a SSH Server, MySQL Server y a LDAP Server desde Windows y con Tunnelier

    He tenido que administrar varios servidores virtuales (Proxmox) que exponen diferentes servicios como SSH server, MySQL server y LDAP server, pero al que no podemos acceder directamente, lo tuve que hacer accediendo remotamente desde un cliente SSH y luego haciendo el “salto” hacia el servidor deseado. Esto es lo que se llama “tunel ssh”. Evidentemente, es un proceso muy lento sobretodo cuando necesitamos operar dichos servicios de manera rápida, crear un usuario, ver logs, clonar una VM, desplegar nuevos servicios, en fin. Esta situación se complica aún más si desde el servidor que nos sirve de puente tiene un Firewall que cierra o filtra muchos de los puertos, como es natural en un entorno productivo. En fin, la herramienta más usada para hacer esto en Windows es Putty, además de ser un cliente SSH, permite crear túneles (port forwarding) de manera fácil. Quizás lo más difícil es entender cómo se crean los túneles, aquí lo explicaremos y además emplearemos Tunnelier, otro cliente SSH de Btivise que además tiene unas características mejoradas en comparación a Putty.

    1. Escenario donde crearemos túneles SSH

    [caption id=”” align=”alignnone” width=”491”]Escenario - Creando 3 túneles SSH hacia SSH server, MySQL server y LDAP server Escenario - Creando 3 túneles SSH hacia SSH server, MySQL server y LDAP server[/caption]

  • Gobernando Servicios de Alfresco ECM con WSO2

    El beneficio principal de hacer SOA sobre hacer Integración es la capacidad de gobierno que tenemos sobre los servicios, es decir, la capacidad de control que alcanzamos al aplicar los principios SOA. En la integración o construcción de aplicaciones muchas veces tenemos que integrar o consumir servicios externos “no gobernados”, hacerlo sin control es siempre un riesgo, por ejemplo, si el contrato (WSDL) cambia, nuestra aplicación integrada se quedaría al margen de los cambios y sin soporte.

    Gobierno de los servicio de Alfresco con WSO2 Gobierno de los servicio de Alfresco con WSO2

    En esta post aprenderemos cómo registrar servicios externos en WSO2 Registry, concretamente aquellos servicios SOAP de Alfresco ECM, y luego consumirlos usando el mismo WSDL (contrato) desde nuestras aplicaciones de negocio usando WSO2 ESB.

  • Virtualizing Liferay Portal with Proxmox VE

    Some days ago I had to deploy a Liferay Portal in a hosting provider where Proxmox Virtual Environment (PVE) was necessary to use.

    Proxmox Virtual Environment is a Debian distro with pre-installed packages ready to use when you want to create virtualization platform for running Virtual Appliances and Virtual Machines based on OpenVZ and KVM. But, What is difference between tradicional hosting and hosting based on Proxmox VE?, really does not exist differences because with Proxmox VE you can virtualize all (network, server, vlan, etc.). Then, I did create a virtualized network with 2 servers based on Proxmox, the first server runs a Linux Debian with Apache HTTP server as web-proxy, the second server will be a private server with Liferay Portal. The architecture final is as follow:

    Architecture - Liferay in an environment virtualized with Proxmox](http://dl.dropbox.com/u/2961879/blog20111108proxmoxliferay/www.intix.info_proxmox_liferay_arquitectura.png) _Architecture - Liferay in an environment virtualized with Proxmox

  • Review: RIA Clients and RAD Frameworks for Alfresco ECM

    Some days ago I saw a post on the LinkedIn’s Alfresco forums asking ‘Which front end framework is Generally used with Alfresco?’, for this reason I started to research and test them and discovered with joy that the trend is to use lightweight frameworks capable of creating rich interfaces quickly. Well here I put the review: Because I started to carefully review and discovered with joy that the trend is to use lightweight frameworks capable of creating rich interfaces quickly. Well here I put the review:

    What is a client for Alfresco ECM?

    A client for Alfresco is any webapp or desktop app that consumes the Alfresco’s services, this client app can be created with Alfresco’s standard framework or with third party frameworks. Several endusers want always customize traditional and existing Alfresco’s web clients, because these do not fit its requeriments.
    Then, they quickly seek to modify existing Alfresco’s webclient and if this is not possible, then seek a tool (framework) to build a desktop or client from scratch.

    How to client applications can be connected to Alfresco ECM How to client applications can be connected to Alfresco ECM

  • Calling Alfresco's Webscripts from a Liferay Portlet using Ajax

    I think that we are reaching the maturity level in Liferay and Alfresco, because we can create applications on top of them of fastly and easy way. Alfresco ECM has functionalities exposed as a RESTful API, as know as Alfresco Webscripts, built on the basis of Spring Surf.
    Liferay Portal has Liferay IDE based on Eclipse where we can create from scratch different types of Portlets. Also Liferay allows to include external libraries as jQuery, ExtJS, Vaadin, etc. that allows to develop highly customized portlets. Right now, when several people ask me how to integrate Alfresco into Liferay, after I ask them what does mean when you said integrate?. Well I say that implies several thing as: Integration mean:

    1. User and roles, SSO ?
    2. Include Alfresco Explorer or Share as a Portlet?
    3. Include Alfresco Explorer inside iFrame Portlet?
    4. Call any Alfresco’s functionality from a Portlet?
    5. … Well, everything is possible to do, but to create applications from scratch following point 5 was very difficult, but now I think is the quickest way to do it, also the best from an architectural point of view. This post explain how to do a portlet calling to Alfresco’s Webscripts (REST URIs) via ajax using jQuery. I also give some recommendations.

    Ajax Portlet calls Alfresco Webscripts Ajax Portlet calls Alfresco Webscripts

  • Remote debugging of Liferay portlets

    Debugging is a task very important when building software, this allows software development with high level of quality (without bugs) because “debugging” enable you repeat cycles of “to do and to test” several time. When developing Liferay portlets, Liferay Portal server will contain the portlets in a PC different of the PC of developer. For this reason, debugging is an important task when working in distributed project teams with a single and/or centralized development server. Then, remote debugging means you could debug an application or portlet on server from a different computer. This post discusses how to use the Eclipse IDE for remote debugging on Liferay.

  • Web-SSO between a CAS-ified Java webapp and Liferay using CAS

    When working a Liferay Portal in Organizations with existing web applications, generally new web applications will need to be integrated in current Authentication and Web-SSO service. This document explains how to create new java web applications knowing that they will use the AuthN service and will Web-SSO with Liferay. Although, this document is for new java web applications, existing web applications (based in java, php,. net, ruby, …) can also use it as this document explains the most important steps to perform.
    This document can be taken as a set of best practices (including source code) when you want to integrate with CAS.

    Note:

    • This document does not say how to do Single-Sign Out or logout, only Single-Sign On or login.
  • jBPM, Bonita, Intalio, ProcessMaker, Activiti. Qué BPM Suite uso?

    Ultimamente, en los cursos que suelo impartir o durante la etapa de consultoría con algún cliente me preguntan ¿Qué BPM me recomendarías? o, he comprado un CMS y viene con un Workflow, podría crear un Sistema de Gestión de Expedientes?
    Y mi respuesta siempre es, sabes qué es un BPM?, sabes lo que implicaría construir aplicaciones siguiendo BPM en tu organización?. Pues la respuesta es muchas veces “no”. En esta situación, siempre lo mejor es aclarar los conceptos e
    iniciar algún proceso de evaluación de tecnologías, casos de éxitos, costes económicos y las consecuencias.

    jBPM, Bonita, Intalio, ProcessMaker and Activiti jBPM, Bonita, Intalio, ProcessMaker and Activiti

    Este post es el primero de una serie de posts relacionados con BPM Free/Open Source. En este primero haremos una presentación rápida de las alternativas tecnológicas de los BPMs free/open source de mayor actividad y hacernos una idea de cuál o cuáles son los más adecuado para cada escenario que nos encontremos en nuestras Organizaciones.