Arquitetura e Integração entre sistemas da STI

Post on 31-May-2015

184 views 3 download

Transcript of Arquitetura e Integração entre sistemas da STI

Arquitetura e Integração entre sistemas da STI

Hugo Arraes Henley

quinta-feira, 10 de outubro de 13

Quem sou eu?

• Aluno do 10º período de Engenharia de Telecomunicações

• Desenvolvedor Ruby on Rails desde 2010

• Gerente Técnico da STI desde jan/2013

• Apaixonado por tecnologia desde sempre

quinta-feira, 10 de outubro de 13

Sumário

• Por que integrar?

• Como integrar?

• Qual linguagem usar?

• Segurança

• Conclusão

quinta-feira, 10 de outubro de 13

Por que integrar?

• Maior confiabilidade nos dados uma vez que não há necessidade de sincronizar as bases

• Solução escalável, de fácil replicação

• Maior facilidade na hora de desenvolver outras aplicações

quinta-feira, 10 de outubro de 13

Como integrar?

• Linguagem de Programação

• Servidor Web

• WebServices

• Quando usamos?

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

Qualquer uma ...

quinta-feira, 10 de outubro de 13

A Linguagem de Programação

... ou várias!

quinta-feira, 10 de outubro de 13

Arquitetura

quinta-feira, 10 de outubro de 13

Como integrar?

WebServices!

quinta-feira, 10 de outubro de 13

Com o uso de WebServices, é possível que novas tecnologias possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.

[Wikipedia]

quinta-feira, 10 de outubro de 13

São componentes que permitem às aplicações enviar e receber dados em formatos como XML, JSON, etc.

[Wikipedia]

quinta-feira, 10 de outubro de 13

Exemplo de Saída do WS

<identificacao>

<status>Ativo</status>

<situacao>Inscrito</situacao>

<uffmail>hugohenley</uffmail>

<datanascimento>31/03/89</datanascimento>

<sexo>M</sexo>

<cpf>12390213120</cpf>

</identificacao>

XML JSON{disciplinas: [[{ cargahoraria: 68, codigo_disciplina: "TET00203", creditos: 0, nome: "COMUNICAÇÕES ÓPTICAS", frequencia: "S", status_historico: "Aprovado", nota: "077", vs: null, anosemestre: 20121},{ cargahoraria: 102, codigo_disciplina: "TET00194", creditos: 0, nome: "ELETRÔNICA II", frequencia: "S", status_historico: "Aprovado", nota: "080", vs: null, anosemestre: 20121}],ch_total: 4927,ch_cursada: 3352,situacao_aluno: "Inscrito",cr: 7,8}

quinta-feira, 10 de outubro de 13

Quando uma aplicação consome esses dados, é necessário fazer o parse dos mesmos, da forma como for convinente para a aplicação consumidora.

quinta-feira, 10 de outubro de 13

Métodos HTTP

• Os protocolo HTTP define alguns métodos, e alguns deles são utilizados pelos nossos WebServices.

• São eles: GET, POST, PUT, DELETE.

quinta-feira, 10 de outubro de 13

Casos de Uso

quinta-feira, 10 de outubro de 13

UFFMobile

Como as informações chegam no dispositivo móvel?

quinta-feira, 10 de outubro de 13

UFFMobile

Usando WebServices!

quinta-feira, 10 de outubro de 13

UFFMobileGET$!

$Sistemas$UFF!

Sites$UFF!$SQLite$!

$Disposi3vo$móvel$!

GET$!

200$OK$!

200$OK$!

quinta-feira, 10 de outubro de 13

UFFMail

quinta-feira, 10 de outubro de 13

Jenkins

quinta-feira, 10 de outubro de 13

JenkinsMetrics

quinta-feira, 10 de outubro de 13

Segurança

O que os Hackers querem de nós?

quinta-feira, 10 de outubro de 13

Como se proteger?

• Isolamento de Redes

• Política de Acesso a WebServices

• Chave de Autenticação

• Criptografia (TLS/SSL)

quinta-feira, 10 de outubro de 13

Chaves de Autenticação

quinta-feira, 10 de outubro de 13

Conclusão

• Pensar na arquitetura como um serviço (SOA)

• Sejam arquitetos, e não apenas desenvolvedores. Projetem seus sistemas antes de começar a programar

• Nunca esqueçam de proteger seus dados.

quinta-feira, 10 de outubro de 13

quinta-feira, 10 de outubro de 13

quinta-feira, 10 de outubro de 13

Novo modelo de negócios

API Centric

quinta-feira, 10 de outubro de 13

Dúvidas?

quinta-feira, 10 de outubro de 13

Dúvidas?

quinta-feira, 10 de outubro de 13

Dúvidas?

quinta-feira, 10 de outubro de 13

quinta-feira, 10 de outubro de 13

quinta-feira, 10 de outubro de 13

Obrigado!

quinta-feira, 10 de outubro de 13

Obrigado!

hugohenley@id.uff.br

quinta-feira, 10 de outubro de 13