Download - Integração de software solucao e estilo

Transcript
Page 1: Integração de software   solucao e estilo

Integração de softwaresoluções e estilos

Universidade Federal de GoiásProf Leonardo A Alves

Page 2: Integração de software   solucao e estilo

Integrando para resolver problemas

• Necessidade de Integração• Software de diferentes fabricantes;• Software desenvolvido com tecnologias diferentes;• Software desenvolvido com necessidades governamentais ou

legais.

Page 3: Integração de software   solucao e estilo

Desafios da Integração• Integração pode significar mudanças nas politicas

coorporativas. Cada aplicação é agora parte de um fluxo global de aplicações e serviços integrados;

• Os esforços de integração normalmente têm implicações de longo alcance sobre o negócio; Uma solução de integração que falha pode custar milhões de dólares em negócios perdidos, ordens de pagamentos erradas e clientes insatisfeitos.

Page 4: Integração de software   solucao e estilo

Desafios da Integração• Quantidade limitada de “controle” que os desenvolvedores de

integração normalmente têm sobre as aplicações a serem integradas.

• O advento do XML, XSL e Web sevices certamente marcam o avanço mais significativo de padrões baseados em características de uma solução de integração. No entanto, o boom em torno de serviços da Web também tem dado motivos para nova fragmentação do mercado, resultando em um turbilhão de novas "extensões" e"Interpretações" das normas.

Page 5: Integração de software   solucao e estilo

Desafios da Integração• Serviços/Soluções Web abordam apenas uma fração dos

desafios de integração.• A mistura de tecnologias e a natureza distribuída de soluções

exige um conjuntos de habilidades que não muitas vezes combinam gestão e tecnologia.

Page 6: Integração de software   solucao e estilo

O que integrar?

• Portais de Informação• Replicação de Dados• Funções compartilhadas de Negócios• Arquiteturas Orientadas a Serviços• Processos distribuídos de Negócios • Integração Business-to-Business(B2B)

Page 7: Integração de software   solucao e estilo

Exemplo comum de Integração:Portal de aplicações empresariais rodando na Web.

Page 8: Integração de software   solucao e estilo

Portal de Informações

Page 9: Integração de software   solucao e estilo

Quais os problemas nessa Configuração?

Page 10: Integração de software   solucao e estilo

Problemas comuns• Forte dependência entre módulos;• Manutenabilidade comprometida;• Mais de um elemento integrador conjugado;• Incapacidade de manutenção on-line do serviço;• ...

Page 11: Integração de software   solucao e estilo

Solução: Integração com Replicação de dados

Page 12: Integração de software   solucao e estilo

Como foi a resolução das agendas?• Trabalho de agendas, qual solução você tomou?

• Qual foi a melhor? Vamos avaliar?

Page 13: Integração de software   solucao e estilo

Soluções Possíveis• Há muitas maneiras de implementar a replicação de dados.

Por exemplo, alguns fornecedores de banco de dados constroem funções de replicação no banco de dados, podemos exportar os dados em arquivos e re-importá-los para outro sistema, ou podemos usar middleware orientado a mensagem para o transporte de registros de dados dentro de mensagens.

Page 14: Integração de software   solucao e estilo

Solução: Função de negócios compartilhada• Da mesma forma que muitas aplicações de negócio armazenar

dados redundantes, eles também tendem a implementar a funcionalidade redundante.

• Conferência de CPF, averiquação de cheques, serviços de avaliação de informação.

Page 15: Integração de software   solucao e estilo

Solução: Função de negócios compartilhada

Page 16: Integração de software   solucao e estilo

Solução: Função de negócios compartilhada• Obs.:uma função é geralmente mais invasiva do que o

carregamento de dados na base de dados, e pode requerer programação direta no código, por isso é menos usada.

Page 17: Integração de software   solucao e estilo

Serviços Orientados a Arquitetura• Esses vocês conhecem bem...

Page 18: Integração de software   solucao e estilo

Serviços Orientados a Arquitetura

Page 19: Integração de software   solucao e estilo

Serviços Orientados a Arquitetura• Funções de negócios compartilhados são muitas vezes

referidos como serviços.• Iniciamente, as aplicações precisam de uma lista centralizada

de todos os serviços disponíveis. Em segundo lugar, cada serviço necessita descrever a sua interface de tal maneira que uma aplicação possa "negociar" sua comunicações com base no serviço. Estas duas funções, a descoberta de serviços e negociação, são os principais elementos que compõem uma arquitetura orientada a serviços.

Page 20: Integração de software   solucao e estilo

Processo Distribuído de Negócio

Page 21: Integração de software   solucao e estilo

Processo Distribuído de Negócio• você poderia desenvolver serviços que compartilhem todas as

funções empresariais relevantes e então codificar o processo de negócio dentro de um aplicativo que acessa todos os serviços através de uma SOA.

Page 22: Integração de software   solucao e estilo

Integração B2B• Em muitos casos, as funções de negócios podem estar

disponíveis a partir de fornecedores externos ou parceiros de negócios.

Page 23: Integração de software   solucao e estilo

Integração B2B

Page 24: Integração de software   solucao e estilo

Integração B2B• No entanto, a comunicação através da Internet ou outra rede

normalmente suscita novas questões relacionadas protocolos de segurança. Além disso, formatos de dados padronizados são extremamente importantes.

Page 25: Integração de software   solucao e estilo

Acoplamento Fraco• Um grande exemplo de acoplamento forte é uma invocação de

método local.• Muitas abordagens preferem comunicações simple, com troca

de mensagens, tais como o RPC e RMI, suportado por diversos frameworks.

Page 26: Integração de software   solucao e estilo

Acoplamento Fraco• "os objetos que interagem em um sistema distribuído precisa

ser tratado de maneiras que são intrinsecamente diferentes dos objetos que interagem em um único espaço de endereço" [Waldo].

Waldo, J., Wyant, G., Wollrath, A., and Kendall, S., A Note on DistributedComputing, Technical Report SMLI TR-94-29, Sun Microsystems Laboratories,November 1994, http://citeseer.nj.nec.com/waldo94note.html

Page 27: Integração de software   solucao e estilo

Solução de integração com Acoplamento fraco• Devemos ter a capacidade de mover dados de um sistema

para outro, sem perceber as diferenças no formato de dados, encaminhar os dados para os sistemas necessários e monitorizar o desempenho da solução.

Page 28: Integração de software   solucao e estilo

Solução de integração com Acoplamento fraco

Page 29: Integração de software   solucao e estilo

Solução de integração com Acoplamento fraco• As soluções de integração pode rapidamente tornar-se

complexas, pois lidam com múltiplas aplicações, formatos de dados, canais de roteamento e de transformação. Todos esses elementos podem ser distribuídos em várias plataformas operacionais e podem estar dispersas geograficamente. Para se ter alguma idéia do que está acontecendo dentro do sistema, precisamos de uma função de gerenciamento de sistemas. Este subsistema controla o fluxo de dados, garante que todos os aplicativos e componentes disponíveis e as condições de relatórios de erros em um local centralizado.

Page 30: Integração de software   solucao e estilo

Estilos de integração (cap2)• Integração de Aplicação é a tarefa de fazer aplicações

separadas trabalhar juntos para produzir um conjunto unificado de funcionalidades.

• Todas as empresas por menor que sejam na atualidade necessitam trabalhar com algum método que integre seus sistemas aos de outras empresas, fornecedores ou governo.

Page 31: Integração de software   solucao e estilo

Critérios de Integração• Acoplamento de aplicação - Mesmo aplicações integradas

devem minimizar suas dependências entre si de modo que cada uma possa evoluir sem causar problemas para a outra.

• Simplicidade na Integração - Ao integrar aplicações em uma empresa, os desenvolvedores devem se esforçar para minimizar a quantidade de código de integração necessário.

Page 32: Integração de software   solucao e estilo

Critérios de Integração• Tecnologia de integração - técnicas de integração diferentes

requerem softwares especializados e hardware novo ou mais robusto.

• Formato de dados - As aplicações integradas devem padronizar o formato dos dados para intercambio, ou deve ter uma tradutor intermediário para unificar aplicações que insistem em diferentes formatos de dados.

Page 33: Integração de software   solucao e estilo

Critérios de Integração

• Atualização dos dados - Integração deve minimizar o tempo na atualização de dados entre as aplicações.

• Dados ou serviços - As aplicações integradas não podem simplesmente compartilhar dados, eles devem compartilhar a funcionalidade de tal forma que cada aplicativo possa chamar a funcionalidade nos outros.

Page 34: Integração de software   solucao e estilo

Critérios de Integração

• Assincronia - processamento no computador é geralmente síncrono, de modo que um procedimento espera enquanto a sua subprocedimento executa. Um dado deve estar disponível quando o procedimento necessitar utilizá-lo. Como ocorre na memória cache “dirt data”.

Page 35: Integração de software   solucao e estilo

Opções de Integração

Transferência de arquivos - Faça com que cada aplicação produza arquivos de dados compartilhados para outras.

Banco de dados Compartilhado – As aplicações armazenam os dados que deseja compartilhar em um banco de dados comum.

Invocação de Procedure Remoto – Cada aplicação expõe alguns dos seus procedimentos, para que possam ser invocados remotamente, através de trocar de mensagens.

Page 36: Integração de software   solucao e estilo

Opções de Integração

Transferência de arquivos - Faça com que cada aplicação produza arquivos de dados compartilhados para outras.

Banco de dados Compartilhado – As aplicações armazenam os dados que deseja compartilhar em um banco de dados comum.

Invocação de Procedure Remoto – Cada aplicação expõe alguns dos seus procedimentos, para que possam ser invocados remotamente.

Mensagens – Cada aplicação se conectar a um sistema de mensagens comum, e trocar dados e chama procedimentos usando mensagens.

Page 37: Integração de software   solucao e estilo

Integração por Arquivo

Page 38: Integração de software   solucao e estilo

Banco de dados Compartilhado

Page 39: Integração de software   solucao e estilo

Procedimento Remoto

Page 40: Integração de software   solucao e estilo

Procedimento Remoto

Page 41: Integração de software   solucao e estilo

Conclusão• Mensagens tem o benefício de permitir que as aplicações

sejam muito mais dissociados umas das outras do que em Invocação de procedimento remoto e transferência de arquivos.

• Como podemos ver usar as mensagens para integração de sistemas, há uma série de novas questões a considerar e práticas que podemos empregar.

Page 42: Integração de software   solucao e estilo

ExercícioVocê foi contratado por uma empresa desenvolvedora de software que comercializa um sistema de controle e armazena os dados em um banco de dados em Postgres, como o MER apresentada na figura 1, e deverá apresentar uma solução para migrar dados de um banco desconhecido para esse banco, sabendo-se que o banco desconhecido consegue exportar os dados para xml ou txt (csv). Sua empresa terá de migrar os dados de um sistema antigo, como parte do contrato de adesão do sistema. Dê sua solução, imaginando essa situação, segundo as características da ISO 1471/2000, onde a arquitetura deve considerar três aspectos: descrição, objetivos e fundamentação.

Page 43: Integração de software   solucao e estilo

Figura 1 – Modelo Cadastro de Clientes

Page 44: Integração de software   solucao e estilo

Moodle

Implemente sua própria solução de migração de dados, considere a necessidade de se manter funcional os dois sistemas durante o processo de migração. Enviar o trabalho compactado, com um descritivo de Arquitetura do seu sistema e esquema de integração. Entrega 20/04/2012.