SlideShare uma empresa Scribd logo
Desenvolvendo com Java e Ferramentas 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
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.
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”.
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.
O Que é Open-source? Free Software vs. Proprietário:
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
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
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
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
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.
Integrated Development Environment Eclipse  http://www.eclipse.org
Integrated Development Environment NetBeans http://www.netbeans.org
Integrated Development Environment jEdit http://www.jedit.org
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.
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.
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.
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ção Cliente Browser Páginas JSP EJB Servlets Fontes de Dados Client Tier Web Tier Business Tier Enterprise Information Systems Tier
Servidores de Aplicação Web Tier -  http://jakarta.apache.org/tomcat/ Business Tier -  http://www.jboss.org
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.
Softwares de Apoio Modelagem com UML -  http://www.argouml.org
Softwares de Apoio Forum -  http://www.jforum.net
Softwares de Apoio Groupware -  http://jeteam.sourceforge.net/
Softwares de Apoio Projetos -  http://ganttproject.sourceforge.net
Sugestão de Ambiente de Desenvolvimento ArgoUML Eclipse Struts Hibernate Tomcat JBoss Obrigado! [email_address]

Mais conteúdo relacionado

PDF
Desenvolvimento Web em ambiente de software livre
PDF
Projeto 2 api_do_facebook
PPT
Netbeans
PDF
Facebook Platform - Hack Thursday CW 40
DOC
5 frameworks para desenvolvimento de apps em html5
PDF
Palestra sobre CCK Seblod 1.8
PDF
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
PPT
Construindo Aplicativos Sociais Utilizando as APIs do OpenSocial
Desenvolvimento Web em ambiente de software livre
Projeto 2 api_do_facebook
Netbeans
Facebook Platform - Hack Thursday CW 40
5 frameworks para desenvolvimento de apps em html5
Palestra sobre CCK Seblod 1.8
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
Construindo Aplicativos Sociais Utilizando as APIs do OpenSocial

Mais procurados (11)

PDF
Profissão Front-end
PPTX
Gestão de conteúdos com aplicações instaladas em servidores
ODP
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
PPTX
T@rget trust design de aplicativos css e skinning
PPTX
PDF
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
PDF
Desenvolvimento de Aplicações com Visual Studio
PDF
Fundamentos do asp.net
PDF
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
ODP
Mobile Marketing e o jQuery Mobile
PPT
Reutilização
Profissão Front-end
Gestão de conteúdos com aplicações instaladas em servidores
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
T@rget trust design de aplicativos css e skinning
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Desenvolvimento de Aplicações com Visual Studio
Fundamentos do asp.net
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
Mobile Marketing e o jQuery Mobile
Reutilização
Anúncio

Destaque (8)

PDF
Arquitetura de Software
PDF
Curso de excel 2007
PDF
Curso GIGA EXCEL 2007
PPTX
Aula 5 caneta
ODP
Certificacoes Desenvolvedores
PDF
Exercícios Resolvidos - Arquitetura e Organização de Computadores
PDF
Introdução aos Sistemas Distribuídos
PDF
O Scratch no ensino da programação
Arquitetura de Software
Curso de excel 2007
Curso GIGA EXCEL 2007
Aula 5 caneta
Certificacoes Desenvolvedores
Exercícios Resolvidos - Arquitetura e Organização de Computadores
Introdução aos Sistemas Distribuídos
O Scratch no ensino da programação
Anúncio

Semelhante a Desenvolvendo com Java Open Source (20)

DOCX
Ficha de trabalho_1
KEY
Quebrando o Orgulho! Open Source e Proprietário dão certo juntos sim!!
ODP
Kyrios: Infra-estrutura livre para desenvolvimento de software
DOCX
Ficha de trabalho_1
DOCX
Ficha de trabalho_1_bruno_crespim
DOCX
Crisficha 1 1
DOCX
Crisficha 1
PPT
Desenvolvendo Aplicações com Software Livre
ODP
Java e Software Livre
PDF
Modelos De Negocio Open Source Fisl8
PPTX
Fundamentos da Linguagem Digital - Módulo 01
PDF
Conhecendo Java
PPTX
Educomunicação Marista - Software Livre
PDF
Visao geral TI04 2-0
PDF
Powerlogic java ee open-source
DOCX
Bruno figueiredo 11ogi_so
DOCX
Bruno figueiredo 11ogi_so
PDF
[DESATUALIZADO] Apostila Desenvolvimento Android Básico
DOCX
Ficha de trabalho 1
PDF
Desenvolvimento Web com Software Livre
Ficha de trabalho_1
Quebrando o Orgulho! Open Source e Proprietário dão certo juntos sim!!
Kyrios: Infra-estrutura livre para desenvolvimento de software
Ficha de trabalho_1
Ficha de trabalho_1_bruno_crespim
Crisficha 1 1
Crisficha 1
Desenvolvendo Aplicações com Software Livre
Java e Software Livre
Modelos De Negocio Open Source Fisl8
Fundamentos da Linguagem Digital - Módulo 01
Conhecendo Java
Educomunicação Marista - Software Livre
Visao geral TI04 2-0
Powerlogic java ee open-source
Bruno figueiredo 11ogi_so
Bruno figueiredo 11ogi_so
[DESATUALIZADO] Apostila Desenvolvimento Android Básico
Ficha de trabalho 1
Desenvolvimento Web com Software Livre

Mais de armeniocardoso (17)

PPTX
Guia para o Profissional Android
PPT
Análise e Projeto de Sistemas com UML e Java
PPTX
Guia para a Plataforma Java - Recursos e Novidades
PPTX
Java security
PPT
Domain-Driven Design - Uma Abordagem Introdutória
PPT
Guia para o Profissional Java
PPT
Web Services
PPT
Realtime Linux
PPT
Persistência de Objetos em Java
PPT
JavaServer Faces
PPT
Java e XML
PPT
Modelando Sistemas com UML
PPT
Desenvolvimento de Aplicações Corporativas com Java
PPT
DotNet vs. Java
PPT
Java Seminar
PPT
Ruby on rails
PPT
Desenvolvimento RIA com Java
Guia para o Profissional Android
Análise e Projeto de Sistemas com UML e Java
Guia para a Plataforma Java - Recursos e Novidades
Java security
Domain-Driven Design - Uma Abordagem Introdutória
Guia para o Profissional Java
Web Services
Realtime Linux
Persistência de Objetos em Java
JavaServer Faces
Java e XML
Modelando Sistemas com UML
Desenvolvimento de Aplicações Corporativas com Java
DotNet vs. Java
Java Seminar
Ruby on rails
Desenvolvimento RIA com Java

Último (8)

PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Viasol Energia Solar -Soluções para geração e economia de energia
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Mecânico de Manutenção de Equipamentos.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Arquitetura de computadores - Memórias Secundárias

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. Sugestão de Ambiente de Desenvolvimento. Palestrante: Armênio Cardoso Consultor, Arquiteto de Sistemas e Professor
  • 3. 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.
  • 4. 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”.
  • 5. 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.
  • 6. O Que é Open-source? Free Software vs. Proprietário:
  • 7. 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
  • 8. 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
  • 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 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.
  • 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 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.
  • 16. 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.
  • 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 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ção Cliente Browser Páginas JSP EJB Servlets Fontes de Dados Client Tier Web Tier Business Tier Enterprise Information Systems Tier
  • 19. Servidores de Aplicação Web Tier - http://jakarta.apache.org/tomcat/ Business Tier - http://www.jboss.org
  • 20. 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.
  • 21. Softwares de Apoio Modelagem com UML - http://www.argouml.org
  • 22. Softwares de Apoio Forum - http://www.jforum.net
  • 23. Softwares de Apoio Groupware - http://jeteam.sourceforge.net/
  • 24. Softwares de Apoio Projetos - http://ganttproject.sourceforge.net
  • 25. Sugestão de Ambiente de Desenvolvimento ArgoUML Eclipse Struts Hibernate Tomcat JBoss Obrigado! [email_address]