Este é o primeiro post da série em que vou compartilhar algum conhecimento sobre como desenvolver uma aplicação de verdade usando RavenDB. O objetivo é mostrar os benefícios de adotar RavenDB como banco de dados e outras tecnologias em um domínio complexo.
Por que CRM?
Citando a Wikipedia (traduzido):
Gestão de relcionamento com cliente (CRM) é uma abordagem para gerenciar a interação de uma companhia com seus atuais e potenciais clientes. Ela usa análise de dados sobre a história do cliente com a companhia para melhorar as relações de negócios, focando na retenção de clientes e consequentemente no crescimento das vendas.
Um aspecto importante da abordagem CRM é que sistemas que a suportam compiam dados de um conjunto diversificado de canais de comunicação, incluindo o website da companhia, telefone, email, chat, material de marketing, e, mais recentemente, mídia social. Através da abordagem CRM e dos sistemas que a facilitam, negócios aprender mais sobre seus públicos alvo e como atender melhor suas necessidades.
CRM é um domínimo muito complexo. Tenho certeza que a gente pode aprender um bocado com ele.
Nessa série, vamos tratar de um bocado de topicos interessantes, tais como microsserviços, CQRS, SPA e, claro, RavenDB.
Por que RavenDB?
Se você não sabe nada sobre NoSQL, é hora de aprender. Nada melhor do que começar aprendendo uma ferramenta poderosa e fácil de usar como RavenDB.
RavenDB é um banco de dados NoSQL de documentos, seguro por padrão e otimizado para eficiência. Nesta série, usaremos RavenDB 4.0 RC que é rápido e multiplataforma.
Como desenvolvedores profissionais, precisamos nos libertar do mindset puramente relcional. RavenDB nos permite armazenar arrays e objetos complexos em documentos únicos (no lugar de múltiplos registros em múltiplas tabelas), a usar ids amigáveis no lugar de inteiros sem sentido, e pesquisar dados de forma muito eficiente.
Usando RavenDB, nós minimizamos a necessidade de uma separação clara entre o domínio e o modelo de persistência.
Se você está vindo do “mundo relacional”, RavenDB torna sua vida mais fácil suportando transações ACID e provendo um modelo de programação familiar.
RavenDB, por ter esquema livre, é perfeito para aplicações CRM
O que esperar?
Um bocado de diversão e de código, com certeza. Nada de exemplos “Hello World”.
Antes de começar, eu recomendo fortemente que você aprenda o básico sobre RavenDB assinando o Bootcamp
O mundo real demanda código ral. Bem vindo a esta jornada rumo a um CRM usando RavenDB.