SlideShare una empresa de Scribd logo
1 de 29
Uma perspectiva histórica e o cenário
atual das ferramentas de
desenvolvimento para Contact Centers
Mario Guedes | Setembro 2017
Mario? Quiii Mariuuuu?
José Mario Silva Guedes
Desenvolvedor há 20+ anos
Gerente de Desenvolvimento na CONTACT STUDIO Software
Manja de Delphi, Python, JavaScript, Lua e bancos noSQL
Sabe nada de Java e.NET e esqueceu como se faz SELECT * FROM TABELA
Sonha em aprender C++
Esta se atrevendo no mundo do Data Science
Agenda
• Contextualização
• Linguagens
• Armazenamento de dados
• Arquiteturas
• Data Science
Contextualizando
O objetivo é falarmos
de tecnologia usando
Contact Center como
pano de fundo
O que é um
Contact
Center?
• Contact Center é um Call Center bombado
• Basicamente é uma estrutura montada para interagir com os
clientes de forma ativa ou receptiva
• Vendas
• Reclamações
• Cobranças
• Dúvidas e suporte técnico
• Elogio (aham)
• E todas as coisas chatas do dia à dia
• Hoje o desafio é lidar com os vários canais possíveis – Omni-
Channel:
• Telefone, Fax e SMS(clássicos)
• e-Mail (o novo fax – no sentido de estar em desuso)
• Chats (Plataforma próprias e populares como Facebook)
• Mídias Sociais (Twitter, Facebook, Instagram e etc)
• Processos de WorkFlow – Nível 1 e Back Office
• CTI – Integração entre Computador e Telefonia
• Receptivo
• Screen-Pop
• Discador automatizado
• Power
• Preview
• Preditivo
• Gravação de ligações telefônicas
• Tabulador
• URA – Unidade de Resposta Audível
• FAX
• SMS
• Chat
• Mídias Sociais
• Integração não invasiva
Linguagens
Cada época com seus
modismos,
oportunidades e
armadilhas
E como faz tudo isso?
• Programando ué!
• C++
• Visual Basic
• ASP
• Java
• .NET (VB.NET, C#)
• Delphi
• Python
• Ruby
• PHP
• JavaScript
• Node.js
• Padrões Web – CSS e HTML
• Scala
• Etc, etc e etc!
E quais linguagens vc deve aprender?
Todas?
•Impossível
Nenhuma?
•Impossível
Algumas!
• Aprenda a
programar: a
linguagem é
um mero
detalhe
O que presenciei?
(Sem compromisso com a cronologia e exatidão)
Anos 80: Onipresença da alta
plataforma com COBOL e
FORTRAN e início da
popularização da baixa
plataforma (Clipper e Pascal) – foi
o que me contaram rs
Anos 90: Migração do Clipper
para Delphi, Visual Basic e FoxPro
- Morte ao DOS! Viva o Windows!
Anos 2000: Migração para Web,
com utilização massiva de Java,
.NET e PHP na parte servidora e
um monte de tranqueira no lado
cliente.
Anos 2010: Domesticação dos
sistemas web (Web 2.0) e
consolidação do Delphi e.NET
(VB.NET e C#) no ambiente
Desktop.
Anos 2012: Fetiche pelos
aplicativos móveis. As linguagens
que se destacam são Java
(Android) e Objective-C (iPhone).
Anos 2015: Consolidação de
linguagens de altíssimo nível na
parte servidora, Python e Ruby, e
auto suficiência na parte cliente:
HTML5, CSS3 e ECMAScript 2015
(JavaScript)
Anos 2016: Drone, prototipagem
com Arduino (C) e RasperryPi
(Python): IoT - Internet das
Coisas
Anos 2017: Criação de vários
dialetos em todas as vertentes e
foco no Data Science –IA,
Preditividade e BOTs. Três
linguagens se destacam: R,
Python e Scala.
Curiosidade: O cara que “criou” o
Delphi é o mesmo que “criou” o
.NET e TypeScript - Anders
Hejlsberg
Constatação: O C e C++ é a base
da maioria das outras linguagens
Curiosidade: O JavaScript
“original” foi criado em DEZ dias!
Anos 2020: Que Deus nos
proteja.
O que estou usando hoje?
• Python 3x
• Backend
• Uma linguagem fantástica com ecossistema fantástico
• JavaScript, HTML5 e CSS3 (VueJS com TypeScript)
• Frontend
• É disso que o browser gosta!
• Delphi
• Algumas soluções se mostram bem convenientes em
Win32
• Scala
• Data Science
• Lua
• Linguagem brasileira que algumas soluções utilizam para
extensão
Melhorou? Piorou?
• O mundo mudou e as necessidades são mais complexas.
• Antes vc estava confinado à rede interna da empresa então era OK fazer um
programa que acessava diretamente o banco de dados
• Mas hoje vc precisa atender ao planeta: web, mobile, IoT e por ai vai.
• As linguagens compiladas como Delphi ou C++ estão perdendo espaço para as
linguagens interpretadas como Python e Ruby pois o ciclo de
desenvolvimento é mais simplificado
• A Orientação a Objetos esta passando a conviver com o Paradigma Funcional
• Então considero que melhorou pois estamos conseguindo acompanhar a
evolução das necessidades
• Porém agora exige-se cada vez mais do profissional
Armazenamento de
dados
Por que SQL é um padrão?
• Armazenamento era um sério problema nas décadas
anteriores:
• Disco caro, memória cara, tudo caro!
• Na baixa plataforma, PCs de um modo geral, houve
uma época em que tínhamos arquivos soltos em
servidor e as aplicações as disputavam – DBF e Paradox
por exemplo – o que causava corrupção
• Dai se popularizou os bancos relacionais baseado em
um servidor: SQL Server, Oracle, PostgreSQL, MySQL,
Firebird, Interbase e diversas outras opções que faziam
mais do mesmo.
• O maior problema que se resolveu foi o espaço em
disco.
• Mas dependendo do volume gerados é necessário
expurgar dados.
Daí que o
relacional
deixou de ser
suficienteDai algum
desocupado
inventou o
Big Data e
seus 3 V’s
Volume: Teras, Petas, Zetas de bytes
Velocidade: Esse volume tem que ser
processado rapidamente para ter valor
Variedade: Os dados estão em vários
formatos
A maior
parte dos
dados, 90%,
não são
estruturados
Texto em linguagem natural (e.g. eMails)
Áudio
Imagem
E por ai vai
noSQL
• Não Somente SQL! – O relacional continua tendo o seu valor
• Oferece formas diferentes de armazenamento e recuperação de
dados
• Existem vários paradigmas, se destacando:
• Orientado a documento
• Orientado a chave e valor
• Orientado a colunas
• Orientado a grafo
• O segredo esta em como esses bancos estruturam as
informações em disco e memória
• Já há uma nova tendência que é o newSQL que,
basicamente, são bancos multi paradigmas.
• A velocidade do storage determina a velocidade do seu
sistema!
Como um carro seria armazenado em um banco relacional
E como seria armazenado em um orientado à documento!
Como os dados são
estruturados na orientação
à grafo
• É assim que o Facebook
encontra os seus amigos.
• E os amigos dos seus
amigos.
Melhorou? Piorou?
• Pra mim melhorou pra caramba!
• Em soluções de CC nota-se um desperdício muito grande das informações.
• E os bancos relacionais, com suas chaves estrangeiras, triggers e procedures
atrasam a vida.
• Quando chega uma ligação preciso fazer o screen-pop o mais rápido possível.
• Quando tiro um relatório, quero tirar agora e quero o resultado rápido.
• Quando eu precisar mudar o esquema da minha informação, mudo apenas no
código da minha aplicação. Bancos sem esquema é vida!
Arquiteturas E a situação só piora …
Fases
• Mainframe com terminais burros
• Cliente servidor com os aplicativos misturando regras de negócio com interface
acessando tabelas em formato de arquivos
• Cliente servidor com os aplicativos misturando regras de negócio com interface
acessando um SGBDR
• Delegação das regras de negócio para o SGBDR (Triggers e Stored Procedures)
• Três camadas: cliente (apresentação), servidor (regras) e banco de dados (dados)
• Multi camadas: Tudo distribuído! Um inferno!
• Protocolos proprietários
• SOAP
• E finalmente o REST com microserviços!
Macro esquema
CAMADA RESTCAMADA CLIENTE MENSAGERIA MICRO SERVIÇOCAMADA HTTP STORAGE
Data Science E o que fazer com
tantos dados?
IA First
• Havendo condições de acumular dados e mais dados, o que
fazer com eles?
• Hoje o desafio é tirar proveito efetivo do Data Science
• No âmbito do CC estamos tentando:
• Aplicar algoritmos de Aprendizado de Máquina para
“prever” qual o melhor horário e telefone para ligar
para você
• Sinalizar tendência de “cancelamento de plano”, por
exemplo, de acordo com o “comportamento” do
consumidor
• “Conversar” com o consumidor, via voz ou chat, a
primeira abordagem e quem sabe até resolver
• Para isto estamos ainda criando conhecimento e estudando
serviços cloud – AWS, Google e alguns outros
• Estamos sentindo falta de um background matemático e
conhecimentos em estatísticas. As ferramentas estão
“fáceis” de usar mas o mais difícil é elaborar as perguntas
Momento Jabá
• Se você é um desenvolvedor de sites ou sistema de um
modo geral e precisa bombar a sua solução relacionada à
comunicação como Chat ou Telefonia Voip – Seus
problemas acabaram!
• Estamos precisando de beta testers das nossas soluções,
vamos trocar uma ideia?
• Mande um e-mail para mario.guedes@contactstudio.com
e vamos ver se dá jogo =)
Estamos
contratando!
• mario.guedes@contactstudio.com
• Data Science
• Delphi,
• Python,
• JavaScript,
• .NET,
• noSQL,
• SQL Server,
• Telefonia,
• Cloud,
• Mobile,
• E um monte de coisa legal!
Obrigado!
• mario.guedes@contactstudio.com
• Em todas as redes sociais: /jmarioguedes
• Agradecimentos pelas contribuições
• Silvio Stanzani
• Thiago Filadelfo
• Victor Panisa
• Cesar Romero
• Landerson Gomes
• Marcelo Varela

Más contenido relacionado

Similar a Uma perspectiva histórica e o cenário atual das ferramentas de desenvolvimento para Contact Centers

Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaCase RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaAlessandro Binhara
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...
Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...
Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...Rodrigo Vieira
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
O front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactO front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactFernando Henriques
 
II Congresso Latino-Americano de Inteligência Artificial e Data Science
II Congresso Latino-Americano de Inteligência Artificial e Data ScienceII Congresso Latino-Americano de Inteligência Artificial e Data Science
II Congresso Latino-Americano de Inteligência Artificial e Data ScienceGeorg Buske
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...tdc-globalcode
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreRodrigo Kono
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?Mario Guedes
 
DeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQLDeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQLHerberth Amaral
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoLeo Lorieri
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 

Similar a Uma perspectiva histórica e o cenário atual das ferramentas de desenvolvimento para Contact Centers (20)

Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaCase RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...
Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...
Aspectos do aprendizado do paradigma orientado a objetos por programadores pr...
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
O front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactO front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: React
 
II Congresso Latino-Americano de Inteligência Artificial e Data Science
II Congresso Latino-Americano de Inteligência Artificial e Data ScienceII Congresso Latino-Americano de Inteligência Artificial e Data Science
II Congresso Latino-Americano de Inteligência Artificial e Data Science
 
Bi sobre Big Data - Como fazer?
Bi sobre Big Data - Como fazer?Bi sobre Big Data - Como fazer?
Bi sobre Big Data - Como fazer?
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?
 
DeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQLDeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQL
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeito
 
Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 

Más de Mario Guedes

O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitMario Guedes
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISMario Guedes
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumMario Guedes
 
Entendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTEntendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTMario Guedes
 
Expressão Regular - Cookbook
Expressão Regular - CookbookExpressão Regular - Cookbook
Expressão Regular - CookbookMario Guedes
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsMario Guedes
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!Mario Guedes
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsMario Guedes
 
Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!Mario Guedes
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis Mario Guedes
 
Escalando o backend com NGINX e Redis
Escalando o backend com NGINX e RedisEscalando o backend com NGINX e Redis
Escalando o backend com NGINX e RedisMario Guedes
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Mario Guedes
 
Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Mario Guedes
 
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiTDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiMario Guedes
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaMario Guedes
 
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuáriosExtreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuáriosMario Guedes
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBArquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBMario Guedes
 
Integrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONIntegrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONMario Guedes
 
Delphi Parallel Programming Library
Delphi Parallel Programming LibraryDelphi Parallel Programming Library
Delphi Parallel Programming LibraryMario Guedes
 

Más de Mario Guedes (20)

O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
Entendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTEntendendo HTTP para entender o REST
Entendendo HTTP para entender o REST
 
Expressão Regular - Cookbook
Expressão Regular - CookbookExpressão Regular - Cookbook
Expressão Regular - Cookbook
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google Maps
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google Maps
 
Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis
 
Escalando o backend com NGINX e Redis
Escalando o backend com NGINX e RedisEscalando o backend com NGINX e Redis
Escalando o backend com NGINX e Redis
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
 
Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?
 
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiTDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistema
 
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuáriosExtreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBArquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
 
Integrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONIntegrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSON
 
Delphi Parallel Programming Library
Delphi Parallel Programming LibraryDelphi Parallel Programming Library
Delphi Parallel Programming Library
 

Uma perspectiva histórica e o cenário atual das ferramentas de desenvolvimento para Contact Centers

  • 1. Uma perspectiva histórica e o cenário atual das ferramentas de desenvolvimento para Contact Centers Mario Guedes | Setembro 2017
  • 2. Mario? Quiii Mariuuuu? José Mario Silva Guedes Desenvolvedor há 20+ anos Gerente de Desenvolvimento na CONTACT STUDIO Software Manja de Delphi, Python, JavaScript, Lua e bancos noSQL Sabe nada de Java e.NET e esqueceu como se faz SELECT * FROM TABELA Sonha em aprender C++ Esta se atrevendo no mundo do Data Science
  • 3. Agenda • Contextualização • Linguagens • Armazenamento de dados • Arquiteturas • Data Science
  • 4. Contextualizando O objetivo é falarmos de tecnologia usando Contact Center como pano de fundo
  • 5. O que é um Contact Center? • Contact Center é um Call Center bombado • Basicamente é uma estrutura montada para interagir com os clientes de forma ativa ou receptiva • Vendas • Reclamações • Cobranças • Dúvidas e suporte técnico • Elogio (aham) • E todas as coisas chatas do dia à dia • Hoje o desafio é lidar com os vários canais possíveis – Omni- Channel: • Telefone, Fax e SMS(clássicos) • e-Mail (o novo fax – no sentido de estar em desuso) • Chats (Plataforma próprias e populares como Facebook) • Mídias Sociais (Twitter, Facebook, Instagram e etc)
  • 6. • Processos de WorkFlow – Nível 1 e Back Office • CTI – Integração entre Computador e Telefonia • Receptivo • Screen-Pop • Discador automatizado • Power • Preview • Preditivo • Gravação de ligações telefônicas • Tabulador • URA – Unidade de Resposta Audível • FAX • SMS • Chat • Mídias Sociais • Integração não invasiva
  • 7. Linguagens Cada época com seus modismos, oportunidades e armadilhas
  • 8. E como faz tudo isso? • Programando ué! • C++ • Visual Basic • ASP • Java • .NET (VB.NET, C#) • Delphi • Python • Ruby • PHP • JavaScript • Node.js • Padrões Web – CSS e HTML • Scala • Etc, etc e etc!
  • 9. E quais linguagens vc deve aprender? Todas? •Impossível Nenhuma? •Impossível Algumas! • Aprenda a programar: a linguagem é um mero detalhe
  • 10. O que presenciei? (Sem compromisso com a cronologia e exatidão) Anos 80: Onipresença da alta plataforma com COBOL e FORTRAN e início da popularização da baixa plataforma (Clipper e Pascal) – foi o que me contaram rs Anos 90: Migração do Clipper para Delphi, Visual Basic e FoxPro - Morte ao DOS! Viva o Windows! Anos 2000: Migração para Web, com utilização massiva de Java, .NET e PHP na parte servidora e um monte de tranqueira no lado cliente. Anos 2010: Domesticação dos sistemas web (Web 2.0) e consolidação do Delphi e.NET (VB.NET e C#) no ambiente Desktop. Anos 2012: Fetiche pelos aplicativos móveis. As linguagens que se destacam são Java (Android) e Objective-C (iPhone). Anos 2015: Consolidação de linguagens de altíssimo nível na parte servidora, Python e Ruby, e auto suficiência na parte cliente: HTML5, CSS3 e ECMAScript 2015 (JavaScript) Anos 2016: Drone, prototipagem com Arduino (C) e RasperryPi (Python): IoT - Internet das Coisas Anos 2017: Criação de vários dialetos em todas as vertentes e foco no Data Science –IA, Preditividade e BOTs. Três linguagens se destacam: R, Python e Scala. Curiosidade: O cara que “criou” o Delphi é o mesmo que “criou” o .NET e TypeScript - Anders Hejlsberg Constatação: O C e C++ é a base da maioria das outras linguagens Curiosidade: O JavaScript “original” foi criado em DEZ dias! Anos 2020: Que Deus nos proteja.
  • 11. O que estou usando hoje? • Python 3x • Backend • Uma linguagem fantástica com ecossistema fantástico • JavaScript, HTML5 e CSS3 (VueJS com TypeScript) • Frontend • É disso que o browser gosta! • Delphi • Algumas soluções se mostram bem convenientes em Win32 • Scala • Data Science • Lua • Linguagem brasileira que algumas soluções utilizam para extensão
  • 12. Melhorou? Piorou? • O mundo mudou e as necessidades são mais complexas. • Antes vc estava confinado à rede interna da empresa então era OK fazer um programa que acessava diretamente o banco de dados • Mas hoje vc precisa atender ao planeta: web, mobile, IoT e por ai vai. • As linguagens compiladas como Delphi ou C++ estão perdendo espaço para as linguagens interpretadas como Python e Ruby pois o ciclo de desenvolvimento é mais simplificado • A Orientação a Objetos esta passando a conviver com o Paradigma Funcional • Então considero que melhorou pois estamos conseguindo acompanhar a evolução das necessidades • Porém agora exige-se cada vez mais do profissional
  • 14. Por que SQL é um padrão? • Armazenamento era um sério problema nas décadas anteriores: • Disco caro, memória cara, tudo caro! • Na baixa plataforma, PCs de um modo geral, houve uma época em que tínhamos arquivos soltos em servidor e as aplicações as disputavam – DBF e Paradox por exemplo – o que causava corrupção • Dai se popularizou os bancos relacionais baseado em um servidor: SQL Server, Oracle, PostgreSQL, MySQL, Firebird, Interbase e diversas outras opções que faziam mais do mesmo. • O maior problema que se resolveu foi o espaço em disco. • Mas dependendo do volume gerados é necessário expurgar dados.
  • 15. Daí que o relacional deixou de ser suficienteDai algum desocupado inventou o Big Data e seus 3 V’s Volume: Teras, Petas, Zetas de bytes Velocidade: Esse volume tem que ser processado rapidamente para ter valor Variedade: Os dados estão em vários formatos A maior parte dos dados, 90%, não são estruturados Texto em linguagem natural (e.g. eMails) Áudio Imagem E por ai vai
  • 16. noSQL • Não Somente SQL! – O relacional continua tendo o seu valor • Oferece formas diferentes de armazenamento e recuperação de dados • Existem vários paradigmas, se destacando: • Orientado a documento • Orientado a chave e valor • Orientado a colunas • Orientado a grafo • O segredo esta em como esses bancos estruturam as informações em disco e memória • Já há uma nova tendência que é o newSQL que, basicamente, são bancos multi paradigmas. • A velocidade do storage determina a velocidade do seu sistema!
  • 17. Como um carro seria armazenado em um banco relacional
  • 18. E como seria armazenado em um orientado à documento!
  • 19. Como os dados são estruturados na orientação à grafo • É assim que o Facebook encontra os seus amigos. • E os amigos dos seus amigos.
  • 20. Melhorou? Piorou? • Pra mim melhorou pra caramba! • Em soluções de CC nota-se um desperdício muito grande das informações. • E os bancos relacionais, com suas chaves estrangeiras, triggers e procedures atrasam a vida. • Quando chega uma ligação preciso fazer o screen-pop o mais rápido possível. • Quando tiro um relatório, quero tirar agora e quero o resultado rápido. • Quando eu precisar mudar o esquema da minha informação, mudo apenas no código da minha aplicação. Bancos sem esquema é vida!
  • 21. Arquiteturas E a situação só piora …
  • 22. Fases • Mainframe com terminais burros • Cliente servidor com os aplicativos misturando regras de negócio com interface acessando tabelas em formato de arquivos • Cliente servidor com os aplicativos misturando regras de negócio com interface acessando um SGBDR • Delegação das regras de negócio para o SGBDR (Triggers e Stored Procedures) • Três camadas: cliente (apresentação), servidor (regras) e banco de dados (dados) • Multi camadas: Tudo distribuído! Um inferno! • Protocolos proprietários • SOAP • E finalmente o REST com microserviços!
  • 23. Macro esquema CAMADA RESTCAMADA CLIENTE MENSAGERIA MICRO SERVIÇOCAMADA HTTP STORAGE
  • 24.
  • 25. Data Science E o que fazer com tantos dados?
  • 26. IA First • Havendo condições de acumular dados e mais dados, o que fazer com eles? • Hoje o desafio é tirar proveito efetivo do Data Science • No âmbito do CC estamos tentando: • Aplicar algoritmos de Aprendizado de Máquina para “prever” qual o melhor horário e telefone para ligar para você • Sinalizar tendência de “cancelamento de plano”, por exemplo, de acordo com o “comportamento” do consumidor • “Conversar” com o consumidor, via voz ou chat, a primeira abordagem e quem sabe até resolver • Para isto estamos ainda criando conhecimento e estudando serviços cloud – AWS, Google e alguns outros • Estamos sentindo falta de um background matemático e conhecimentos em estatísticas. As ferramentas estão “fáceis” de usar mas o mais difícil é elaborar as perguntas
  • 27. Momento Jabá • Se você é um desenvolvedor de sites ou sistema de um modo geral e precisa bombar a sua solução relacionada à comunicação como Chat ou Telefonia Voip – Seus problemas acabaram! • Estamos precisando de beta testers das nossas soluções, vamos trocar uma ideia? • Mande um e-mail para mario.guedes@contactstudio.com e vamos ver se dá jogo =)
  • 28. Estamos contratando! • mario.guedes@contactstudio.com • Data Science • Delphi, • Python, • JavaScript, • .NET, • noSQL, • SQL Server, • Telefonia, • Cloud, • Mobile, • E um monte de coisa legal!
  • 29. Obrigado! • mario.guedes@contactstudio.com • Em todas as redes sociais: /jmarioguedes • Agradecimentos pelas contribuições • Silvio Stanzani • Thiago Filadelfo • Victor Panisa • Cesar Romero • Landerson Gomes • Marcelo Varela