Projetos Open Source e pessoais como oportunidade de aprendizado

Transcrição

Projetos Open Source e pessoais como oportunidade de aprendizado
Projetos Open Source e pessoais como
oportunidade de aprendizado
Por Fábio Pagoti
20131213
WRITE: me->get_short_bio( ).
• 
Formado em Sistemas de
Informação pela USP
• 
• 
• 
• 
ABAPer desde 2009
Autor do blog ABAP101.com
Instrutor ABAP
Orgulha-se por nunca haver copiado
um programa standard
• 
• 
100% ABAP Objects
Fã do WordPress
Projetos Open Source em ABAP
• 
Screen Breaker (evita LOOP AT SCREEN)
• 
ABAP FileMan (GUI_DOWNLOAD/OPEN DATASET)
• 
ABAPDoc v2 (similar a JavaDoc)
• 
ABAP Jan-Ken-Pon (Testes unitários)
• 
ABAP Tic-Tac-Toe (Web Dynpro – MVC)
• 
WB Objects Framework
• 
ABAP2YUML
Projetos Open Source e pessoais como
oportunidade de aprendizado
Esta apresentação não pretende discutir
• 
O que é um projeto Open Source
• 
Licenças / termos de uso do MiniSAP ou afins
• 
Possível interesse da SAP em código aberto
• 
Detalhes de programação ABAP
ABAPer de final de semana
IF sy-daqui IS INITIAL.
“ Do something…
ENDIF.
ABAPer de final de semana
• 
Documentação para iniciar é abundante
• 
Se você não investe tempo em você mesmo, por que sua empresa
deveria te pagar um treinamento?
• 
Cursos, por melhor que sejam, nunca serão o suficiente
• 
Você não deixa de ter vida social (se usar o Facebook sim)
• 
2 horas de estudo por semana em 1 ano ~ tempo de 1 curso
ABAP2YUML e WB Objects
Meu curso de final de semana de ABAP
YUML
• 
Yuml.me
• 
Grátis
• 
Serviço para geração de UML
• 
Online ou através de um DSL
YUML
[note: You can stick notes on diagrams too!{bg:cornsilk}],
[Customer]<>1-orders 0..*>[Order], [Order]++*-*>[LineItem],
[Order]-1>[DeliveryMethod], [Order]*-*>[Product], [Category]<>[Product],
[DeliveryMethod]^[National],
[DeliveryMethod]^[International]
Propostas do Projeto
• 
Tornar ridiculamente fácil a geração de UML através de código ABAP
• 
Não possuir dependências como a ferramenta standard
• 
Dar mais um motivo para acabar com o mundo procedural
• 
Exemplo de trabalho bem feito
Oportunidades de Aprendizado
• 
Todo mundo tem uma lista de “coisas a aprender”
• 
A minha:
o 
R
o 
Predictive Analysis Library (PAL)
o 
eCATT
o 
BOL
o 
Violão
100% ABAP Objects
ABAP Unit & TDD (Test Driven Development)
BDD (Behavior Driven Development)
• 
GIVEN-WHEN-THEN
• 
Teste que o “funcional” entenda
• 
Documentação executável
GIVEN-WHEN-THEN
DADO
Classe CL_SALV_TABLE e
Método FACTORY
QUANDO
Método get_format é chamado
ENTÃO
Formatação é em itálico
Exemplo de GIVEN-WHEN-THEN
Reutilização de código standard
•  Investigação
•  Debug
•  Interpretação de código alheio
WB Objects Framework
• 
Framework para carregar informações de objetos do repositório
• 
Classes e Interfaces Locais e Globais
• 
Útil para outros projetos que dependam desta informação:
o 
SAPLink
o 
ABAPDoc2
o 
etc
WB Objects Framework
WB Objects Framework
WB Objects Framework
Enhancement Framework
• 
Técnica mais poderosa e provavelmente menos usada de modificação do
standard.
DADO
Transação SE21 e
Pacote é Z*
QUANDO
Pacote é salvo
ENTÃO
Mensagem “Deseja gerar UML” deve ser exibida
Enhancement Framework - Exemplo
Enhancement Framework - Exemplo
Controllers WEB & Web Dynpro
Shared Objects
• 
Substituto do EXPORT/IMPORT
Report
User1
Exit
User1
WD
User 2
Shared
Objects
Report
User 2
Shared Objects – Tcodes SHMA & SHMM
Mas não é só código…
… que bom! No dia-a-dia também não é.
Documentação
• 
Se é “Open”, é para os outros
• 
Se é para os outros, eles devem entender
• 
Se eles devem entender, é seu dever explicar
Contato com usuários
• 
Quem só quer baixar seu projeto e usá-lo é seu usuário.
• 
Quem quer ver seu produto melhor é seu cliente.
• 
Não os deixe na mão
Release Management
• 
.zip / .nugg ?
• 
Como controlo as versões?
• 
Como organizar os frameworks que dependo?
• 
Quem tem a versão 1 precisa desinstalar para usar a 2?
• 
Como devo anunciar as alterações?
• 
Como decidir qual a próxima melhoria?
Git & GitHub
• 
• 
Git abre portas para o aprendizado
Usado pela SAP para alguns projetos
SAPLink
• 
SAPLink te permite espalhar o seu trabalho mundo afora.
Para finalizar, qual o status do projeto?
Amanhã é sábado!
Codifique
Fábio Pagoti
[email protected]
@fabiopagoti
fabiopagoti
.com

Documentos relacionados

academia de abap ( programação)

academia de abap ( programação) Escrever objeto de programas orientados com ABAP Utilização do conceito de melhorias Criar Web Dynpro simples para aplicações ABAP Objetos ABAP: Análise e design UML Classes e objetos Herança Inter...

Leia mais