1º Dia da Liberdade de Software Usando Software Livre Java para Desenvolvimento de Software Edilmar Alves Setembro/2008 [email protected]
Dec 21, 2014
1º Dia da Liberdade de Software
Usando Software Livre Javapara Desenvolvimento de Software
Edilmar AlvesSetembro/2008
Tópicos● Apresentação e Visão Geral da Nova Plataforma Java● IDEs: Eclipse e NetBeans● Frameworks para Desenvolvimento Desktop e Web● Integração com SGBDs● Relatórios e Gráficos● Integração com WebServices● Outros Utilitários● Conclusão
Apresentação da Plataforma Java● http://java.sun.com/● http://java.sun.com/docs/books/tutorial/index.html● Plataforma de Desenvolvimento● Máquina Virtual Multiplataforma
Apresentação da Plataforma Java
Apresentação da Plataforma Java● JDK – Java Development Kit (ferramentas de desenvolvimento, possui o
JRE embutido)● JRE – Java RunTime Environment (distribuição para ambiente de
produção)● JME – Java MicroEdition (subconjunto do JRE, versão para
dispositivos “menores”, celulares, PDAs, etc)● JEE – Java Enterprise Edition (JRE + ferramentas para demandas
corporativas “maiores”, como webservices, e desenvolvimento multicamadas em geral)
● Java finalmente como SL: http://openjdk.java.net/
Apresentação da Plataforma Java
IDEs● IDE – Interface Development Environment... deveria ser ADE – ALL ...● As mais usadas: NetBeans (http://www.netbeans.org/) e Eclipse (
http://www.eclipse.org/)– NetBeans (investimento Sun);– Eclipse (investimento IBM), mais plugins.
● Outras: JCreator, BlueJ, etc● Decisão de uso: pessoal (conforto com interface e usabilidade), demanda
de plugins específicos.● Integração da IDE com a UML para documentação;● Documentação javadoc.
Frameworks● Framework – possui uma série de funcionalidades prontas, para não
precisar “reinventar a roda”;● Desenvolvimento Web: servlets, JSPs, JSFs, integração com HTML,
Javascript (com ou sem Ajax, frameworks como ExtJS), CSS, etc– Struts, Webwork, Spring, Tiles, Mentawaii, Grails, OpenLaszlo
(+Flash), JSenna, VRaptor, AppFuse, JBoss Seam, Apache Wicket, SubMacro (http://submacro.dev.java.net/), etc.
● Desenvolvimento Desktop: AWT, Swing ou SWT... ou SwingWT– JavaDesktop, Mogwai SwingFramework, BeansBinding, SubMacro
● Conceito de Interfaces “Ricas”
Integração com SGBDs● JDBC – Java Database Connectivity● Disponível para diversos SGBDs livres (ex. Firebird, MySQL,
PostgreSQL, etc) ou não (Oracle, MSSQL, etc)– http://www.firebirdsql.org/index.php?op=files&id=jaybird– http://dev.mysql.com/downloads/connector/j/5.1.html– http://jdbc.postgresql.org/
● Mapeamento ObjetoRelacional: mecanismo para programar de forma “pura” orientada a objetos, sem uso de SQL. Os mais conhecidos são o Hibernate e o EJB3
Tela Web – SubMacro + SGBD
Tela Swing – SubMacro + SGBD
Relatórios e Gráficos● iText: gerador de PDFs● JasperReports: gerador de relatórios● iReports: design visual para o JasperReports● JFreeChart: montagem de gráficos, pode ser usado diretamente ou
integrado com o JasperReports● Poi: integração com pacotes Office e OpenOffice, para geração de
documentos e planilhas.
Tela de Design iReports
Exemplo de Relatório
Exemplo de Gráfico
Integração com WebServices● WebServices: permitir que sistemas de diferentes empresas e órgãos do
governo possam trocar informações via Internet.● Ex. NFeletrônica, consulta de CEP e endereços do Correio, consulta de
cheques, consulta de SERASA/SPC, troca de informações entre clientes e fornecedores, etc.
● Servidores: Tomcat, Axis, JBoss, GlassFish, etc
Outros Utilitários● Envio de email via biblioteca JavaMail● Conexão a sites HTTP com HttpClient● Conexão a servidores de FTP● Processamento de arquivos XML (ex. JDOM)● Criptografia e assinatura digital● Integração com impressoras fiscais (ex. Bematech)● Integração com bancos (geração de boletos, arquivos remessa e retorno)● Integração com operadoras de cartões de crédito e débito● etc, etc, etc........
Conclusão● Java: plataforma completa de desenvolvimento, de celulares a
supercomputação● Inúmeras ferramentas livres para auxílio e agilidade no desenvolvimento● Solução para vários sistemas operacionais● Suporte e investimento de empresas fortes no mercado mundial como
SUN, IBM, Oracle, etc● Ferramenta estratégica para o sucesso do Linux no ambiente corporativo● Java = ferramenta definitiva para seu software!