Apresentacao Ii Encontro Sl Amazonas Integracao De Frameworks

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Apresentacao Ii Encontro Sl Amazonas Integracao De Frameworks - Presentation Transcript

    1. Integração de Frameworks de Objetos Prevalecentes, Distribuídos, Robustos e Livres Nelson Moraes Sozinho, João Augusto G. de Queiroz e Flávio J. M. Coelho
    2. Roteiro Introdução Prevalência de Objetos Prevayler Distribuição de Objetos JacORB Testes de Objetos JUnit Protótipo Diagrama de pacotes Ambiente Conclusão
    3. Introdução Conflitos entre paradigmas Bancos de dados relacionais Orientação a objetos Solução: Uso de Frameworks Conjunto de classes cooperantes para a construção de projetos reutilizáveis, ditando arquitetura do sistema. Exemplo: Framework de persistência (JDO, Hibernate, EJB).
    4. Quebra de encapsulamento dos atributos. Necessidade de gerar mais um diagrama. Não é adequado para aplicações que necessitam de desempenho.
    5. Introdução Alternativa: Conceito de Prevalência. Framework Prevayler Requisitos Adicionais: Distribuição Interoperabilidade Robustez Necessidade de integração
    6. Objetivos Apresentar os principais conceitos e resultados obtidos com a integração de frameworks: Prevalência Distribuição Testes Propósito Verificar viabilidade técnica de se ter uma infra- estrutura de software livre e robusta.
    7. Prevalência de Objetos
    8. Prevalência de Objetos Conceito idealizado por Klaus Wuestefeld. Quebra de paradigmas Prevayler: Infra-estrutura de classes para armazenamento de objetos em memória. Suporte a transações Balanceamento de carga Tolerância a falhas Utiliza padrões de projetos (design patterns) para manipulação de objetos. Efetuar transações. GoF Command
    9. Prevayler – Serialização e Snapshot Serialização de Objetos Processo de transformação dos objetos em seqüência de bytes. Torna possível operações feitas sobre os objetos prevalecentes. Em Java: Implementar a interface java.io.Serializable Snapshot “Fotografia” armazenada em disco de todos os objetos presentes na memória. Ao iniciar um sistema prevalecente, todas as transações são executadas, restaurando o estado anterior do sistema.
    10. Prevayler – Forma de Acesso Visão geral de um sistema prevalente
    11. Prevayler - Transações Interfaces de Transações org.prevayler.Transaction Execução da transação em um sistema prevalente. org.prevayler.TransactionWithQuery Execução transação, sendo retornado o objeto (em caso de sucesso) para a confirmação da operação.
    12. Prevayler - Transações
    13. Prevayler - Replicação Sistemas Distribuídos Introduzir Redundâncias Replicação Redundância Redundâncias em Grupos Balanceamento de Carga
    14. Distribuição de Objetos
    15. Distribuição de Objetos – Especificações Middleware: Camada intermediária Interfaces para resolução de problemas de distribuição. Tecnologias RMI – SUN COM/DCOM – Concorrente CORBA - OMG
    16. Objetos Distribuídos - Arquitetura interoperável e heterogênea Modelo integrador COM (Core Object Model) Definição da arquitetura ORB. Inclusão de uma linguagem de definição de interfaces (IDL) Padrão de comunicação de objetos. Interação Transparência de localização module saudacao { interface Ola { Ambiente NÃO PROPRIETÁRIO string ola_simples(); wstring ola_param( in wstring msg ); }; };
    17. Objetos Distribuídos - Mapeamento para diversas linguagens Através da IDL
    18. Objetos Distribuídos ORB Open Source Desenvolvido na Universidade de Berlim Licenciado sobre GNU/GPL 100% Java Flexibilidade de configuração através de arquivos. GUIs de monitoração de serviços Características da versão CORBA 3.0 Passagem de parametros por cópia.
    19. Testes de Objetos
    20. Testes de Objetos Requisitos Auxiliar o processo de integração. Necessidade de um framework de testes com suporte para a linguagem Java Testes unitários Open Source Garantir a robustez final da infra-estrutura
    21. Testes de Objetos Conjuto de classes que possibilitam a automação de testes. Descarta o processo de escrita de códigos de saída. Projetado por Erick Gamma e Kent Beck. Distinção de tipos de erros. Fortemente baseado em padrões de projetos (Design Patterns).
    22. Test Composite: Component run(TestResult) Command TestCase TestSuite Composite run(TestResult) run(TestResult) Template Method addTest(Test) runTest() setUP() TestResult tearDown() Composite: Leaf fName Plug Pluggable Selector Colleting Parameter runTest() Adapter(Class)
    23. Integração de Frameworks
    24. Protótipo Distribuição Slackware 9.1 Ambiente de desenvolvimento: Eclipse Versão do Prevayler: 2.0.1 Dificuldade em obter documentação formal Engenharia reversa (Diagrama de Classes e Pacotes) Testes de prevalência Versão do JacORB: 2.2 Testes de chamadas remotas efetuando transações. Oferece uma série de serviços encontradas em ORBs comerciais. JUnit: 3.2
    25. Engenharia Reversa – Diagrama de Pacotes (Prevayler)
    26. Engenharia Reversa – Diagrama de Classes
    27. Testes Aplicação de Testes: Scalability Scalability: Contêm classes que proporcionam ações sobre o repositório de dados. JDBC: Interface de conexão de aplicações Java entre SGDBs. Classes contendo as tarefas a serem executadas sobre os Objetos Prevalentes.
    28. Testes Número de Objetos 100.000 - Ok 1.000.000 - Ok 10.000.000 - Ok 20.000.000 – Falha Quantidade de memória insuficiente. Swap afeta drasticamente o desempenho da aplicação Somatória dos Testes (Operações p/s)
    29. JacORB – Funcionalidades Servidor de Nomes NS Localização de objetos através de nomes. Obter referências usando o nome. Configuração Arquivo de configuração (Indicação do servidor de nomes) ORBInitRef.NameService=corbaloc::10.0.0.1:38693/home/nelson/NS_Ref Repositório de Implementação Registro das implementações de objetos CORBA existentes no domínio.
    30. – Distribuição Servidor de Nomes do JacORB
    31. Protótipo Funcionalidades clássicas de um banco. Saques, depósitos, inclusão e remoção de contas. Uso de Design Patterns: GoF Mediator GoF Façade Distribuição com JacORB e Prevalência com Prevayler Aplicação de Testes com JUnit Efetuar testes unitário em cada classe gerada Efetuar testes unitários sobre o ambiente distribuído
    32. Protótipo Processo de Armazenamento
    33. Protótipo - Transações
    34. Protótipo – Distribuição Iniciar o Servidor AplServidor Registrar os objetos no servidor de nomes Facade Conta Cliente Endereco
    35. Protótipo – Distribuição JacORB Name Manager
    36. Protótipo - Cliente
    37. Protótipo - Testes Testes efetuados sobre as principais classes FacadeDistribuido GestaoPrevalenciaMediator Objetos transmitidos através do ORB Efetuar a prevalência Confirmação através de testes bem sucedidos
    38. Protótipo - Testes Testes executados sobre o FacadeDistribuido
    39. Protótipo - Testes Testes executados sobre o GestaoPrevalenciaMediator
    40. Conclusão A integração das duas camadas mostrou-se viável através de uma infra-estrutura de software alternativa e aberta. Garantia da robustez com testes unitários. Proporciona um ambiente extensível a diversas plataformas compatíveis com CORBA.
    41. Referências Bibliográficas Beck, K e Gamma, E. (2004), “JUnit Cookbook”, www.junit.org Gamma, E., Helm, R., Johnson, R. e Vlissides, J. (2000), “Padrões de Projetos – SoluçõesReutilizáveis de Software Orientado a Objetos”, Ed. JacORB (2003), “JacORB Programming Guide”, www.jacorb.org. Vilela, C. E. (2002), “An Introduction to Object Prevalence”, IBM Developer Works – Agosto.
    42. Integração de Frameworks de Objetos Prevalentes Distribuidos, Robustos e Livres Obrigado... Flávio J. M. Coelho, João Augusto G. de Queiroz e Nelson Sozinho

    + nelsonsozinhonelsonsozinho, 8 months ago

    custom

    264 views, 1 favs, 0 embeds more stats

    Apresentação sobre do trabalho de Integração de more

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 264
      • 264 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 3
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories