Desenvolvendo com Java Open Source
-
Upload
armenio-cardoso -
Category
Technology
-
view
790 -
download
4
description
Transcript of Desenvolvendo com Java Open Source
![Page 1: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/1.jpg)
Desenvolvendo com Java e Ferramentas Open-source
![Page 2: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/2.jpg)
Programa e Palestrante
• Programa:› O que é Open-source?› Open-source no Mundo Java.› Integrated Development Environment.› Frameworks de Desenvolvimento.› Softwares de Apoio.› Sugestão de Ambiente de Desenvolvimento.
• Palestrante:› Armênio Cardoso› Consultor, Arquiteto de Sistemas e Professor
![Page 3: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/3.jpg)
O Que é Open-source?
• “Open-source” se refere a qualquer programa cujo código-fonte está disponível para o uso ou modificação, conforme a necessidade dos seus usuários.
• Historicamente os fabricantes de software proprietário não tornam o seu código-fonte disponível, mesmo que o produto já esteja descontinuado (abandonware).
• Open-source é normalmente desenvolvido como uma contribuição voluntária publicada através da Internet.
![Page 4: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/4.jpg)
O Que é Open-source?
• Boa parte dos softwares, especialmente os comerciais, são distribuídos somente no formato binário. O código-fonte é altamente protegido na sua publicação e distribuição.
• O código binário preserva os métodos e tecnologias empregadas pelos seus desenvolvedores, que investem somas consideráveis no desenvolvimento do produto.
• Os softwares são publicados com uma proteção autoral (copyright) similar a livros. Diferente dos livros, o software adiciona uma proteção adicional quanto a propriedade intelectual na forma de “licenças de uso”.
![Page 5: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/5.jpg)
O Que é Open-source?
• As licenças se prestam a especificação, esclarecimento e restrição de uso do software. A maioria das licenças requerem a aquisição do direito de uso do software através da sua comercialização.
• Em contraste com esse cenário, universidades, fundações, organizações não governamentais e empresas mantém projetos de desenvolvimento de softwares open-source.
• Os objetivos são os mais diversos. O fato incontestável é que a Internet tornou-se solo fértil para o desenvolvimento de projetos open-source.
![Page 6: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/6.jpg)
O Que é Open-source?
• Free Software vs. Proprietário:
![Page 7: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/7.jpg)
O Que é Open-source?
• De acordo com a Free Software Foundation, o software open-source permite que os seus usuários disponham das seguintes prerrogativas:› Liberdade 0: Rodar o programa para qualquer propósito.› Liberdade 1: Estudar como o programa funciona e
adaptar as suas características às suas necessidades.› Liberdade 2: Distribuir cópias 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
![Page 8: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/8.jpg)
O Que é Open-source?
• Referências:› 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
![Page 9: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/9.jpg)
Open-source no Mundo Java
http://www.apache.org1. Alexandria 2. Cactus 3. Commons 4. ECS 5. HiveMind 6. JMeter 7. Lucene 8. ORO 9. POI 10. Regexp 11. Slide 12. Taglibs 13. Tapestry 14. Tomcat 15. Turbine 16. Velocity 17. Watchdog18. Ant 19. Avalon 20. Excalibur 21. Geronimo 22. James 23. Logging 24. Maven 25. Portals 26. Struts
![Page 10: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/10.jpg)
Open-source no Mundo Java
1. Aspect-Oriented2. Bloggers3. Build Systems4. ByteCode5. Cache Solutions6. Charting & Reporting7. Chat Servers8. CMS9. Code Analyzers10. Code Coverage11. Collections12. Crawlers13. Databases14. EJB Servers15. Forum Soft16. Groupware17. HTML Parsers18. IDEs 19. Installers20. Issue Tracking21. J2EE Frameworks22. JMS23. Job Schedulers24. JSP Tag Libraries25. Network Clients
26. Network Servers27. Obfuscators28. Parser Generators29. PDF Libraries30. Persistence31. Portals32. Profilers33. Project Management34. RSS & RDF Tools35. Rule Engines36. Scripting Languages37. Search Engines38. SQL Clients39. Template Engines40. Testing Tools41. UML & Modeling42. Web Frameworks43. Web Mail44. Web Servers45. Web Services46. Web Testing47. Wiki Engines48. Workflow Engines49. XML Parsers50. XML UI Toolkits
http://java-source.net
![Page 11: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/11.jpg)
Integrated Development Environment
• Os ambientes integrados de desenvolvimento de sistemas são ferramentas de produtividade que suportam o ciclo de desenvolvimento de uma aplicação.
• Os elementos mais importantes desses softwares são:› Editor de programas com verificação e colorização de
sintaxe e teclas de atalhos para código.› Editor de telas.› Compilador integrado.› Ferramentas de depuração de código.› Controle de versão de fontes.
![Page 12: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/12.jpg)
Integrated Development Environment
• Eclipse › http://www.eclipse.org
![Page 13: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/13.jpg)
Integrated Development Environment
• NetBeans› http://www.netbeans.org
![Page 14: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/14.jpg)
Integrated Development Environment
• jEdit› http://www.jedit.org
![Page 15: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/15.jpg)
Frameworks de Desenvolvimento
• Os frameworks são bibliotecas de classes que visam aumentar a produtividade no desenvolvimento de algum aspecto da aplicação.
• Os elementos mais importantes desses produtos são:› Especialização.› Componentização e modularidade.› Inovação quanto a formas de resolução de
problemas.
![Page 16: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/16.jpg)
Frameworks de Desenvolvimento
• JMeter - ferramenta de monitoração e avaliação de desempenho de aplicações.
• POI - biblioteca para integração de softwares escritos em Java com arquivos MS-Word e MS-Excel.
• Struts - conjunto de APIs que implementam a arquitetura Model-View-Controler para aplicações web.
![Page 17: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/17.jpg)
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.
![Page 18: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/18.jpg)
Servidores de Aplicação
• Os servidores de aplicação atuam como infra-estrutura de processamento de aplicações, implementando serviços comuns, tais como: › autenticação e autorização de usuários, controle de
transações, monitoramento, balanceamento de carga, log e auditoria etc.
AplicaçãoCliente
Browser
PáginasJSP
EJB
Servlets
Fontes deDados
Client Tier Web Tier Business Tier
Enterprise Information Systems Tier
![Page 19: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/19.jpg)
Servidores de Aplicação
• Web Tier - http://jakarta.apache.org/tomcat/
• Business Tier - http://www.jboss.org
![Page 20: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/20.jpg)
Softwares de Apoio
• O desenvolvimento de sistemas não se limita apenas à escrita do código-fonte. O processo de desenvolvimento de sistemas envolve também uma série de "workflows", tais como:› Requisitos, Análise, Arquitetura, Projeto, Testes,
Implantação e Gerenciamento.
• Para a maioria desses workflows existem softwares escritos em Java que são open-source.
![Page 21: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/21.jpg)
Softwares de Apoio
• Modelagem com UML - http://www.argouml.org
![Page 22: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/22.jpg)
Softwares de Apoio
• Forum - http://www.jforum.net
![Page 23: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/23.jpg)
Softwares de Apoio
• Groupware - http://jeteam.sourceforge.net/
![Page 24: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/24.jpg)
Softwares de Apoio
• Projetos - http://ganttproject.sourceforge.net
![Page 25: Desenvolvendo com Java Open Source](https://reader035.fdocument.pub/reader035/viewer/2022081506/5590ad7f1a28aba62a8b476b/html5/thumbnails/25.jpg)
Sugestão de Ambiente de Desenvolvimento
• ArgoUML
• Eclipse
• Struts
• Hibernate
• Tomcat
• JBoss