Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software
Estrutura da Apresentação Java To Enterprise Edition (overview) Aplicações Web - Páginas Web Aplicações Web - Web Services IDE Eclipse Eclipse Web Tools Platform Project LEIC - Engenharia de Software
Plataforma para Soluções Empresariais Baseada em componentes modulares standard Proporciona um conjunto completo de serviços Gere automaticamente detalhes relativos ao comportamento das aplicações 2. Java To Enterprise Edition (overview)
Serviços Empresariais J2EE 2. Java To Enterprise Edition (overview)
Tecnologias Implementadas Conceito “Write Once, Run Anywhere” Java Database Connectivity (JDBC) Servlets e JavaServer Pages (JSPs) Common Object Request Broker Architecture (CORBA) Extensible Markup Language (XML) Enterprise JavaBeans (EJBs) 2. Java To Enterprise Edition (overview)
Modelo para Aplicações Empresariais 2. Java To Enterprise Edition (overview)
Modelo de Aplicação J2EE Permite um desenvolvimento mais rápido com melhor qualidade e manutenção com portabilidade para um grande número de plataformas empresariais Aumenta a produtividade das equipas de desenvolvimento Permite uma gestão melhorada dos recursos disponíveis Resulta num melhor aproveitamento dos investimentos tecnológicos efectuados pelas organizações empresariais 2. Java To Enterprise Edition (overview)
3. Desenvolvimento de Aplicações Web - Páginas Web Servlets Servlets permitem que a lógica de aplicação seja embutida no processo request-response: Um servlet é um programa Java que corre do lado do servidor e que estende a funcionalidade do servidor Web. 3. Desenvolvimento de Aplicações Web - Páginas Web
Funcionamento dos Servlets Quando um servidor Web entende que uma URL deve ser atendida por um Web Container, passa o controlo para o container (um conjunto de classes em Java, geradas automaticamente) Este container decide qual é a Web Application que deve executar; Quando é um servlet, o container controla a execução do servlet; Através da API de servlets, o servlet pode aceder à informação do Request e fornecer uma Response. 3. Desenvolvimento de Aplicações Web - Páginas Web
Java Server Pages (JSP’s) A geração de informação dinâmica pode ser feita de duas formas: Programando-a (servlets); Através de templates (Java Server Pages ou JSP). 3. Desenvolvimento de Aplicações Web - Páginas Web
Funcionamento dos JSP’s JSP é uma extensão da tecnologia de servlets: Uma página JSP contém código HTML (ou XML); Tags ou "scripts" especiais são introduzidos no HTML para execução; A página JSP é traduzida para um servlet, automaticamente, pelo servidor J2EE; O servlet é compilado (apenas uma vez); A partir daí, o servlet é executado para gerar o conteúdo dinâmico; É de notar que depois de a página JSP ser transformada em servlet, a situação é idêntica à execução de um servlet. 3. Desenvolvimento de Aplicações Web - Páginas Web
Funcionamento dos JSP’s Diagrama de Funcionamento 3. Desenvolvimento de Aplicações Web - Páginas Web
Enterprise JavaBeans (EJB) A especificação EJB define: As interfaces entre o servidor EJB e os componentes nele contidos; Os serviços que o container oferece para esses componentes. O objectivo maior é deixar o programador concentrar-se no “Business Logic”. Isso é feito de duas grandes formas: Programação Declarativa; Serviços Automáticos. 3. Desenvolvimento de Aplicações Web - Páginas Web
Modelo de Aplicação J2EE Programação Declarativa Cada Bean tem um “Deployment Descriptor” que permite configurá-lo visualmente durante a implementação; Sem ter código fonte e sem programar. Aumenta a produtividade das equipas de desenvolvimento; Serviços Automáticos Implementados por um Container. 3. Desenvolvimento de Aplicações Web - Páginas Web
Desenvolvimento de Web Services em J2EE Serviços oferecidos através da Internet utilizando aplicações modulares Facilitam a comunicação entre aplicações de empresas diferentes baseadas no XML Estas aplicações utilizam: Web Services Description Language (WSDL) Universal Description, Discovery and Integration(UDDI) Simple Object Access Protocol (SOAP) 3. Desenvolvimento de Aplicações Web - Web Services
Tecnologias Java usada para Web Services A linguagem Java é ideal para construir Web Services Foram criadas APIs com a finalidade de ligar o Java ao XML Estas APIs e algumas ferramentas encontram-se no Java Web Services Developer Pack (Java WSDP) 3. Desenvolvimento de Aplicações Web - Web Services
3. Desenvolvimento de Aplicações Web - Web Services Java APIs Java API for XML Registries (JAXR) Aceder a registos standard tais como os baseados no UDDI e no ebXML Publicar usando o registo UDDI ou o registo ebXML, ou procurar por um registo de um Web Service Java API for XML-based RPC (JAX RPC) Aceder a Web Services através de uma chamada a um procedimento remoto (RPC) baseado no SOAP Chamar métodos do Web Service num ambiente distriuído 3. Desenvolvimento de Aplicações Web - Web Services
3. Desenvolvimento de Aplicações Web - Web Services Java APIs Java API for XML Messaging (JAXM) Construir e enviar mensagens orientadas por documentos baseados no SOAP (mais propriamente no SOAP for Messaging) Java API for XML Processing (JAXP) Processar documentos XML (usado para retornar este tipo de documentos como resposta de um Web Service) 3. Desenvolvimento de Aplicações Web - Web Services
Tecnologias Java usada para Web Services Sun Microsystems: Sun ONE Developer Platform: ambiente sofisticado de desenvolvimento baseado em Java e no J2EE que inclui o Java WSDP Outras: Apache Jakarta-Tomcat Apache-Soap Jakarta-AXIS (3ª geração de SOAP da Apache) Ant 3. Desenvolvimento de Aplicações Web - Web Services
IDE Eclipse Projecto Open Source Dividido em : Plataforma Eclipse JDT (Java Development Tools) PDE (Plugin Development Environment) 4. IDE Eclipse
IDE Eclipse IDE que “serve para tudo e para nada em particular” Serve fundamentalmente para desenvolver IDEs, facilmente, para quaisquer linguagens de programação, editores de texto, etc 4. IDE Eclipse
IDE eclipse É permitido adicionar novas funções(ferramentas) ao IDE através de plugins que são programados em Java Os plugins são desenvolvidos de forma modular de modo a permitir a determinados plugins utilizarem as funções de outros 4. IDE Eclipse
Interface Gráfica A interface gráfica do Eclipse é programada utilizando o JFace e o SWT, logo o UI (interface com o utilizador) é igual em qualquer sistema operativo. 4. IDE Eclipse
JDT (Java Development Tools) Conjunto de Plugins que adicionam ao IDE a capacidade de desenvolver aplicações Java Permite colorir a sintaxe do programa, gravar informações do debugger e do compilador, ter a hierarquia de ficheiros organizada em árvore entre outras opções 4. IDE Eclipse
JDT (Java Development Tools) Dividido em 2 grupos: Plugins de UI (interface com o utilizador) Plugins não-UI (plugins não relacionados com a interface com o utilizador) Esta divisão permite a utilização do Eclipse em sistemas que não sejam baseados em interfaces gráficas com o utilizador. 4. IDE Eclipse
Eclipse Web Tools Platform Project Recursos humanos envolvidos no projecto (pcm) Constituição do projecto (sub-projectos e componentes) Infra-estrutura Desenvolvimento 5. Eclipse Web Tools Platform Project
Eclipse Web Tools Platform Project Plataforma baseada na plataforma mãe da eclipse Fornece ferramentas no campo da Web (baseadas em Java) Tool suites 5. Eclipse Web Tools Platform Project
5. Eclipse Web Tools Platform Project Quadros do projecto: Pcm (comissão gestora do projecto) Utilizadores Passivos Utilizadores activos (construtores/programadores) Coordenadores 5. Eclipse Web Tools Platform Project
5. Eclipse Web Tools Platform Project
5. Eclipse Web Tools Platform Project Infra-estrutura: bug database source repository (depósito de código) Website Forum genérico (general mailing lists) Forum de sub-projecto (subproject mailing lists) Forum de componente (component mailing lists) 5. Eclipse Web Tools Platform Project
5. Eclipse Web Tools Platform Project Desenvolvimento: Controlado pela pcm Etapas e prazos Reuniões e gestão de conflitos 5. Eclipse Web Tools Platform Project
Conclusões do trabalho efectuado: A plataforma J2EE revela-se ideal para desenvolver aplicações empresariais; A plataforma Eclipse é um IDE concebido para desenvolver variadas aplicações, desde páginas web até aplicações Java, em C ou C++; A plataforma Web Tools Platform Project, uma das várias plataformas da Eclipse, destaca-se pela disponibilização de inúmeras ferramentas vocacionadas para o fácil desenvolvimento de “tool suites” e “web tools”. LEIC - Engenharia de Software