Spring: Um suite de novas opções para Java EE

Propaganda
Spring: Um suite de novas opções
para Java EE
Alberto J Lemos (Dr. Spock)
Instrutor Globalcode
1
Globalcode – Open4Education
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
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
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
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
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
Para o que não serve?
> Tornar um código existente em um código bem
estruturado;
> Gerenciar recursos;
> Garantir a qualidade do código;
7
Globalcode – Open4Education
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
Spring Framework
> Disponível no arquivo spring.jar
9
Globalcode – Open4Education
Spring Framework
> Disponível no arquivo spring.jar
Core: Implementa o
contêiner IoC;
10
Globalcode – Open4Education
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
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
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
Spring Framework
> Disponível no arquivo spring.jar
ORM: Implementa o suporte para
integração com frameworks de
mapeamento objeto/relacional.
14
Globalcode – Open4Education
Spring Framework
> Disponível no arquivo spring.jar
Java EE: Classes utilitárias para
integração com serviços Java EE;
15
Globalcode – Open4Education
Spring Framework
> Disponível no arquivo spring.jar
Remoting: Expõe os métodos
dos POJO's para invocação
remota;
16
Globalcode – Open4Education
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
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
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
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
Spring Portfolio
> Um suite de produtos para aplicações baseadas
no Spring.
21
Globalcode – Open4Education
Spring Portfolio
Security:
> Um suite deSpring
produtos
paraSegurança
aplicações baseadas
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
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
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
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
Spring Portfolio
> Um suite de produtos para aplicações baseadas
no Spring.
Spring Modules: Projeto guardachuva que implementa a integração
com diversos outros frameworks e
ferramentas;
26
Globalcode – Open4Education
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
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
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
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
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
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
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
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
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
Spring Application Server
36
Globalcode – Open4Education
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
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
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
Conclusão
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
> 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
Download