Integração Profissional: Estudo de Caso do Expresso
-
Upload
flavio-lisboa -
Category
Technology
-
view
353 -
download
0
Transcript of Integração Profissional: Estudo de Caso do Expresso
![Page 1: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/1.jpg)
Estudo de Caso do ExpressoUma Integração Profissional
![Page 2: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/2.jpg)
Temos consciência de que...
“Um Cliente é o mais importante visitante das nossas instalações. Ele não depende de nós, nós é que dependemos dele. Não é uma interrupção no nosso trabalho, é a finalidade deste. Não é um estranho no nosso negócio, faz parte dele. Ao servi-lo, não estamos a fazer-lhe um favor, é ele que nos faz um favor ao dar-nos uma oportunidade para o servirmos.”
Mahatma Gandhi
![Page 3: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/3.jpg)
Queremos oferecer um bom produto ao nosso cliente
![Page 4: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/4.jpg)
Um produto que seja seguro
![Page 5: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/5.jpg)
Um produto que seja estável
![Page 6: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/6.jpg)
Um produto que seja flexível
![Page 7: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/7.jpg)
Um produto com custo de manutenção aceitável
![Page 8: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/8.jpg)
Um produto que contribua com uma imagem positiva da empresa
É mesmo, usa e não devolve o que
conseguiu acrescentar ao que
tomou de graça!
Olha, minha empresa usa software livre!
![Page 9: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/9.jpg)
Por isso queremos investir (mais) na integração Expresso X Tine 2.0
Tine 2.0
Expresso
}Focar negócio do Serpro
● Segurança● Estabilidade● Flexibilidade● Funcionalidades
genéricas / Demandas da comunidade Expresso
![Page 10: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/10.jpg)
Fatos
Pegamos um projeto inteiro de graça e só usamos 40% dele.
ActiveSync Addressbook Admin Calendar Courses
Crm Felamimail Filemanager HumanResources Inventory
Phone Projects RequestTracker Sales Setup
SimpleFAQ Sipgate Tasks Timetracker Tinebase
Tool Voipmanager
![Page 11: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/11.jpg)
FatosExiste um potencial de reuso para demandas internas, de clientes e da comunidade, no Brasil e América Latina.
ActiveSync Addressbook Admin Calendar Courses
Crm Felamimail Filemanager HumanResources Inventory
Phone Projects RequestTracker Sales Setup
SimpleFAQ Sipgate Tasks Timetracker Tinebase
Tool Voipmanager
![Page 12: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/12.jpg)
FatosMesmo os módulos do Expresso criados pelo SERPRO usam ou reusam módulos do Tine 2.0
Expressomail Webconference Messenger Expressodriver
Felamimail Filemanager
Tinebase
Tool
AppLauncher
![Page 13: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/13.jpg)
Fatos
E se podemos ter clientes diferentes (ExpressoLite) é porque reusamos a arquitetura da aplicação, que é orientada a serviços.
ExpressoLite
ActiveSync
WebDAV
![Page 14: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/14.jpg)
Fatos
Trazer atualizações da comunidade economiza em custo de desenvolvimento.
Uma funcionalidade do Tine 2.0 como a melhoria da conexão CalDAV custou 2.720 € (~R$ 8160) para os patrocinadores do projeto (divididos em 7).
Nós pegamos essa funcionalidade de graça.
![Page 15: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/15.jpg)
Fatos
Para se ter ideia, sem a integração das comunidades Tine 2.0 e Expresso, se o SERPRO tivesse de criar o Tine 2.0 do zero e deixá-lo com as funcionalidades atuais, teria gasto cerca de R$ 225.696.000,00 apenas com desenvolvimento (considerando o valor médio de R$ 8000,00 para cada commit no repositório)
![Page 16: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/16.jpg)
Fatos
Nossas contribuições não são somente aceitas...
Tine 2.0 implementando para Expresso!
![Page 17: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/17.jpg)
Fatos
Nossas contribuições são melhoradas!
Tarefa do Expresso
![Page 18: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/18.jpg)
FatosTarefa #11613 do Expresso, melhorada pelo Tine 2.0, com adição de priorização de tipo de serviço (HTTP, Json, WebDAV, ActiveSync) e criação de testes automatizados
Testes
Isso aumenta a qualidade do produto!
![Page 19: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/19.jpg)
Fatos
Nós consumimos frequentemente melhorias e correções do Tine 2.0
![Page 20: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/20.jpg)
Fatos
O ambiente de integração contínua e testes automatizados do Tine 2.0 está muito à nossa frente. Quando submetemos para eles uma alteração nossa, descobrimos bugs que não são percebidos aqui dentro, e conseguimos corrigi-los antes que se manifestem.
![Page 21: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/21.jpg)
Fatos
Fica difícil integrar mudanças, se o código do Expresso e do Tine 2.0 estiverem muito diferentes.
Por isso é preciso manter o código comum atualizado.
O ideal é integrar todo release estável do Tine 2.0.
![Page 22: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/22.jpg)
Fatos
Para atualizar constantemente o Expresso com código do Tine 2.0, é necessário separar o que é implementação de regra de negócio específica do Serpro do que é genérico.
Tinebase
Expressobase
Específico do Serpro Genérico
![Page 23: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/23.jpg)
Fatos
Isso não somente permite a atualização, como também evita que o Serpro distribua funcionalidades dependentes do seu ambiente de produção e que só atendem aos seus clientes ou só servem no Brasil.
SÓ FUNCIONA NO SERPRO
![Page 24: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/24.jpg)
Fatos
Cada empresa tem suas demandas e ambiente produtivo com características próprias. Por isso o produto tem de ser flexível.
![Page 25: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/25.jpg)
Fatos
Expresso tem um mercado potencial na América Latina, mas precisa funcionar com a realidade de cada país. Tem que ser flexível.
![Page 26: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/26.jpg)
Fatos
Separar o código específico do Serpro e não desenvolver código que o Tine 2.0 já cria tem a vantagem de permitir o foco no atendimento das demandas do cliente do Serpro e na melhoria da qualidade do que é específico para o Serpro.
![Page 27: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/27.jpg)
Fatos
É bom que um projeto seja sustentado por mais de um membro, em comunidade.
“Melhor é serem dois do que um, porque têm melhor paga do seu trabalho. Porque, se um cair, o outro levanta o seu companheiro; mas ai do que estiver só; pois, caindo, não haverá outro que o levante.”
Eclesiastes 4:9-10
![Page 28: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/28.jpg)
Fatos
Melhor ainda se a comunidade for internacional.
![Page 29: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/29.jpg)
Fatos
Não é bom querer fazer tudo sozinho.
Isso é sintoma da Síndrome do Ursulão.
Ursulão é um personagem de desenho animado que sempre decidia fazer as tarefas de casa, ao invés de dar dinheiro para a mulher contratar um especialista (eletricista, encanador, pintor). Resultado: a casa pegava fogo; o cano estourava; o motor do carro fundia. E no final, ele tinha que gastar mais dinheiro pra consertar o que estragou.
![Page 30: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/30.jpg)
Fatos
Ao desenvolver de forma colaborativa, evitamos fazer uma implementação que resolve um problema de forma imediata mas cria vários outros problemas que temos de passar meses para resolver.
![Page 31: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/31.jpg)
Fatos
● Não devemos fazer somente o que o cliente pede.
● Não devemos esperar o cliente pedir.
![Page 32: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/32.jpg)
Fatos
● Temos de ser ousados, criativos e inovar
● Temos de melhorar continuamente a qualidade dos produtos e serviços para o cliente
![Page 33: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/33.jpg)
Fatos
A atualização constante do código do Tine 2.0 permite que captemos funcionalidades não solicitadas pelos clientes, mas que podemos apresentar.
Exemplo: importação de eventos (existe no Tine 2.0, não existe no Expresso)
![Page 34: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/34.jpg)
Fatos
Na visão de futuro do Tine 2.0 está a ampliação da integrabilidade: a facilidade de integrar o produto com aplicações de terceiros, ou “pendurá-las” nos módulos do Tine 2.0.
Além disso, a ampliação do desacoplamento: a facilidade de desacoplar as bibliotecas (dependências) de terceiros e acompanhar a evolução de cada uma de forma independente.
![Page 35: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/35.jpg)
Fatos
Na visão de futuro do Tine 2.0 está a ampliação do uso de dependências de terceiros (delegação de negócios específicos a especialistas em seus respectivos negócios).
Isso abre a possibilidade de usar funcionalidades disponíveis em outros frameworks especialistas.
![Page 36: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/36.jpg)
Qual é a nossa estratégia de integração
● Nós isolamento de código com regras de negócio específicas do Serpro;
● Restringirmos alterações na API do sistema, e expandimos o uso de plugins;
● Contribuímos com a comunidade como parte do processo do desenvolvimento.
![Page 37: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/37.jpg)
Importante
O SERPRO não tem contrato de suporte com o fornecedor da API do Expresso, por isso a integração de código do SERPRO é feita no tempo de comunidade: a priorização é feita de acordo com a importância da demanda para os patrocinadores do Tine 2.0.
![Page 38: Integração Profissional: Estudo de Caso do Expresso](https://reader036.fdocumentos.tips/reader036/viewer/2022062523/5874fbee1a28ab29208b4cbf/html5/thumbnails/38.jpg)
Importante
Neste caso, é ainda mais importante isolar o código de negócio específico do SERPRO e enrijecer o critério de aceitação de mudanças para a API (se não for plugável ou configurável, não entra).