Dossier Especial

Uma proposta de arquitetura de microsserviços aplicada em um sistema de CRM social

A Proposal of Microservice Architecture Applied in a Social CRM System

Luiz Felipe Correa CHIARADIA
Universidade Federal de Santa Catarina, Brasil
Douglas Dyllon Jeronimo MACEDO
Universidade Federal de Santa Catarina, Brasil
Moisés Lima DUTRA
Universidade Federal de Santa Catarina, Brasil

Uma proposta de arquitetura de microsserviços aplicada em um sistema de CRM social

Encontros Bibli: revista eletrônica de biblioteconomia e ciência da informação, vol. 23, núm. 53, pp. 147-159, 2018

Universidade Federal de Santa Catarina

Recepção: 20 Dezembro 2017

Aprovação: 13 Junho 2018

Resumo: A explosão informacional, impulsionada, principalmente, pelo uso massivo de serviços da Web 2.0 é vista como um desafio para as noções tradicionais do CRM, considerando-se que o consumidor passa a ter um papel ativo no relacionamento com a empresa. Neste contexto, surge o CRM Social que é construído a partir da integração das estratégias tradicionais da Gestão de Relacionamento com o Cliente com ferramentas capazes de recuperar, armazenar e analisar informações coletadas das redes sociais. Por meio de uma pesquisa qualitativa e aplicada, este artigo busca abordar os conceitos das áreas de gestão de relacionamento com o cliente, CRM Social e Web 2.0, enumerando as características e benefícios oferecidos. A arquitetura de microsserviços consiste em um padrão de projeto que implica no desenvolvimento de pequenos serviços, com tarefas bem definidas. Baseando-se nestas definições, propõe uma arquitetura de microsserviços para um sistema de CRM Social, que, apesar de aplicável para o enquadramento em questão, deverá ser testada com o intuito de determinar se a mesma atende aos requisitos propostos, visando performance e acurácia nas análises.

Palavras-chave: CRM Social, Web 2.0, Inteligência Competitiva, Microsserviços.

Abstract: The informational explosion, driven mainly by the massive use of Web 2.0 services, is seen as a challenge to the traditional conceptions of CRM, considering that the consumer starts to play an active role in the relationship with the company. In this context, Social CRM emerges, which is built on the integration of traditional Customer Relationship Management strategies with tools capable of retrieving, storing and analyzing information collected from social networks. Athwart a qualitative and applied research, this article pursues to grapple the concepts of the areas of customer relationship management, Social CRM and Web 2.0, enumerating the characteristics and benefits offered. The microservices architecture consists in a design pattern that implies the development of small services with well-defined tasks. Based on these definitions, it proposes a micro-service architecture for a Social CRM system, which, although applicable to the context in question, should be tested in order to determine whether it meets the proposed requirements, aiming to reach the desired performance and accuracy levels in analysis tasks.

Keywords: Social CRM, Web 2.0, Competitive Intelligence, Microservices.

1 INTRODUÇÃO

A evolução da Internet possibilitou a utilização de um novo conjunto de métodos e estratégias para o compartilhamento de conteúdos, principalmente por meio de ferramentas e serviços da Web 2.0, cuja principal característica é a potencialização de formas de publicação, compartilhamento e organização de informações (PRIMO, 2007). Para Sotero (2011, apud Albagli, 2013) “as tecnologias da web 2.0 ampliaram as possibilidades de interação na medida em que nos permitem visualizar conexões existentes para além de nossos relacionamentos presenciais”. Esta segunda geração de serviços da Web, possibilitou o surgimento das redes sociais digitais, definidas por Boyd e Ellison (2007) como um conjunto de funções que podem ser invocadas programaticamente na Internet, doravante denominados serviços web, que permitem que usuários, por meio de seus respectivos perfis, criem uma lista de outros usuários com quem compartilham conexões, suscetíveis a visualizações e interações.

Em março de 2017, a rede social Facebook contabilizava com aproximadamente 2 bilhões de usuários, dos quais 75% permaneciam conectados vinte minutos ou mais diariamente. Este uso massivo das redes sociais possibilitou que novas formas de comunicação e colaboração entre empresas e clientes ocorressem. Além disso, permitiu que as organizações criassem relacionamentos mais pessoais com seus consumidores, enquanto estes passaram a ter a possibilidade de compartilhar livremente suas opiniões a respeito dos produtos adquiridos.

O cenário supracitado cria um desafio para as noções tradicionais da Gestão de Relacionamento com o Cliente, tradução para Customer Relationship Management (CRM), tendo em vista que, de acordo com Malthouse et al. (2013), o consumidor passa a ter um papel ativo no relacionamento com a empresa, dado que sua opinião é facilmente propagada entre sua rede de contatos. O chamado CRM Social é construído sobre percepções que empresas obtêm por meio da análise de uma grande quantidade de informações produzidas por seus clientes (MALTHOUSE et al., 2013) e surge como uma nova abordagem que visa adequar os costumeiros modelos de CRM à realidade atual.

Embora seja perceptível o crescimento de pesquisas relacionadas ao tema CRM Social, observa-se que os resultados apresentados, muitas vezes, denotam interpretações diferentes acerca da definição do termo. Além disso, não existe um modelo definido no que diz respeito a como a informação será obtida e posteriormente recuperada e analisada. Conforme consta no trabalho de Marolt, Pucihar e Zimmermann (2015) a definição proposta por Greenberg (2009, p. 34) para o conceito de CRM Social é a mais aceita e o trata como uma nova abordagem que integra os conceitos tradicionais de relacionamento com o cliente com as aplicações de mídias sociais.

Nos textos de Malthouse et al. (2013), Trainor (2012), dentre outros, também são citados alguns conceitos e estratégias, no entanto, em nenhum momento se debatem métodos para armazenar, recuperar e analisar as informações obtidas. Orenga-roglá e Chalmeta (2016) afirmam que na literatura sobre CRM Social não há nenhuma metodologia específica ou modelo de arquitetura de sistemas que possa auxiliar no desenvolvimento de um sistema de CRM Social. As principais pesquisas focam, principalmente, nas características, oportunidades e benefícios que a estratégia de negócios oferece.

Os trabalhos de Greenberg (2009) e Trainor (2012) buscam abordar o CRM Social como uma prática que integra, por meio de soluções de Tecnologia da Informação, conceitos tradicionais da gestão de relacionamento com cliente com as mídias sociais a fim de aumentar o nível de engajamento dos clientes de uma determinada empresa. Partindo dessa abordagem, observa-se que é possível enumerar algumas tecnologias e técnicas que podem assistir neste processo de adaptação, possibilitando, assim, a criação de um fluxo eficaz para tratar a informação de maneira adequada.

A arquitetura de microsserviços se trata de um padrão de desenvolvimento de software, que implica no desenvolvimento de um conjunto de serviços web com funções bem definidas que trabalham de forma colaborativa. Este tipo de arquitetura possibilita o desenvolvimento de sistemas mais flexíveis, escaláveis – termo relacionado à capacidade de expansão do sistema - e com manutenção mais simples, tendo em vista que o nível de manutenibilidade, ou seja, o grau de facilidade de ser mantido, estará diretamente relacionado a cada um dos serviços. Atualmente há uma grande quantidade de empresas que possuem sistemas desenhados e implementados segundo este padrão, como a Netflix e a Amazon, por exemplo.

Este artigo se propõe a abordar os conceitos das áreas de gestão de relacionamento com o cliente, CRM Social e Web 2.0, enumerando as características e benefícios oferecidos. Baseando-se nesta caracterização, será proposta uma arquitetura de microsserviços para um sistema de CRM Social, na qual serão apresentados os fluxos de comunicação, bem como sugestões de tecnologias que poderão ser utilizadas para a realização das tarefas. Não cabe ao escopo deste trabalho apresentar trechos de códigos ou avaliações de desempenho, todavia, pretende-se criar um modelo que possa servir como base para futuras implementações.

O tipo de pesquisa utilizada para o desenvolvimento deste projeto pode ser classificada, quanto à abordagem, como qualitativa, pois não são quantificados valores e há o objetivo de produzir informações que possam servir de insumo para um aprofundamento no tema. Quanto à natureza, ela é identificada como aplicada, pois visa gerar conhecimento para aplicações práticas (GERHARDT; SILVEIRA, 2009). A metodologia adotada compreende as etapas de levantamento e análise de trabalhos publicados, definição de conceitos e proposta de arquitetura. Cada etapa está descrita abaixo.

Para as buscas, foram utilizados os termos “CRM”, “Social CRM”, “CRM Social”, “CRM 2.0” e “Web 2.0” nas bases Web of Science e ScienceDirect

2 REFERENCIAL TEÓRICO

Nesta seção serão abordados os conceitos de Web 2.0, Gestão de Relacionamento com o Cliente e CRM Social, os quais serão utilizados como base para a construção do modelo proposto na seção 4 deste texto.

2.1 Web 2.0

A segunda geração dos serviços web possui uma enorme variedade de definições, descrições e princípios na literatura acadêmica. O principal objetivo da grande rede sempre foi promover a conexão entre diferentes indivíduos, no entanto, devido à evolução das formas de interação, o padrão de uso foi modificado (FAASE; HELMS; SPRUIT, 2011, tradução nossa). Para O’Reilly (2005) a Web 2.0 deve ser vista como o núcleo gravitacional ao redor do qual gravita um conjunto de princípios e práticas que aproximam diversos sites que os seguem. Primo (2007) define a Web 2.0 como “a segunda geração de serviços online e caracteriza-se por potencializar as formas de publicação, compartilhamento e organização de informações”. Em seu trabalho, Faase, Helms e Spruit (2011) definem sete características fundamentais da Web 2.0, que são listadas abaixo:

As redes sociais, como o Facebook e o Instagram, podem ser citadas como um serviço que faz uso de todos os princípios supracitados, haja vista que promovem o compartilhamento de grandes volumes de dados na Web por usuários que acessam uma plataforma aberta, cuja arquitetura é baseada em cooperação. Além de possuir um modelo relativamente simples, grandes grupos a utilizam para realizar diversos tipos de manifestações de grande impacto no cenário mundial, como o impeachment da presidente do Brasil em 2016, ou para, simplesmente, avaliar um produto de uma determinada empresa, por exemplo. Neste cenário, o usuário passa a ter uma voz ativa em diversas situações, tendo em vista que sua opinião é facilmente compartilhada e, dependendo do nível de engajamento de seus seguidores, pode gerar um impacto considerável.

2.2 Gestão de Relacionamento com o Cliente

O termo gestão de relacionamento com o cliente (tradução para Customer Relationship Management) surgiu em meados da década de 1990 no mercado de Tecnologia da Informação e rapidamente se consolidou entre as empresas, com a proposta de aumentar seus lucros baseado em técnicas de retenção dos seus clientes.

Conforme relatado no trabalho de Payne e Frow (2005), algumas empresas ainda possuem dúvidas a respeito de sua adoção pelo fato de não saberem o que exatamente constitui um CRM. Todavia os estudos feitos por Mishra e Mishra (2009) mostram que, apesar dos desafios consideráveis encontrados durante o seu processo de implantação, o mesmo foi considerado essencial pois provê uma infraestrutura que facilita a criação de relacionamentos de longa duração com os clientes.

As definições para o termo gestão de relacionamento com o cliente utilizadas pelos autores variam de forma considerável, o que indica uma grande quantidade de pontos de vista (PAYNE; FROW, 2005). Na revisão de literatura feita pelos autores Zablah, Bellenger e Johnston (2004), os mesmos reforçam a afirmação de que há uma série de explicações para o termo, no entanto, não há um consenso sobre como o CRM deve ser definido.

Sob um ponto de vista tecnológico, Mishra e Mishra (2009) o classificam como uma abordagem orientada ao cliente que faz uso de sistemas de informação para fornecer informações que suportam os processos de operação, análise e colaboração do CRM. Greenberg (2010) também possui uma visão semelhante, definindo-o como uma filosofia e uma estratégia de negócios amparada por um sistema e uma tecnologia desenvolvida com o intuito de melhorar as interações humanas em um ambiente de negócio. O CRM, por meio da união de estratégias de relacionamento com o cliente do Marketing com a TI, oferece uma série de oportunidades para se trabalhar com informações visando entender e criar valor com os clientes (PAYNE; FROW, 2005).

Os conceitos sobreditos deixam claro que o processo de comunicação será gerido totalmente pela empresa, afirmativa que pode ser fundamentada pelo trabalho dos autores Faase, Helms e Spruit (2011). Em uma sociedade na qual a informação compartilhada cresce de forma exponencial, as estratégias criadas nos anos 2000 podem encontrar desafios. Neste contexto, surge o chamado CRM Social.

2.3 CRM Social

Castells (1999, p. 119) afirma em sua obra que a informação e o conhecimento possuíam um papel crucial no crescimento da economia, e o advento de um novo paradigma tecnológico organizado em função da TI, possibilitaria a utilização da informação como produto. Este vislumbro realizado ao final dos anos 1990, é uma realidade nos dias atuais, conforme visão dos autores Chen e Zhang (2014), que acreditam que a informação pode ser utilizada para aumentar a competitividade e a produção de empresas e da administração pública.

De acordo com estimativas, o volume de informações produzidas diariamente corresponde a 2.5 exabytes (KHOSO, 2016), o que seria o equivalente a quinhentos e trinta milhões de músicas. A evolução da Internet possui um papel crucial nestes valores, tendo em vista que possibilitou o compartilhamento de conteúdos de forma colaborativa a partir de novas abordagens, como as redes sociais, por exemplo. Uma rede social é descrita como um conjunto de participantes independentes que unem ideias e valores em torno de valores compartilhados (MARTELETO, 2001).

O cenário supracitado coloca em voga uma realidade em que as trocas de informações ocorrem de forma contínua, criando um desafio para as noções tradicionais da Gestão de Relacionamento com o Cliente, pelo fato do cliente, antes um mero participante do processo, passar a ter um papel ativo (MALTHOUSE et. al, 2013). O chamado CRM Social, surge como uma nova estratégia para adequar as noções tradicionais do CRM à realidade, onde o consumidor controla o ecossistema (GREENBERG, 2009).

O CRM Social se trata de uma filosofia e uma estratégia de negócios, suportada por uma plataforma tecnológica, regras de negócios, processos e características sociais, desenhado para engajar o consumidor em uma conversa colaborativa com o objetivo de prover mutuamente valor em um ambiente de negócios confiável e transparente (GREENBERG, 2009, tradução nossa). Nos trabalhos de Trainor (2012) e Malthouse et. al (2013), o termo é definido de forma semelhante.

Diferentemente do CRM tradicional, o CRM Social foca em todas as iterações das relações, seja entre companhias, parceiros ou clientes. Além disso, enfatiza a identificação, engajamento e habilitação dos nós que possuem maior poder de influência sobre os outros. Os consumidores sociais utilizam o ambiente colaborativo da Web para obter informações sobre suas potenciais compras e para um conhecimento mais profundo sobre seus interesses comuns (GREENBERG, 2009). O Quadro 1, realiza uma comparação dos conceitos e das funcionalidades do CRM Social e do CRM tradicional.

Quadro 1
Compartivo entre o CRM tradicional e o CRM Social
CRM tradicionalCRM Social
Uma filosofia e uma estratégia de negócios amparada por um sistema e uma tecnologia desenvolvida com o intuito de melhorar as interações humanas em um ambiente de negócio.Uma filosofia e uma estratégia de negócios, suportada por uma plataforma tecnológica, regras de negócios, processos e características sociais, desenhado para engajar o consumidor em uma conversa colaborativa com o objetivo de prover mutuamente valor em um ambiente de negócios confiável e transparente.
As estratégias relacionadas aos consumidores fazem parte da estratégia corporativa.O consumidor é uma estratégia coorporativa.
O relacionamento entre a empresa e o cliente é visto como uma parte do processo.O relacionamento entre a empresa e o cliente é visto como um esforço colaborativo, em que todos devem estar presentes em todas as etapas.
Foca exclusivamente no relacionamento entre a empresa e o cliente. Neste caso, o canal de comunicação segue o fluxo empresa - cliente.Foca em todas as iterações que ocorrem no relacionamento entre a empresa e o cliente e entre os clientes. Visa identificar os nós mais influentes.
Fonte: GREENBERG (2009)

3 TRABALHOS CORRELATOS

Atualmente, a Web se tornou uma ferramenta popular para a disseminação da informação. Sua evolução, para a chamada Web 2.0, permite uma rápida distribuição para o mundo (ENNAJI et al., 2015). Esta afirmação, vai ao encontro das definições propostas em Primo (2007) e O’Reilly (2007), que afirmavam que a segunda geração dos serviços online visava a potencialização de formas de publicação, compartilhamento e organização de informações.

Faase, Helms e Spruit (2011) afirmam que a Web 2.0 demonstra uma variedade de definições e descrições, que serviram como base para a definição das suas sete características essenciais. Baseado nestas, definiram a Web 2.0 como a web social que permite aos usuários publicar e compartilhar conteúdos interativamente por meio de diversos dispositivos em uma plataforma aberta que permite a mistura de serviços.

Fundamentado no cenário supracitado, o CRM Social surge como uma nova abordagem que visa adequar as noções tradicionais da gestão de relacionamento com o cliente. O trabalho de Greenberg (2009) apresenta a definição mais aceita a respeito do tema, no entanto, é possível encontrar numerosas designações para o tema. Portanto, buscou-se os trabalhos de Faase, Helms e Spruit (2011), Malthouse et al. (2013)Trainor (2012) para compor a fundamentação teórica do termo. O trabalho de Ennaji et al. (2015) oferece, além de uma definição sobre o termo, um modelo de arquitetura monolítica para a construção de um framework para análise de informações coletadas de redes sociais

4 PROPOSTA

Nesta seção serão abordados os aspectos teóricos da arquitetura de microsserviços para o desenvolvimento de software. Além disso, serão enumeradas as vantagens e desvantagens da aplicação desta. Por fim, será apresentada a proposta deste texto, que consiste em um sistema de CRM Social construído a partir da arquitetura de desenvolvimento proposta.

4.1 Arquitetura de Software e Microsserviços

Em um sistema monolítico, à medida que novas funcionalidades são adicionadas a um determinado sistema, as bases de código aumentam e, em determinado momento, a sua manutenção se torna um serviço dispendioso, visto que princípios da Engenharia de Software como coesão e acoplamento, não foram respeitados durante a implementação, o que tornou a manutenibilidade da aplicação baixa.

Baseado no Princípio da Responsabilidade Única de Robert C. Martin, Newman (2015) propôs uma arquitetura de microsserviços, na qual serviços pequenos e autônomos trabalham de forma cooperativa. Cada serviço possui uma única responsabilidade, de acordo com a regra de negócio que ele implementa, por conseguinte, torna-se fácil evitar que o código aumente de forma a prejudicar a sua manutenabilidade. Por ser uma entidade dissociada, a implantação de cada um dos microsserviços deve ser realizada de forma independente, como um serviço isolado em uma plataforma como serviço (PaaS), e toda a sua comunicação deverá ser realizada via chamadas de rede (NEWMAN, 2015).

Pode-se dizer que micro serviços nada mais são do que serviços bem definidos, pouco acoplados, seguindo os princípios da boa e velha arquitetura orientada a serviços (SOA), com um grau de maturidade maior, justamente por usa independência e capacidade de trabalhada em conjunto com outros micro serviços ou de forma autônoma ao mesmo tempo (MOREIRA; BEDER, 2015).

Cada um dos microsserviços expõe uma inteface de programação de aplicações, cujo acrônimo API vem do inglês Application Programming Interface, que será utilizada por outros serviços para comunicação. Visando possibilitar que cada microsserviços seja escrito em diferentes linguagens de programação, Moreira e Beder (2015) recomendam que sejam utilizados protocolos de comunicação padronizados, como o HTTP (Hypertext Transfer Protocol), e formatos de dados multiplataforma, como o JSON (JavaScript Object Notation).

A utilização de microsserviços oferece um conjunto de vantagens que podem ser identificadas como heterogeneidade tecnológica, resiliência, escalabilidade e facilidade de implantação (NEWMAN, 2015; MOREIRA; BEDER, 2015). Em um sistema com múltiplos serviços colaborativos, é possível definir, visando a performance, qual a tecnologia mais adequada para implementar uma determinada funcionalidade. Em uma rede social, por exemplo, seria possível elaborar um microsserviço na linguagem de programação Java que armazenasse as interações entre os usuários em uma base de dados orientada a grafos. Por outro lado, o serviço responsável pela gestão dos conteúdos postados seria em Ruby e utilizaria um banco orientado a documentos.

Modelo de rede social
Figura 1
Modelo de rede social
Fonte: Elaborada pelo autor

Resiliência diz respeito a habilidade de um sistema de se recuperar em uma falha. Caso algum componente apresente uma falha, é possível isolá-lo sem comprometer a disponibilidade do sistema. Segundo Moreira e Beder (2015), a Netflix é um excelente exemplo de uso desta arquitetura: se o serviço de recomendações, por exemplo, falhar, o serviço de streaming continua operando normalmente. Em uma aplicação monolítica, caso ocorra algum erro, possivelmente a aplicação inteira permanecerá indisponível durante o período de manutenção. No que tange a escalabilidade, Richardson (2014) afirma que em aplicações que utilizam a arquitetura de microsserviços é possível definir quais serviços precisam ser atualizados.

Cada microsserviço pode ser implantado de forma independente de outros, permitindo que o código seja aplicado de forma mais rápida. Caso ocorra alguma falha no processo de implantação, o serviço poderá ser isolado para que a transação seja encerrada e as mudanças descartadas. Newman (2015) cita esta vantagem como chave para que grandes empresas, como Netflix e Amazon, adotarem esta arquitetura de software.

Todavia, a utilização de microsserviços também oferece um conjunto de desvantagens, que podem ser caracterizadas como complexidade de desenvolvimento, chamadas remotas e gerenciamento de múltiplos bancos de dados e transações. No que corresponde a primeira característica, pode-se destacar a dificuldade em estabelecer a comunicação entre projetos distintos e realizar o gerenciamento das dependências, apesar de existirem ferramentas específicas para isso, como o Maven por exemplo. No que tange as chamadas remotas, é necessário definir o escopo de cada um dos serviços para que este possa realizar a sua tarefa de forma independente, sem a necessidade de realizar chamadas constantemente, haja vista que estas se tornam mais custosas devido ao tráfego na rede. No que está relacionado ao gerenciamento de múltiplas bases de dados, as configurações e o tratamento de falhas devem ser feitos de forma correta e a manutenção dos bancos poderá apresentar um alto custo.

4.2 Sistema de CRM Social

A Gestão de Relacionamento com o Cliente pode ser vista como uma estratégia de negócios que faz uso de uma plataforma tecnológica para coletar e disponibilizar informações que suportam os processos de operação, análise e colaboração com a finalidade de melhorar as interações humanas em um ambiente de negócios (MISHRA; MISHRA, 2009; GREENBERG, 2010). Dessa forma, um sistema de CRM consolidaria as informações de seus clientes em uma base de dados corporativa para que estes sejam acessados e gerenciados de forma eficiente. As outras funções deste software incluem a gravação das interações, automatização de processos, disparos de alertas e acompanhamento de desempenho e produtividade baseado nos registros. Baseado nas funcionalidades enumeradas por Lin (2003) e Ennaji et al. (2015), pode-se afirmar que os recursos comuns de um sistema de CRM englobam:

Tradicionalmente, os processos relacionados a coleta de dados por sistemas de gestão de relacionamento com o cliente foram responsáveis por departamentos como o de vendas e marketing. Estes buscam os potenciais clientes e fornecem dados ao sistema para que estes sejam utilizados e complementados em interações posteriores (ROUSE, 2014). Todavia, a evolução da internet e a introdução do conceito de rede colaborativa, permitiu a criação de uma enorme quantidade de ferramentas para comunicação digital e publicações, como as redes sociais. Como resultado, usuários podem compartilhar suas ideias e propagar entre amigos, familiares e seguidores (ENNAJI et al., 2015). Este cenário fez com que as abordagens tradicionais do CRM fossem atualizadas com o objetivo de utilizar as mídias sociais, como o Facebook, Twitter e LinkedIn, para engajar seus clientes.

O CRM Social se trata de filosofia e uma estratégia de negócios, suportada por uma plataforma tecnológica, regras de negócios, processos e características sociais, desenhado para engajar o consumidor em uma conversa colaborativa com o objetivo de prover mutuamente valor em um ambiente de negócios confiável e transparente (GREENBERG, 2009). Visando a criação de valor das interações em mídias sociais, grandes empresas têm utilizado ferramentas que monitoram trocas de mensagens em redes sociais, quantificam menções de uma marca e palavras-chave para determinar o seu público-alvo e qual a plataforma que é mais utilizada (ROUSE, 2014). Ennaji et al. (2015), em seu trabalho propõe um framework de arquitetura monolítica para a extração e análise de dados extraídos de redes sociais para avaliar a opinião do público a respeito de um determinado produto:

Utilizando as funcionalidades sobreditas é possível propor um diagrama de camadas de um sistema de CRM Social que utiliza uma arquitetura de microsserviços, conforme consta na Figura 2.

Diagrama de camadas de um sistema de CRM Social
Figura 2
Diagrama de camadas de um sistema de CRM Social
Fonte: Elaborada pelo autor

Conforme consta na definição de Newman (2015), cada microsserviço possui sua respectiva função baseada na regra de negócio que implementa, logo, problemas relacionados ao crescimento desordenado do código e sua manutenção, seriam minimizados. Outro benefício que está relacionado a utilização desta arquitetura neste cenário diz respeito ao módulo de customizações, visto que, caso o cliente solicite uma mudança em um determinado serviço, a aplicação continuará operando normalmente e não haverá nenhum tipo de impacto causado pela indisponibilidade do sistema como um todo.

O elemento que representa o “gateway” será o responsável por receber as chamadas para os sistemas internos e será a única parte acessível externamente da API. Atuará como um filtro para o tráfego de chamadas e como um dispositivo de segurança para controle de acesso. Sua utilização auxilia na separação de camadas da aplicação e no controle de erros, tendo em vista que o mesmo será o responsável pelo processamento das requisições recebidas. Além disso, empregando-o é praticável o uso de um front-end único para o usuário final, acelerando a etapa de integração com a API (MALAVASI, 2016).

A interação entre os serviços se dará por meio da utilização dos métodos padrões do protocolo HTTP (GET, PUT, POST e DELETE) e pela troca de dados em formatos multiplataformas como JSON e/ou XML. Para tanto, será necessário empregar o uso da Transferência de Estado Representacional, do inglês Representational State Transfer (REST). O termo foi cunhado por Roy T. Fielding (2000) em sua tese de doutorado e descreve um estilo de arquitutra para sistemas hipermídia distribuídos composta por um conjunto de elementos e restrições, que visam fornecer um conjunto de princípios. Tilkov (2008) afirma que, caso os princípios listados abaixo sejam adotados durante o processo de desenvolvimento da aplicação, será implementado um sistema que explora corretamente a arquitetura Web.

A Figura 3 representa a comunicação entre os serviços e o gateway utilizando o REST. Apesar de não estar representado na figura, a comunicação entre todos os serviços é possível, caso haja a necessidade de acessar um determinado recurso. No entanto, cada microsserviço é projetado para operar de forma independente para não gerar custos devido ao tráfego na rede.

Comunicação entre os serviços via REST
Figura 3
Comunicação entre os serviços via REST
Fonte: Elaborada pelo autor

O CRM Social possui como uma de suas principais características o foco em todas as iterações das relações, seja entre companhias, parceiros ou clientes, por meio de diversos canais de comunicação. Dentre estes, é preciso destacar as redes sociais, tendo em vista as inúmeras oportunidades que estes ambientes oferecem para que as empresas obtenham informações mais detalhadas de seus consumidores. Dessa forma, em um sistema de CRM Social, os serviços de extração de dados e de análise de sentimentos devem ser cuidadosamente implementados. O primeiro, será responsável por buscar e coletar as informações consideradas pertinentes para a companhia e, considerando-se o grande volume dados contidos nestes ambientes, o uso do paradigma Big Data é mandatório para a realização desta tarefa (ENNAJI et al., 2015). Para tanto, será utilizado o framework de processamento distribuído Apache Spark, cujos mecanismos avançados para execução de grafos acíclicos dirigidos (DAG) e utilização do conceito de conjuntos de dados resilientes distribuídos (RDD) permitem a execução de programas cem vezes mais rápido que o Hadoop MapReduce em memória (GOPALANI; ARORA, 2015).

Arquitetura do microsserviço de extração de dados
Figura 4
Arquitetura do microsserviço de extração de dados
Fonte: Elaborada pelo autor

A análise de sentimentos tem como principal objetivo definir um conjunto de ferramentas capazes de extrair informação subjetiva a partir de textos em linguagem natural, como sentimentos e opiniões, para criar um conhecimento estruturado e acionável que possa ser urilizado por sistemas de suporte ao processo de tomada de decisão (POZZI et al., 2017, tradução nossa). No que tange as operações realizadas por este serviço, estas deverão incluir:

A operação supracitada possui uma série de estratégias que vão desde a utilização de vocabulários previamente classificados até o uso de abordagens do aprendizado de máquina, por exemplo. Glorot, Bordes e Bengio (2011) propõe a utilização da abordagem de aprendizado profundo para a realização da classificação de polaridade de grandes volumes de dados. Este método, segundo os autores, preve a aplicação de um conjunto de algoritmos que objetivam, por meio de grafos, criar abstrações de alto nível. Bastani (2014) afirma que esta tarefa também pode ser realizada utilizando abordagens como Máquinas de Vetores Suporte (SVM) e Entropia Máxima, no entanto, estas ainda são inferiores no que diz respeito a performance.

Os microsserviços aludidos merecem destaque por desempenharem tarefas críticas em um sistema de CRM Social, principalmente o que será responsável pela análise de sentimentos. Isto posto, evidencia-se a necessidade da realização de um estudo mais aprofundado para determinar qual a abordagem mais eficiente para a execução do serviço. Feito isso, a arquitetura deste microsserviço será definida e, posteriormente, implementada.

5 CONCLUSÕES E TRABALHOS FUTUROS

A evolução da Internet possibilitou a utilização de um novo conjunto de métodos e estratégias para o compartilhamento de conteúdo, principalmente por meio de seus serviços. Por meio das redes sociais, os consumidores passaram a ter voz ativa no processo de comunicação com as empresas haja vista que seus comentários a respeito de uma marca ou produto poderiam ser facilmente propagados. Este cenário impulsionou uma mudança nas tradicionais noções da Gestão de Relacionamento com o Cliente para que esta pudesse se adequar à nova realidade. Neste contexto, surge o CRM Social que tem como principal objetivo utilizar as informações coletadas das redes sociais para desenhar o perfil dos consumidores de uma determinada empresa e assisti-la na criação de relacionamentos com eles.

A estratégia de negócios criada pelo CRM Social, apesar de ser um tema relativamente novo, já possui uma série de trabalhos acadêmicos publicados que buscam defini-la e listar seus inúmeros benefícios. Mesmo assim, poucos trabalhos fornecem uma metodologia para integrá-la com uma plataforma tecnológica, com o intuito de criar um modelo de arquitetura para um sistema de CRM Social. Por conseguinte, este trabalho buscou definir os conceitos relacionados à Web 2.0, à gestão relacionamento com o cliente e ao CRM Social para propor um modelo de arquitetura de microsserviços.

A utilização de microsserviços oferece uma série de benefícios relacionados à performance e disponibilidade do sistema, no entanto, os custos para manter uma estrutura desta forma podem ser relativamente altos. Isto posto, posteriormente será necessário realizar uma série de testes de desempenho para avaliar se a arquitetura proposta é funcional e atende aos requisitos necessários. Além disso, o método que será utilizado para o serviço responsável pela análise de sentimento deverá ser estabelecido, visando precisão e desempenho, principalmente em cenários onde o volume de dados é alto.

Por meio desta pesquisa, foi possível conceituar os termos gestão de relacionamento com o cliente, CRM Social e Web 2.0 e propor uma arquitetura de microsserviços para um sistema de CRM Social. Levando-se em conta estes aspectos, entende-se que a referida arquitetura é aplicável para o enquadramento em questão, no entanto, será necessária a realização de testes de desempenho com o intuito de determinar se a mesma atende aos requisitos propostos, visando performance e precisão nas análises.

REFERÊNCIAS

BASTANI, Kenny. Deep Learning Sentiment Analysis for Movie Reviews using Neo4j. 2014. Disponível em: http://www.kennybastani.com/2014/09/deep-learning-sentiment-analysis-for.html?spref=tw. Acesso em: 04 jun. 2017.

BOYD, Danah M.; ELLISON, Nicole B. Social Network Sites: Definition, History, and Scholarship. Journal Of Computer-mediated Communication, [s.l.], v. 13, n. 1, p.210-230, out. 2007.

CASTELLS, Manuel. A sociedade em rede. Trad. Roneide Venâncio Majer. 4. ed. São Paulo: Paz e Terra, 1999.

CHEN, C.l. Philip; ZHANG, Chun-yang. Data-intensive applications, challenges, techniques and technologies: A survey on Big Data. Information Sciences, [s.l.], v. 275, p.314-347, ago. 2014. http://dx.doi.org/10.1016/j.ins.2014.01.015. Disponível em: http://romisatriawahono.net/lecture/rm/survey/machine learning/Chen - Big Data Challenges and Techniques - 2014.pdf. Acesso em: 16 de maio de 2017.

ENNAJI, Fatima Zohra et al. Social intelligence framework: Extracting and analyzing opinions for social CRM. In: IEEE INTERNATIONAL CONFERENCE OF COMPUTER SYSTEMS AND APPLICATIONS (AICCSA), 12, Marrakech, 2015. Anais...p. 1-7.

FAASE, Robbert; HELMS, Remko; SPRUIT, Marco. Web 2.0 in the CRM domain: defining social CRM. Ijecrm, [s.l.], v. 5, n. 1, p.1-21, 2011. Disponível em: https://www.researchgate.net/profile/Marco_Spruit/publication/264437100_Web_20_in_the_CRM_domain_defining_social_CRM/links/565d953208ae1ef92982ef43.pdf. Acesso em: 15 maio 2017.

FIELDING, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. 2000. 180 f. Tese (Doutorado em Ciência da Cmputação) - Curso de Informação e Ciência da Computação, University Of California, Irvine, 2000. Disponível em: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm. Acesso em: 02 jun. 2017.

GERHARDT, Tatiana Engel; SILVEIRA, Denise Tolfo. Métodos de Pesquisa. Porto Alegre: Ufrgs, 2009. 120 p. Disponível em: http://www.ufrgs.br/cursopgdr/downloadsSerie/derad005.pdf. Acesso em: 02 jun. 2017.

GLOROT, Xavier; BORDES, Antoine; BENGIO, Yoshua. Domain adaptation for large-scale sentiment classification: A deep learning approach. In: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON MACHINE LEARNING, 28, Bellevue, 2011. Anais... p. 513-520.

GOPALANI, Satish; ARORA, Rohan. Comparing apache spark and map reduce with performance analysis using k-means. International Journal of Computer Applications, v. 113, n. 1, 2015.

GREENBERG, Paul. Social CRM Comes of Age. 2009. Disponível em: http://www.computerworlduk.com/cmsdata/whitepapers/3203130/social crm.pdf. Acesso em: 16 de maio de 2017.

GREENBERG, Paul. The impact of CRM 2.0 on customer insight. Jnl Of Bus & Indus Marketing, [s.l.], v. 25, n. 6, p.410-419, 3 ago. 2010. Disponível em: http://www.academia.edu/download/32397458/1876351.pdf. Acesso em: 16 de maio de 2017.

HUTCHINSON, Andrew. Top Social Network Demographics 2017: elaborada por Trackx. 2017. Disponível em: http://www.socialmediatoday.com/social-networks/top-social-network-demographics-2017-infographic. Acesso em: 01 jun. 2017.

LEHMKUHL, Tobias; JUNG, Reinhard. Towards Social CRM: Scoping the concept and guiding research. 2013. Disponível em: https://www.alexandria.unisg.ch/223469/1/Lehmkuhl, Jung - 2013 - Towards Social CRM - Scoping the concept and guiding research.pdf. Acesso em: 16 maio 2017.

LIN, Melissa C. A study of main stream features of CRM system and evaluation criteria. In: PROCEEDINGS OF THE AMERICAN SOCIETY FOR ENGINEERING EDUCATION ANNUAL CONFERENCE & EXPOSITION, Washington, 2003. Anais... p. 1-12.

MALAVASI, Eike. API Gateway governando a arquitetura de Microservices. 2016. Disponível em: http://sensedia.com/blog/apis/api-gateway-governando-a-arquitetura-de-microservices/. Acesso em: 04 jun. 2017.

MALTHOUSE, Edward C. et al. Managing Customer Relationships in the Social Media Era: Introducing the Social CRM House. Journal Of Interactive Marketing, [s.l.], v. 27, n. 4, p.270-280, nov. 2013. Disponível em: http://blog.mikezhang.com/files/socialcrm.pdf. Acesso em: 18 maio 2017.

MAROLT, Marjeta; PUCIHAR, Andreja; ZIMMERMANN, Hans-dieter. Social CRM Adoption and its Impact on Performance Outcomes: a Literature Review. Organizacija, [s.l.], v. 48, n. 4, p.260-271, 1 jan. 2015. Disponível em: https://www.degruyter.com/downloadpdf/j/orga.2015.48.issue-4/orga-2015-0022/orga-2015-0022.pdf . Acesso em: 16 maio 2017.

MENG, Xiangrui et al. Mllib: Machine learning in apache spark. Journal of Machine Learning Research, v. 17, n. 34, p. 1-7, 2016.

MISHRA, Alok; MISHRA, Deepti. Customer Relationship Management: implementation process perspective. Acta Polytechnica Hungarica, v. 6, n. 4, p. 83-99, 2009. Disponível em: http://www.scielo.br/pdf/ci/v30n1/a09v30n1. Acesso em: 15 de maio de 2017.

MOREIRA, Pedro Felipe Marques; BEDER, Delano Medeiros. Desenvolvimento de Aplicações e Micro Serviços: Um estudo de caso. Revista TIS, v. 4, n. 3, 2015. Disponível em: http://revistatis.dc.ufscar.br/index.php/revista/article/viewFile/364/127. Acesso em: 04 jun. 2017.

NEWMAN, Sam. Building microservices. Sebastopol: O'reilly Media, 2015. 280 p. 1 v. Disponível em: https://www.nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf. Acesso em: 04 jun. 2017.

PAYNE, Adrian; FROW, Pennie. A Strategic Framework for Customer Relationship Management. American Marketing Association, [s. L.], v. 4, n. 69, p.167-176, out. 2005. Disponível em: http://s3.amazonaws.com/academia.edu.documents/32536185/A_strategic_framework_for_CRM.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A&Expires=1494962632&Signature=0GzR4npFq7LkkCPnyE4JER1kQXk=&response-content-disposition=inline; filename=A_Strategic_Framework_for_Customer_Relat.pdf. Acesso em: 14 de maio de 2017.

POZZI, Federico Alberto et al. Challanges of Sentiment Analysis in Social Networks: An Overview. In: POZZI, Federico Alberto et al. Sentiment Analysis in Social Networks. Cambridge: Elsevier, 2017. Cap. 1. p. 11-22.

O'REILLY, T. What is Web 2.0. 2005. Disponível em: http://www.oreilly.com/go/web2. Acessado em: 29 de agosto de 2016

ORENGA-ROGLÁ, Sergio; CHALMETA, Ricardo. Social customer relationship management: taking advantage of Web 2.0 and Big Data technologies. Springerplus, [s.l.], v. 5, n. 1, p.1-17, 31 ago. 2016. Disponível em: http://dx.doi.org/10.1186/s40064-016-3128-y.

PRIMO, Alex . O aspecto relacional das interações na Web 2.0. E- Compós (Brasília), v. 9, p. 1-21, 2007..

RICHARDSON, Chris. Microservices: Decomposição de Aplicações para Implantação e Escalabilidade. 2014. Tradução de: Ivan Salvadori. Disponível em: https://www.infoq.com/br/articles/microservices-intro. Acesso em: 04 jun. 2017.

ROUSE, Margaret. Customer Relationship Management (CRM). 2014. Disponível em: http://searchcrm.techtarget.com/definition/CRM. Acesso em: 04 jun. 2017.

ŠEDIVÁ, Zuzana; MÜLLEROVÁ, Michaela. Social Media In Customer Relationship Management. In: INTERDISCIPLINARY INFORMATION MANAGEMENT TALKS (IDIMT) CONFERENCE, 22, 2014, Podebrady. Schriftenreihe Informatik. Podebrady: Trauner Verlag, 2014. v. 43, p. 173 - 180.

TILKOV, Stefan. Uma rápida Introdução ao REST. 2008. Tradução de: André Faria Gomes. Disponível em: https://www.infoq.com/br/articles/rest-introduction. Acesso em: 04 jun. 2017.

TRAINOR, Kevin J. Relating Social Media Technologies to Performance: A Capabilities-Based Perspective. Journal Of Personal Selling And Sales Management, [s.l.], v. 32, n. 3, p.317-331, 1 jul. 2012.

TRAINOR, Kevin J. et al. Social media technology usage and customer relationship performance: A capabilities-based examination of social CRM. Journal of Business Research, v. 67, n. 6, p. 1201-1208, 2014. Disponível em: http://tarjomeh20.com/wp-content/uploads/2015/05/10.1016-j.jbusres.2013.05.002_df52.pdf. Acesso em: 20 de maio de 2017.

ZABLAH, Alex; BELLENGER, Danny N.; JOHNSTON, Wesley. An evaluation of divergent perspectives on customer relationship management: Towards a common understanding of an emerging phenomenon. Industrial Marketing Management, Atlanta, v. 33, n. 6, p.475-489, 2 jul. 2004. Disponível em: https://www.wilfridlaurier.ca/documents/12147/7.__Zablah_et_al___An_evaluation_of_divergent_perspectives.pdf. Acesso em: 15 de maio de 2017.

Informação adicional

Editores do artigo: Enrique Muriel-Torrado, Edgar Bisset Alvarez, Camila Barros.

HMTL gerado a partir de XML JATS4R por