Apresentação do relatório final de estágio

3,963 views

Published on

Apresentação final do relatório de estágio (TCC) da minha graduação em Tecnologia em Sistemas para internet.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,963
On SlideShare
0
From Embeds
0
Number of Embeds
68
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apresentação do relatório final de estágio

  1. 1. Relatório de Final de Estágio<br />Report Center e PhrameUI<br />Maurício Linhares de Aragão Junior<br />
  2. 2. Atividades do estágio<br />Redefinição do padrão para os projetos Java, seguindo o padrão do Maven 2;<br />Redefinição da arquitetura e implementação do Report Center;<br />Definição da arquitetura e implementação inicial do framework Phrame UI;<br />
  3. 3. Empresa – Phoebus Tecnologia<br />Soluções bancárias de alta confiabilidade;<br />Recarga de telefones móveis, correspondentes bancários, soluções de captura baseadas em POS;<br />Aplicações servidoras de integração baseadas em mensagens, gateways e concentradores;<br />
  4. 4. Processo – Pontos positivos<br />Processo fortemente baseado no RUP e com diversos modelos de artefatos definidos;<br />Há uma cultura de reavaliação dos projetos após o seu término;<br />O processo inclui atividades bem definidas para o controle de versão e gerência de ciclo de vida;<br />
  5. 5. Processo – Pontos Negativos<br />Processo ainda em fase de definição, poucas práticas e muitos artefatos;<br />Algumas das fases importantes, como a de testes (unitários, funcionais, não funcionais e de aceitação) ainda não foram definidas de forma clara;<br />O repasse de informações ainda é feito com base em documentos do Office mantidos no controle de versão, não há um lugar comum para a documentação;<br />
  6. 6. Report Center<br />Gerenciador de relatórios na web;<br />Escrito em Java, utilizando a tecnologia JavaServer Faces para a camada de visualização e Hibernate para o acesso a banco de dados;<br />Testado e implantado em bases SQL Server e Oracle;<br />Compatível com os navegadores mais comuns do mercado (Firefox, Internet Explorer 6-7, Opera e Mozilla);<br />Atualmente na versão 2.2.2.4;<br />
  7. 7. Report Center – Necessidades<br />Facilidade de manutenção e atualização da ferramenta;<br />Acesso aos relatórios de qualquer máquina utilizando um dos navegadores suportados;<br />Integrar e utilizar a solução de relatórios atual baseada no CrystalReports;<br />
  8. 8. Report Center – Seleção Tecnológica<br />JavaServer Faces – Camada de visualização e controle;<br />Spring Framework – Camada de serviços, suporte arquitetural e configuração de objetos;<br />Hibernate – Camada de Persistência;<br />
  9. 9. Report Center – Modelo do Domínio<br />Classes:<br />Report<br />ReportField<br />ReportFilter<br />User<br />Right<br />ReportServer<br />
  10. 10. Report Center - Arquitetura<br />Objetos JSF, os ManagedBeans, são configurados através do Spring;<br />Acessam classes do modelo do domínio (citadas anteriormente);<br />Classes do domínio implementam a lógica de acessar o servidor externo (Report Server), geram o relatório e o devolvem para a visualização;<br />
  11. 11. Report Center - Problemas<br />API de leitura de XML baseada no modelo DOM, JDOM;<br />Bibliotecas de acesso a relatórios do CrystalReports em Java;<br />Geração dos relatórios baseadas em um banco de dados específico;<br />
  12. 12. Report Center - Futuro<br />Adição de novas “engines” de relatórios (JasperReports, BIRT);<br />Adição de funcionalidades de “Business Intelligence”, baseadas na análise das informações contidas nos bancos;<br />Simplificação da criação de novos relatórios e melhoria na usabilidade dos filtros atuais através do uso de AJAX;<br />
  13. 13. Phrame UI<br />Framework para a abstração de contrução de aplicações desktop e web;<br />Remove a necessidade de se escrever código específico para uma plataforma;<br />A aplicação se comporta da mesma forma nos dois ambientes e executa com uma única base de código;<br />
  14. 14. Phrame UI - Seleção de tecnologias<br />Standard Widget Toolkit<br />Thinwire<br />Swing<br />Echo 2 Framework<br />
  15. 15. Phrame UI – Modelagem e arquitetura<br />Baseado no conceito de fábricas abstratas para a criação de uma família de objetos;<br />As implementações foram homogeneizadas com a utilização de objetos “adapter”;<br />Gerenciadores de layout foram alterados para funcionar sob a API padrão e não nas suas APIs específicas;<br />
  16. 16. Phrame UI – Facilidades<br />Implementação simples, os componentes tem contratos (interfaces) extremamente enxutas;<br />Comportamentos diferentes entre as duas plataformas foram homogeneizados;<br />Interação do usuário com a aplicação acontece da mesma forma nas duas versões;<br />
  17. 17. Phrame UI - Problemas<br />Os ambientes são naturalmente distintos e algumas das abstrações comuns de páginas web não existem (como links);<br />É difícil garantir a escalabilidade da aplicação na versão web, pois ela consome muitos recursos do servidor;<br />Algumas funcionalidades avançadas, como desenho, foram removidas da biblioteca, já que na versão web elas não poderiam ser utilizadas;<br />
  18. 18. Phrame UI – Problemas<br />Recursos que são normalmente reutilizados em aplicações web (como conexões com o banco de dados) não podem ser implementados da mesma forma, por causa da aplicação desktop;<br />Alta latência e utilização da rede pela aplicação web que precisa se comunicar com o servidor sempre que alguma coisa acontece;<br />
  19. 19. Phrame UI - Futuro<br />Novas implementações, baseadas em novas bibliotecas;<br />Automatização da criação de interfaces gráficas, através de ferramentas de criação visual (RAD) de formulários;<br />Facilidades para acessar, filtrar e alterar as informações contidas em bancos de dados e outras fontes de dados;<br />
  20. 20. Conclusão<br />Aprendizado de diversas tecnologias Java;<br />Experiência em projetos reais e que geraram artefatos que já estão na fase de transição;<br />Interação com usuários e clientes das aplicações;<br />Aplicação dos conceitos de arquitetura de sistemas, padrões de projeto e gestão do ciclo de vida de um software;<br />

×