Desarrollar un CRM no es una tarea fácil, sobre todo si lo comparas con los grandes del mercado como Siebel; pero por supuesto, no imposible.
Recordemos que con la formación de grandes empresas, empieza el degradado del contacto 1 a 1, dejando a un lado la conexión y la relación más personal con los clientes; y pensando en esta relación empresa-cliente surge la necesidad de recuperar los vínculos personales con ellos.

Para fomentar esta relación y un conocimiento en una vista de 360º con nuestros clientes, los CRMs cuentan con un número bastante alto de módulos, sobre los cuales girará siempre el Cliente como módulo o entidad principal.
¿Qué módulos implementar?
Es muy difícil determinar qué módulos incluir y cuáles descartar, esto siempre dependerá de la actividad principal de la empresa:
El Cliente será (indiscutiblemente) la entidad principal de cualquier CRM y luego a este le podremos acoplar las Oportunidades de Ventas, las Actividades que serán las interacciones que tengamos con el cliente, los Contactos, también tenemos las Solicitudes de Servicio que nos pueden ayudar en la tarea de gestionar las órdenes de servicio (que a su vez es otro módulo más); en fin, como vemos hay un abanico amplísimo de respuestas a nuestros requerimientos de negocio.

¿Dónde desarrollar nuestro CRM? (IDE)
Por supuesto, hay una gran variedad de lenguajes y entornos de programación; sin embargo, Java al ser multiplataforma se presenta como una excelente opción teniendo en cuenta que las máquinas virtuales JVM funcionan en la mayoría de sistemas operativos, además de que es open source e incluye muchísimas librerías para hacer cualquier cosa. Si a esto le sumamos el desarrollo en alguno de los IDEs que están en el mercado, la tarea se ve más realizable.
Eclipse en este sentido es una buena opción, ya que te permite gestionar entre otras cosas la conexión con base de datos y el acceso a los objetos de forma automática (con hibernate); el control de versiones lo puedes llevar con el Subversion, podemos incluir como servidor web el Tomcat; en definitiva, se presenta como una buena base para comenzar con un CRM desarrollado a medida.
Os dejo algunos tips que os pueden ser útiles para el desarrollo con Eclipse:
- Cómo desplegar 2 aplicaciones en un mismo servidor (En local y en Web)
Esto puede ser útil cuando tenemos diferentes líneas de negocio (o verticales) a las que dar respuesta.
Primero tendremos que tener las aplicaciones en nuestro Project Explorer:
Windows -> Show View -> Other => Instalado el subversion, nos aparecerá la opción de SVN, al desplegarla seleccionaremos SVN Repositories.
Ya desde la pestaña de SVN Repositories, haremos el checkout de los proyectos.
En Project Explorer nos aparecerán todas las aplicaciones que tengamos.
- En Web: Generar un archivo .war de toda la aplicación (esto incluye los archivos de configuración xml, los web resource (html ,css, js etc)) y copiarlo en la carpeta C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps simplemente ejecutando la aplicación ya estará desplegada en este servidor.
- En Local: «agrego» al servidor otra aplicación
Dentro de Eclipse –> Windows -> Show View -> Server
Seleccionar el server –> Botón derecho –> Add and Remove
Seleccionar la aplicación de: (izq) Available a (der) Configured.
- Cómo cambiar la bbdd a la que apunta nuestra aplicación.
Archivo: hibernate.cfg.xml (del proyecto)
Parámetro: connection.url —> Es la dirección ip de la bbdd a la que apunta esa aplicación
- Cómo hacer «Clean» en el servidor TOMCAT (Web, no en el local)
Ir a la carpeta: C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost
Borrar de ahí la carpeta de la aplicación a la que se le quiere hacer el «clean»
Ir a la carpeta: C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\temp
Borrar todos los archivos temporales.









