Você está na página 1de 42

Spring: Um suite de novas opes para Java EE

Alberto J Lemos (Dr. Spock) Instrutor Globalcode

Globalcode Open4Education

Agenda
> Sobre o Spring Framework > Escopo de integrao com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform

Globalcode Open4Education

Agenda
> Sobre o Spring Framework > Escopo de integrao com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform

Globalcode Open4Education

O que Spring Framework


> Um framework de cdigo aberto e uso livre, sob licena Apache, criado por Rod Johnson; > Implementa um continer de injeo de dependncias (DI) e inverso de controle (IoC); > Um framework para programao orientada a aspectos (AOP); > Um framework para integrao de aplicaes com servios Java EE; > Um framework para integrao com outros frameworks que implementam servios enterprise.
4
Globalcode Open4Education

O que o Spring no !
> No uma tecnologia padro mantida pelo JCP; > No um concorrente da plataforma Java EE; > No uma nova tecnologia; > No a reinveno da roda!

Globalcode Open4Education

Para o que serve?


> Promover boas prticas de desenvolvimento; > Promover testabilidade; > Garantir que o cdigo seja flexvel para substituir tecnologias de maneira transparente; > Utilizar em aplicativos desktop algumas facilidades do mundo corporativo; > Desenvolvimento atravs de um modelo de componentizao baseado em classes Java simples (POJO).

Globalcode Open4Education

Para o que no serve?


> Tornar um cdigo existente em um cdigo bem estruturado; > Gerenciar recursos; > Garantir a qualidade do cdigo;

Globalcode Open4Education

Agenda
> Sobre o Spring Framework > Escopo de integrao com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar
Core: Implementa o continer IoC;

10

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar
Web: Recursos para implementao de aplicaes Web: integrao com frameworks MVC, implementao prpria de MVC e integrao com tecnologias de visualizao;

11

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar

DAO: Classes utilitrias para desenvolvimento de DAO's com JDBC e gerenciamento de transaes;

12

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar

AOP: Disponibiliza o conceito de aspectos via AOP Alliance e AspectJ para integrar os POJO's com os servios enterprise;

13

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar

ORM: Implementa o suporte para integrao com frameworks de mapeamento objeto/relacional.

14

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar

Java EE: Classes utilitrias para integrao com servios Java EE;

15

Globalcode Open4Education

Spring Framework
> Disponvel no arquivo spring.jar

Remoting: Expe os mtodos dos POJO's para invocao remota;

16

Globalcode Open4Education

Java EE e Spring
> O framework promove o uso dos servios Java EE em componentes desenvolvidos como POJO e sem EJB's; > Servios usados: JDBC, JPA, JTA, JMS, JCA, JMX, JavaMail e JNDI; > Anotaes Java EE suportadas:

17

Globalcode Open4Education

Java EE e Spring
> Permite a configurao e invocao de EJB's (2.1 e 3) como beans no contexto Spring; > Permite expor os componentes como Web Services atravs de JAX-WS (com anotaes @WebService e @WebMethod); > Integra com servios Java EE implementados por servidores de aplicaes ou por frameworks externos (Ex.: ActiveMQ, ObjectWeb JTOM, commons-dbcp, etc).

18

Globalcode Open4Education

Agenda
> Sobre o Spring Framework > Escopo de integrao com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform

19

Globalcode Open4Education

Spring Portfolio
> Composto por diversos projetos que complementam o Spring Framework; > Projetos que utilizam as mesmas boas prticas sugeridas pelo Spring; > Alguns recursos disponibilizados: Segurana, integrao com outros frameworks, processos batch, OSGi e ferramentas de desenvolvimento; > Alguns projetos esto consolidados e maduros; > Outros projetos esto em desenvolvimento (milestone ou 1.0.0).
20
Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

21

Globalcode Open4Education

Spring Portfolio
Spring Security: Segurana > Um suite de produtos para aplicaes baseadas no Spring. declarativa via XML ou anotaes com suporte a AOP e integrao com tecnologias de segurana: JAAS, LDAP, DAO, OpenID, CAS, X509, Windows NTLM;

22

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

Spring Web Service: Suporte a Web Services a partir da definio do XML Schema e WSDL (Data Contract e Service Contract);

23

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

Spring Web Flow: Suporte ao controle de fluxo de navegao Web, integrao com JSF, conversao e Ajax;

24

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

Dynamic Modules for OSGi: Simplifica o uso da API OSGi atravs do Spring com POJO's;

25

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.
Spring Modules: Projeto guardachuva que implementa a integrao com diversos outros frameworks e ferramentas;

26

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.
Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring;

27

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.
Spring JavaConfig: Suporte a configurao dos beans programaticamente sem usar XML ou anotaes;

28

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.
Spring LDAP: Classes utilitrias para interao com um servio de Lightweight Directory Access Protocol (LDAP);

29

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.
Spring Integration: Implementa o suporte para integrao de sistemas via mensagens (EAI e Enterprise Integration Patterns);

30

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.
Spring Batch: Suporte a execuo de processos em batch de longa durao;

31

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

Spring IDE: Plugin para incrementar produtividade durante o desenvolvimento com o Eclipse;

32

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

Spring BeanDoc: Ferramenta para gerar documentao semelhante ao Javadoc;

33

Globalcode Open4Education

Spring Portfolio
> Um suite de produtos para aplicaes baseadas no Spring.

Spring .NET: Porte de parte do Spring Framework para desenvolvimento de aplicaes .NET!

34

Globalcode Open4Education

Agenda
> Sobre o Spring Framework > Escopo de integrao com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform

35

Globalcode Open4Education

Spring Application Server

36

Globalcode Open4Education

Application Platform
> Servidor de aplicaes em desenvolvimento pelo SpringSource; > Ainda na verso 1.0 beta; > Baseado em OSGi (R4.1) para modulalizao via Eclipse Equinox (OSGi Spec RI); > Suportar o conceito de profiles para facilitar a customizao da plataforma; > Suporta empacotamento da aplicao em: OSGi Bundles, Java EE WAR, Web Modules e Platform Archive (PAR);
37
Globalcode Open4Education

Application Platform
> Spring Framework embutido (obviamente!); > Suporte a aplicaes 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 repositrio est disponvel com diversas bibliotecas para download e reempacotadas como OSGi Bundles.
38
Globalcode Open4Education

Concluso
> O Spring Framework disponibiliza os servios Java EE via AOP para os POJO's; > Permite o uso de AOP na aplicao; > O framework no concorre com o Java EE; > Vale a pena usar alguns projetos do Spring portfolio; > O servidor de aplicaes e a plataforma Spring esto nascendo; > O Spring Framework ainda uma boa opo mesmo com o EJB 3 em cena;
39
Globalcode Open4Education

Concluso

A plataforma Spring pretende oferecer uma alternativa completa e concorrente plataforma Java EE, mantendo compatibilidade.

40

Globalcode Open4Education

Perguntas & Respostas

41

Globalcode Open4Education

Mais sobre o assunto


> Spring Framework.
http://www.springframework.org/about http://www.springframework.org/projects

> Spring Framework Projects (Suite). > SpringSource Application Platform. > SpringSource.

http://www.springsource.com/products/suite/applicationplatform http://www.springsource.com/ http://java.sun.com/javaee/

> Java EE Platform.

42

Globalcode Open4Education