O documento discute as motivações para o uso de Java EE Open Source e SAP NetWeaver para desenvolvimento de aplicações. Algumas vantagens incluem acesso a uma grande comunidade de desenvolvedores Java EE, custo benefício, melhoria contínua da qualidade e produtividade, e suporte da SAP para a plataforma Java EE. A arquitetura proposta utiliza ferramentas open source como Eclipse, Maven e frameworks como o jCompany dentro da plataforma SAP NetWeaver para desenvolvimento, gerenciamento de mudanças, teste e execução de aplic
3. SAP e Java EE Open Source: Motivações
Por que Open Source?
• Java EE + Open Source = padrão “de jure” (comitê) + “de facto” (mercado);
• Java EE Open Source Developers: O maior contingente de cultura e
profissionais de desenvolvimento Java EE disponíveis no mercado;
• Base de Conhecimento & Colaboração: Faculdades/Universidades, Cursos
Formais, Grupos (JUGs, etc.), fóruns, revistas nacionais especializadas, etc.
• Excepcional custo x benefício: Ao ser gerenciado, traz o melhor dos dois
mundos;
• Fim da “caixa preta” impedindo solução de bugs;
• Fim da dependência extrema do fornecedor;
• Melhoria incessante de produtividade/qualidade; a excelência técnica
surge hoje de autores de comunidades Open Source;
• Etc.
4. SAP e Java EE Open Source: Motivações
Por que SAP NetWeaver?
• SAP NetWeaver® Developer Studio (NWDS): Ambiente de desenvolvimento
Java disponível e gratuito, com base em IDE Eclipse (padrão Open Source);
• SAP NetWeaver® Application Server (NWAS): Application Server Java EE 5
Full-Compliant, capaz de executar aplicações Java EE padrões de mercado,
com suporte da SAP;
• SAP NetWeaver® Process Integration (NWPI): Facilidades de integração
com SAP R3 usando tecnologias SOA (Ex: Web-Services);
• Padronização: Minimizar variabilidade desnecessária no ambiente de
desenvolvimento, uma vez que a plataforma NetWeaver já está disponível,
instalada e configurada na empresa.
5. SAP e Java EE Open Source: Motivações
Suporte em Expansão pela SAP:
“A SAP tem uma plataforma de tecnologia Java EE 5 substancial e pronta
para uso, embarcada no SAP NetWeaver Composition Environment
7.1. Usar frameworks Java Open Source com essa plataforma é algo
muito natural e se transformou em commodity no que se refere ao
desenvolvimento de soluções corporativas robustas e escaláveis.”
Goran Stoiljkovski – Solution Architect - SAP Global Ecosystem and Partner Group
6. Organização Final com Arquitetura de Sistemas Resolvida
Development Change & Test Runtime & Dynamic
Release Connectivity Access
• NW-DS Management • jCompany Control
(Eclipse) QA • NW-PI
• jCompany • NW-DI (Testes Estáticos (WS, JMS) • jCompany
Developer de Código e
• jCompany • NW-AS Production
(Framework de Arquiteturais,
QA de Unidade, (Java EE 5) (Controle de
Integração & (Controle de Acesso;
Funcionais, • NW-PORTAL
Padrões) Versões & Integ. Monitoria de
de Regressão (JSR-268)
Contínua OSS) Uso;
e Carga)
Batch)
8. Valor agregado em Desenvolvimento (Construção)
ü Desenvolvimento padronizado aderente com 80% do mercado Java EE (commodity);
ü Soluções rápidas para problemas pontuais devido ao acesso a todo o código fonte;
ü Suporte formal para toda a arquitetura; colaborativo por vasta comunidade; além do
SDN;
ü Usabilidade superior segundo últimos padrões de mercado (RIA, XHTML, Web 2.0, etc.)
ü Centenas de componentes visuais JSF e jQuery disponíveis para reuso;
ü Produtivo ciclo de “construção-liberação-e-teste” (segundos x minutos) = flow;
ü Gerência de transação (ACID) padronizada com JPA, sem exigir programação;
9. Valor agregado em Desenvolvimento (Construção)
ü Fácil acesso a rotinas Web-Services do NW-PI via padrão JAX-WS (acesso SOA ao R3);
ü Fácil acesso via Business Objects Java;
ü APIs Java EE 6 homologadas no NW-AS 7.2! Ex: CDI 1.0, BV 1.0, JSF 2.0, JPA 2.0;
ü Padrão arquitetural completo: projetos de desenvolvimento, segmentação de camadas,
padrão de pacotes, nomenclatura, etc.;
ü Padrões de alta produtividade para implementação de casos de uso “Data-Centric”;
(CRUDS) com estruturas de dados complexas (Ex: Mestre-Detalhe-SubDetalhe).
10. Valor agregado em Gerência de Mudança e Liberação
ü Controle de versão de códigos fontes robusto e estável (SVN = padrão ‘de facto’);
ü Controle de versão de componentes robusto e automatizado (Maven = padrão ‘de facto’);
ü Reuso facilitado e controlado de componentes Open Source (Maven Repositories);
ü Rotinas de construção e liberação diversas e customizáveis via Maven Objects (MOJOs);
ü Integração Contínua para NW-AS incluindo teste de integração automatizado (Hudson);
ü Indicadores de integração, alertas, gráficos, relatórios, etc.;
ü Fluxo automatizado de promoção e executáveis (ex: teste -> homologação -> produção).
11. Valor agregado em Controle e Garantia da Qualidade
ü Testes funcionais automatizados altamente produtivos (Selenium = padrão ‘de facto’);
ü Testes ‘não funcionais’ automatizados (I18n, Encoding, Links Quebrados, etc.);
ü Testes de regressão automaticamente configurados;
ü Testes estáticos diversos para padrão de codificação, Design Pattern, arquitetura via Sonar;
ü Dashboard histórico contendo progresso de métricas de qualidade, automatizado;
ü Alertas customizáveis quanto à violação de limites diversos das métricas;
ü Drill-down possível até o nível do código;
ü Métricas de tamanho em linhas úteis de código (ESLOC).
12. Benefícios em Execução e Conectividade
ü Uso de ambiente de Application Server padrão Java EE 5 suportado pela SAP = NW-AS;
ü Acesso ao pacote R3 via padrão SOA (Web-Service, JMS, etc.) suportado pela SAP = NW-PI;
ü Liberação em portal via padrão JSR-168 ou JSR-268 suportado pela SAP = NW-Portal.
13. Benefícios Potenciais
ü Possibilidade de definição de políticas de acesso refinadas (itens de menu, campos, aba de
tab-folder), em tempo de execução;
ü Conforto visual (no cliente) integrado com segurança efetiva (no servidor);
ü Possibilidade de se exigir certificados digitais para acesso a determinadas funções;
ü Conceito de delegação de aplicações para sub-administradores;
ü Conceito de controle de acesso por faixa de horário;
ü Conceito de segurança ‘vertical’ (em dados), possibilitando ‘filtros dinâmicos’ por usuário;
ü Integração com autenticação em LDAP/AD, bem como base corporativa de usuários/senhas;
ü Importação automática de recursos a serem segurados (botões, menus, campos);
ü Monitoria de serviços batch (exceções, reescalonamentos, etc.);
ü Monitoria de utilização (cliques) de transações de aplicações (ROI).
15. Aplicações Paralelas, Acessando o SAP R3
SGBD-R: Oracle,
MS-SQL-Server
SAP-DB, ...
NW-AS NW-PI SAP R3
WS, JMS,
IIOP/RMI
Integração de plataformas
heterogêneas via web-services,
totalmente suportados pelo
NW-DS jCompany for SAP NetWeaver.