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



Documentos relacionados
Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

TDC2012. EJB simples e descomplicado, na prática. Slide 1

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Como sobreviver com Java 2? Saulo Arruda

Experiência em missão crítica de missão crítica

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Programação e Configuração de Aplicações JEE. Edilmar Alves

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Criação de um novo projeto no Eclipse utilizando Maven

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UFG - Instituto de Informática

J2EE TM Java 2 Plataform, Enterprise Edition

PROJETO PEDAGÓGICO DE CURSOS

Java e Banco de Dados: JDBC, Hibernate e JPA

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Manual de Procedimentos para Desenvolvimento de Softwares

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

ARQUITETURA DO SISTEMA ERP PEGASUS

Capítulo 1 - Java EE 6 por alto - 1

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Kassius Vargas Prestes

ESTUDO DO DESENVOLVIMENTO DE UMA APLICAÇÃO WEB UTILIZANDO O SPRING FRAMEWORK

Java II. Sérgio Luiz Ruivace Cerqueira

Web-Services com JAX-WS. Capítulo. Introdução aos Web-Services via JAX-WS. - Um breve histórico sobre Web-Services. - SOAP x REST. Provendo um Serviço

Mini-curso Gratuito Globalcode Slide 1

Ensino Superior: IESB Instituto de Educação Superior de Brasília Ciências da Computação - Cursando

Daniel Paulo de Assis

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

Desenvolvimento Web com Framework Demoiselle versão 1.0

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

ANEXO V Edital nº 03508/2008

UFG - Instituto de Informática

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

EJB 3.1: A Community Update

Grails: o que isso quer dizer? Gilliard Cordeiro

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Web Technologies. Tópicos da apresentação

Integração Orientada a Serviços

Integrações e o ecossistema Java. Fabric8 ao Resgate!

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

MÓDULO. Linguagem de Programação para Web 2

MÓDULO Programação para Web 2

Programação para Internet II

WebApps em Java com uso de Frameworks

4 Um Exemplo de Implementação

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004

Varejo Digital Automação Comercial para Cupom Fiscal Eletrônico

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa


JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

CURSO DESENVOLVEDOR JAVA Edição 2010

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container TomCat Aula 05

Apresentação. Fernando Lozano

Spring Framework Luiz Daniel Creão Augusto Sistemas de Middleware Avançados IME-USP /02

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

Demoiselle Tutorial Módulo 1 Arquitetura

Anexo I Formulário para Proposta

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Para Saber Mais O framework OSGi O mundo enterprise

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF - Controle de Acesso FERNANDO FREITAS COSTA

Ricardo R. Lecheta. Novatec

Prova Específica Cargo Desenvolvimento

Desktop em minutos com genesis, Matisse, Java WebStart e JSR-296

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

4 - Padrões da Camada de Integração. Introdução

PROJETO PEDAGÓGICO DE CURSOS

Desenvolvendo aplicações desktop em Java: presente e futuro

HIBERNATE EM APLICAÇÃO JAVA WEB

SOA na Prática Ricardo Limonta

Associação Carioca de Ensino Superior Centro Universitário Carioca

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

Transcrição:

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

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

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

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

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

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

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

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

Spring Framework > Disponível no arquivo spring.jar 9

Spring Framework > Disponível no arquivo spring.jar Core: Implementa o contêiner IoC; 10

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

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

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

Spring Framework > Disponível no arquivo spring.jar ORM: Implementa o suporte para integração com frameworks de mapeamento objeto/relacional. 14

Spring Framework > Disponível no arquivo spring.jar Java EE: Classes utilitárias para integração com serviços Java EE; 15

Spring Framework > Disponível no arquivo spring.jar Remoting: Expõe os métodos dos POJO's para invocação remota; 16

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

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

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

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

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

Spring Portfolio > Um suite de Spring produtos Security: para Seguranç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

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

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

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

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

Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring; 27

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

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

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

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

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

Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring BeanDoc: Ferramenta para gerar documentação semelhante ao Javadoc; 33

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

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

Spring Application Server 36

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

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

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

Conclusão A plataforma Spring pretende oferecer uma alternativa completa e concorrente à plataforma Java EE, mantendo compatibilidade. 40

Perguntas & Respostas 41

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