Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br



Documentos relacionados
Laboratório de Engenharia de Software

Integração Contínua com Rational Team Concert, Jenkins e SonarQube

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Universidade da Beira Interior

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Adotando OpenEdge Architect. Luciano Oliveira Sr. Instructor, Consultant Global Field Services

Desenvolvimento de um aplicativo básico usando o Google Android

Demoiselle Tutorial Módulo 1 Arquitetura

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

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

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

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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

WebApps em Java com uso de Frameworks

Computação II Orientação a Objetos

Modulo I- Introdução a Plataforma Eclipse

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008


O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Desenvolvimento Web TCC Turma A-1

Introdução ao Android

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

4 O Workflow e a Máquina de Regras

Programação de Computadores II TCC Turma A-1

Tutorial Eclipse (IDE)

Engenharia de Software I: Análise e Projeto de Software Usando UML

2. O AMBIENTE DE PROGRAMAÇÃO EM C

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Analista de Negócio Pleno

Padrões de Interação com o Usuário

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

Progress Exchange 2007

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados:

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Um Ambiente Gráfico para Desenvolvimento de Software de Controle para Robôs Móveis Utilizando Simulação 3D

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

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

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Daniel Wildt FACENSA Grupo de Estudos Java - FUJA Slide: 1

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Sistemas Embarcados Android

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

Adriano Reine Bueno Rafael Barros Silva

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto

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

Sistemas para internet e software livre

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Curso de Aprendizado Industrial Desenvolvedor WEB

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

UFG - Instituto de Informática

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

Desenvolvimento de Aplicativos com ASR para Android

ESbox: uma Ferramenta para o Desenvolvimento de Aplicações para Linux Embarcado

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais

DESENVOLVIMENTO DE IDE PARA PLATAFORMA OMAP. Larissa Lucena Vasconcelos¹, Raul Fernandes Herbster², Joseana Macêdo Fechine³

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Orientada a serviços: JAX-WS SOAP API

Aspectos técnicos do desenvolvimento baseado em componentes

Sistemas Embarcados Android

Programação de Computadores - I. Profª Beatriz Profº Israel

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Feature-Driven Development

Frameworks O que é um framework?

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Organizando Classes em Pacotes. Profa. Thienne Johnson EACH/USP

Agregador de feeds RSS para dispositivos móveis

Os IDE s (Ambientes de Desenvolvimento Integrado) como ferramentas de trabalho em informática

Guião de Introdução ao Eclipse IDE Índice

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de Marco Antonio Almeida 1 e Daniela Barreiro Claro 2

Processo de Desenvolvimento Unificado

ESTUDO DE CASO WINDOWS VISTA

1

J2EE TM Java 2 Plataform, Enterprise Edition

Figura 01 Kernel de um Sistema Operacional

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

PPS - Processo de Proposta de Solução Versão 1.3.1

Desenvolvimento para Android

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler

O Primeiro Programa em Visual Studio.net

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Manual de Instalação

Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Documento de Arquitetura

IBM Software Demos Rational Software Delivery Platform - Apresentação do cenário da demonstração

Programação de Computadores - I. Profª Beatriz Profº Israel

Transcrição:

Introdução à Plataforma Eclipse Leandro Daflon daflon@les.inf.puc-rio.br

Agenda Introdução Arquitetura da Plataforma Componentes da Plataforma JDT PDE Visão Geral do Projeto Eclipse.org 2

Introdução

O que é o Eclipse O Eclipse é uma plataforma para a integração de ferramentas de desenvolvimento. Iniciativa Open Source. Arquitetura extensível baseada no uso e desenvolvimento de plugins. Público Alvo: Desenvolvedores de Aplicação Desenvolvedores de Ferramentas de Desenvolvimento Pesquisadores The Eclipse Platform is an IDE for anything, and for nothing in particular." 4

Objetivos do Projeto Eclipse Prover uma plataforma aberta para ferramentas de desenvolvimento de aplicações. Independência de sistema operacional GUI e não GUI Facilitar integração de ferramentas UI e Estrutura interna Adicionar novas ferramentas a produtos já instalados Neutralidade de linguagens Não possui restrição quanto ao tipo de conteúdo HTML, Java, C, JSP, EJB, XML, GIF, Atrair desenvolvedores de ferramentas ISV (independent software vendors) 5

Histórico do Eclipse 1999 Abril - Início do Eclipse dentro da OTI/IBM 2000 Junho - Lançamento do Eclipse Tech Preview 2001 Março - Início do http://www.eclipsecorner.org/ Junho - Eclipse 0.9 Outubro - Eclipse 1.0 Novembro - IBM doa base de código do Eclipse - Lançamento do http://www.eclipse.org/ 2002 Junho - Eclipse 2.0 Setembro - Eclipse 2.0.1 Novembro - Eclipse 2.0.2 2003 Março - Eclipse 2.1 6

Quem Contribui? Novos Membros (Set a Dez 2002): 7

Arquitetura da Plataforma

Visão Geral da Arquitetura Plataforma Eclipse Outra Ferramenta Java Development Tools (JDT) Plug-in Development Environment (PDE) Workbench JFace SWT Workspace Help Team Debug Sua Ferramenta Platform Runtime Ferramenta XPTO Projeto Eclipse 9

Representação da Plataforma em Camadas Ambiente de Desenvolvimento de plug-ins Ferramentas de desenvolvimento Java Plataforma Eclipse Máquina virtual java PDE JDT Plataforma Java VM 10

Arquitetura Eclipse Plug-in menor bloco de construção do Eclipse Exemplos: editor HTML, Ação para criar arquivos zip Pontos de Extensão entidades definidas para o agrupamento de contribuições Exemplo: ponto de extensão para preferências de IU do workbench Extensão uma contribuição Exemplo: preferência específicas de um editor HTML 11

Arquitetura Eclipse Cada plug-in: Contribui com 1 ou mais pontos de extensão Opcionalmente, declara novos pontos de extensão Depende de outros plug-ins Contém bibliotecas Java e outros arquivos Pertence ao seu próprio diretório de plug-ins Detalhes presentes no plug-in manifest Manifest declara as contribuições Código implementa contribuições e prove API Arquivo plugin.xml na raiz do subdiretório do plug-in 12

Arquitetura de plug-ins Eclipse Cenário Típico plug-in A Ponto de extensão P contribui plug-in B extensão interface I implementa classe C cria, chama Plug-in A Declara o ponto de extensão P Declara a interface I de acordo com P Plug-in B Implementa a interface I com a classe C Contribui com a classe C para o ponto de extensão P Plug-in A instancia C e chama os métodos de I 13

Cenário de Utilização de Plug-ins Servlet + Struts JSP Modelagem UML Servlet Testes JSP + Struts Código Deployment EJB 14

Componentes da Plataforma

Componentes da Plataforma A Plataforma é a base comum para todos os componentes. Consiste em vários componentes chaves: Plataforma Eclipse Workbench UI SWT JFace Team Help Debug Core Workspace Ant Plataforma de execução 16

Workspace Ferramentas lêem, criam, modificam e removem recursos da área de trabalho Recursos Projetos, pastas e arquivos Possibilidade de trabalhar com vários projetos em paralelo, organizando-os: Por usuário Relacionado a um diretório no sistema de arquivos 17

Workbench Interface do usuário da plataforma Eclipse Fornece uma estrutura para a interação de ferramentas com os usuários Implementação baseada em duas APIs SWT Standart Widget Toolkit Independente de S.O. JFace Frameworks de interface usuário (UI) para tarefas comuns de UI Desenvolvido para ser utilizado juntamente com SWT Workbench SWT JFace 18

Componentes do Workbench Perspectivas Visões Editores Oferece suporte ao trabalho em equipe CVS Padrão Outros 19

Workbench 20

JDT Java Development Tools

Java Development Tools Estado da arte em ambientes de desenvolvimento Java. Construído sobre a Plataforma Eclipse. Implementado como um conjunto de Plug-ins. Utiliza as APIs e pontos de extensão da Plataforma. Incluído na distribuição do Eclipse. 22

JDT - Pontos Fortes Perspectiva Java Concentra as funcionalidades necessárias a um desenvolvedor java. Facilidades para escrever código: Method Completion Refactoring Quick Fixes Code Templates Formatador de Código Dentre outras facilidades 23

PDE Plug-in Development Environment

Desenvolvendo um plug-in Definições Declarativas (manifest) Plugin.xml Definição Implementação Execução Implementação procedural Java 25

Introdução ao PDE Ambiente de desenvolvimento de plug-ins dentro do workbench do Eclipse Também é um plug-in, construído usando os recursos da própria plataforma e o JDT Permite a definição de um plug-in project, que agrega os elementos do plug-in (arquivo manifest, código-fonte, gifs) Possibilita a construção, compilação, depuração, teste e empacotamento de um plug-in 26

Introdução ao PDE (cont.) Ferramenta para edição do arquivo de manifest Possui wizards para a geração de diversas extensões: actions, xml editor, help content, editor multi-page, wizard para novo arquivo, preferences, property page, views Suporte ao deployment de um plug-in num arquivo.zip ou atualização automática via Eclipse (feature) 27

Desenvolvendo com o PDE Forma Básica de definir um plug-in: (1) Definir no arquivo de manifesto (plugin.xml), os pontos de extensão que o plug-in irá contemplar (PDE ajuda!) (2) Definir uma subclasse de alguma classe da plataforma Eclipse de acordo com a extensão sendo definida (PDE ajuda!) (3) Implementar métodos herdados destas classes juntamente com código de lógica de funcionamento do plug-in (agora é com Você!) 28

Desenvolvendo com o PDE Exemplos de pontos básicos de extensão do Workbench org.eclipse.ui.views org.eclipse.ui.viewactions org.eclipse.ui.editors org.eclipse.ui.editorsactions org.eclipse.ui.popmenus org.eclipse.ui.actionsets org.eclipse.ui.actionsetpartas sociation org.eclipse.ui.perspectives org.eclipse.ui.perspectivesext ensions 29

Eclipse.org Visão Geral

Eclipse.org Organizado em 4 subprojetos principais Eclipse Project Eclipse Tools Project Eclipse Technology Project Eclipse Web Tools Platform http://www.eclipse.org/projects/ 31

Eclipse Project Responsável pela plataforma Eclipse Subprojetos: Platform Oferece o núcleo do framework JDT Suite de ferramentas para desenvolvimento Java PDE Ambiente de desenvolvimento de plug-ins 32

Eclipse Tools Responsável pela indução e coordenação de projetos de desenvolvimento de ferramentas para o Eclipse Subprojetos: CDT Conjunto de plug-ins que implementam uma IDE para C/C++ Cobol Conjunto de plug-ins que implementam uma IDE para Cobol GEF EMF 33

Eclipse Technology Canal de comunicação para desenvolvedores e pesquisadores participarem da evolução do Eclipse Subprojetos: AJDT / AspectJ Conjunto de plug-ins que oferecerão suporte ao desenv. de software orientado a aspecto usando a linguagem AspectJ Equinox Experimentar técnicas para ampliar a variedade de configurações de run-time do Eclipse (gerência de dependência entre plug-ins, modelo de serviço) Stellation Sistema de gerenciamento de configurações extensível e avançado. Produto original da IBM, adaptado para o Eclipse. 34

Eclipse Technology (cont.) Subprojetos: Koi Oferecer suporte a atividades colaborativas para usuários executando diferentes instâncias do Eclipse XSD (XML Schema Infoset Model) Conjunto de APIs para uso em código que examina, cria ou modifica esquemas XML. GMT (Generative Model Transformer) Oferecer um conjunto de ferramentas para suporte ao desenvolvimento de software orientado a modelos Eclipse Research Community Conjunto de projetos desenvolvidos por grupos de pesquisa de universidade 35

Eclipse Web Tools Platform Foco inicial em J2EE. Desenvolvimento de uma plataforma comum para suportar um conjunto de ferramentas para o desenvolvimento web. 36

Maiores informações Eclipse@Rio www.teccomm.les.inf.puc-rio.br/eclipse Eclipse www.eclipse.org 37

Referências http://eclipse.org/articles/article-using%20emf/using-emf.html http://dev.eclipse.org/viewcvs/indextools.cgi/~checkout~/emfhome/docs/overview.html http://www.eclipse.org/emf/ 38

Perguntas??? Leandro Daflon daflon@les.inf.puc-rio.br