SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Grails Framework - 4 anos e vários sistemas
Marcos Vinicius Fidelis
Analista de Informática – Universidade Estadual de Ponta Grossa
Professor – Universidade Tecnológica Federal do Paraná
fidelis@utfpr.edu.br - mvfidelis@uepg.br
1
Agenda
●

Apresentação

●

Dados do sistema

●

Sistemas Legados

●

Contribuição

●

Grails

●

Para refletir...

●

O que já fizemos?

●

–

SGA e outros sistemas

Relevância para o
interesse público

●

Relatórios

●

Equipe

●

Interface

●

Mais informações ...

●

BD

●

Encerramento

2
Universidade Estadual de Ponta Grossa
A Universidade Estadual de Ponta Grossa (UEPG) é uma
instituição pública de ensino superior mantida pelo Governo do
Estado do Paraná, com sede em Ponta Grossa fundada em 1969
pela fusão de várias faculdades. A UEPG oferta atualmente 44
cursos de graduação, além da pós-graduação.

www.uepg.br

O Estado do Paraná possui leis estaduais específicas que
incentivam a utilização: Lei 14.058/2003, Lei 14.195/2003 e a Lei
15.742/2007.
Desde 2006 o Centro de Processamento de Dados (CPD)
pesquisa e incentiva soluções baseadas em Software Livre.
O CPD é Responsável pelos sistemas administrativos da
universidade.

O Núcleo de Tecnologia e Educação Aberta e a Distância da UEPG
(NUTEAD), é um Órgão Suplementar diretamente vinculado a Reitoria,
que fornece suporte para todos os cursos e programas semipresenciais e a
distância existentes na UEPG
www.nutead.org

Responsável pela parte pedagógica do Ensino à Distância.
3
Universidade Tecnológica Federal do Paraná
A Universidade Tecnológica Federal do Paraná (UTFPR) é a
primeira assim denominada no Brasil e, por isso, tem uma
história um pouco diferente das outras universidades. A
Instituição não foi criada e, sim, transformada a partir do
Centro Federal de Educação Tecnológica do Paraná (CefetPR). Como a origem deste centro é a Escola de Aprendizes
Artífices, fundada em 1909, a UTFPR herdou uma longa e
expressiva trajetória na educação profissional.
http://dainf.pg.utfpr.edu.br

A UTFPR é constituída por doze câmpus, localizados
em: Apucarana, Campo Mourão, Cornélio Procópio,
Curitiba, Dois Vizinhos, Francisco Beltrão,
Guarapuava, Londrina, Medianeira, Pato Branco, Ponta
Grossa e Toledo, todos no Estado do Paraná.

O DAINF (Departamento Acadêmico de Informática) tem três cursos na UTFPR - Câmpus
Ponta Grossa: Técnico em Informática (modalidade EaD), Tecnologia em Análise e
Desenvolvimento de Sistemas e Bacharelado em Ciência da Computação.
4
Sistemas Legados
●

●

Mas o que é um sistema legado? Alguns dizem que é um sistema antigo,
outros que é um sistema recebido de terceiros e há quem diga que é um
sistema que não pode ser alterado. Na verdade, não existe uma definição
única do que é um sistema legado, mas existe um conjunto de indicadores
que devemos analisar.
Motivos
–

Tempo de vida

–

Utilidade

–

Tecnologia e Hardware obsoletos

–

Dificuldade de manutenção

–

Documentação

5
Problemas comuns em projetos
●

●

●

●

Em geral se perde muito tempo para configurar
ambientes de programação
Gasta-se muito tempo para aprender uma
linguagem de programação nova
É difícil disciplinar o processo de
desenvolvimento
Leva-se muito tempo no desenvolvimento de
cadastros.

6
Grails
●

●

●

●

O principal objetivo do Grails é ser um framework web de alta produtividade para
a plataforma Java.
Para isso ele utiliza tecnologias consideradas maduras do mundo Java, como os
frameworks Hibernate e Spring, através de uma interface que busca ser simples e
consistente. Isola o desenvolvedor dos detalhes complexos da persistência de
dados e incorpora o padrão de desenvolvimento MVC de maneira natural.
Ele também fornece templates web para fácil implementação da interface com o
usuário e suporte para programação em Ajax.
Lançado em mar/2006

7
Características
●

É guiado pelas práticas
–

CoC (convention over configuration) e
●
●
●

–

DRY (don't repeat yourself);
●
●
●

–

Programar seguindo as convenções do framework
Se não quiser configurar nada, siga o que foi convencionado
As convenções definem o padrão de funcionamento do framework
Boa parte do trabalho de desenvolvimento é repetitiva
Deixe por conta do framework
O código fica mais enxuto e limpo.

É full stack, após instalado vem com todos os componentes para
iniciar o trabalho funcionando. É construído sobre tecnologias
maduras como: Groovy, ANT, Log4J, Sitemesh, Spring Framework
e Hibernate, entre outras;

●

8
Arquitetura Grails

9
Por que Grails?
●

Dispõe de ampla variedade de plugins (já implementados e
testados) para a realização das mais diferentes tarefas;

●

É compatível com a especificação JEE;

●

Permite a migração incremental de outras aplicações “legado”;

●

Dispõe de scaffolding dinâmico ou estático para operações
CRUD (Create, Read, Update and Delete);
–

É uma evolução dos antigos geradores de código, uma
técnica suportada por frameworks MVC.

–

Com apenas alguns comandos é gerado todo o CRUD

10
Na prática ...
●

Em questão de minutos você cria toda a
estrutura de banco de dados, as telas HTML e
CSS, tudo já funcionando.

Foco na Produtividade do Desenvolvedor
11
Diretórios de uma aplicação
●

grails-app - diretório base para os artefatos Grails
–

conf – possui os arquivos de configuração da aplicação

–

controllers - web controllers (C) – tratam de requisições
web

–

domain - classes de domínio (M) – classes onde serão
mapeados os objetos e propriedades do mundo OO para o
mundo relacional (tabelas x colunas)

–

services - camada de serviço

–

views - .jsp, .gsp, .ftl (V) – mostram o retorno das
requisições do navegador

●

lib - bibliotecas de suporte (.jar)

●

src - classes Groovy e Java de suporte para a aplicação

●

scripts - Gant scripts

●

test - testes unitários e integrados

12
Exemplo de uma classe de domínio
class Livro {
String titulo
String autor
String descricao
Date dataPublicacao
static hasMany = [comentarios: Comentario]
static constraints = {
titulo nullable: false, blank: false, size: 1..1024
autor nullable: false, blank: false, size: 2..255
descricao nullable:true, blank: true, maxSize: 1000000
dataPublicacao nullable: true
}
}
13
O que já fizemos?
●

●

A utilização de Grails começou em 2009
Desafio: projetar e implementar um novo sistema de
gestão acadêmica para a UEPG
–

Problemas?
●

–

Falta de recursos para investimentos em TI, falta de mão de
obra, investe-se em HW e não em SW, e etc.

Alguma instituição pública tem problemas parecidos?

14
SGA-Sistema de Gestão Acadêmica
●

●

●

●

O SGA constitui o conjunto de ferramentas que atendem todo o
controle administrativo da atividade acadêmica dos alunos dos
cursos de graduação presenciais e à distância.
É o primeiro dos grandes sistemas da UEPG 100% WEB.
Gerencia desde as chamadas do vestibular até a emissão do Diploma
de Graduação.
É composto basicamente pelos módulos: Acadêmico, Professoronline, Acadêmico-online, Calouro, Vestibular e Registro de
Diplomas, além de uma interface especializada para relatórios.

15
Outros sistemas
●

Acadêmico online

●

Professor online

●

Sistema acadêmico – (Módulo administrativo principal)

●

Espaço Físico

●

Registro de Diplomas

●

Sistema de Seguros

●

Sistema de Isenção do Vestibular

●

Sistema de Chamadas do Vestibular

●

Sistema de Matrícula

●

Sistema de Currículos
16
Difícil falar em sistemas sem falar em
relatórios ...
●

Diário de classe completo e online

●

Certidões de matrícula, de registro, de conclusão, etc.

●

Várias opções de Histórico Escolar e de visualizações de rendimento acadêmico

●

Emissão do Diploma

●

Extrato de Matrícula

●

Visualização de currículos

●

Ocupação de salas

●

Professores/turmas/horários

●

Perfil de matrícula (regime seriado anual)

●

Protocolos diversos

●

Plano de matrícula

●

Relatórios de visualização de cadastros

●

Entre outros
17
E para relatórios?

Este foi outro ponto onde
tivemos que melhorar a
produtividade da equipe.

18
O complemento é JasperReports!
O JasperReports é um framework para a geração de
relatórios. É uma ferramenta totalmente open source
e gratuita, e a mais utilizada com esse propósito
atualmente.
Funcionalidades:
● exporta
relatórios para diversos formatos
diferentes, tais como PDF, HTML, XML, XLS,
etc.
● aceita diversas formas de entrada de dados, tais
como um arquivo XML ou CSV, conexão com o
banco de dados, uma sessão do Hibernate, uma
coleção de objetos em memória, etc.
● permite o uso de diagramas, gráficos e códigos de
barras.
● recursos como crosstab, subreports, gráficos e
tabelas
19
IDE: iReport
O iReport é um aplicativo gráfico, que permite que você “desenhe”
um relatório, utilizando uma palheta, e arrastando e soltando
componentes, de forma bem parecida com a criação de interfaces e
janelas para programas. Ao salvar, automaticamente será gerado um
JRXML que você poderá utilizar na aplicação que estiver
desenvolvendo. A vantagem é que não é necessário que você conheça
a fundo o XML a ser editado, economizando tempo de
desenvolvimento. Ele também traz um conjunto pronto de templates
que você já pode utilizar diretamente, ou então, escrever seus
próprios templates e reaproveitá-los sempre que precisar criar um
novo tipo de relatório.

20
Interface do usuário
Report Designer

JasperServer Library

Elements palette
Formatting tools

Report Inspector

Property sheet

Styles library
Problems list

21
Seções de um relatório
Um relatório JasperReport é dividido nas seções:
1. Title: como o nome o indica, esta seção contém o título do relatório;
2. Page Header: esta seção aparece no topo de cada página (como esperado).
É um bom lugar para colocar datas, numeração de páginas, etc.;
3. Column Header: esta seção aparece no topo de cada coluna;
4. Detail: nesta área serão colocadas as informações para cada item de registro.
O JasperReports gera uma seção de detalhe para todo e cada registro
processado;
5. Column Footer: esta seção aparece ao final de cada coluna;
6. Page Footer: esta seção aparece ao final de cada página;
7. Last Page Footer: esta seção aparece ao final da última página;
8. Summary: esta seção aparece ao término do relatório, logo após o último
registro.
22
Um relatório

23
A interface dos sistemas

24
Tela inicial

25
SISACAD-Listagem de acadêmicos

26
SISACAD-Listagem de departamentos

27
SISACAD-Visualização de departamentos

Hiperlink para o cadastro de setores

28
SISACAD-Edição de departamentos

29
SISACAD-Outro cadastro

Parecido com os outros cadastros?
Sim.

30
Professor online

31
Visualização de lançamentos Diário de Classe

32
Diário de classe

Este programa não é gerado automaticamente.
Tem que programar também.

33
Academico online 1

34
Academico online 2

35
Academico online 3

36
Academico online 4

37
Academico online 5

38
Academico online 6

39
Visualização dos relatórios

Como controlar a segurança no acesso aos relatórios?

40
OpenReports
●

●

●

●

É um front-end para JasperReports
Oferece várias funcionalidades que você teria que programar para
executar relatórios na WEB (usuários, senhas e grupos de relatórios)
Você define os usuários que executam cada relatório e pode
adicionar parâmetros que serão atribuídos a um relatório
Permite exportar um relatório para um arquivo PDF, HTML, CSV,
XLS ou PNG

●

Definição de parâmetros como queries, obrigatório/opcional, datas

●

Log de relatórios, scheduling

●

Open Source / customizável

41
OpenReports 1

42
OpenReports 2 - Grupos

43
OpenReports 3 - Relatórios

44
OpenReports 4 - Argumentos

45
E o Banco de Dados?
●

Utilização intensa de
–

Constraints

–

Views

–

User defined functions (UDF)

–

Stored Procedures

–

Triggers

Lógica do Negócio no BD
46
Volume armazenado
Cadastro

em 2012

Total (até jun/2013)

12.691 (2.032)

54.148

Cursos

44

75

Currículos

59

440

Departamentos

37

40

Disciplinas

1.939

4.674

Turmas

6.400

76.333

Acadêmicos x turmas

119.689

1.447.582

Acadêmico x nota

306.441

4.924.059

Campi presenciais e a distância

13

53

Professores

893

2.789

Acadêmicos

●

Em 2012 foram 44 coordenadores de curso que fiscalizam a atividade de 893 docentes,
acompanhando o rendimento de 12.691 discentes em 6.400 turmas em 13 campi
47
Outros dados do sistema
●

Mais de 270 cadastros utilizando Grails, onde as principais operações (incluir, alterar, excluir e
consultar) foram construídas automaticamente, ou seja, sem elaboração de programas por
programadores. A quantidade de cadastros se justifica, pois toda a informação/decisão realizada pelo
sistema vem de informações cadastradas no BD.

●

Mais de 450 arquivos de relatórios (utilizando JasperReports).

●

Perfil dos usuários em 2012
–

Navegadores utilizados
●

●

IE-29%

●

Firefox-26%

●

–

Chrome-41%

Outros-4% (Android 0,47%)

Sistema Operacional
●

Windows-95%

●

Linux-3%

●

Outros-2%

48
Contribuição
●

●

A informatização na área acadêmica não é novidade, mas a utilização de
frameworks e a abordagem do projeto do sistema foi o que garantiu a
velocidade necessária na construção do sistema.

A utilização de frameworks de desenvolvimento de software ainda é pouco
difundida em empresas privadas e principalmente no setor público pela
ausência de investimentos em Tecnologia da Informação. Um exemplo
brasileiro que demonstra a importância do tema é o Framework Demoiselle
do SERPRO

49
Para refletir...
●

Frameworks não são bala de prata
–

Sempre existe código para ser desenvolvido

–

Reforçando: Não se desenvolve o sistema inteiro com scaffolding

–

Conhecimento de linguagem de programação (pelos programadores) é
essencial

–

Conhecer a plataforma java é obrigatório

–

Use a ferramenta certa para cada tarefa – o desafio é o equilíbrio entre o
que desenvolver com cada ferramenta

–

Conhecer banco de dados e programação em BD facilita muito o
trabalho com frameworks

–

Característica deste projeto foi utilizar frameworks como camada de
apresentação (jasperReports) e acesso (Grails) de dados
50
Relevância para o interesse público
●

●

●

O atendimento às leis estaduais de incentivo ao SL e as próprias
diretrizes do Governo Federal são o principal aspecto desta
participação. Embora as políticas governamentais na área sejam
dinâmicas, o SL é indissociável da Administração Pública mesmo
que se considere apenas a economia com licenças de software,
sem levar em conta outras economias e vantagens.
A UEPG também é uma das maiores beneficiárias deste trabalho,
pois incrementou e modernizou o Processo de Desenvolvimento de
Software com baixo investimento. Aumentou a disponibilidade do
sistema que no caso do legado era em um número reduzido de
máquinas, e atualmente em qualquer equipamento ligado a
internet. A UEPG possui polos de ensino a distância em 13 cidades,
inclusive no estado de Santa Catarina.
E a comunidade universitária que consulta e altera dados
atualizados.
51
Relevância para o interesse público
Outros benefícios:
●

●

●

●

●

●

Produtividade e Qualidade. Um das principais diretrizes do projeto foi a busca e utilização de
ferramentas de desenvolvimento que estimulassem a produtividade e garantissem a qualidade dos
sistemas.
Padronizar para facilitar a manutenção. A padronização contribuiu nas tarefas de manutenção de
software.
Atualidade e sintonia com o mercado. Uma universidade que possui cursos de informática dispõe de
recursos humanos para construção de software, mas a baixa remuneração provoca uma alta
rotatividade nas equipes. Logo, não se dispõe de muito tempo para treinamento, e a utilização de
tecnologias ultrapassadas desmotiva qualquer equipe. Para contornar este problema foi necessária
a adoção de tecnologias ágeis de desenvolvimento com curvas de aprendizado menores.
Disponibilidade através da web com segurança. É cada vez maior a exigência por parte dos
usuários de que os sistemas sejam disponíveis pela internet. O desafio é a escolha de linguagens e
ferramentas que garantam o desenvolvimento de sistemas WEB seguros e protegidos de práticas
como “injeção de código externo” entre outras. Os frameworks utilizados fornecem estas garantias.
Bom e amplo projeto de Banco de Dados se tornou fundamental.
Executou a migração de um sistema legado obsoleto, para um sistema 100% WEB e com inúmeros
novos recursos.
52
Novos projetos
●

Matrícula Online (jan/2014)
–

●

●

Maior dificuldade = sistema seriado anual

Atualizar a interface de relatórios (OpenReports está com o projeto
estacionado pelo desenvolvedor) - JasperServer
Modernização da interface do sistema (visual) preservando os
benefícios de frameworks (em andamento)

●

Desenvolvimento para smartphones/tablets

●

Migração para um SGBD opensource

●

Estágio Online (atualmente em PHP)

53
Mudando a interface

54
Equipe
●

Coordenador
–

●

Analista de Informática
–

●

Marcelo Pontes

Programadores
–

●

Marcos Vinicius Fidelis

Evandro Raphaell Gura, Emanoély Fernanda Gura, Eunelson José
da Silva Júnior, Everton Rodrigo Horn, Fábio Stankievicz,
Fernando Luiz Wottrich, Iohan Gomes Pierdoná, Jessyca Kawana
Franquitto, Larissa Lourenço Nunes Benck, Michael Julian Bereza

Analistas de Informática colaboradores
–

Adriane Teresinha Caxambu, Carlos Alberto Volpi, Jonathan de
Matos, Luiz Gustavo Barros, Sandro Teixeira
55
Onde conseguir mais informações?
●

http://grails.org/

●

http://www.grailsbrasil.com.br/

●

https://twitter.com/grails_brasil

●

http://www.itexto.net/devkico/?page_id=220
–

Instalação, groovy, desenvolvimento de uma aplicação

–

Groovy: o Java que eu sempre quis

●

http://blog.aracomp.com.br/2010_09_01_archive.html

●

Youtube, etc.
–

●

Desenvolvendo uma aplicação em minutos.

Visite a UEPG para ver nossos sistemas em funcionamento.

56
Contato
Obrigado a todos!
Marcos Vinicius Fidelis
mvfidelis@uepg.br - fidelis@utfpr.edu.br

57

Contenu connexe

En vedette

Web 2.0: tra Fortezza Bastiani e Facebook. Il caso Italia
Web 2.0: tra Fortezza Bastiani e Facebook. Il caso ItaliaWeb 2.0: tra Fortezza Bastiani e Facebook. Il caso Italia
Web 2.0: tra Fortezza Bastiani e Facebook. Il caso Italiaeziotarantino
 
Enlaces diana luna
Enlaces diana lunaEnlaces diana luna
Enlaces diana lunatataluna
 
S O B R E L A E D U C A C IÓ N I
S O B R E  L A  E D U C A C IÓ N  IS O B R E  L A  E D U C A C IÓ N  I
S O B R E L A E D U C A C IÓ N ISabersinfin Portal
 
ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA “JOBS”
ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA  “JOBS”ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA  “JOBS”
ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA “JOBS”Julian Luque
 
Ambientes Virtuales de Aprendizaje
Ambientes Virtuales de AprendizajeAmbientes Virtuales de Aprendizaje
Ambientes Virtuales de AprendizajeJanez Suarez
 
ελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 d
ελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 dελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 d
ελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 dkastritsilykeio
 
Tipos De Cdjs Cirilo Cabos
Tipos De Cdjs   Cirilo CabosTipos De Cdjs   Cirilo Cabos
Tipos De Cdjs Cirilo CabosCirilo Cabos
 
Portafolio empresa Télécommunications France
Portafolio empresa Télécommunications FrancePortafolio empresa Télécommunications France
Portafolio empresa Télécommunications Franceleandro castro
 
Building APIs with Kotlin and Spark
Building APIs with Kotlin and SparkBuilding APIs with Kotlin and Spark
Building APIs with Kotlin and SparkNordic APIs
 
Presentación conectar igualdad
Presentación conectar igualdadPresentación conectar igualdad
Presentación conectar igualdadUTN
 

En vedette (20)

Web 2.0: tra Fortezza Bastiani e Facebook. Il caso Italia
Web 2.0: tra Fortezza Bastiani e Facebook. Il caso ItaliaWeb 2.0: tra Fortezza Bastiani e Facebook. Il caso Italia
Web 2.0: tra Fortezza Bastiani e Facebook. Il caso Italia
 
Enlaces diana luna
Enlaces diana lunaEnlaces diana luna
Enlaces diana luna
 
Publicidad y juguetes
Publicidad y juguetesPublicidad y juguetes
Publicidad y juguetes
 
S O B R E L A E D U C A C IÓ N I
S O B R E  L A  E D U C A C IÓ N  IS O B R E  L A  E D U C A C IÓ N  I
S O B R E L A E D U C A C IÓ N I
 
ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA “JOBS”
ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA  “JOBS”ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA  “JOBS”
ACTIVIDAD PROMOCIONAL PARA LA PELÍCULA “JOBS”
 
Ambientes Virtuales de Aprendizaje
Ambientes Virtuales de AprendizajeAmbientes Virtuales de Aprendizaje
Ambientes Virtuales de Aprendizaje
 
ελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 d
ελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 dελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 d
ελλαδα – αθηνα 1896..... βραζιλια – ριο 2016 d
 
Opc tema 1
Opc  tema 1Opc  tema 1
Opc tema 1
 
Wegwijs in zedelgem_2015-infogids
Wegwijs in zedelgem_2015-infogidsWegwijs in zedelgem_2015-infogids
Wegwijs in zedelgem_2015-infogids
 
Tipos De Cdjs Cirilo Cabos
Tipos De Cdjs   Cirilo CabosTipos De Cdjs   Cirilo Cabos
Tipos De Cdjs Cirilo Cabos
 
Sobre La EducacióN I I I
Sobre La  EducacióN  I I ISobre La  EducacióN  I I I
Sobre La EducacióN I I I
 
Dibus
DibusDibus
Dibus
 
Brief Publicitario
Brief PublicitarioBrief Publicitario
Brief Publicitario
 
Portafolio empresa Télécommunications France
Portafolio empresa Télécommunications FrancePortafolio empresa Télécommunications France
Portafolio empresa Télécommunications France
 
Pocket enero 2015
Pocket enero 2015Pocket enero 2015
Pocket enero 2015
 
Ciudad en llamas
Ciudad en llamasCiudad en llamas
Ciudad en llamas
 
Fotomecanica
FotomecanicaFotomecanica
Fotomecanica
 
Building APIs with Kotlin and Spark
Building APIs with Kotlin and SparkBuilding APIs with Kotlin and Spark
Building APIs with Kotlin and Spark
 
Presentación conectar igualdad
Presentación conectar igualdadPresentación conectar igualdad
Presentación conectar igualdad
 
KITAB SI SHU AGAMA KHONGHUCU
KITAB SI SHU AGAMA KHONGHUCUKITAB SI SHU AGAMA KHONGHUCU
KITAB SI SHU AGAMA KHONGHUCU
 

Similaire à Grails latinoware

Apresentação da disciplina Fundamentos da Computação
Apresentação da disciplina Fundamentos da ComputaçãoApresentação da disciplina Fundamentos da Computação
Apresentação da disciplina Fundamentos da ComputaçãoKalil Araujo Bispo
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Urique Hoffmann
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Jackson Meires
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Ambiente Livre
 
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoAmbiente Livre
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivreAmbiente Livre
 
Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...
Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...
Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...Wildtech
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3spawally
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPPablo Dall'Oglio
 
A expansão do PHP no governo brasileiro
A expansão do PHP no governo brasileiroA expansão do PHP no governo brasileiro
A expansão do PHP no governo brasileiroFlávio Lisboa
 
Pre proposta trabalho final
Pre proposta trabalho finalPre proposta trabalho final
Pre proposta trabalho finalSergio Chaves
 
Tópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxTópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxJadna Almeida
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...Thiago Dieb
 
Ciclo de Palestras E&P 27.6 - Software Primavera
Ciclo de Palestras E&P 27.6 - Software PrimaveraCiclo de Palestras E&P 27.6 - Software Primavera
Ciclo de Palestras E&P 27.6 - Software PrimaveraLabCEO UFF
 

Similaire à Grails latinoware (20)

Apresentação da disciplina Fundamentos da Computação
Apresentação da disciplina Fundamentos da ComputaçãoApresentação da disciplina Fundamentos da Computação
Apresentação da disciplina Fundamentos da Computação
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
 
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
 
Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...
Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...
Implementação de um módulo de gestão de projetos baseado em Scrum para o Expr...
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHP
 
A expansão do PHP no governo brasileiro
A expansão do PHP no governo brasileiroA expansão do PHP no governo brasileiro
A expansão do PHP no governo brasileiro
 
Pentaho Weka latinoware
Pentaho Weka latinowarePentaho Weka latinoware
Pentaho Weka latinoware
 
Pre proposta trabalho final
Pre proposta trabalho finalPre proposta trabalho final
Pre proposta trabalho final
 
Tópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxTópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptx
 
Sistemas_Operacionais_web.pdf
Sistemas_Operacionais_web.pdfSistemas_Operacionais_web.pdf
Sistemas_Operacionais_web.pdf
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
 
Ciclo de Palestras E&P 27.6 - Software Primavera
Ciclo de Palestras E&P 27.6 - Software PrimaveraCiclo de Palestras E&P 27.6 - Software Primavera
Ciclo de Palestras E&P 27.6 - Software Primavera
 
Lecture 2 :: Planejamento do Projeto de SW
Lecture 2 :: Planejamento do Projeto de SWLecture 2 :: Planejamento do Projeto de SW
Lecture 2 :: Planejamento do Projeto de SW
 

Grails latinoware

  • 1. Grails Framework - 4 anos e vários sistemas Marcos Vinicius Fidelis Analista de Informática – Universidade Estadual de Ponta Grossa Professor – Universidade Tecnológica Federal do Paraná fidelis@utfpr.edu.br - mvfidelis@uepg.br 1
  • 2. Agenda ● Apresentação ● Dados do sistema ● Sistemas Legados ● Contribuição ● Grails ● Para refletir... ● O que já fizemos? ● – SGA e outros sistemas Relevância para o interesse público ● Relatórios ● Equipe ● Interface ● Mais informações ... ● BD ● Encerramento 2
  • 3. Universidade Estadual de Ponta Grossa A Universidade Estadual de Ponta Grossa (UEPG) é uma instituição pública de ensino superior mantida pelo Governo do Estado do Paraná, com sede em Ponta Grossa fundada em 1969 pela fusão de várias faculdades. A UEPG oferta atualmente 44 cursos de graduação, além da pós-graduação. www.uepg.br O Estado do Paraná possui leis estaduais específicas que incentivam a utilização: Lei 14.058/2003, Lei 14.195/2003 e a Lei 15.742/2007. Desde 2006 o Centro de Processamento de Dados (CPD) pesquisa e incentiva soluções baseadas em Software Livre. O CPD é Responsável pelos sistemas administrativos da universidade. O Núcleo de Tecnologia e Educação Aberta e a Distância da UEPG (NUTEAD), é um Órgão Suplementar diretamente vinculado a Reitoria, que fornece suporte para todos os cursos e programas semipresenciais e a distância existentes na UEPG www.nutead.org Responsável pela parte pedagógica do Ensino à Distância. 3
  • 4. Universidade Tecnológica Federal do Paraná A Universidade Tecnológica Federal do Paraná (UTFPR) é a primeira assim denominada no Brasil e, por isso, tem uma história um pouco diferente das outras universidades. A Instituição não foi criada e, sim, transformada a partir do Centro Federal de Educação Tecnológica do Paraná (CefetPR). Como a origem deste centro é a Escola de Aprendizes Artífices, fundada em 1909, a UTFPR herdou uma longa e expressiva trajetória na educação profissional. http://dainf.pg.utfpr.edu.br A UTFPR é constituída por doze câmpus, localizados em: Apucarana, Campo Mourão, Cornélio Procópio, Curitiba, Dois Vizinhos, Francisco Beltrão, Guarapuava, Londrina, Medianeira, Pato Branco, Ponta Grossa e Toledo, todos no Estado do Paraná. O DAINF (Departamento Acadêmico de Informática) tem três cursos na UTFPR - Câmpus Ponta Grossa: Técnico em Informática (modalidade EaD), Tecnologia em Análise e Desenvolvimento de Sistemas e Bacharelado em Ciência da Computação. 4
  • 5. Sistemas Legados ● ● Mas o que é um sistema legado? Alguns dizem que é um sistema antigo, outros que é um sistema recebido de terceiros e há quem diga que é um sistema que não pode ser alterado. Na verdade, não existe uma definição única do que é um sistema legado, mas existe um conjunto de indicadores que devemos analisar. Motivos – Tempo de vida – Utilidade – Tecnologia e Hardware obsoletos – Dificuldade de manutenção – Documentação 5
  • 6. Problemas comuns em projetos ● ● ● ● Em geral se perde muito tempo para configurar ambientes de programação Gasta-se muito tempo para aprender uma linguagem de programação nova É difícil disciplinar o processo de desenvolvimento Leva-se muito tempo no desenvolvimento de cadastros. 6
  • 7. Grails ● ● ● ● O principal objetivo do Grails é ser um framework web de alta produtividade para a plataforma Java. Para isso ele utiliza tecnologias consideradas maduras do mundo Java, como os frameworks Hibernate e Spring, através de uma interface que busca ser simples e consistente. Isola o desenvolvedor dos detalhes complexos da persistência de dados e incorpora o padrão de desenvolvimento MVC de maneira natural. Ele também fornece templates web para fácil implementação da interface com o usuário e suporte para programação em Ajax. Lançado em mar/2006 7
  • 8. Características ● É guiado pelas práticas – CoC (convention over configuration) e ● ● ● – DRY (don't repeat yourself); ● ● ● – Programar seguindo as convenções do framework Se não quiser configurar nada, siga o que foi convencionado As convenções definem o padrão de funcionamento do framework Boa parte do trabalho de desenvolvimento é repetitiva Deixe por conta do framework O código fica mais enxuto e limpo. É full stack, após instalado vem com todos os componentes para iniciar o trabalho funcionando. É construído sobre tecnologias maduras como: Groovy, ANT, Log4J, Sitemesh, Spring Framework e Hibernate, entre outras; ● 8
  • 10. Por que Grails? ● Dispõe de ampla variedade de plugins (já implementados e testados) para a realização das mais diferentes tarefas; ● É compatível com a especificação JEE; ● Permite a migração incremental de outras aplicações “legado”; ● Dispõe de scaffolding dinâmico ou estático para operações CRUD (Create, Read, Update and Delete); – É uma evolução dos antigos geradores de código, uma técnica suportada por frameworks MVC. – Com apenas alguns comandos é gerado todo o CRUD 10
  • 11. Na prática ... ● Em questão de minutos você cria toda a estrutura de banco de dados, as telas HTML e CSS, tudo já funcionando. Foco na Produtividade do Desenvolvedor 11
  • 12. Diretórios de uma aplicação ● grails-app - diretório base para os artefatos Grails – conf – possui os arquivos de configuração da aplicação – controllers - web controllers (C) – tratam de requisições web – domain - classes de domínio (M) – classes onde serão mapeados os objetos e propriedades do mundo OO para o mundo relacional (tabelas x colunas) – services - camada de serviço – views - .jsp, .gsp, .ftl (V) – mostram o retorno das requisições do navegador ● lib - bibliotecas de suporte (.jar) ● src - classes Groovy e Java de suporte para a aplicação ● scripts - Gant scripts ● test - testes unitários e integrados 12
  • 13. Exemplo de uma classe de domínio class Livro { String titulo String autor String descricao Date dataPublicacao static hasMany = [comentarios: Comentario] static constraints = { titulo nullable: false, blank: false, size: 1..1024 autor nullable: false, blank: false, size: 2..255 descricao nullable:true, blank: true, maxSize: 1000000 dataPublicacao nullable: true } } 13
  • 14. O que já fizemos? ● ● A utilização de Grails começou em 2009 Desafio: projetar e implementar um novo sistema de gestão acadêmica para a UEPG – Problemas? ● – Falta de recursos para investimentos em TI, falta de mão de obra, investe-se em HW e não em SW, e etc. Alguma instituição pública tem problemas parecidos? 14
  • 15. SGA-Sistema de Gestão Acadêmica ● ● ● ● O SGA constitui o conjunto de ferramentas que atendem todo o controle administrativo da atividade acadêmica dos alunos dos cursos de graduação presenciais e à distância. É o primeiro dos grandes sistemas da UEPG 100% WEB. Gerencia desde as chamadas do vestibular até a emissão do Diploma de Graduação. É composto basicamente pelos módulos: Acadêmico, Professoronline, Acadêmico-online, Calouro, Vestibular e Registro de Diplomas, além de uma interface especializada para relatórios. 15
  • 16. Outros sistemas ● Acadêmico online ● Professor online ● Sistema acadêmico – (Módulo administrativo principal) ● Espaço Físico ● Registro de Diplomas ● Sistema de Seguros ● Sistema de Isenção do Vestibular ● Sistema de Chamadas do Vestibular ● Sistema de Matrícula ● Sistema de Currículos 16
  • 17. Difícil falar em sistemas sem falar em relatórios ... ● Diário de classe completo e online ● Certidões de matrícula, de registro, de conclusão, etc. ● Várias opções de Histórico Escolar e de visualizações de rendimento acadêmico ● Emissão do Diploma ● Extrato de Matrícula ● Visualização de currículos ● Ocupação de salas ● Professores/turmas/horários ● Perfil de matrícula (regime seriado anual) ● Protocolos diversos ● Plano de matrícula ● Relatórios de visualização de cadastros ● Entre outros 17
  • 18. E para relatórios? Este foi outro ponto onde tivemos que melhorar a produtividade da equipe. 18
  • 19. O complemento é JasperReports! O JasperReports é um framework para a geração de relatórios. É uma ferramenta totalmente open source e gratuita, e a mais utilizada com esse propósito atualmente. Funcionalidades: ● exporta relatórios para diversos formatos diferentes, tais como PDF, HTML, XML, XLS, etc. ● aceita diversas formas de entrada de dados, tais como um arquivo XML ou CSV, conexão com o banco de dados, uma sessão do Hibernate, uma coleção de objetos em memória, etc. ● permite o uso de diagramas, gráficos e códigos de barras. ● recursos como crosstab, subreports, gráficos e tabelas 19
  • 20. IDE: iReport O iReport é um aplicativo gráfico, que permite que você “desenhe” um relatório, utilizando uma palheta, e arrastando e soltando componentes, de forma bem parecida com a criação de interfaces e janelas para programas. Ao salvar, automaticamente será gerado um JRXML que você poderá utilizar na aplicação que estiver desenvolvendo. A vantagem é que não é necessário que você conheça a fundo o XML a ser editado, economizando tempo de desenvolvimento. Ele também traz um conjunto pronto de templates que você já pode utilizar diretamente, ou então, escrever seus próprios templates e reaproveitá-los sempre que precisar criar um novo tipo de relatório. 20
  • 21. Interface do usuário Report Designer JasperServer Library Elements palette Formatting tools Report Inspector Property sheet Styles library Problems list 21
  • 22. Seções de um relatório Um relatório JasperReport é dividido nas seções: 1. Title: como o nome o indica, esta seção contém o título do relatório; 2. Page Header: esta seção aparece no topo de cada página (como esperado). É um bom lugar para colocar datas, numeração de páginas, etc.; 3. Column Header: esta seção aparece no topo de cada coluna; 4. Detail: nesta área serão colocadas as informações para cada item de registro. O JasperReports gera uma seção de detalhe para todo e cada registro processado; 5. Column Footer: esta seção aparece ao final de cada coluna; 6. Page Footer: esta seção aparece ao final de cada página; 7. Last Page Footer: esta seção aparece ao final da última página; 8. Summary: esta seção aparece ao término do relatório, logo após o último registro. 22
  • 24. A interface dos sistemas 24
  • 28. SISACAD-Visualização de departamentos Hiperlink para o cadastro de setores 28
  • 30. SISACAD-Outro cadastro Parecido com os outros cadastros? Sim. 30
  • 32. Visualização de lançamentos Diário de Classe 32
  • 33. Diário de classe Este programa não é gerado automaticamente. Tem que programar também. 33
  • 40. Visualização dos relatórios Como controlar a segurança no acesso aos relatórios? 40
  • 41. OpenReports ● ● ● ● É um front-end para JasperReports Oferece várias funcionalidades que você teria que programar para executar relatórios na WEB (usuários, senhas e grupos de relatórios) Você define os usuários que executam cada relatório e pode adicionar parâmetros que serão atribuídos a um relatório Permite exportar um relatório para um arquivo PDF, HTML, CSV, XLS ou PNG ● Definição de parâmetros como queries, obrigatório/opcional, datas ● Log de relatórios, scheduling ● Open Source / customizável 41
  • 43. OpenReports 2 - Grupos 43
  • 44. OpenReports 3 - Relatórios 44
  • 45. OpenReports 4 - Argumentos 45
  • 46. E o Banco de Dados? ● Utilização intensa de – Constraints – Views – User defined functions (UDF) – Stored Procedures – Triggers Lógica do Negócio no BD 46
  • 47. Volume armazenado Cadastro em 2012 Total (até jun/2013) 12.691 (2.032) 54.148 Cursos 44 75 Currículos 59 440 Departamentos 37 40 Disciplinas 1.939 4.674 Turmas 6.400 76.333 Acadêmicos x turmas 119.689 1.447.582 Acadêmico x nota 306.441 4.924.059 Campi presenciais e a distância 13 53 Professores 893 2.789 Acadêmicos ● Em 2012 foram 44 coordenadores de curso que fiscalizam a atividade de 893 docentes, acompanhando o rendimento de 12.691 discentes em 6.400 turmas em 13 campi 47
  • 48. Outros dados do sistema ● Mais de 270 cadastros utilizando Grails, onde as principais operações (incluir, alterar, excluir e consultar) foram construídas automaticamente, ou seja, sem elaboração de programas por programadores. A quantidade de cadastros se justifica, pois toda a informação/decisão realizada pelo sistema vem de informações cadastradas no BD. ● Mais de 450 arquivos de relatórios (utilizando JasperReports). ● Perfil dos usuários em 2012 – Navegadores utilizados ● ● IE-29% ● Firefox-26% ● – Chrome-41% Outros-4% (Android 0,47%) Sistema Operacional ● Windows-95% ● Linux-3% ● Outros-2% 48
  • 49. Contribuição ● ● A informatização na área acadêmica não é novidade, mas a utilização de frameworks e a abordagem do projeto do sistema foi o que garantiu a velocidade necessária na construção do sistema. A utilização de frameworks de desenvolvimento de software ainda é pouco difundida em empresas privadas e principalmente no setor público pela ausência de investimentos em Tecnologia da Informação. Um exemplo brasileiro que demonstra a importância do tema é o Framework Demoiselle do SERPRO 49
  • 50. Para refletir... ● Frameworks não são bala de prata – Sempre existe código para ser desenvolvido – Reforçando: Não se desenvolve o sistema inteiro com scaffolding – Conhecimento de linguagem de programação (pelos programadores) é essencial – Conhecer a plataforma java é obrigatório – Use a ferramenta certa para cada tarefa – o desafio é o equilíbrio entre o que desenvolver com cada ferramenta – Conhecer banco de dados e programação em BD facilita muito o trabalho com frameworks – Característica deste projeto foi utilizar frameworks como camada de apresentação (jasperReports) e acesso (Grails) de dados 50
  • 51. Relevância para o interesse público ● ● ● O atendimento às leis estaduais de incentivo ao SL e as próprias diretrizes do Governo Federal são o principal aspecto desta participação. Embora as políticas governamentais na área sejam dinâmicas, o SL é indissociável da Administração Pública mesmo que se considere apenas a economia com licenças de software, sem levar em conta outras economias e vantagens. A UEPG também é uma das maiores beneficiárias deste trabalho, pois incrementou e modernizou o Processo de Desenvolvimento de Software com baixo investimento. Aumentou a disponibilidade do sistema que no caso do legado era em um número reduzido de máquinas, e atualmente em qualquer equipamento ligado a internet. A UEPG possui polos de ensino a distância em 13 cidades, inclusive no estado de Santa Catarina. E a comunidade universitária que consulta e altera dados atualizados. 51
  • 52. Relevância para o interesse público Outros benefícios: ● ● ● ● ● ● Produtividade e Qualidade. Um das principais diretrizes do projeto foi a busca e utilização de ferramentas de desenvolvimento que estimulassem a produtividade e garantissem a qualidade dos sistemas. Padronizar para facilitar a manutenção. A padronização contribuiu nas tarefas de manutenção de software. Atualidade e sintonia com o mercado. Uma universidade que possui cursos de informática dispõe de recursos humanos para construção de software, mas a baixa remuneração provoca uma alta rotatividade nas equipes. Logo, não se dispõe de muito tempo para treinamento, e a utilização de tecnologias ultrapassadas desmotiva qualquer equipe. Para contornar este problema foi necessária a adoção de tecnologias ágeis de desenvolvimento com curvas de aprendizado menores. Disponibilidade através da web com segurança. É cada vez maior a exigência por parte dos usuários de que os sistemas sejam disponíveis pela internet. O desafio é a escolha de linguagens e ferramentas que garantam o desenvolvimento de sistemas WEB seguros e protegidos de práticas como “injeção de código externo” entre outras. Os frameworks utilizados fornecem estas garantias. Bom e amplo projeto de Banco de Dados se tornou fundamental. Executou a migração de um sistema legado obsoleto, para um sistema 100% WEB e com inúmeros novos recursos. 52
  • 53. Novos projetos ● Matrícula Online (jan/2014) – ● ● Maior dificuldade = sistema seriado anual Atualizar a interface de relatórios (OpenReports está com o projeto estacionado pelo desenvolvedor) - JasperServer Modernização da interface do sistema (visual) preservando os benefícios de frameworks (em andamento) ● Desenvolvimento para smartphones/tablets ● Migração para um SGBD opensource ● Estágio Online (atualmente em PHP) 53
  • 55. Equipe ● Coordenador – ● Analista de Informática – ● Marcelo Pontes Programadores – ● Marcos Vinicius Fidelis Evandro Raphaell Gura, Emanoély Fernanda Gura, Eunelson José da Silva Júnior, Everton Rodrigo Horn, Fábio Stankievicz, Fernando Luiz Wottrich, Iohan Gomes Pierdoná, Jessyca Kawana Franquitto, Larissa Lourenço Nunes Benck, Michael Julian Bereza Analistas de Informática colaboradores – Adriane Teresinha Caxambu, Carlos Alberto Volpi, Jonathan de Matos, Luiz Gustavo Barros, Sandro Teixeira 55
  • 56. Onde conseguir mais informações? ● http://grails.org/ ● http://www.grailsbrasil.com.br/ ● https://twitter.com/grails_brasil ● http://www.itexto.net/devkico/?page_id=220 – Instalação, groovy, desenvolvimento de uma aplicação – Groovy: o Java que eu sempre quis ● http://blog.aracomp.com.br/2010_09_01_archive.html ● Youtube, etc. – ● Desenvolvendo uma aplicação em minutos. Visite a UEPG para ver nossos sistemas em funcionamento. 56
  • 57. Contato Obrigado a todos! Marcos Vinicius Fidelis mvfidelis@uepg.br - fidelis@utfpr.edu.br 57

Notes de l'éditeur

  1. {}