• Nenhum resultado encontrado

DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT

N/A
N/A
Protected

Academic year: 2021

Share "DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT"

Copied!
30
0
0

Texto

(1)

Prof. Marcos Vinicius Fidelis

Universidade Tecnológica Federal do Paraná – Campus Ponta Grossa Universidade Estadual de Ponta Grossa

D

ESENVOLVIMENTO

DE

S

ISTEMAS

COM

(2)

R

OTEIRO

 O Legado

Algumas Diretrizes do Projeto  O Projeto

 Framework

 Grails

 Alguns números do novo sistema

 Outras considerações  iReport  Ambiente do iReport  OpenReports  Vitórias  Novos Projetos  Conclusões  Dúvidas

(3)

O

LEGADO

 O caso considerado neste palestra é um Sistema de Controle Acadêmico.

 Como é um sistema essencial em uma universidade, postergou-se por muito tempo a construção de um novo sistema.

 Entre os principais motivos estavam a complexidade

inerente do projeto, custo de modernização, falta de tempo e pessoal.

 Por outro lado o custo de manutenção aumentava a cada ano pela incorporação de novos requisitos, repetição de rotinas em vários pontos do programa, miscelânea de

estilos de programação e obsolescência das ferramentas de desenvolvimento que forçava revisões detalhadas a cada alteração.

(4)

A

LGUMAS

D

IRETRIZES

DO

P

ROJETO

- I

Produtividade e Qualidade. Um das principais

diretrizes do projeto era a busca e utilização de

ferramentas de desenvolvimento que estimulassem a produtividade e garantisse a qualidade dos sistemas.

Padronizar para facilitar a manutenção. A

padronização auxilia o processo de manutenção de software, mas por outro lado é um dos grandes obstáculos a sua aceitação pela possibilidade de “engessar” a criatividade dos desenvolvedores. A Orientação a Objetos permitiu uma simplificação nos códigos construídos, é um processo obtido

(5)

A

LGUMAS

D

IRETRIZES

DO

P

ROJETO

- II

Necessidade de reduzir custos de aquisição de licenças

de software. O Comitê de Implementação de Software

Livre do Governo Federal estima que os cofres públicos economizaram mais de 370 milhões de reais em 2008. A opção pelos programas de código aberto é parte das políticas estratégicas de governo brasileiro.

Atualidade e sintonia com o mercado. Uma

universidade que possui cursos de informática dispõe de recursos humanos para auxiliar a 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 a equipe. Para contornar este problema é necessária a adoção de tecnologias ágeis de desenvolvimento com curvas de aprendizado menores.

(6)

A

LGUMAS

D

IRETRIZES

DO

P

ROJETO

- III

Disponibilidade através da web com segurança.

É cada vez maior a exigência por parte dos

usuários de que os sistemas sejam acessí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.

(7)

O

PROJETO

O Sistema de Gestão Acadêmica (SGA)

é o conjunto de ferramentas

desenvolvidas pelo Centro de

Processamento de Dados da

Universidade Estadual de Ponta Grossa

(UEPG) para atender todo o controle da

atividade acadêmica dos alunos dos

cursos de graduação presenciais e à

distância.

(8)

F

RAMEWORK

Um Framework pode ser definido como uma

aplicação completa que possui uma estrutura

estática e outra dinâmica para resolver um

conjunto restrito de problemas (GOVONI 1999).

Neste caso, vários problemas do cotidiano de

desenvolvimento de sistemas já estão resolvidos e

o desenvolvedor foca-se na “lógica do negócio”.

Segundo FAYAD e SCHMIDT (1997), frameworks

representam uma estrutura formada por blocos

pré-fabricados de software que os programadores

podem usar, estender ou adaptar para uma

(9)

O

QUE

É

G

RAILS

?

Framework para construção de aplicações para web a partir de

Groovy

Foi inicialmente chamado de "Groovy on Rails" até ser

renomeado para Grails, após um pedido do fundador do projeto Ruby on Rails, David Heinemeier Hansson.[1] Os trabalhos

iniciaram em julho de 2005 e a versão 0.1 foi liberada em março de 2006.

Última versão 2.0.3

Segue o padrão MVC (Model-View-Controller)

Separa a parte lógica, a parte de persistência de dados e a

(10)

C

ONCEITOS

Convention over Configuration (CoC)

Diminui o número de decisões que o desenvolvedor

precisa fazer, ganhando simplicidade sem perder a flexibilidade

Don’t Repeat Yourself

Reduz a repetição de qualquer tipo de informação

Scaffolding

Cria o esqueleto básico do CRUD –

(11)

G

RAILS

– T

ECNOLOGIAS

AGREGADAS

O Grails é composto de tecnologias integradas que utilizam o Groovy como principal agente . Groovy é uma linguagem de scripting,

dinamicamente tipada, orientada a objetos e que roda nativamente na Java Virtual Machine (JVM). Entre as tecnologias utilizadas que são open source e conhecidas no mercado estão o Hibernate, o Spring e o SiteMesh

(12)
(13)

class Curso extends HandlersAudit{

static hasMany = [curriculo:Curriculo, renovacaoCurso:RenovacaoCurso] Long id Setor setor Ta_tipo_curso tipoCurso Ta_convenio convenio String codigo String sigla String nomeAbreviado String nomeCompleto Ta_sim_nao ativo static mapping = { table 'CURSO' id column:'id_curso', generator:'identity' setor column:'id_setor' tipoCurso column:'id_ta_tipo_curso' convenio column:'id_ta_convenio' codigo column:'codigo' sigla column:'sigla' nomeAbreviado column:'nm_abreviado' nomeCompleto column:'nm_completo' ativo column:'ativo' sort 'nomeAbreviado' } static constraints = { codigo(size:0..10) sigla(size:0..10) nomeAbreviado(size:3..60) nomeCompleto(size:3..160) setor() tipoCurso() convenio() ativo() } String toString(){ "${this.codigo} - ${this.nomeAbreviado}" } }

(14)
(15)
(16)
(17)

A

LGUNS

NÚMEROS

DO

NOVO

S

ISTEMA

(

MAR

/2012)

Cadastros (CRUD-Create/Recovery/Update/Delete): 245

Relatórios: 305

Cursos: 75

Currículos: 432

Disciplinas: 4.466

Turmas: 69.799 (6.482 em 2011)

Campus (presenciais e à distância): 52

Acadêmicos: 52.038 (14.293 cursando em 2011)

Professores: 2.531 (830 ativos e utilizando o sistema em

(18)

O

UTRAS

CONSIDERAÇÕES

Funcionou muito bem com Sybase ASE

Integrado ao NetBeans

782 plugins e aumentando – autenticação, ldap,

auditoria, blogger, calendar, cloud, correios-br,

excel, facebook-connect, jasper, mail, paypal,

picasa, twitter, php, entre outros.

Netbeans + SVN resolveu o problema de

manutenção de versões

Integram o projeto o SisAcad, o Professor online,

o Acadêmico online, Sistema de Vestibular,

Sistema de Espaço Físico e Sistema de Calouro

(19)

I

R

EPORT

JasperReport

Framework java para relatórios com grande

habilidade na organização e apresentação de

conteúdo, permitindo a geração dinâmica de

relatórios em diversos formatos (pdf, html, xls,

csv e xml).

iReport

Interface gráfica para o Jasper.

É uma alternativa livre ao conhecido Cristal

(20)
(21)

O

PEN

R

EPORTS

É uma interface para relatórios web open source,

flexível, customizável e fácil de ser utilizada por

desenvolvedores e usuários. É gerenciada através do

navegador, permitindo a construção de uma biblioteca

de parâmetros para relatórios e a geração de

relatórios em diversos formatos (PDF, RTF, HTML, XLS,

CSV entre outros). Permite o planejamento e a

auditoria de relatórios com tempo, ausência de dados,

falhas ou sucesso de execução. Gerencia usuários,

grupos, relatórios, parâmetros e datasources. Suporta

parâmetros no formato Data, Texto, Lista, Consulta

(query) e Booleanos.

(22)
(23)
(24)
(25)

V

ITÓRIAS

Desmistificamos que o uso de java deixa as

aplicações lentas

Partimos de PHP para JAVA e contamos com

todos os recursos que o Java pode oferecer.

Implementação de Lógica de Negócio no

Banco de Dados (Grails e iReport são uma

camada de acesso aos dados)

Migramos um sistema legado para um sistema

100% WEB e com inúmeros novos recursos

Bom projeto de Banco de Dados se tornou

essencial

(26)

N

OVOS

P

ROJETOS

Como benefícios adicionais, a tecnologia já começou

a ser utilizada em outros sistemas da universidade:

Sistema de Pró-Egresso (Programa de Assistência ao

Egresso e ao Apenado)

o Sistema de Controle de Espaço Físico

o Sistema de Controle de Pauta de Reuniões dos Conselhos CAOE – Centro de Auxílio e Orientação ao Estudante

e em alguns novos sistemas administrativos para o Hospital

(27)

C

ONCLUSÕES

Padronização de programas Padronização de interface Menos erros

Menos manutenção Códigos mais curtos

Menos treinamento de usuários

Grails acelerou o desenvolvimento de sistema, mas

use apenas para cadastros

iReport acelerou o desenvolvimento de relatórios, use

em todas as consultas formatadas. TODAS!

(28)

R

EFERÊNCIAS

Govoni, D. (1999). Java Application Frameworks.

John Wiley & Sons.

Fayad, M. E. and Schmidt, D. C. (1997).

Object-oriented application frameworks. Commun.

ACM, 40(10):32–38.

(29)

O

NDE

BUSCAR

INFORMAÇÕES

Site Grails: http://grails.org/websites

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

iReport:

http://jasperforge.org/projects/ireport

OpenReports: http://oreports.com/

UEPG-CPD

(30)

D

ÚVIDAS

?

Contato:

Prof. Marcos Vinicius Fidelis

UEPG - UTFPR-Campus Ponta Grossa

Referências

Documentos relacionados

Morgado, como era chamado pelos seus colegas, Ana Cristina Pereira Morgado, sua filha, assumiu a presidéncia da Associacao no ano de 2017.Atualmente, a Associacao tem sede propria

Além de possibilitar o escrutínio das “peculiaridades do racismo à brasileira que, como todos os racismos, tem armadilhas que não podem ser evitadas

[r]

public static ResumoExemplares buscarPublicacao(String titulo, String assunto, String autor, TipoPublicacaoEnum tipoDePublicacao) throws ValidateException {

Para reduzir o consumo de energia eléctrica, água ou gás, não use o aparelho em vazio ou em condições que comprometam o rendimento máximo (por ex. portas ou tampas abertas, etc.);

Os seguintes efeitos secundários são muito raros (afectam menos de 1 em cada 10.000 pessoas):. Alterações na análise sanguínea (diminuição de glóbulos vermelhos ou brancos e das

História importa: o acidente histórico que levou ao qwerty capturou aproximadamente 100% dos digitadores e se autoperpetuou mesmo que a motivação original para usar qwerty não

Fica garantido pelos EMPREGADORES o fornecimento de VALE ALIMENTAÇÃO OU VALE REFEIÇÃO a todos os EMPREGADOS em atividade das categorias albergadas por esta CONVENÇÃO COLETIVA