DESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML Jhonattan Vieira do Carmo, Ricardo Ribeiro Rufino Universidade Paranaense (Unipar) Paranavaí – PR – Brasil [email protected] [email protected] Resumo. Este artigo tem por objetivo apresentar a plataforma Java 2EE e UML, e a utilização de ambas tecnologias no desenvolvimento de aplicações Java. Contudo, propomos um estudo acerca de ambas plataformas, evidenciando a importância de cada uma delas no desenvolvimento de aplicações computacionais. 1. Introdução Atualmente vivemos em uma sociedade, em que os produtos computacionais se tornaram necessários em nossas atividades cotidianas, diante deste fato, fez-se necessário aprimorar o desenvolvimento de aplicações corporativas, com conceitos e métricas que assegurem a qualidade, segurança e principalmente a integridade das informações geridas pelas aplicações de software. De acordo com Júnior [2002], a plataforma J2EE determina um padrão para o desenvolvimento de aplicações corporativas multicamadas, simplificando o desenvolvimento, através de padrões baseados em componentes, proporcionando um conjunto completo de serviços para esses componentes, e da automação de vários detalhes inerentes ao ambiente corporativo, tais como: Controle Transacional, Ajuste de Performance, Segurança, Escalabilidade e Gerencia de Recursos. Nota-se ainda, que para o desenvolvimento de aplicações corporativas é aconselhável a utilização de um Modelo de Linguagem Unificada (UML), Ahmed et al [2002], ressalta que o emprego da UML proporciona um suporte de modelagem e visualização para todas as fases de desenvolvimento da aplicação, desde a análise das exigências até a especificação, construção e distribuição. Todavia, este artigo propõe um estudo analítico acerca da plataforma J2EE bem como a utilização da UML, para o desenvolvimento de aplicações Web. 2. Metodologia A realização deste artigo foi alcançada através de pesquisa científica, em materiais de consulta como livros e artigos científicos, e que se correlacionam com o tema proposto neste estudo. 3. J2EE O Java 2EE (J2EE) são especificações para acesso a vários serviços de infraestrutura, como distribuição de processamento, controle de transações, comunicação entre camadas, segurança e outros. Essas funcionalidades são implementadas por diversos fornecedores, que buscam ofertar serviços de melhor qualidade e preço competitivos. A Figura 1 apresenta os componentes de aplicação e a relação entre eles. Observe que os componentes Web solicitam aos Enterprise Java Beans a execução da lógica de negócio, como recuperação ou atualização dos dados. As páginas JSP ou Servlets exibem esses dados para o usuário [JÚNIOR, 2003]. Figura 1: Componentes de aplicação J2EE 3.1. Desenvolvimento Web com J2EE O J2EE possibilita aos desenvolvedores se concentrarem no desenvolvimento da lógica corporativa, sem a necessidade de existir um conhecimento detalhado do ambiente de execução e na criação de aplicações, que podem ser portadas com maior facilidade entre as plataformas de hardware e sistemas operacionais, sendo assim, sistemas que seguem a especificação arquitetural do J2EE podem ser portados com facilidade entre diferentes sistemas de hardware e diferentes sistemas operacionais [AHMED et al, 2002]. 3.2. Tecnologias O J2EE oferece suporte total para componentes EJB (Enterprise JavaBeans), JSP (JavaServer Pages), Java Servlet, Conectores, Corba e JDBC. A edição J2EE aborda inúmeras tecnologias, dentre as quais destacam-se: EJB – Arquitetura modelo de componentes para o desenvolvimento de aplicações corporativas orientadas a objeto em Java. Composto de API que permite a criação, uso e gerencia de componentes da aplicação, reusáveis em diferentes plataformas. JSP – Possibilita a criação de conteúdo dinâmico na web. Uma página JSP é um documento que descreve como processar uma solicitação para criar uma resposta, por meio da combinação de formatos padrões de marcação com ações dinâmicas. Java Servlet – API com a função de estender um servidor Web, a partir de módulos de aplicações implementados em Java. Conectores – Possibilita a plataforma J2EE seja conectada a sistemas de informação heterogêneos. Corba – Suporta a comunicação entre sistemas de forma transparente, através de uma linguagem de definição. JDBC (Java Database Connectivity) – Possibilita a integração com bancos de dados relacionais, além de proporcionar uma base comum sobre a qual ferramentas de alto nível e interfaces possam ser construídas [ARAUJO, 2011]. 4. UML O UML é uma linguagem gráfica para visualizar, especificar, construir e documentar os artefatos de uma aplicação computacional. Surgiu na metade da década de 1990, com a unificação dos métodos já existentes, cujo mentores foram Grady Booch, Ivar Jocobson, James Rumbaugh. Considerada líder para a modelagem de sistemas orientados a objetos é amplamente utilizada, apresentando várias ferramentas que a implementam [FRANCE et al, 2001 apud VIEIRA, 2003]. Viera [2003] afirma que a UML não oferece uma “receita de bolo” e também não mostra quando devem ser criados os diagramas que compõe o modelo, sendo assim, é importante que quando especificados eles sejam consistentes e bem construídos. 4.1. Principais diagramas da UML Existem vários diagramas da UML conforme ilustra a figura 2. DIAGRAMAS UML DIAGRAMA DE ESTRUTURAS DIAGRAMA DE COMPORTAMENTO DIAGRAMA DE PERFIL DIAGRAMA DE CLASSES DIAGRAMA DE ATIVIDADES DIAGRAMA DE CASO DE USO DIAGRAMA DE ESTRUTURAS COMPOSTAS DIAGRAMA DE COMPONENTES DIAGRAMA DE INTERAÇÃO DIAGRAMA DE MÁQUINAS DE ESTADOS DIAGRAMA DE IMPLANTAÇÃO DIAGRAMA DE OBJETOS DIAGRAMA DE PACOTES DIAGRAMA DE SEQUÊNCIA DIAGRAMA DE COMUNICAÇÃO DIAGRAMA DE VISÃO GERAL DE INTERAÇÃO DIAGRAMA DE TEMPO Figura 2: Diagramas da UML Dentre eles podemos destacar os principais: Diagrama de Caso de Uso: Possibilita a modelagem as interações entre um usuário e uma aplicação. Um caso de uso consiste em um ou mais cenários, que consiste na sequência de passos dados quando um usuário interage com o sistema. Diagrama de Classe: Apresenta diferente objetos dentro de uma aplicação e como esses objetos são associados entre si. O diagrama ilustra os atributos e operações de cada classe dentro do sistema e defini as restrições impostas a essas classes. A notação básica para mostrar uma classe é uma caixa retangular contendo o nome da classe. As notações do diagrama de classes é extensa, as cinco principais são: associações, atributos, operações, generalizações e restrições. Diagrama de Sequência: Utilizado para modelar como as classes interagem umas com as outras, porém não apresenta como as instâncias dessas classes irão interagir em um situação real. Esse diagramas mostram os objetos e as mensagens que se relacionam [BOND et al, 2003]. 4.2. Integração J2EE e UML Ahmed et al [2002], sustenta que qualquer desenvolvedor pode produzir uma parte da aplicação que fara o serviço, por enquanto, mas desenvolver um sistema comercial que seja mantido, dimensionável e pode se desenvolver é uma questão diferente. Atualmente uma aplicação tem que se desenvolver em um ritmo acelerado ou fica obsoleta. É possível sobreviver e prosperar por um tempo codificando, compilando, corrigindo e distribuindo sua aplicação, cedo ou tarde você vai perceber que seu sistema não é capaz de suprir as novas demandas de crescimento, isso ocorre devido a aplicação provavelmente não ter uma arquitetura e não ter designado de modo que pudesse desenvolver facilmente na necessidade das novas exigências. A UML fornece as ferramentas necessárias para fazer a arquitetura e construir aplicações complexas, como os requeridos para uma empresa. As ferramentas de modelagem estão se desenvolvendo em uma direção na qual poderão ser utilizadas para impor métricas de construção consistentes em um modelo de sistema baseado no J2EE e para gerar partes significativas do código fonte executável do sistema [AHMED et al, 2002]. 5. Considerações finais Fica evidente a importância da UML para o desenvolvimento de um produto computacional, pois a partir desta arquitetura, é possível fornecer ferramentas que auxiliem a equipe envolvida no projeto a planejá-lo, definindo um roteiro para estruturação da aplicação a ser desenvolvida, apresentando atributos como, qual a média de tempo gasto, prevendo erros que poderão acontecer no escopo do projeto, contudo, nota-se o aumento da produtividade de toda a equipe, diminuindo custos para manter a aplicação mais consistente e com menor possibilidade de erros em produção. A integração da plataforma J2EE na aplicação, proporciona a mesma, ser portável entre hardwares e sistemas operacionais por utilizar JAVA como base e permite que o desenvolvimento da aplicação possa ser dividida em camadas com funcionalidades especificas, assim aumentando a produtividade. Diante dos benefícios obtidos a partir da integração das arquiteturas apresentadas, torna-se possível implementá-las em um protótipo. 6. Referências Bibliográficas Júnior, J. M. R. S. (2002) Ferramenta para Aumento da Produtividade no Desenvolvimento de Aplicações Web sobre a Plataforma J2EE. Dissertação para obtenção do Grau de Mestre em Ciências da Computação. Universidade Federal de Campina Grande, Campina Grande, Paraíba, 2002. Ahmed, K. Z.; Umrysh, C. E. Desenvolvendo Aplicações Comerciais em Java com J2EE e UML. 1a ed. Rio de Janeiro: Editora Ciência Moderna, 2002. 302 p. Júnior, V. N. P. (2003) Estratégias para a Utilização da Tecnologia J2EE com a Arquitetura de Cinco Camadas. Dissertação para obtenção do Grau de Mestre em Ciências da Computação. Universidade Federal de Minas Gerais, Belo Horizonte, Minas Gerais, 2003. Araujo, R. B. (2011) Computação Ubíqua: Princípios, Tecnologias e Desafios. Universidade Federal de S Carlos, São Carlos, São Paulo, 2011. Viera, R. (2003) Uso da UML na Especificação do Sistema de Informação da Área de Infraestrutura da UFRGS. Universidade Federal do Rio Grande do Sul, Porto Alegre, Rio Grande do Sul, 2003. Bond, M.; Haywood, D.; Law, D.; Longshaw, A.; Roxburgh, P. Aprenda J2EE com EJB, JSP, SERVLETS, JNDI, JDBC e XML. 1a ed. São Paulo: Editora Pearson Education, 2003. 962 p.