A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Técnicas de Reuso de Software aplicados na elaboração de Arquiteturas Corporativas Alexandre Eiki Onishi Supervisor(IME):

Apresentações semelhantes


Apresentação em tema: "Técnicas de Reuso de Software aplicados na elaboração de Arquiteturas Corporativas Alexandre Eiki Onishi Supervisor(IME):"— Transcrição da apresentação:

1 Técnicas de Reuso de Software aplicados na elaboração de Arquiteturas Corporativas Alexandre Eiki Onishi Supervisor(IME): Prof. Siang Wun Song Supervisor(OPUS): Wen Hung Khang Tipo de Trabalho: Estágio Supervisionado

2 Estruturar um conhecimento em Reuso de Software enfatizando técnicas de reuso, a fim de que fornecesse o conhecimento necessário para melhorar o processo de desenvolvimento de um software de automação bancária implementado em Java e em futuras aplicações da empresa. Objetivos

3 Conteúdo Introdução Reuso de Software Frameworks Arquitetura Orientada a Serviços (SOA) Resultados Obtidos Sistema Opus ibank

4 Introdução - Demanda por software aumentou muito nas últimas décadas - Necessidade de se manter competitivo no mercado obriga as empresas a serem cada vez mais ágeis - Fazer software é difícil, lento e caro Como aumentar a produtividade no desenvolvimento de software? Trabalhe mais rápido automação, ferramentas, ambientes Melhore processos Reuse soluções previamente desenvolvidas, desenvolva para o reuso. Será que devemos começar o desenvolvimento tudo do zero de novo sempre ?

5 Reuso de Software - Reuso de Software é o processo de incorporar no desenvolvimento de um novo produto: - Código fonte - Plano de testes - Especificações, análise, modelos arquiteturais - Enfim qualquer produto gerado durante desenvolvimentos anteriores

6 Reuso de software Benefícios da reutilização: Aumento da produção com redução do esforço de desenvolvimento Redução dos custos e prazo de entrega Aumento da qualidade do produto Padronização da arquitetura Dificuldades : Identificação de um componente reutilizável Indiferença com relação a reutilizar seja pela falta de apoio por parte da gestão, dúvida com relação a reutilização, entre outros

7 Reuso de Software Desafio é como reutilizar: - Como fazer isso? - Que técnicas de reuso usar?

8 Reuso de Software Atualmente Técnicas para reuso Atualmente a idéia de reuso se cristalizou com: - Patterns Padrões de projeto, arquiteturais, integração, teste, Frameworks Frameworks web, mapeamento objeto relacional, injeção de dependências, testes, serviços remotos, Componentes ESBC, DBC, processos de desenvolvimento de componentes (RUP, CATALASYS, UML COMPONENTS), Tecnologia de componentes EJB, CORBA,

9 Frameworks Framework é uma técnica de reuso orientado a objeto que compreende reuso de análise, arquitetura, código, modelo de interação entre objetos e até testes. Muito reuso ! Um framework é uma aplicação quase completa, mas com ganchos para que sejam especializados mais tarde em uma aplicação específica. Ou seja provê uma infra-estrutura genérica para construção de aplicações dentro de uma família de problemas semelhantes, de forma que esta infra-estrutura genérica deve ser adaptada para geração de uma aplicação específica. O principal problema com frameworks é a sua complexidade e o tempo que se leva para aprender a utiliza-los.

10 Frameworks Web Frameworks que implementam o MVC e que oferecem recursos para a construção de interfaces HTML/HTTP Alguns frameworks web: JavaServer Faces, Cocoon, Struts, Webwork, Tapestry Características do Java Server Faces: - Framework de componentes que engloba componentes de interface de usuário, validação e conversão de dados. - Implementa MVC

11 Frameworks ORM Tratam da persistência de dados em banco Mapeiam classes em tabelas do banco de dados Garantem portabilidade do código entre bancos Frameworks ORM de mapeamento completo gratuitos: Hibernate, Apache OJB, iBATIS, JDO Características do Hibernate: - Mapeamento de objetos em tabelas através de arquivos XML - API capaz de realizar inserções, remoções, atualizações e consultas - Linguagem de seleção orientada a objetos (Hibernate Query Language) Hibernate Usuario.java Id Nome Descricao Usuario.xml Id_user Nome descricao BD Mapeamento ORM

12 Frameworks para Injeção de Dependência Promovem o acoplamento fraco entre componentes através de injeção de dependência - Frameworks para Dependency Injection / Lightweight containeres: Excalibur, Hivemind, NanoContainer, PicoContainer, Spring Características do Spring: Gerenciamento de transações, segurança Programação distribuída, Programação orientada a aspectos Forum > Mensagem MensagemImpl Forum > Mensagem MensagemImplMontador > Figura 1-Relações sem Injeção de dependência Figura 2-Relações com Injeção de dependência >

13 Arquiteturas Orientadas a Serviços (SOA) Lógica de negócios disponibilizada como uma coleção de serviços O desenvolvimento novas aplicações se resumiria em selecionar os serviços disponíveis e encaixa-los numa determinada seqüência de execução, de acordo com as regras de negócio a serem atendidas. Um serviço é a menor unidade de uma aplicação SOA. Representa a realização de uma tarefa dentro de um processo de negócio. Ex: verificar saldo, registrar pedido, obter cotação, entre outras. Todas as funções em SOA são agregadas como serviços reutilizáveis; Web Services é a tecnologia atual mais difundida que dá suporte a implementação deste tipo de arquitetura.

14 Arquiteturas Orientadas a Serviços (SOA) Figura 3 – Arquitetura de acesso a sistemas legados Uma das áreas onde arquitetura orientada a serviços mais vem sendo empregada é a integração de aplicações corporativas (EAI – Enterprise Application Integration).

15 Resultados Obtidos: Sistema Opus ibank - O sistema opus ibank é um software de automação bancária que visa o gerenciamento operacional entre todos os terminais da agência e além do gerenciamento de todas as informações operacionais de um banco, como transação bancária, cadastro de funcionários e gerenciamento de equipamentos da rede. - Tecnologias utilizadas: Frameworks Hibernate, Java Server Faces e Spring API Java reflection APIs de criptografia Serviços remotos: EJB, Web Services Log4J apache Commons Chain e Commons BeanUtils Programação orientada a aspectos com Aspect J

16 Módulo Cadastro Módulo Monitoração Módulo Controle Versão Módulo Estatística Módulo Transacional Módulo Auditoria Módulo Gerenciamento Módulo Distribuição Versão Banco de Dados Servidor Ldap Camada Recursos Sistemas Legados MIDDLEWARE JAVA CANAIS DE ATENDIMENTO (APPLICATION FRONTENDS) CAMADA DE RECURSOS Resultados Obtidos: Sistema Opus ibank Figura 4 – Visão Macro de Processos Segurança

17 Resultados Obtidos: Sistema Opus ibank Figura 5 – Arquitetura técnica do Servidor ibank

18 MAC0499-Trabalho de Formatura Alexandre Eiki Onishi Supervisor(IME): Prof. Siang Wun Song Supervisor(OPUS): Wen Hung Khang Tipo de Trabalho: Estágio Supervisionado


Carregar ppt "Técnicas de Reuso de Software aplicados na elaboração de Arquiteturas Corporativas Alexandre Eiki Onishi Supervisor(IME):"

Apresentações semelhantes


Anúncios Google