desenvolvendo com java open source

25
Desenvolvendo com Java e Ferramentas Open- source

Upload: armenio-cardoso

Post on 29-Jun-2015

791 views

Category:

Technology


4 download

DESCRIPTION

Palestra apresentada no Instituto Infnet.

TRANSCRIPT

Page 1: Desenvolvendo com Java Open Source

Desenvolvendo com Java e Ferramentas Open-source

Page 2: Desenvolvendo com Java Open Source

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

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

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

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

O Que é Open-source?

• Free Software vs. Proprietário:

Page 7: Desenvolvendo com Java Open Source

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

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

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

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

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

Integrated Development Environment

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

Page 13: Desenvolvendo com Java Open Source

Integrated Development Environment

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

Page 14: Desenvolvendo com Java Open Source

Integrated Development Environment

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

Page 15: Desenvolvendo com Java Open Source

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

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

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

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

Servidores de Aplicação

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

• Business Tier - http://www.jboss.org

Page 20: Desenvolvendo com Java Open Source

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

Softwares de Apoio

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

Page 22: Desenvolvendo com Java Open Source

Softwares de Apoio

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

Page 23: Desenvolvendo com Java Open Source

Softwares de Apoio

• Groupware - http://jeteam.sourceforge.net/

Page 24: Desenvolvendo com Java Open Source

Softwares de Apoio

• Projetos - http://ganttproject.sourceforge.net

Page 25: Desenvolvendo com Java Open Source

Sugestão de Ambiente de Desenvolvimento

• ArgoUML

• Eclipse

• Struts

• Hibernate

• Tomcat

• JBoss

[email protected]