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



Documentos relacionados
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

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

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

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

Universidade da Beira Interior

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

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

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

Manual de Procedimentos para Desenvolvimento de Softwares

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

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

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

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

INFORMATIZAÇÃO DE FARMÁCIAS PÚBLICAS UTILIZANDO SOFTWARE

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Documento de Projeto de Sistema

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

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

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

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

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

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

IBM WebSphere DataStage

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

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Computação II Orientação a Objetos

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

2 a Lista de Exercícios

Documento de Análise e Projeto VideoSystem

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

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Google Android para Tablets

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

HIBERNATE EM APLICAÇÃO JAVA WEB

PROTÓTIPO DE APLICAÇÃO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS EM DISPOSITIVOS MÓVEIS NA PLATAFORMA ANDROID

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

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

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES

Plano de Gerenciamento do Projeto

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

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Manual de instalação e configuração da Ferramenta Android SDK

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Documento de Arquitetura

Planejando o aplicativo

Site para Celular JFPB

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

Frameworks para criação de Web Apps para o Ensino Mobile

UFG - Instituto de Informática

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

Orientada a serviços: JAX-WS SOAP API

Desenvolvimento híbrido versus desenvolvimento nativo de aplicativos móveis

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

J2EE TM Java 2 Plataform, Enterprise Edition

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

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

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

Figura 1 - Arquitetura multi-camadas do SIE

PADRÕES PARA O DESENVOLVIMENTO NA WEB

5 Mecanismo de seleção de componentes

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

UFG - Instituto de Informática

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

WebApps em Java com uso de Frameworks

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Desenvolvimento de um sistema de gestão acadêmica com software livre Rodrigo Bainy Fagundes

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

Entenda as vantagens dos chips de quatro núcleos

MVC e Camadas - Fragmental Bliki

Produção de aplicativo de catálogo de cursos da UTFPR para o sistema Android

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Interfaces Gráficas parte 3

CURSO DESENVOLVEDOR JAVA Edição 2010

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

Integração de sistemas utilizando Web Services do tipo REST

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Transcrição:

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS Rodrigo das Neves Wagner Luiz Gustavo Galves Mählmann Resumo: O presente artigo trata de um projeto de desenvolvimento de uma aplicação para uma produtora de eventos, que será elaborado em linguagem Java e que deve funcionar nos ambientes Web e Mobile, unindo essas duas plataformas. Seu intuito é o futuro desenvolvimento desse sistema de gestão de produção de eventos e, dentro da aplicação, será utilizado o módulo de preview de imagens como cenário para implantação da portabilidade de plataforma. Assim, a tecnologia Android será utilizada na criação de um aplicativo mobile que empregue o sistema a ser desenvolvido no projeto em questão. Palavras-chave: Java, Android, Mobile. Abstract: This article states about a development project of an application for an events producer enterprise, which will be created in Java language and that should work in Web and Mobile environments, combining these two platforms. The intention is the further development of this management of events production system and, within the application, the images preview module will be used as a background for platform portability implantation. So the Android technology will be used in creating a mobile application that employs the system that will be developed in this project. Key-words: Java, Android, Mobile. 1 Introdução Desenvolvimento de sistemas para plataformas distintas gera um grande esforço para a construção, atualmente não se tem grande aproveitamento de mão-de-obra dentre os projetos. Normalmente as empresas montam equipes distintas para o desenvolvimento dos sistemas e acabam elaborando dois ou mais projetos para chegar à solução proposta. Isto gera um desperdício de esforços, exige que mais pessoas tenham o domínio do negócio na hora da construção, gera retrabalhos consideráveis para equipe de desenvolvimento. Diante do cenário atual a proposta deste artigo é mostrar algumas ferramentas e expor o andamento do projeto que visa construir uma aplicação que seja reutilizada com o máximo de aproveitamento nos ambientes que atualmente estão em evidencia que são: Web e Mobile. A tecnologia Java será utilizada para a construção do Sistema de Gestão de Produção de Eventos que servirá como estudo prático da solução do trabalho. Além da tecnologia Java também será desenvolvido um aplicativo na plataforma Android que apresentará um módulo deste sistema que visa o publico dos dispositivos mobile. Acadêmico da disciplina de Trabalho de Conclusão de Curso I do Curso de Sistemas de Informação da Universidade Luterana do Brasil. Docente do Curso de Sistemas de Informação e da Universidade Luterana do Brasil e orientadora deste trabalho.

2 Objetivo O objetivo deste projeto é verificar a possibilidade de criação de aplicações executadas nos ambientes Web e Mobile e desenvolver um sistema de gestão de eventos na plataforma Web (JEE). Ele consiste em construir uma aplicação, criando um módulo de preview de imagens através da utilização de um framework que possibilite a reutilização em aplicativos móveis. Neste módulo do preview, o cliente terá acesso às imagens do sistema, onde poderá fazer seu aceite online. Dessa forma, o sistema irá automatizar e aperfeiçoar os processos, aumentando a agilidade no atendimento. 3 Desenvolvimento Para a melhor compreensão e explanação do processo de criação do sistema de gerenciamento de eventos abrangido no escopo deste trabalho, serão demonstrados abaixo conceitos-chave inerentes à arquitetura do sistema. Dessa maneira, devido à complexidade e, ao mesmo tempo, à atualidade do assunto abordado serão utilizados como referenciais documentações dos sites oficiais dos frameworks que serão detalhados, sites de desenvolvimento, fóruns de discussões e livros sobre algumas tecnologias Java. JEE 6 O Java EE (Enterprise Edition) é uma plataforma amplamente disseminada entre os desenvolvedores, que contém um conjunto de tecnologias coordenadas as quais reduzem significativamente o custo e a complexidade do desenvolvimento, implantação e gerenciamento de aplicativos de várias camadas centradas no servidor. O Java EE é construído sobre a plataforma Java SE e oferece um conjunto de APIs para desenvolvimento e execução de aplicativos portáteis, robustos, escaláveis, confiáveis e seguros no servidor. [NET12] Na especificação da JEE 6 contamos com o Java Persistence API (JPA 2.0), que é uma estrutura que permite aos desenvolvedores gerenciar os dados utilizando o mapeamento objeto-relacional (ORM) em aplicativos construídos na plataforma Java. Além da JPA, o JEE 6 acrescenta o CDI, que também é conhecido como Web Beans. A tecnologia JEE 6 oferece um serviço chamado de anotações que simplifica a implementação da aplicação web. A plataforma possui um conjunto dessas anotações que, por sua vez, facilitam a definição e o uso dos serviços web, o mapeamento das classes para XML, o mapeamento do banco de dados para as classes Java, dentre outras tarefas. O JavaServer Faces (JSF 2.0) está contido no pacote JEE 6, possuindo uma estrutura de interface de usuário que facilita muito o desenvolvimento de aplicações web. CDI A injeção de dependências e contexto, conhecida como CDI, define um conjunto de serviços para o ambiente JEE, que faz aplicações muito mais simples de serem desenvolvidas. As classes gerenciadas pelo CDI são chamadas beans. Dessa forma, o CDI é a parte integrante do JEE 6 que fornece uma arquitetura dos componentes Java EE, tais como servlets, beans corporativos e JavaBeans. Assim, ele é o

responsável pela existência desses componentes dentro do ciclo de vida de um aplicativo com seus respectivos escopos bem definidos. Os serviços do CDI permitem que os componentes do JEE, como o JavaServer Faces (JSF) e os Managed Beans, sejam injetados e interajam de uma forma mais flexível no sistema, pois ele permite que os beans corporativos atuem como beans gerenciados em uma aplicação JSF. O CDI provê o suporte transacional para camada web, o que facilita o acesso de recursos transacionais nessas aplicações. Ele também facilita a construção de uma aplicação JEE que acessa um banco de dados com persistência e que é fornecido pelo Java Persistence API. O framework em questão é também um padrão de injeção de dependências baseado em anotações. Ele é extremamente sofisticado neste sentido e facilita muito a testabilidade da sua aplicação fora do container, além de contar com extensões portáveis disponíveis para uso. No CDI, temos a possibilidade de injetar classes ou interfaces em outras classes Java. JSF JavaServer Faces (JSF) é um framework que possui uma estrutura de interface de usuário (UI ) para aplicativos Java Web. O JSF adota o modelo de desenvolvimento MVC (Model - View - Controller), o qual é atualmente o modelo de desenvolvimento considerado como padrão pela Engenharia de Software, uma vez que trabalha com três camadas físicas bem definidas, isto é, atua separando as camadas de controle, de lógica de negócio e de interface do usuário, permitindo desenvolver, testar e editar separadamente cada parte da aplicação. [JSF12] Atualmente, o JSF é considerado por muitos profissionais da área uma das melhores ferramentas de desenvolvimento de aplicações web, pois ela facilita significativamente a tarefa de escrever e construir os sistemas web. Em adição a isto, ele simplifica a construção de interfaces de usuário a partir de um conjunto de componentes reutilizáveis, torna mais acessível a migração dos dados da interface do usuário para os dados da aplicação, ajuda no gerenciamento do estado da interface do usuário através das solicitações do servidor e oferece um modelo simples de conectar os eventos gerados pela camada cliente ao código da aplicação. O JSF também permite a construção e personalização de componentes de interface de usuários de uma forma muito simples e reutilizável. PrimeFaces PrimeFaces é um conjunto de componentes leve de código aberto para JavaServer Faces 2.0 com mais de cem conjuntos de componentes JSF. É uma das bibliotecas de interface do usuário mais populares no universo Java e amplamente utilizado por empresas de software do mundo, empresas de marcas de renome, bancos, instituições financeiras, seguradoras, universidades e diversas outras organizações de grande porte. [PRIME12] É um framework que disponibiliza considerável documentação por meio de um guia de usuário com mais de 400 páginas sobre a ferramenta, além de contar com uma vasta comunidade, que proporciona um grande material disponível em fóruns de desenvolvimento e debate. Além disso, ele também oferece um kit de interface do usuário para o desenvolvimento de aplicações web móvel. PrimaFace Mobile

PrimeFaces Mobile é um framework de interfaces que serve para criar aplicações JavaServer Faces destinadas para dispositivos móveis. Dentre suas principais características, destacam-se: roda em cima do jquery Mobile; possui extensões do PrimeFaces; e funciona em diversas plataformas, tais como iphone, Android, Palm, Blackberry, Windows Mobile, entre outras. [PRIME12] jquery Mobile jquery Mobile é um framework para desenvolvimento web, otimizado para interação touch. Destinado à criação de aplicações web para smartphones e tablets. Seu desenvolvimento visa fornecer mecanismos capazes de criar sistemas unificados de interface de usuário, baseados em HTML5 e CSS3 e capazes de serem funcionais em todas as plataformas móveis, tendo como base de construção as bibliotecas jquery e jquery UI. A plataforma jquery Mobile fornece diversos eventos personalizados, permitindo que aplicações web realize ações especificas quando são utilizados por navegadores e dispositivos móveis. Sua abordagem procura atingir a compatibilidade com o maior numera de plataformas móveis possíveis. Hibernate O Hibernate é um framework de mapeamento objeto/relacional para Java. Ele transforma os dados tabulares de um banco de dados em um grafo de objetos definido pelo desenvolvedor. Usando o Hibernate, o desenvolvedor evita escrever muito do código de acesso ao banco de dados e do SQL que ele escreveria caso não utilizasse a ferramenta, acelerando a velocidade do seu desenvolvimento em níveis consideráveis. [HIBE12] Android É um sistema operacional criado pela Google e desenvolvido para dispositivos móveis (smartphone e tablet). Utiliza uma versão modificada do kernel do Linux, o que o torna um sistema muito estável e seguro. Suas aplicações são desenvolvidas na linguagem Java. Além do mais, possui uma grande comunidade, que proporciona um vasto conteúdo em discussões e fóruns de desenvolvimento, possuindo também sua documentação no site oficial. [ANDRO12] Android é um dos sistemas operacionais para smartphone que apresenta o maior crescimento nos últimos tempos. Ele possui um ótimo suporte para os desenvolvedores, pois a Google disponibiliza seu SDK - Software Development Kit -, isto é, ela oferece o kit completo de desenvolvimento do sistema: suas bibliotecas, seus depuradores e seus emuladores. Uma característica relevante do kit SDK do Android é a de que ele pode ser facilmente integrado com algumas IDE s, como o Eclipse. Eclipse O Eclipse é uma ferramenta de desenvolvimento que possui um conjunto de funcionalidades embutidas, que prove um modo mais fácil, pratico e iterativos de construir e manipular seu projeto. È um ambiente muito popular no desenvolvimento de aplicações Java. No Eclipse temos ferramentas como um editor de texto com facilitadores que agilizam a

escrita do código, também conta com compilador, editor gráfico para ajudar na criação das interfaces. Através do uso dessa ferramenta popular e gratuita, junto com o uso de plugins destinados ao desenvolvimento web, o estudante terá em mãos uma poderosa IDE para desenvolver os seus sistemas. [ECL12] 3 Metodologia Para elaboração da solução proposta no trabalho de conclusão de curso estão sendo utilizados sites de desenvolvimento, fóruns de discussões, especificações disponibilizados pelos sites oficiais dos frameworks trabalhados, alguns livros das tecnologias Java sugeridos nas pesquisas. MVC O MVC (Model-view-controller) é um padrão de arquitetura de software. Com a grande complexidade das aplicações tornou-se fundamental adotar uma metodologia que nos forneça uma estrutura organizada. Por este motivo é fundamental a separação entre os dados (Model) e o layout (View). Desta forma, alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout. O framework MVC inclui os seguintes componentes: Modelo - Objetos da camada modelo são as partes da aplicação que implementam a lógica de domínio de dados do aplicativo, esta camada contempla as regras de negocio da aplicação e a manipulação dos dados. View - A camada view são os componentes de interface do usuário (UI). Ela fica responsável pelas entradas e saídas das informações. Control - A camada Control refere-se aos controladores que são os componentes que lidam com a interação do usuário, o trabalho com o modelo e, finalmente, selecionar a fim de tornar essa exibe interface do usuário. Na figura 1, ilustra a comunicação das camadas do MVC. Figura 1: Comunicação das camadas do modelo MVC.

Em uma aplicação MVC, a camada de visão só exibe informações, o controlador manipula e responde à entrada do usuário e interação. Por exemplo, o controlador manipula seqüência de consulta de valores, e passa esses valores para o modelo, que por sua vez pode usar estes valores para consultar o banco de dados. O padrão MVC ajuda a criar aplicações que separam os diferentes aspectos da aplicação (entrada lógica, a lógica de negócio e lógica UI), enquanto fornece um acoplamento entre esses elementos. O padrão especifica onde cada tipo de lógica deve estar localizado na aplicação. A lógica da interface do usuário pertence a vista. Lógica de entrada pertence ao controlador. A lógica do negócio pertence ao modelo. Essa separação ajuda a gerenciar a complexidade, quando você cria um aplicativo, porque ele permite que você se concentrar em um aspecto da aplicação de cada vez. Por exemplo, você pode se concentrar na visão sem depender da lógica de negócios. O acoplamento entre as três camadas principais de uma aplicação MVC também promove o desenvolvimento paralelo. Por exemplo, um desenvolvedor pode trabalhar na camada de visualização (View), um segundo desenvolvedor pode trabalhar na lógica do controlador (Controler), e um desenvolvedor terceiro pode se concentrar na lógica de negócio no modelo (Model). 4 Conclusão Atualmente estamos tendo um grande crescimento no uso e na procura por dispositivos móveis, cada vez mais as pessoas querem ficar mais conectadas as tecnologias, acompanhando tudo de uma forma mais prática e rápida, também há um crescimento considerável nas empresas no desenvolvimento de aplicações mobile. Os dispositivos móveis estão chegando ao mercado com um valor bem acessível, o que favorece o crescimento deste mercado. Então é de grande relevância que o desenvolvimento de sistemas consiga unir e facilitar a construção das aplicações nestes ambientes de forma mais reutilizável possível, pois isto traz um grande beneficio em todas as partes envolvidas, construindo aplicações que suportem diversos ambientes com o mínimo de esforço no seu desenvolvimento. Acompanhar as tendências do mercado, se preocupando em agilizar a construção de aplicações que já pensem no suporte de mais de um ambiente, e principalmente algo que vem tomando conta do mercado de uma forma muito rápida. 6 Referencia Bibliográfica [PRIME12] PrimeFaces. On-line. Capturado em setembro de 2012. Disponível na Internet em: http://www.primefaces.org. [ANDRO12] Android. On-line. Capturado em setembro de 2012. Disponível na Internet em: http://www.android.com/. [MVC12] MVC. On-line. Capturado em agosto de 2012. Disponível na Internet em: http://www.oracle.com/technetwork/java/mvc-140477.html. [JSF12] JSF. On-line. Capturado em agosto de 2012. Disponível na Internet em: http://java.sun.com/javaee/javaserverfaces/. [HIBE12] Hibernate. On-line. Capturado em agosto de 2012. Disponível na Internet em: http://www.hibernate.org/7.htm. [ECL12] ECLIPSE. On-line. Capturado em agosto de 2012. Disponível por: http://www.eclipse.org/.

[NET12] JEE. On-line. Capturado em setembro de 2012. Disponivel por: http://netbeans.org/kb/trails/java-ee_pt_br.html. BASHAM, Bryan, Kathy Sierra & Bert Bates. Use A Cabeça! Servlets & JSP. Editora O'Reilly. MANN, Kito D. JavaServer Faces in Action. Editora Manning Publications.