mar 15 2016

Gerando relatórios JasperReports com fontes personalizadas utilizando o Jaspersoft® Studio

Category: Inicio,JasperReports,Jaspersoft StudioEdson Gonçalves @ 19:48

Olá Pessoal, tudo bom? Como vão vocês?

Em 2011 eu fiz um Post sobre um problema comum a muitos desenvolvedores sobre embeber uma fonte personalizada em relatórios JasperReports.

Agora, vamos usar o Jaspersoft® Studio para realizar a mesma tarefa.

Para acompanhar este artigo

Criei um banco de dados simples, com uma tabela chamada produtos, contendo os campos selecionados como mostra a Figura 1.

Figura 1 – A tabela usada

Figura 1 – A tabela usada

O relatório foi criado usando o assistente do Jaspersoft® Studio, onde o resultado final, após minhas pequenas alterações, é o que mostra a Figura 2.

Figura 2 – Relatório gerado pelo assistente com pequenas modificações

Tenham em mente que este artigo não vai ensiná-los a criar relatórios e sim como contornar um problema comum entre os desenvolvedores Java.  Farei posts adiante sobre como criar relatórios com Jaspersoft® Studio.

Trabalhando com fontes personalizadas no relatório

Após desenhar o relatório, chega o momento de finalizar a “arte” com alguns toques e, em meio as mudanças, eis que surge a ideia de personalizar a fonte também do texto contido no relatório.

No exemplo que fiz, os textos fixos foram todos personalizados com uma fonte que possuo em minha máquina, chamada Impact.

Embora esta fonte seja importante para o design do meu relatório, não tenho garantias que ela exista no servidor onde hospedo meus aplicativos.  Logo, o que parece simples, pode se tornar um pesadelo se não for eu o responsável pela administração do sistema operacional.

Adicionando a fonte ao aplicativo

Graças ao problema de ausência de fontes em servidores de hospedagem, muitos desenvolvedores não podiam depender da empresa ou administrador que fornece a máquina onde disponibilizam se encontram aplicativos, principalmente quando se trata de uma hospedagem compartilhada.  É nisto que o JasperReports inclui a  possibilidade de ter todas as fontes que usou em seu relatório em produção.

Adicionando e exportando a fonte no Jaspersoft® Studio

Vá no menu  Window > Preferences (menu Jasper Studio >Preferences no Mac OS X) e, na digite Fonts, na parte superior de pesquisa. Clique em Jaspersoft Studio>Fonts.

Figura 3 – Preferências do Jaspersoft® Studio

Figura 3 – Preferências do Jaspersoft® Studio

Através do botão Add selecionamos as fontes que desejamos importar no Jaspersoft® Studio.

Figura 4 – A fonte escolhida e usada no relatório pronta para ser exportada

Figura 4 – A fonte escolhida e usada no relatório pronta para ser exportada

Depois de importadas, podemos selecionar todas elas e exportá-las através do botão Export.

Figura 5 – Selecionando as fontes para serem exportadas

Figura 5 – Selecionando as fontes para serem exportadas

No exemplo que explico, chamei o arquivo que exportei de font.jar. É justamente este arquivo que vou adicionar em meu projeto, seja usando o Maven, no Eclipse IDE ou NetBeans IDE.

A fonte como uma biblioteca no seu aplicativo Web pelo Eclipse IDE

No Eclipse, basta clicar com o direito do mouse sobre o projeto, selecionar o item Properties. Na caixa de diálogo Properties, vamos em Java Build Path, na aba Libraries. Para adicionarmos a biblioteca font.jar, vamos no botão Add External JARs.

Figura 5 – O JAR font.jar adicionado nas bibliotecas do meu projeto

Figura 5 – O JAR font.jar adicionado nas bibliotecas do meu projeto

Para projetos Java EE no Eclipse IDE, adicione as bibliotecas do projeto no aplicativo Web. Este item está na janela Properties, em  Deployment Assembly. É neste local que determinamos quais bibliotecas serão exportadas ao executarmos o servidor Java.

Figura 6 – Adicionando os arquivos JARs do projeto no aplicativo Web

Figura 6 – Adicionando os arquivos JARs do projeto no aplicativo Web

Siga os passos informados a seguir para adicionar as bibliotecas:

1. Clique no botão Add, a caixa de diálogo New Assembly Directive surge. Esta caixa de diálogo é a responsável por selecionarmos as bibliotecas do projeto em Java Build Path Entries.

2. Em Next, veremos todas as bibliotecas que dispomos em Java Build Path. Selecionem todas – as bibliotecas para executar o relatório JasperReports devem estar presentes – finalizando no botão Finish.

3. Retornando ao diálogo Properties, no item Deployment Assembly, temos todas as bibliotecas que serão adicionadas ao diretório lib do projeto, incluindo font.jar.

A fonte como uma biblioteca no seu aplicativo Web pelo NetBeans IDE

No NetBeans IDE, basta adicionar em Libraries, clicando com o direito do mouse e selecionando, no menu de contexto, o item Add JAR / Folder.

Figura 7 – As bibliotecas que serão exportadas para o diretório /lib do projeto Web

Antes e depois da fonte adicionada ao projeto

Para satisfazer a curiosidade do que será visto, temos a Figura 8 que mostra um relatório gerado, em formato PDF, sem a fonte no diretório lib do projeto. Note a diferença com a Figura 9 em relação ao formato da fonte, principalmente do título “Produtos”.

Figura 8 – Arquivo PDF gerado como relatório sem a fonte no diretório lib do projeto

Figura 9 – Arquivo PDF gerado como relatório com a fonte no diretório lib do projeto

O projeto para download

Clique aqui para baixar o projeto em Eclipse e alterá-lo como desejar.


fev 21 2016

Iniciando com Java em aplicações Web – Iniciando e parando o Tomcat

Category: Inicio,Servidores Java,TomcatEdson Gonçalves @ 18:17

A variação para iniciar o Tomcat nos sistemas operacionais está no arquivo de script de prompt de comandos no Windows, o arquivo de terminação “.bat” (leia-se batch) e de terminação “.sh”, no Linux/Unix/Mac OS, o chamado arquivo de shell script bash.

Iniciando o Tomcat

Ao iniciar o servidor Java Apache Tomcat, ele enviará ao Prompt de Comando, ou Terminal, informações de saída, indicando que o servidor está sendo iniciado.

Figura 1 – Iniciando o Tomcat pelo Terminal do Mac OS X

Figura 1 – Iniciando o Tomcat pelo Terminal do Mac OS X

No Windows

Para iniciar no Windows, devemos executar  o arquivo batch chamado startup.bat, encontrado no diretório bin localizado na instalação do Tomcat.

Para rodar o Apache Tomcat, iremos usar o prompt de comando, executando a seguinte linha:

%CATALINA_HOME%\bin\startup.bat

No Linux/Mac OS X

Para o Linux e Mac OS X (Unix), iniciaremos através do arquivo de script bash mostrado a seguir:

$CATALINA_HOME/bin/startup.sh

Entretanto, como qualquer programação de terminal Linux/Mac OSX, precisamos dar a permissão de execução – do contrário é apenas um arquivo de texto.

A permissão de execução neste caso será o 700, feito no terminal nos seguintes arquivos:

chmod 0700 $CATALINA_HOME/bin/startup.sh

chmod 0700 $CATALINA_HOME/bin/catalina.sh

Visualizando o Tomcat no Navegador

Para visualizar o Apache Tomcat em operação, vá até o seu navegador Web preferido e coloque o seguinte endereço:

http://localhost:8080

Observe que o Tomcat executa com uma terminação numérica 8080, após o nome “localhost:”. Isso indica que o Apache Tomcat está operando em uma porta diferente da que estamos acostumados a visualizar em navegadores web – o padrão é a porta 80.

Ao surgir a página padrão do Apache Tomcat significa que fez tudo correto, ou seja, você configurou e executou o serviço sem erros.

Figura 2 – Apache Tomcat executando no navegador

Figura 2 – Apache Tomcat executando no navegador

Parando o Tomcat

Parar o Tomcat também exige a chamada de um script batch no Windows ou bash no Linux/Mac OSX. Os comandos a seguir devem ser executados no mesmo local que usamos para iniciar o Tomcat.

No Windows

Parar o Apache Tomcat no Windows é fácil como iniciar, onde devemos executar  o arquivo batch chamado shutdown.bat, encontrado no diretório bin, localizado na instalação do Tomcat.

No prompt de comando, execute a seguinte linha para finalizar a execução do processo do Tomcat:

%CATALINA_HOME%\bin\shutdown.bat

Da mesma forma que na inicialização, o Tomcat executa informações no Prompt de comandos indicando sua paralisação total.

No Linux/Mac OS X

Para o Linux e Mac OS X (Unix), da mesma forma que, no iniciar, precisamos dar permissão de execução através do arquivo de script bash mostrado a seguir.

No terminal de comandos, iniciamos a mudança da permissão do bash script da seguinte forma:

chmod 0700 $CATALINA_HOME/bin/shutdown.sh

Para realizar a finalização do processo do Tomcat, ou melhor dizendo, pará-lo, execute este comando:

$CATALINA_HOME/bin/shutdown.sh

Da mesma forma que na inicialização, o Tomcat executa informações no Terminal indicando sua paralisação total.


fev 16 2016

Iniciando com Java em aplicações Web – Configurando o Tomcat

Category: Iniciante,Inicio,Servidores Java,TomcatEdson Gonçalves @ 23:54

O Java SE (Standard Edition) é planejado para desenvolvimento do lado cliente e pode ser usado para criar as tradicionais aplicações baseadas em cliente/servidor.

As aplicações Web, quando usada a linguagem Java, são tidas como Java EE (Enterprise Edition). A implementação de aplicações Web usando o padrão Java EE é bastante complexa e possui diversas características.

Servlets e JSP são duas tecnologias que foram desenvolvidas originalmente pela Sun Microsystems (atual Oracle), para desenvolvimento de aplicações Web, partindo de componentes Java que executam no lado servidor. Portanto, para trabalhar com Servlets e JSP, precisamos de um servidor Web que saiba interpretar a linguagem Java, ou melhor dizendo, que siga os padrões impostos pela documentação Java EE.

Para um iniciante, o executor mais mais fácil de aprender é um Servlet contêiner. A fundação Apache mantém o Servlet contêiner provavelmente mais conhecido entre os desenvolvedores: o Apache Tomcat.

O Apache Tomcat

O Apache Tomcat possui suas origens no início da tecnologia Servlet. A Sun Microsystems, adquirida pela Oracle, criou o primeiro contêiner servlet, chamado de Java Web Server, para demonstrar a tecnologia. Como não era um servidor robusto para uso na Web, não obteve sucesso. Ao mesmo tempo, a Apache Software Foundation (ASF) criou JServ, um servlet engine que se integrava com o servidor Web Apache.

Em 1999, a Sun Microsystems doou o código do Java Web Server para a ASF e os dois projetos se fundiram, criando o Apache Tomcat. A versão 3.x foi a primeira da série Tomcat e teve a descendência direta do código original, aquele doado pela Sun Microsystems.

Em 2001, a ASF liberou a versão 4.0 do Tomcat, que era uma arquitetura completa, redesenhada, no qual teve um novo código base. A série Tomcat, versão 4.x, é uma RI (reference implementation – implementação de referência) das especificações Servlet 2.3 e JSP 1.2.

A versão do Apache Tomcat 5.x é a RI das especificações Servlet 2.4 e JSP 2.0. A versão do Tomcat 6.0.x trabalha com as especificações Servlet 2.5 e JSP 2.1 e a versão 7.0.x com as especificações Servlet 3.0 e JSP 2.2. Finalmente, a versão 8.0.x, que trabalha com as especificações do Servlet 3.1 e JSP 2.3, ao qual este post é baseado.

Tecnicamente, o Tomcat é um contêiner Web Java e também um servidor Java. Isto quer dizer que, o Apache Tomcat, tem a capacidade tanto de atuar como servidor Web/HTTP, assim como pode funcionar integrado a um servidor web dedicado, como o Apache ou o Microsoft IIS. O Tomcat, porém, não implementa um contêiner EJB, no qual possibilita o uso de Enterprise Java Beans.

Baixando e Instalando o  Apache Tomcat

Para instalar o Apache Tomcat, inicialmente, você deverá ter instalado a JVM em sua máquina. Caso ainda não tenha feito, veja meu post Iniciando com Java em aplicações Web – Configurando o Java.

A versão 8.0.x do Tomcat, é focada para trabalhar sobre a plataforma Java SE 7 ou superior.

Instalar o Apache Tomcat é simples e, como feito na instalação do JDK, temos diferentes formas nos sistemas operacionais Windows, Linux e Mac OS. No Windows,  por exemplo, podemos contar com um assistente de instalação. Você deverá baixar a versão desejada no site http://tomcat.apache.org/, em Download, selecionando a versão Tomcat 8. Depois, escolha a distribuição binária desejada, de acordo com seu sistema operacional, baixe-o na máquina e siga as instruções a seguir para configurar e instalar o Tomcat.

Nota: Sempre que me referir ao caminho do Apache Tomcat, instalado em seu computador, será mostrado a variável $CATALINA_HOME para facilitar.

 

No Windows

Existe mais de uma forma de instalar o Tomcat no sistema operacional Windows. Na página para baixar o arquivo, no item Binary Distributions, encontramos o item Core, que permite selecionar o arquivo compactado em formato ZIP (zipado) ou TAR.GZ (tarball), assim como Windows Executable.

O Tomcat como executável nos proporciona a instalação em forma de assistente. No caso, iremos dar preferência ao arquivo compactado, baixando para o Windows no formato .zip. Existe a opção de 32bits e 64bits, para que escolha de acordo com o sistema que executa em sua máquina.

Assim que baixar, descompacte o Tomcat e coloque-o em um diretório chamado de apache-tomcat-8x, tornando assim fácil o seu acesso ao diretório e assimilação nos exemplos que teremos mais adiante.

A variável %CATALINA_HOME% é o nome da variável, que damos, para nos referir ao diretório onde foi escolhido para instalar o Tomcat. No sistema operacional Windows, você deve fazer o mesmo procedimento executado no caso da configuração do JDK.

Crie uma variável chamada de CATALINA_HOME, em Painel de Controle»Sistema e Segurança»Sistema, na caixa de diálogo Propriedades do Sistema, aba Avançado»Variáveis de Ambiente > botão Novo, e coloque, em seu valor, o caminho da instalação do Apache Tomcat. No caso do post, o Apache Tomcat foi colocado em “C:\Program Files\apache-tomcat-8x (veja a ilustração da Figura 1).

Figura 1

Figura 1 – Adição da variável CATALINA_HOME no Windows 8

No Linux

No Linux você pode instalar como fez no Windows, baixando o arquivo com extensão tar.gz (tarball) ou .zip, a que lhe for mais conveniente.

Caso tenha optado pelo formato tarball, descompacte o arquivo no diretório onde baixou o arquivo e o mova, caso necessário, para onde deseja colocar o seu Apache Tomcat.

Por exemplo, como tenho o usuário “edson  em meu Linux, vou descompactar para ele o meu Apache Tomcat com o seguinte comando:

tar xf apache-tomcat-8.0.14.tar.gz -C ~/apache-tomcat-8x

Depois de instalado, vamos configurar as variáveis de ambiente.

1) Como na configuração das variáveis JAVA, dependendo da sua distribuição, no Linux, basta entrar no arquivo .profile em /etc/.profile e adicionar as linhas a seguir informadas. Como realizei configurações na distribuição Linux Ubuntu, o local indicado é em “~/.bashrc“, sem as aspas, claro.

CATALINA_HOME=~/apache-tomcat-8x
export CATALINA_HOME

2) Execute o seguinte comando para leitura novamente no arquivo . bashrc:

source ~/.bashrc

Nota: Se for iniciante, cuidado ao editar o arquivo .bash_profile. Entenda que o “~” til é um atalho para seu usuário que, no Linux, é o mesmo que escrever o caminho físico “/home/edson”, no meu caso, sem aspas. Após o sinal de “=“, da declaração da variável CATALINA_HOME, não dê espaço.

No Mac OS X

Como no Linux, realizamos a mesma operação no sistema operacional Mac OS X, baixando o arquivo com extensão tar.gz ou .zip.

Você pode descompactar e mover para o seu usuário, renomeando o diretório caso queira fazer como neste livro.

Após a descompactação, no arquivo “~/.bash_profile” adicione a variável CATALINA_HOME com o local onde instalou o Apache Tomcat. No caso do livro, deixamos o diretório com o nome de apache-tomcat-8x. Os passos para serem feitos no Mac OS X:

1) Descompacte o tar.gz em um diretório criado chamado apache-tomcat-8x:

tar xf apache-tomcat-8.0.14.tar.gz -C ~/apache-tomcat-8x

2) Em “~/.bash_profile” adicione a variável CATALINA_HOME:

CATALINA_HOME=~/apache-tomcat-8x
export CATALINA_HOME

3) Execute o seguinte comando para leitura novamente no arquivo . bash_profile:

source ~/.bash_profile

Nota: Se for iniciante, cuidado ao editar o arquivo .bash_profile como no caso do Linux. Entenda que o “~” til é um atalho para seu usuário – no meu caso do Mac OS X é o mesmo que escrever o caminho físico “/Users/edson”, no meu caso, sem aspas. Após o sinal de “=“, da declaração da variável CATALINA_HOME, não dê espaço.


fev 07 2016

Voltando as atividades no Blog

Category: InicioEdson Gonçalves @ 17:08

Pessoal, por muitos anos sumi, deixando o blog parado. Nestes anos que estive “afastado” da escrita, estive muito, mas muito ocupado.
A boa notícia é que vou trazer a todos os leitores novidades, muito além do que muitos esperam. Uma das minhas atividades, ao longo destes anos era ajudar uma equipe de suporte a resolver problemas de clientes de aplicações Web, principalmente em Java.
Trabalhamos duramente com milhares de clientes e centenas de aplicativos diversificados, com problemas comuns e incomuns. O resultado: muita experiência para trazer aos leitores.
Inicialmente vou pagar uma velha dívida com todos os leitores: meu livro Desenvolvendo Aplicações Web com Java, que ensina JSP, Servlets, Spring MVC, Hibernate, JPA 2 e AJAX. Só que, antes de ser publicado, irei publicar uma parte aqui no blog.
No livro, que dividirei uma parte em artigos que vou publicar, trarei respostas para problemas comuns que encontrei com iniciantes ao longo de mais de 10 anos ensinando ou ajudando desenvolvedores a hospedar seus aplicativos, resolvendo seus problemas pessoais encontrados na implantação e execução de um serviço.
Preparem-se para uma nova perspectiva no desenvolvimento com aplicações Web.


Próxima página »