Desenvolvendo com Java Open Source

  • View
    780

  • Download
    4

Embed Size (px)

DESCRIPTION

Palestra apresentada no Instituto Infnet.

Text of Desenvolvendo com Java Open Source

  • 1. Desenvolvendo com Java e Ferramentas Open-source

2. Programa e Palestrante

  • Programa:
    • O que Open-source?
    • Open-source no Mundo Java.
    • Integrated Development Environment.
    • Frameworks de Desenvolvimento.
    • Softwares de Apoio.
    • Sugesto de Ambiente de Desenvolvimento.
  • Palestrante:
    • Armnio Cardoso
    • Consultor, Arquiteto de Sistemas e Professor

3. O Que Open-source?

  • Open-source se refere a qualquer programa cujo cdigo-fonte est disponvel para o uso ou modificao, conforme a necessidade dos seus usurios.
  • Historicamente os fabricantes de software proprietrio no tornam o seu cdigo-fonte disponvel, mesmo que o produto j esteja descontinuado (abandonware).
  • Open-source normalmente desenvolvido como uma contribuio voluntria publicada atravs da Internet.

4. O Que Open-source?

  • Boa parte dos softwares, especialmente os comerciais, so distribudos somente no formato binrio. O cdigo-fonte altamente protegido na sua publicao e distribuio.
  • O cdigo binrio preserva os mtodos e tecnologias empregadas pelos seus desenvolvedores, que investem somas considerveis no desenvolvimento do produto.
  • Os softwares so publicados com uma proteo autoral (copyright) similar a livros. Diferente dos livros, o software adiciona uma proteo adicional quanto a propriedade intelectual na forma de licenas de uso.

5. O Que Open-source?

  • As licenas se prestam a especificao, esclarecimento e restrio de uso do software. A maioria das licenas requerem a aquisio do direito de uso do software atravs da sua comercializao.
  • Em contraste com esse cenrio, universidades, fundaes, organizaes no governamentais e empresas mantm projetos de desenvolvimento de softwares open-source.
  • Os objetivos so os mais diversos. O fato incontestvel que a Internet tornou-se solo frtil para o desenvolvimento de projetos open-source.

6. O Que Open-source?

  • Free Software vs. Proprietrio:

7. O Que Open-source?

  • De acordo com a Free Software Foundation, o software open-source permite que os seus usurios disponham das seguintes prerrogativas:
    • Liberdade 0 : Rodar o programa para qualquer propsito.
    • Liberdade 1 : Estudar como o programa funciona e adaptar as suas caractersticas s suas necessidades.
    • Liberdade 2 : Distribuir cpias do software a fim de ajudar outras pessoas.
    • Liberdade 3 : Melhorar o software e publicar as suas melhorias de forma que toda a comunidade se beneficie.
  • http://www.fsf.org/philosophy/free-sw.html

8. O Que Open-source?

  • Referncias:
    • Free Software Foundation:
      • http://www.fsf.org/philosophy/free-sw.html
    • GNU:
      • http://www.gnu.org
    • Open Source Foundation:
      • http://www.opensource.org/licenses/
    • Linux: A Bazaar at the Edge of Chaos:
      • http://firstmonday.org/issues/issue5_3/kuwabara/index.html
    • Source Forge:
      • http://www.sourceforge.org

9. Open-source no Mundo Java

  • http://www.apache.org
  • Alexandria
  • Cactus
  • Commons
  • ECS
  • HiveMind
  • JMeter
  • Lucene
  • ORO
  • POI
  • Regexp
  • Slide
  • Taglibs
  • Tapestry
  • Tomcat
  • Turbine
  • Velocity
  • Watchdog
  • Ant
  • Avalon
  • Excalibur
  • Geronimo
  • James
  • Logging
  • Maven
  • Portals
  • Struts

10. Open-source no Mundo Java

  • Aspect-Oriented
  • Bloggers
  • Build Systems
  • ByteCode
  • Cache Solutions
  • Charting & Reporting
  • Chat Servers
  • CMS
  • Code Analyzers
  • Code Coverage
  • Collections
  • Crawlers
  • Databases
  • EJB Servers
  • Forum Soft
  • Groupware
  • HTML Parsers
  • IDEs
  • Installers
  • Issue Tracking
  • J2EE Frameworks
  • JMS
  • Job Schedulers
  • JSP Tag Libraries
  • Network Clients
  • Network Servers
  • Obfuscators
  • Parser Generators
  • PDF Libraries
  • Persistence
  • Portals
  • Profilers
  • Project Management
  • RSS & RDF Tools
  • Rule Engines
  • Scripting Languages
  • Search Engines
  • SQL Clients
  • Template Engines
  • Testing Tools
  • UML & Modeling
  • Web Frameworks
  • Web Mail
  • Web Servers
  • Web Services
  • Web Testing
  • Wiki Engines
  • Workflow Engines
  • XML Parsers
  • XML UI Toolkits

http://java-source.net 11. Integrated Development Environment

  • Os ambientes integrados de desenvolvimento de sistemas so ferramentas de produtividade que suportam o ciclo de desenvolvimento de uma aplicao.
  • Os elementos mais importantes desses softwares so:
    • Editor de programas com verificao e colorizao de sintaxe e teclas de atalhos para cdigo.
    • Editor de telas.
    • Compilador integrado.
    • Ferramentas de depurao de cdigo.
    • Controle de verso de fontes.

12. Integrated Development Environment

  • Eclipse
    • http://www.eclipse.org

13. Integrated Development Environment

  • NetBeans
    • http://www.netbeans.org

14. Integrated Development Environment

  • jEdit
    • http://www.jedit.org

15. Frameworks de Desenvolvimento

  • Os frameworks so bibliotecas de classes que visam aumentar a produtividade no desenvolvimento de algum aspecto da aplicao.
  • Os elementos mais importantes desses produtos so:
    • Especializao.
    • Componentizao e modularidade.
    • Inovao quanto a formas de resoluo de problemas.

16. Frameworks de Desenvolvimento

  • JMeter - ferramenta de monitorao e avaliao de desempenho de aplicaes.
  • POI - biblioteca para integrao de softwares escritos em Java com arquivos MS-Word e MS-Excel.
  • Struts - conjunto de APIs que implementam a arquitetura Model-View-Controler para aplicaes web.

17. Frameworks de Desenvolvimento

  • Spring - outro framework MVC.
  • WebOnSwing - Que tal criar telas para web como se fossem para o desktop?
  • Hibernate - framework para o mapeamento objeto-relacional.

18. Servidores de Aplicao

  • Os servidores de aplicao atuam como infra-estrutura de processamento de aplicaes, implementando servios comuns, tais como:
    • autenticao e autorizao de usurios, controle de transaes, monitoramento, balanceamento de carga, log e auditoria etc.

Aplicao Cliente Browser Pginas JSP EJB Servlets Fontes de Dados Client Tier Web Tier Business Tier Enterprise Information Systems Tier 19. Servidores de Aplicao

  • Web Tier -http://jakarta.apache.org/tomcat/
  • Business Tier -http://www.jboss.org

20. Softwares de Apoio

  • O desenvolvimento de sistemas no se limita apenas escrita do cdigo-fonte. O processo de desenvolvimento de sistemas envolve tambm uma srie de "workflows", tais como:
    • Requisitos, Anlise, Arquitetura, Projeto, Testes, Implantao e Gerenciamento.
  • Para a maioria desses workflows existem softwares escritos em Java que so open-source.

21. Softwares de Apoio

  • Modelagem com UML -http://www.argouml.org

22. Softwares de Apoio

  • Forum -http://www.jforum.net

23. Softwares de Apoio