tdc 2008 spring framework
DESCRIPTION
Apresentação sobre o Spring Framework realizado no TDC 2008 em Florianópolis.TRANSCRIPT
![Page 1: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/1.jpg)
Globalcode – Open4Education1
Spring: Um suite de novas opções para Java EE
Alberto J Lemos (Dr. Spock)Instrutor Globalcode
![Page 2: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/2.jpg)
Globalcode – Open4Education2
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
![Page 3: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/3.jpg)
Globalcode – Open4Education3
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
![Page 4: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/4.jpg)
Globalcode – Open4Education4
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.
![Page 5: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/5.jpg)
Globalcode – Open4Education5
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!
![Page 6: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/6.jpg)
Globalcode – Open4Education6
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).
![Page 7: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/7.jpg)
Globalcode – Open4Education7
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;
![Page 8: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/8.jpg)
Globalcode – Open4Education8
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
![Page 9: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/9.jpg)
Globalcode – Open4Education9
Spring Framework
> Disponível no arquivo spring.jar
![Page 10: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/10.jpg)
Globalcode – Open4Education10
Spring Framework
> Disponível no arquivo spring.jar
Core: Implementa o contêiner IoC;
![Page 11: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/11.jpg)
Globalcode – Open4Education11
Spring Framework
> Disponível no arquivo spring.jarWeb: 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;
![Page 12: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/12.jpg)
Globalcode – Open4Education12
Spring Framework
> Disponível no arquivo spring.jar
DAO: Classes utilitárias para desenvolvimento de DAO's com JDBC e gerenciamento de transações;
![Page 13: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/13.jpg)
Globalcode – Open4Education13
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;
![Page 14: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/14.jpg)
Globalcode – Open4Education14
Spring Framework
> Disponível no arquivo spring.jar
ORM: Implementa o suporte para integração com frameworks de mapeamento objeto/relacional.
![Page 15: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/15.jpg)
Globalcode – Open4Education15
Spring Framework
> Disponível no arquivo spring.jar
Java EE: Classes utilitárias para integração com serviços Java EE;
![Page 16: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/16.jpg)
Globalcode – Open4Education16
Spring Framework
> Disponível no arquivo spring.jar
Remoting: Expõe os métodos dos POJO's para invocação remota;
![Page 17: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/17.jpg)
Globalcode – Open4Education17
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:
![Page 18: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/18.jpg)
Globalcode – Open4Education18
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).
![Page 19: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/19.jpg)
Globalcode – Open4Education19
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
![Page 20: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/20.jpg)
Globalcode – Open4Education20
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).
![Page 21: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/21.jpg)
Globalcode – Open4Education21
Spring Portfolio
> Um suite de produtos para aplicações baseadas no Spring.
![Page 22: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/22.jpg)
Globalcode – Open4Education22
Spring Portfolio
> Um suite de produtos para aplicações baseadas no Spring.
Spring Security: Segurança 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;
![Page 23: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/23.jpg)
Globalcode – Open4Education23
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);
![Page 24: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/24.jpg)
Globalcode – Open4Education24
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;
![Page 25: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/25.jpg)
Globalcode – Open4Education25
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;
![Page 26: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/26.jpg)
Globalcode – Open4Education26
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;
![Page 27: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/27.jpg)
Globalcode – Open4Education27
Spring Portfolio
> Um suite de produtos para aplicações baseadas no Spring.
Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring;
![Page 28: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/28.jpg)
Globalcode – Open4Education28
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;
![Page 29: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/29.jpg)
Globalcode – Open4Education29
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);
![Page 30: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/30.jpg)
Globalcode – Open4Education30
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);
![Page 31: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/31.jpg)
Globalcode – Open4Education31
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;
![Page 32: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/32.jpg)
Globalcode – Open4Education32
Spring Portfolio
> Um suite de produtos para aplicações baseadas no Spring.
Spring IDE: Plugin para incrementar produtividade durante o desenvolvimento com o Eclipse;
![Page 33: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/33.jpg)
Globalcode – Open4Education33
Spring Portfolio
> Um suite de produtos para aplicações baseadas no Spring.
Spring BeanDoc: Ferramenta para gerar documentação semelhante ao Javadoc;
![Page 34: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/34.jpg)
Globalcode – Open4Education34
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!
![Page 35: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/35.jpg)
Globalcode – Open4Education35
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
![Page 36: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/36.jpg)
Globalcode – Open4Education36
Spring Application Server
![Page 37: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/37.jpg)
Globalcode – Open4Education37
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);
![Page 38: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/38.jpg)
Globalcode – Open4Education38
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.
![Page 39: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/39.jpg)
Globalcode – Open4Education39
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;
![Page 40: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/40.jpg)
Globalcode – Open4Education40
Conclusão
A plataforma Spring pretende oferecer uma alternativa completa e concorrente à
plataforma Java EE, mantendo compatibilidade.
![Page 41: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/41.jpg)
Globalcode – Open4Education41
Perguntas & Respostas
![Page 42: TDC 2008 Spring Framework](https://reader034.vdocuments.mx/reader034/viewer/2022042815/5579a2b4d8b42ac1148b48ce/html5/thumbnails/42.jpg)
Globalcode – Open4Education42
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/