Creo que hay varias razones por las cuales considero que Parrot es un CRM hecho de una forma radicalmente distinta. Pero, para entender mejor porqué, necesitamos entender mejor cómo funciona Parrot por dentro y fuera, y he de tratar de describir esto de una manera entendible y coherente.

Desenmascarando la capa de datos

El modelo mental con el que desarrollamos parrot viene primordialmente de CouchDB, la tecnología de bases de datos y capa de datos que adoptamos y hemos utilizado en parrot desde el comienzo.

"Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability.” couchdb.apache.org

Este modelo mental esta basado en guardar información en unidades llamadas documentos.

Cada documento es de un determinado “tipo” y por ej., un documento de tipo cliente nos sirve para almacenar cualquier dato / campo respecto a cliente: nombre, fecha de nacimiento, número de teléfono, etc.

Usando estos documentos modelamos y almacenamos toda la información contenida en Parrot CRM. Esto quiere decir que cualquier dato que se almacene en parrot debe ser contenido en un documento.

Para darse una idea, algunos tipos de documentos que existen por defecto son: clientes, oportunidades de venta, notas, conversaciones, mensajes, leads, page views, etc.

Este modelo de almacenamiento es extremadamente flexible, fácil de razonar y utilizar, especialmente cuando se trata de su uso via el REST API de CouchDB. Sin embargo, cabe mencionar que similar a muchas otras decisiones respecto a tecnologías subyacentes, existen trade-offs y fue necesario construir una infraestructura de sistemas y servicios alrededor de las implicaciones y trade-offs.

CouchDB, tus datos donde los necesitas.

Beneficios al usar CouchDB

Habiendo muchas otras funcionalidades y aspectos que podría destacar de CouchDB como capa de almacenamiento, las más relevantes para Parrot y nuestros clientes son:

HTTP API de calidad

De verdad, un REST API con una calidad difícilmente superable, bien documentado, consistente, con patrones claros, así como también destaca un API que utiliza de maravilla las capacidades del protocolo HTTP, especialmente mecanismos de cache y arquitectura en capas.

Dejando de lado los detalles técnicos, tanto nosotros como Parrot así como el usuario de parrot puede hacer uso y tomar ventaja de este HTTP API para extender las capacidades y alcance de integración de un Parrot CRM y de los datos que viven en el CouchDB de Parrot.

Esto podría ser relativamente equivalente a tener un Backend as a Service junto a una GUI.

En otras palabras y tal como aparece en nuestras wiki internas:

CouchDB + Parrot =

Untitled

Rendimiento y aislamiento