tdc 2008 spring framework

42
Globalcode – Open4Education 1 Spring: Um suite de novas opções para Java EE Alberto J Lemos (Dr. Spock) Instrutor Globalcode

Upload: dr-spock

Post on 11-Jun-2015

2.068 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: TDC 2008 Spring Framework

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

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

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

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

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

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

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

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

Globalcode – Open4Education9

Spring Framework

> Disponível no arquivo spring.jar

Page 10: TDC 2008 Spring Framework

Globalcode – Open4Education10

Spring Framework

> Disponível no arquivo spring.jar

Core: Implementa o contêiner IoC;

Page 11: TDC 2008 Spring Framework

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

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

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

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

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

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

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

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

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

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

Globalcode – Open4Education21

Spring Portfolio

> Um suite de produtos para aplicações baseadas no Spring.

Page 22: TDC 2008 Spring Framework

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Globalcode – Open4Education36

Spring Application Server

Page 37: TDC 2008 Spring Framework

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

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

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

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

Globalcode – Open4Education41

Perguntas & Respostas

Page 42: TDC 2008 Spring Framework

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/