TDC 2008 Spring Framework

2,432 views

Published on

Apresentação sobre o Spring Framework realizado no TDC 2008 em Florianópolis.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,432
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
126
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TDC 2008 Spring Framework

  1. 1. Spring: Um suite de novas opções para Java EE Alberto J Lemos (Dr. Spock) Instrutor Globalcode 1 Globalcode – Open4Education
  2. 2. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 2 Globalcode – Open4Education
  3. 3. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 3 Globalcode – Open4Education
  4. 4. O que é Spring Framework > Um framework de código aberto e uso livre, sob licença Apache, criado por Rod Johnson; > Implementa um contêiner de injeção de dependências (DI) e inversão de controle (IoC); > Um framework para programação orientada a aspectos (AOP); > Um framework para integração de aplicações com serviços Java EE; > Um framework para integração com outros frameworks que implementam serviços enterprise. 4 Globalcode – Open4Education
  5. 5. O que o Spring não é! > Não é uma tecnologia padrão mantida pelo JCP; > Não é um concorrente da plataforma Java EE; > Não é uma nova tecnologia; > Não é a reinvenção da roda! 5 Globalcode – Open4Education
  6. 6. Para o que serve? > Promover boas práticas de desenvolvimento; > Promover testabilidade; > Garantir que o código seja flexível para substituir tecnologias de maneira transparente; > Utilizar em aplicativos desktop algumas facilidades do mundo corporativo; > Desenvolvimento através de um modelo de componentização baseado em classes Java simples (POJO). 6 Globalcode – Open4Education
  7. 7. Para o que não serve? > Tornar um código existente em um código bem estruturado; > Re-implementar recursos; > Garantir a qualidade do código; 7 Globalcode – Open4Education
  8. 8. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 8 Globalcode – Open4Education
  9. 9. Spring Framework > Disponível no arquivo spring.jar 9 Globalcode – Open4Education
  10. 10. Spring Framework > Disponível no arquivo spring.jar Core: Implementa o contêiner IoC; 10 Globalcode – Open4Education
  11. 11. Spring Framework > Disponível no arquivo spring.jar Web: Recursos para implementação de aplicações Web: integração com frameworks MVC, implementação própria de MVC e integração com tecnologias de visualização; 11 Globalcode – Open4Education
  12. 12. Spring Framework > Disponível no arquivo spring.jar DAO: Classes utilitárias para desenvolvimento de DAO's com JDBC e gerenciamento de transações; 12 Globalcode – Open4Education
  13. 13. Spring Framework > Disponível no arquivo spring.jar AOP: Disponibiliza o conceito de aspectos via AOP Alliance e AspectJ para integrar os POJO's com os serviços enterprise; 13 Globalcode – Open4Education
  14. 14. Spring Framework > Disponível no arquivo spring.jar ORM: Implementa o suporte para integração com frameworks de mapeamento objeto/relacional. 14 Globalcode – Open4Education
  15. 15. Spring Framework > Disponível no arquivo spring.jar Java EE: Classes utilitárias para integração com serviços Java EE; 15 Globalcode – Open4Education
  16. 16. Spring Framework > Disponível no arquivo spring.jar Remoting: Expõe os métodos dos POJO's para invocação remota; 16 Globalcode – Open4Education
  17. 17. Java EE e Spring > O framework promove o uso dos serviços Java EE em componentes desenvolvidos como POJO e sem EJB's; > Serviços usados: JDBC, JPA, JTA, JMS, JCA, JMX, JavaMail e JNDI; > Anotações Java EE suportadas: 17 Globalcode – Open4Education
  18. 18. Java EE e Spring > Permite a configuração e invocação de EJB's (2.1 e 3) como beans no contexto Spring; > Permite expor os componentes como Web Services através de JAX-WS (com anotações @WebService e @WebMethod); > Integra com serviços Java EE implementados por servidores de aplicações ou por frameworks externos (Ex.: ActiveMQ, ObjectWeb JTOM, commons-dbcp, etc). 18 Globalcode – Open4Education
  19. 19. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 19 Globalcode – Open4Education
  20. 20. Spring Portfolio > Composto por diversos projetos que complementam o Spring Framework; > Projetos que utilizam as mesmas boas práticas sugeridas pelo Spring; > Alguns recursos disponibilizados: Segurança, integração com outros frameworks, processos batch, OSGi e ferramentas de desenvolvimento; > Alguns projetos estão consolidados e maduros; > Outros projetos estão em desenvolvimento (milestone ou 1.0.0). 20 Globalcode – Open4Education
  21. 21. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. 21 Globalcode – Open4Education
  22. 22. Spring Portfolio > Um suite de produtos para aplicações baseadas Spring Security: Segurança no Spring. declarativa via XML ou anotações com suporte a AOP e integração com tecnologias de segurança: JAAS, LDAP, DAO, OpenID, CAS, X509, Windows NTLM; 22 Globalcode – Open4Education
  23. 23. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Web Service: Suporte a Web Services a partir da definição do XML Schema e WSDL (Data Contract e Service Contract); 23 Globalcode – Open4Education
  24. 24. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Web Flow: Suporte ao controle de fluxo de navegação Web, integração com JSF, conversação e Ajax; 24 Globalcode – Open4Education
  25. 25. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Dynamic Modules for OSGi: Simplifica o uso da API OSGi através do Spring com POJO's; 25 Globalcode – Open4Education
  26. 26. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Modules: Projeto guarda- chuva que implementa a integração com diversos outros frameworks e ferramentas; 26 Globalcode – Open4Education
  27. 27. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring; 27 Globalcode – Open4Education
  28. 28. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring JavaConfig: Suporte a configuração dos beans programaticamente sem usar XML ou anotações; 28 Globalcode – Open4Education
  29. 29. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring LDAP: Classes utilitárias para interação com um serviço de Lightweight Directory Access Protocol (LDAP); 29 Globalcode – Open4Education
  30. 30. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Integration: Implementa o suporte para integração de sistemas via mensagens (EAI e Enterprise Integration Patterns); 30 Globalcode – Open4Education
  31. 31. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Batch: Suporte a execução de processos em batch de longa duração; 31 Globalcode – Open4Education
  32. 32. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring IDE: Plugin para incrementar produtividade durante o desenvolvimento com o Eclipse; 32 Globalcode – Open4Education
  33. 33. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring BeanDoc: Ferramenta para gerar documentação semelhante ao Javadoc; 33 Globalcode – Open4Education
  34. 34. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring .NET: Porte de parte do Spring Framework para desenvolvimento de aplicações .NET! 34 Globalcode – Open4Education
  35. 35. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 35 Globalcode – Open4Education
  36. 36. Spring Application Server 36 Globalcode – Open4Education
  37. 37. Application Platform > Servidor de aplicações em desenvolvimento pelo SpringSource; > Ainda na versão 1.0 beta; > Baseado em OSGi (R4.1) para modulalização via Eclipse Equinox (OSGi Spec RI); > Suportará o conceito de profiles para facilitar a customização da plataforma; > Suporta empacotamento da aplicação em: OSGi Bundles, Java EE WAR, Web Modules e Platform Archive (PAR); 37 Globalcode – Open4Education
  38. 38. Application Platform > Spring Framework embutido (obviamente!); > Suporte a aplicações Java EE Web via Tomcat embutido; > Monitoramento via ferramenta Spring Application Management Suite (produto SpringSource); > Suporte ao desenvolvimento via SpringSource Tool Suite (Branded Eclipse); > Um repositório está disponível com diversas bibliotecas para download e reempacotadas como OSGi Bundles. 38 Globalcode – Open4Education
  39. 39. Conclusão > O Spring Framework disponibiliza os serviços Java EE via AOP para os POJO's; > Permite o uso de AOP na aplicação; > O framework não concorre com o Java EE; > Vale a pena usar alguns projetos do Spring portfolio; > O servidor de aplicações e a plataforma Spring estão nascendo; > O Spring Framework ainda é uma boa opção mesmo com o EJB 3 em cena; 39 Globalcode – Open4Education
  40. 40. Conclusão A plataforma Spring pretende oferecer uma alternativa completa e concorrente à plataforma Java EE, mantendo compatibilidade. 40 Globalcode – Open4Education
  41. 41. Perguntas & Respostas 41 Globalcode – Open4Education
  42. 42. Mais sobre o assunto > Spring Framework. http://www.springframework.org/about > Spring Framework Projects (Suite). http://www.springframework.org/projects > SpringSource Application Platform. http://www.springsource.com/products/suite/applicationplatform > SpringSource. http://www.springsource.com/ > Java EE Platform. http://java.sun.com/javaee/ 42 Globalcode – Open4Education

×