acelerando o desenvolvimento java com rad 7.5

44
© 2010 IBM Corporation Acelerando o desenvolvimento Java com RAD 7.5 Miguel Vieira Ferreira Lopes Gomes - IT Architect - Systems Integration / Engineering Group 11 setembro 2010 developerWorks Brasil

Upload: webcasts-developerworks-brasil

Post on 06-Jun-2015

476 views

Category:

Technology


2 download

DESCRIPTION

tema apresentado pelo palestrante, IT Architect da IBM e co-autor do Redbook 'Rational Application Developer 7.5', Miguel Vieira Ferreira.

TRANSCRIPT

Page 1: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation

Acelerando o desenvolvimento Java com RAD 7.5

Miguel Vieira Ferreira Lopes Gomes - IT Architect - Systems Integration / Engineering Group

11 setembro 2010

developerWorks Brasil

Page 2: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation2 developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

Page 3: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation3 developerWorks Brasil

Apresentando o Rational Application Developer 7.5

É uma suíte completa de desenvolvimento, análise, teste, e deploy, que permite implementar, de forma rápida, aplicações Java SE e EE, Portal, Web 2.0, Web Services e SOA. Foi construída sob o Eclipse 3.4;

Suporta tecnologias Java EE 5.0, EJB 3.0, JPA, e Web 2.0 com desenvolvimento Ajax e Dojo;

Otimizado para rodar aplicações nos servidores WebSphere Application e Portal Server;

Atualmente o RAD está na versão 7.5.5.1;

Page 4: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation4 developerWorks Brasil

Tecnologias suportadas pelo RAD 7.5

Tecnologias Java

IBM Java Runtime Environment 1.6

Java Server Pages (JSP) 2.1

Java Servlet 2.5

Enterprise JavaBeans (EJB) 3.0

Java Server Faces (JSF) 1.2

Java Persistence API (JPA) 1.0

Service Data Objects (SDO) 2.0

Struts 1.3

Principais Banco de Dados suportados

CloudScape 5.1

Apache Derby 10.0, 10.1 e 10.2

DB2 (Linux, UNIX,Windows) 7.2, 8.1, 8.2, 9.1, 9.5

SQL Server Enterprise 7, 2000, e 2005

MySQL 4.0, 4.1, 5.0, e 5.1

Oracle 8, 9, 10 e11

Servidores de Aplicação

WebSphere Application Server 6.0, 6.1 e 7.0

WebSphere Portal Server 6.0 e 6.1

Weblogic Server 6.1, 7.0 e 8.1

Apache Tomcat 3.2, 4.0, 4.1, 5.0, 5.5 e 6.0

JBoss 3.2.3, 4.0, 4.2 e 5.0

OC4J 10.1.3 e 10.1.3.n

Page 5: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation5 developerWorks Brasil

RAD aumenta a eficiência e reduz o ciclo de desenvolvimento e testes

IBM Presentation Template Full Version

Acelere o desenvolvimento com programação baseada em anotações e quickfixes

Integração comservidores WebSphere

Execute complexos code

refactoring

Performance

Qualidade

Usabilidade

Integração

Visualize e execute Arquiteturas Java EE

Analise com as regras de análise estática e de cobertura de linha de

código

Page 6: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation6 developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

IBM Presentation Template Full Version

Page 7: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation7 developerWorks Brasil

Perspectiva Web Perimite criar e editar recursos da Web, como servlets, JSPs, páginas HTML, folhas de estilo e imagem, bem como a

edição do descritor web.xml.

As views PageData e Services serão detalhadas nos próximos slides;

Enterprise Explorer: esta view permite a visualização do projeto com os artefatos

JEE

Page Designer: esta view permite a edição de arquivos HTML,JSP e JavaScript. Pode-se

trabalhar em 3 perspectivas diferentes (Design, Source e Split) a tab Preview mostra a página da forma como seria exibida em um Browser (somente HTML estático é mostrado)

Page Data: Esta view permite gerenciar e manipular objetos de várias fontes como JPA, SDO e variáveis de script de JSP. Estes objetos podem ser arrastados para dentro do Page Designer

Palette View: através desta view os componentes (HTML,JSP,JSF entre outros) podem ser arrastados diretamente para dentro do Page Designer

Page 8: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation8 developerWorks Brasil

Perspectiva Web - Web Diagram Editor

Através do Web Diagram Editor podemos criar páginas JSP/JSF/Struts e HTML além de Managed Bean.

É possível também criar a estrutura de navagação entre as páginas, conectar objetos de dados como JPA e SDO e associá-los às páginas Web;

Page 9: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation9 developerWorks Brasil

Editor visual para o descritor web.xml

Visualize e altere os recursos Web de maneira visual Economize tempo adicionando

recursos através de wizards

O descritor web.xml é atualizado com as informações fornecidas.

As tags são automaticamente preenchidas de acordo com a

especificação JEE

Page 10: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation10

developerWorks Brasil

Componentes JSF

Os componentes JSF podem ser arrastados para dentro do page designer;

As propriedades, validações, regras podem ser editadas visualmente atráves da view de propriedades;

Page 11: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation11

developerWorks Brasil

Publicando no servidor de aplicações

O RAD possui total integração com WebSphere Application Server e Portal;

É possível testar,executar e depurar aplicativos que estão instalados no servidor;

Funcionalide ‘run-on-server’ que permite a instalação, publicação e execução do aplicativo no servidor com apenas um clique;

Adicione,publique, sincronize, execute

aplicativos

Overview com configurações básicas do

servidor. As demais configurações estão

disponíveis na console administrativa

Page 12: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation12

developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

Source: If applicable, describe source origin

IBM Presentation Template Full Version

Page 13: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation13

developerWorks Brasil

Trabalhando com JPA no RAD 7.5 O RAD possui funcionalidades que auxiliam o desenvolvimento de JPAs:

– Criação e inicialização automática de mapeamentos:• Novas tabelas a partir de entity beans já existentes (top-down);• Novos entity beans a partir de tabelas já existentes (bottom-up);

Criação de Entities

Criação de Manager Beans

Edição de Query

Page 14: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation14

developerWorks Brasil

Trabalhando com JPA no RAD 7.5

Explore as propriedades e atributos do Entity através da view JPA Details

Page 15: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation15

developerWorks Brasil

Trabalhando com JPA no RAD 7.5 Manager Beans:

– JPA manager beans são services beans que atuam como Façades ou Controllers sobre um Entity em particular. Eles abstraem e encapsulam todo o código de acesso aos dados

Page 16: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation16

developerWorks Brasil

JPA no RAD 7.5 Para utlizar JPA no RAD é preciso habilitar o Facet JPA no projeto

Procedimentos: – Clique com o botão direito em cima do projeto e selecione: Properties → Project Facets

e marque a opção JPA

As versões 6.0 e 6.1 do WAS precisam ter a Feature Pack for EJB 3.0instalada para suporte ao JPA

Page 17: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation17

developerWorks Brasil

Trabalhando com JPA no RAD 7.5

Para criar objetos JPA através de tabelas já existentes (bottom-up);

Procedimentos:– Abra a perspectiva JPA;– Crie um projeto JPA: File → New → JPA Project;– Clique com o botão direito no projeto e selecione JPATools → Generate Entities (fig.1) ;– Selecione uma conexão e o esquema do Banco de Dados;– Na próxima tela, selecione as tabelas e clique em Finish (fig. 2);– O código será gerado de acordo com a especificação JPA (fig. 3);

1

2

3

Page 18: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation18

developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

IBM Presentation Template Full Version

Page 19: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation19

developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

IBM Presentation Template Full Version

Page 20: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation20

developerWorks Brasil

Desenvolvendo EJBs visualmente

O RAD possui suporte total a especificação EJB 3.0;

Propriedades e atributos podem ser explorados visualmente;

Através de um diagrama de classes, o RAD permite modelagem de EJBs (além de JPA e Web Services) de maneira visual

Page 21: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation21

developerWorks Brasil

Desenvolvendo EJBs visualmente

É possível editar o código através do diagrama e acessar suas propriedades (ex. annotations)

Page 22: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation22

developerWorks Brasil

Criação de EJBs através de wizards

Visualização dos EJBs existentes por categoria

Classes Java com código EJB

Interface Java com métodos de negócio que serão implementados pela classe do EJB

Estrutura de um projeto EJB

O RAD permite a criação de projetos EJB a partir da versão 1.1. A versão 3.0 está disponível para o WAS 6.1 somente quando o Feature Pack estiver instalado

Page 23: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation23

developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

IBM Presentation Template Full Version

Page 24: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation24

developerWorks Brasil

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Web-remoting é um padrão que fornece suporte para JavaScript ou código client-side invocar diretamente a lógica do lado do servidor.

Remote Procedure Call (RPC) fornece um mecanismo para expor objetos Java server-side como EJB, Pojo e JPA para interfaces de usuário baseado em AJAX;

A invocação é realizada através de uma chamada JSON-RPC.O uso mais comum são chamadas assíncronas com XMLHttpRequest. Os dados são transferidos entre o servidor e cliente no formato JSON.

– JavaScript Object Notation (JSON) é um formato leve de troca de dados, tem sido usado como um alternativa para o formato XML em AJAX;

O adaptador RPC foi projetado para ajudar os desenvolvedores a criar comandos baseado em serviços de forma rápida e fácil,

Page 25: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation25

developerWorks Brasil

Dojo Toolkit

Dojo é um toolkit JavaScript open source, do qual a IBM é uma grande contribuidora;

Fornece funcionalidades para tratamento de eventos, localização, acessibilidade;

Pode ser usado para criar interfaces ricas com o usuários e não está vinculado a tecnologias específicas do lado do servidor;

Provê uma camada de abstração para com JavaScript, reduzindo a incompatibilidade entre os diversos navagadores;

Possui diversos widgets do tipo calendário, combo, grid, menu, barras de progresso, etc;

Dojo é integrante do OpenAJAX Alliance;

Page 26: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation26

developerWorks Brasil

Dojo no RAD 7.5

Para utlizar o Dojo no RAD é preciso habilitar o Facet Web 2.0

Procedimentos: – Clique com o botão direito em cima do projeto Web e selecione: Properties → Project

Facets e marque a opção Web 2.0

As versões 6.0 e 6.1 do WAS precisam ter a Feature Pack for Web 2.0 instalado para suporte ao Dojo

Page 27: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation27

developerWorks Brasil

Dojo no RAD 7.5 O RAD permite a construção de interfaces ricas com Dojo de maneira visual;

Através da Pallet view, é possível arrastar e soltar os componentes Dojo para dentro da página Web;

O código é automaticamente gerado e pode ser modificado dentro do Page Designer ou através da Properties view;

Page 28: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation28

developerWorks Brasil

Crie aplicações sofisticadas com Dojo

Page 29: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation29

developerWorks Brasil

Dojo no RAD 7.5

Content assist em JSP

Content assist em JavaScript

Page 30: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation30

developerWorks Brasil

Dojo no RAD 7.5

Acesso as propriedades através da Propertie View;

Page 31: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation31

developerWorks Brasil

Expondo EJBs com RPC

Através da view Services, podemos expor EJBs ou POJOs para serem consumidos através do Dojo

Escolha o método que será exposto do EJB ou POJO

Adicione o código Dojo na página Web que irá

consumir o serviço

Page 32: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation32

developerWorks Brasil

Arquitetura Web 2.0 com RPC, EJB e JPA

JPAWeb-tierfaçade

WebSphereRPC

Adapter

AJAX

HTTP

JSON

EJB

EJBs de negócio acessam o Banco

de Dados via JPA.

Aqui está a aplicação

cliente que foi contruída

usando Dojo

O cliente Dojo invoca os EJBs

e POJOs via RPC Adapter

BD

Websphere Application Server

Page 33: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation33

developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

Page 34: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation34

developerWorks Brasil

Portal Tools O RAD permite o desenvolvimento, testes e publicação de aplicativos de Portal (Portlets);

Aparência, navegação e contéudo do Portal são configurados através da ferramenta Portal Designer;

Possui integração com WebSphere Application Server 6.0 e 6.1;

Page 35: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation35

developerWorks Brasil

Suporte à JSR-286

•Suporte para Portlet Events: JSR 286 permite que Portlets declarems os eventos que desejam publicar(send) e eventos que desejam processar (receive).

•Os eventos podem ser utilizados para o intercâmbio de dados complexos entre portlets e e para disparar triggers, como as de atualizações de sistemas back-end

Page 36: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation36

developerWorks Brasil

JSR 286 - Criação de Eventos

Page 37: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation37

developerWorks Brasil

JSR 286 – novo Portlet Deployment Descriptor

Page 38: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation38

developerWorks Brasil

Apresentando o Rational Application Developer 7.5

Perspectiva Web

Explorando a funcionalidade DataTooling para Java Persistent API (JPA)

Desenvolvendo EJBs visualmente

Web 2.0: Expondo EJBs para páginas Web usando RPC com Dojo (Ajax)

Suporte à JSR 286

Testando Web Services

Conteúdo

Page 39: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation39

developerWorks Brasil

Geração de Web Services

Web Services podem ser gerados por meio de duas abordagens

Top-Down– Quando criamos um Web Service usando esta abordagem, primeiro nós

implementamos o Web Service usando o editor WSDL disponível no RAD. Então podemos usar os Wizards disponíveis para criar os skeleton Java no qual adicionamos a lógica de negócio.

Bottom-up– Esta é uma maneira de desenvolvimento mais rápida e fácil, especialmente se você é

novo em WebService. Primeiro crie um EJB ou uma classe Java (Bean) e utilize os Wizards disponíveis para que o WSDL seja gerado através das classes.

Nota:

Com WebSphere Application Server Feature Pack for Web Services instalado para o WAS 6.1, somente podemos criar Web Services pelas bordagens top-down ou bottom-up usando classes Java (Bean). Para expor um EJB 3.0 como Web Service somente é possível no WAS 7.0

Page 40: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation40

developerWorks Brasil

Usando annotations de Web Services em um Java Bean

• Podemos usar annotations para marcar uma classe Java como um Web Services e seus métodos como operações de serviço

• Crie uma nova classe Java, de acordo com o código abaixo:

A annotation @WebService marca a classe Java como uma implementação de Web ServiceO atributo ‘name’ é usado como nome do

wsdl:portType

A annotation @WebMethod marca a o método Java como uma operação externa do Web Service

O atributo ‘operationName’ é usado como nome do wsdl:operation.

Page 41: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation41

developerWorks Brasil

Testando o Web Service Inicie o Servidor WAS 7.0;

Clique na aba da view Services que está abaixo do Enterprise Explorer;

Abra a pasta JAX-WS e clique com o botão direito em RAD75JSFWeb: {http://rad75.ws.com/}ReservasWSService e selecione: Test with Web Services Explorer

O Web Services Explorer irá abrir;

Selecione a operação totalReservas e clique no botão Go;

O resultado irá aparecer no painel Status;

Page 42: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation42

developerWorks Brasil

Links

developerWorks Brasil - Portal IBM para desenvolvedores e profissionais de TI do Brasilhttp://www.ibm.com/developerworks/br

IBM Rational Blog Brasilhttps://www.ibm.com/developerworks/mydeveloperworks/blogs/rationalbrasil/?ca=rationalblog&me=W&met=inli&re=dWsBrasil_RHN&lang=pt_br

Rational Application Developer for WebSphere Softwarehttp://www-01.ibm.com/software/awdtools/developer/application/

Certificações Técnicas da Rationalhttp://www-03.ibm.com/certify/certs/rl_index.shtml

Artigos

Developing Web applications with the Java Persistence API and JavaServer Faces http://www.ibm.com/developerworks/rational/library/08/0819_mutdosch/index.html?S_TACT=105AGX15&S_CMP=LP

Using IBM RAD 7.5 to develop a Web 2.0 page that references a session beanhttp://www.ibm.com/developerworks/rational/library/08/1118_endres/index.html

Increase productivity by using Rational Application Developer with other Rational softwarehttp://www.ibm.com/developerworks/rational/library/10/radintegrationwithrationalsoftware/index.html

Page 43: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation43

developerWorks Brasil

LinksRedbook Redbook Rational Application Developer V7.5 Programming Guide

http://www.redbooks.ibm.com/Redbooks.nsf/RedpieceAbstracts/sg247672.html

Page 44: Acelerando o desenvolvimento java com rad 7.5

© 2010 IBM Corporation44

developerWorks Brasil