jCompany é uma solução de desenvolvimento Java EE profissional que fornece:
- Um framework corporativo para reuso de código e padronização
- Ferramentas de desenvolvimento integradas (IDE, build, teste)
- Processos e métricas de qualidade
- Integração contínua
- Publicação e implantação
Isso permite aumentar a produtividade dos times de desenvolvimento e a qualidade do código produzido de forma aberta e colaborativa.
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
Powerlogic java ee open-source
1. O histórico do Java Open-Source na iniciativa
privada, no
governo e o futuro
Juarez Barbosa Junior
juarez.junior@powerlogic.com.br
UFLA - III Semana Acadêmica
2. Roteiro
Powerlogic
Histórico do Java – linha do tempo
Movimento Open-source
Open-source 2.0
Powerlogic jALM Suite
jCompany Developer Suite
Projetos Nacionais e que migraram para Open-Source
Solution Providers e Parcerias
Evolução e tendências
Demonstração jCompany
Q&A
3. - De Limitada em 1994…
- Cliente/Servidor Corporativo - Pioneirismo
PowerBuilder 1o. Certificado América Latina (1994)
Downsing e Desligamento de Mainframes
Frameworks e Metodologia
Soluções de Segurança e Rotinas Batch.
- eBusiness – Pioneirismo!
CNI - Indicadores Econômicos (1997)
Java Application Server (1998)
Portais Corporativos (EIP - 1999)
J2EE e Open-Source 2.0 (2002)
…a Sociedade Anônima em 2004
4. • -Em 2003, o BNDES contemplou a Powerlogic com
aporte de capital dentro do programa PROSOFT, um
reconhecimento não somente de suas qualidades de
gestão, contábeis e administrativas, como também
um aval à capacidade da empresa de engendrar com
sucesso suas estratégias de produto e marketing.
• Em 2007, a SOFTEX reconheceu a qualidade e
eficácia dos processos de desenvolvimento Ágeis
utilizados pela Powerlogic, conferindo-lhe o selo de
qualidade MPS.Br Nível F (equivalente ao CMMI
Nível 2).
5. Java – linha do tempo
1991
Início do projeto Green
MS-DOS é o sistema
operacional
Telefones celulares
pesam meio Kg
1992
Nasce a linguagem
"Oak"
Nasce o "Duke"
1993
O projeto Green muda o
nome para FirstPerson
Mosaic v1.0 liberado
6. Java – linha do tempo
•1994
•WebRunner liberado – primeiro
browser suportando objetos em
movimento e conteúdo
•1995
•Tecnologia Java liberada para um
grupo restrito através do site
wicked.neato.org
•O Jornal San Jose Mercury News
publica uma reportagem de capa
sobre a tecnologia Java
technology
•O nome muda oficialmente de
"Oak" para "Java"
•Java anunciada no evento
mundial Sun World - tecnologia
Java é oficialmente anunciada
para o mundo
7. Java – linha do tempo
1996
Primeira conferência JavaOne
JDKtm 1.0 liberado
1997
220,000 downloads do JDK 1.1
em apenas três semanas
JavaOne atrai 8,000 participantes,
torna-se maior conferência
mundial de desenvolvedores de
software
Criada tecnologia Java Card 2.0
1998
JDK 1.1 atinge 2 milhões de
downloads
Visa lança primeiro smart card
baseado em Java Card
Criado o Java Community
Process (JCP)
8. Java – linha do tempo
1999
Código fonte do Java 2 liberado
JavaOne atrai 20,000 participantes
J2EE beta liberado
2000
Mais de 400 JUGs no mundo
Java Developer Connection atinge
1.5 milhões de participantes
2001
Primeiro JavaOne Japão
Mais de 1 milhão de downloads do
Java EE SDK
2002
J2EE SDK atinge 2 milhões de
downloads
78% dos executivos aponta J2EE
como a tecnologia mais efetiva para
construir e disponibilizar Web
services
9. Java – linha do tempo
2003
Java está presente em mais de 550
milhões de desktops
Quase 75% dos desenvolvedores
de software profissionais utiliza
Java como linguagem principal
2004
Java 2 Platform, Standard Edition 5
(Tiger) liberado, torna-se Java SE 5
A sonda espacial Spirit,
desenvolvida com tecnologia Java
pousa em Marte
2005
Java comemora o décimo
aniversário
4.5 milhões de desenvolvedores
utilizam tecnologia Java
Mais de 2.5 bilhões de dispositivos
Java disponíveis mundialmente
10. Java – linha do tempo
2006
Richard Green anuncia no JavaOne
2006 que todo o código do Java será
liberado como Open-Source
Liberado o NetBeans IDE 5.0, grande
evolução do IDE
Sun torna libera vários componentes
como Open-source através do projeto
Glassfish
2007
Java SE e Java ME também liberados
como Open-source.
2008
Java SE e Java ME também liberados
como Open-source.
Liberado Java SE 6, Java SE 7 beta
2009
Oracle anuncia a compra da Sun
Microsystems
11. Open-source
Distribuição livre
Código fonte
Trabalhos Derivados
Integridade do autor do código
fonte
Não discriminação contra
pessoas ou grupos
Não discriminação contra áreas
de atuação
Distribuição da Licença
Licença não específica à um
produto
Licença não restrinja outros
programas
Licença neutra em relação a
tecnologia
http://www.opensource.org
12. Movimento Open-source
“Lei de Moore”: a capacidade do
hardware continua a dobrar a
cada dois anos, sem aumento dos
custos, custos, e com ela também
o espaço de inovação do
software.
Software é difícil, porque não se
consegue atualizar os
profissionais de desenvolvimento,
na mesma velocidade em que as
possibilidades se atualizam.
“(...) É por isso que não existe Lei
de Moore para software. Chips
podem dobrar de capacidade a
cada ano ou dois; nossos
cérebros não.” Ref. A1.1. Scott
Resenberg, em Dreaming in Code
[Rosenberg, Scott 2007].
13. Movimento Open-source
Empresas cujo foco não seja
desenvolvimento de software têm
partido para a terceirização quase
total desta expertise tecnológica...
O problema é que este modelo de
distanciamento da tecnologia logo
expõe as suas falhas. O ritmo de
evolução dos terceiros também é
limitado; de qualquer modo será
preciso de um bom nível de
domínio técnico, para se gerenciar
terceirizações no nível adequado
de detalhe. Este modelo não
elimina o risco - será preciso
gerenciá-lo, enfrentando o
problema cultural
14. Movimento Open-source
Muitos compradores de “Fábricas
de Software” estão hoje recebendo
verdadeiras aplicações “bomba-
relógio” de seus fornecedores,
construídas rapidamente para um
projeto só, mas difíceis ou
impossíveis de serem mantidas
que não por seu criador. Com tal
nível de variabilidade
implementada por cada
desenvolvedor terceirizado, mais
apropriado seria chamarmos estes
modelos de “Artesanatos de
Software”.
15. Movimento Open-source
Arquiteturas pobres, falta de
criatividade e de inovação
sinérgica entre tecnologia e
negócios, são outros fatores
sempre presentes, quando a
distância cultural entre as
pessoas de negócio e as de
tecnologia é muito grande... No
fim, não há como nos furtarmos
à pergunta da Era do
Conhecimento: “Como domar
novas tecnologias e convertê-
las em inovação para os
negócios?”
16. Movimento Open-source
Software se constrói com
outros softwares –
considerar uma solução
madura e homologada,
padrões e soluções de
software que ajudem aos
arquitetos e
desenvolvedores de software
a resolver problemas
corporativos, na velocidade
dos tempos atuais.
Open-Source 2.0
17. Open-Source 2.0
- Open Source 1.0 - Free and Collaborative Software (“Romântica”)
GNU Project, Free Software Foundation, Apache Software
Foundation
Jakarta, SourceForge
Oportunidades para quebras de oligarquias, redução de
dependências e acesso à inovação.
- Open Source 1.5 - Free Software; Commercial Services
(“Cavalo de Tróia”)
Fonte: Delphi Group
Março/2004
18. Open-Source 2.0
- Open Source 2.0 - Qualidade Comercial, Vantagens do Código
Aberto
De “mais barato” para “melhor”.
Fornecedor assume responsabilidade para desenvolver
extensões, testar e homologar produtos Open Source,
oferecendo embalagem, documentação, suporte e treinamento
com qualidades comerciais.
“Free” (Livre) x “Open Source” (Código Aberto).
Licença “Managed Open Source”
Exs: RedHat Network, Powerlogic
Fonte: Delphi Group
Março/2004
19. Open-Source 2.0
- Qualidade Comercial, Vantagens do Código Aberto
Professional
J2EE Open Source
Integração
Especialização
Homologação
Documentação
Metodologia
Suporte (Opção 24 x 7)
Treinamento
Mentoring
Fábrica
Consultoria em Geral
21. Powerlogic jALM Suite
Comunicação e Colaboração
Comunicação e Colaboração
Processos Corporativos e Gerência de Projetos
Processos Corporativos e Gerência de Projetos
Segurança e Monitoria
Desenvolvimento
Desenvolvimento Controle de Qualidade Segurança e Monitoria
em Produção
23. Cenário
Atividade Ferramenta Envolvido
Processo de Gerente de Qualidade de
eCompany Process
desenvolvimento de software Processo
Planejamento do projeto eCompany Process Gerente de Projeto
Análise: Casos de uso,
eCompany Process x EA Analista de Requisitos
requisitos - Rastreabilidade
Desenvolvimento Design
eCompany Process x EA x
Pattern – jCompany Desenvolvedor
jCompany Developer
Developer
Desenvolvimento de casos eCompany Process x
Analista de Teste e Tester
de teste jCompany QA
Gerente de Qualidade /
Integração Contínua jCompany QA
Configuração
Publicação no portal eCompany Portal x
Gerente de Projeto
eCompany Process
Acompanhamento – eCompany Process x Gerente de Projeto e Infra-
estatísticas e monitoria jMonitor estrutura
Acompanhamento - Contact
eCompany Portal Todos - stakeholders
Center
24. Desenvolvimento sem Framework
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Módulo Z
Módulo Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
Application Server Java EE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
25. Uso de projetos open-souce sob
demanda
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Módulo Z
Módulo Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Leiautes Tiles JSF/Struts Cglib AOP ...
Application Server Java EE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
26. Desenvolvimento de framework e projeto
simultaneamente
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Módulo Z
Módulo Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
c
Framework para Reuso Integrado – Generalização Commodity e da Empresa
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Leiautes Tiles JSF/Struts Cglib AOP ...
Application Server Java EE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
27. Arquitetura Corporativa
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Módulo Z
Módulo Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
d Framework para Reuso Integrado – Generalização da Empresa
c Framework para Reuso Integrado – Generalização Commodity
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Leiautes Tiles JSF/Struts Cglib AOP ...
Application Server Java EE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
28.
29. jCompany Developer Suite
Solução Multidimensional para maximizar a produtividade
e a qualidade no desenvolvimento
Java EE Open-Source
30. jCompany: Arquitetura Corporativ
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Aplicação Z
Aplicação Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
d Empresa – Camada Bridge (“Última Milha”)
c jCompany - Framework de Integração (“Penúltima Milha”)
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Leiautes Tiles JSF/Struts Cglib AOP ...
Application Server JavaEE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
31. jCompany: Arquitetura Corporativ
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Aplicação Z
Aplicação Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
d Empresa – Camada Bridge (“Última Milha”)
c jCompany - Framework de Integração (“Penúltima Milha”)
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Laiautes Tiles JSF/Struts Cglib AOP ...
Application Server JavaEE 5 (Web e EJB Containers)
a Infra-Estrutura
Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
32. jCompany: Arquitetura Corporativ
Aplicação A
Aplicação A Aplicação B
Aplicação B Aplicação C
Aplicação C …
…
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Módulo Z
Módulo Z
do Negócio A
do Negócio A do Negócio B
do Negócio B
d Empresa – Camada Bridge (“Última Milha”)
c jCompany - Framework de Integração (“Penúltima Milha”)
Arquitetura
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Laiautes Tiles JSF/Struts Cglib AOP ...
Application Server JavaEE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Infra-Estrutura
Sistema Operacional (Windows, Linux)
33. jCompany: Solução Corporativa
Aplicação A
Aplicação A Aplicação N
Aplicação N Ferramentas, Utilitários
e
Módulo Reutilizável Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável …
… Módulo N
Módulo N Processo, Padrões
do Negócio A
do Negócio A do Negócio B
do Negócio B
d Empresa – Camada Bridge (“Última Milha”)
c jCompany - Framework de Integração (“Penúltima Milha”)
Arquitetura
DOJO/Ajax CSS JBoss Seam EJB3/POJO Hibernate/JPA
b
Apache Trinidad Laiautes Tiles JSF/Struts Cglib AOP ...
Application Server JavaEE 5 (Web e EJB Containers)
a Java Virtual Machine (JVM 1.5.x)
Infra-Estrutura
Sistema Operacional (Windows, Linux)
34. jCompany: Arquitetura IDE
Aplicação A
Aplicação A …
…
Orienta jCompany
Módulo Reutilizável Módulo Reutilizável Patterns & Methods
Módulo Reutilizável Módulo Reutilizável
do Negócio A
do Negócio A do Negócio B
do Negócio B
Gera Constrói & Libera Usa
Templates Customizáveis para Geração de Projetos, Artefatos, Construção e Liberação
d
c Geração de Projetos e Artefatos segundo o Processo
Construção e Liberação
Hibernate
Red Hat Studio Derby Maven Plug-in
Console
b
WTP Quantum DB Subversive ...
Eclipse IDE Maven 2.x
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
35. jCompany Test for Developer
Aplicação A
Aplicação A …
…
Testa Testes de Unidade
Módulo Reutilizável Módulo Reutilizável Da Aplicação
Módulo Reutilizável Módulo Reutilizável
do Negócio A
do Negócio A do Negócio B
do Negócio B
Produz, Constrói & Libera
c Framework Light para Testes de Unidade MVC-P Stubs
b JUnit EasyMock Coverage
Eclipse IDE Maven 2.x
a Java Virtual Machine (JVM 1.5.x)
Sistema Operacional (Windows, Linux)
36. Arquitetura MVC-P
Qualquer
Cliente
Browser Celular, Palm XML, Integração
Camada de Visualização
Servidor A Camada de Controle
Camada de Modelo
Camada de Modelo
Servidor B Camada de Persistência
Camada de Persistência
Qualquer
SGBD
38. jCompany Free
jCompany FS Framework – Community & Intl Version
Framework de Integração de Alto Nível (Última Milha)
39. Uma Solução Para Cada Necessidade
jCompany Developer Professional Suite
Licença Open-Source Gerenciada POSLv2
(Comercial com Liberdade & QA)
R$ 600,00
(1 licença por CPF/CNPJ, via download)
Framework + Plugins Eclipse + Gerência
de Configuração
Gerência de Configuração diferenciada
(40 produtos OSS integrados instalados e
evoluídos como uma única versão)
Repasses de Responsabilidade e Garantia
para a Powerlogic
...
40. Uma Solução Para Cada Necessidade
jCompany Developer Enterprise Suite
Licença Open-Source Gerenciada POSLv2
(Comercial com Liberdade & QA)
Framework + Plugins Eclipse + Gerência
de Configuração + Testes de Unidade +
Padrões e Métodos
Gerência de Configuração diferenciada
(60 produtos OSS integrados instalados e
evoluídos como uma única versão)
Repasses de Responsabilidade e Garantia
para a Powerlogic
Suporte e Serviços Especializados
(Treinamento, Mentoria, Etc.)
...
49. Parceria Red Hat
View Controller Model/Persistance
N
Aplicação A E
Aplicação A Aplicação B
Aplicação B …
… G
Ó
4 C
Módulo Reutilizável
Módulo Reutilizável Módulo Reutilizável (WAR)
Módulo Reutilizável (WAR) … Módulo Reutilizável (JAR)
Módulo Reutilizável (JAR) I
… De Negócio (JAR) A …
…
de Visão (WAR) A
de Visão (WAR) A de Controle (WAR) B
de Controle (WAR) B C
C De Negócio (JAR) A BB O
A
3 Cliente – Generalização do Contexto R
Q
U
jCompany FS Framework “Core” – Generalização Commodity I
T
E
2 Ajax/DOJO CSS BIRT JSF 1.2 EJB3 JPA/Hibernate T
U
JSF - R
Tiles ... JBoss Seam ... jBPM ... A
Apache Trinidad
JBoss Application Server I
N
1 Java Virtual Machine (JVM 1.5.x) F
R
Sistema Operacional (Red Hat Enterprise Linux) A
1. Red Hat: Infra-Estrutura 2. Powerlogic: Arq. Básica 3. Cliente: Arq. Avançada 4. Componentes Negócio
50. Evolução e Tendências
“Futurologia em TI é algo tão
difícil quanto em qualquer outra
área, com uma diferença: em TI
o futuro chega mais cedo”
Previsões de curto prazo
(próximos 2 anos)
IDEs para ALM – além de
integrar atividades básicas de
construção em si (edição,
compilação, montagem,
liberação e depuração), deverá
integrar todas as interações do
desenvolvedor com o Processo
de Desenvolvimento de
Software (PDS) organizacional.
51. Evolução e Tendências
Filosofia extensível de plugins do
Eclipse - redefiniu o poder de
alcance de IDEs
IDEs Java++ (além do Java) -
suporte a SOA (SCA, SDO,
Composite Apps), Web (Ruby on
Rails, Ajax, Flash), Mobile, etc
IDEs Open-Source para ALM
IDEs auto-configuráveis - Manter
as centenas de plugins e
componentes reutilizados em um
“IDE para ALM” será um grande
desafio
IDEs “nas nuvens”: “Cloud
computing”, “SaaS”, “Web 2.0” -
IDEs “remotas” com “configuração
inteligente”, gestão e
armazenamento centralizados e
homologados