Entrar no Mundo SAP é uma experiência interessante, principalmente pra quem já trabalha com tecnologias ditas “novas”, como Flash Plataform, Java e .Net. São outros desafios, clientes grandes, linguagem e metodologia sem igual, um tanto não comum para quem lida com o sofisticado mundo da internet.
Faço parte do time de “novas tecnologias” da SYSone Consulting, uma consultoria focada em negócios e soluções SAP, que vem se especializando em integrações e outras tecnologias como meio de servir seus clientes em suas mais variadas necessidades. Mais especificamente atuo com aplicativos ricos para apoio a sistemas de gestão, uma tarefa revolucionária num mundo extremamente focado em processo de negócios.
Uma de minhas tarefas é entender o meio o qual o produto está inserido, para melhor arquitetar a interface e interação de usuário, e construir algo surpreendente que atenda requisitos que vão além do processo. Bonito isto, hein?!
E fui descobrindo que este novo mundo é muito diferente daquilo que estava acostumado, parecia o que aprendi até então não servia pra muita coisa. Após um tempo convivendo neste ambiente, aprendendo por osmose jargões e metodologia, fiz um curso introdutório de ABAP que resultou numa experiência melhor que a esperada. As coisas começaram fazer sentido, sempre fui um crítico dos movimentos tecnológicos, e a SAP tem conquistado minha opinião positiva cada vez mais.
Faço aqui meus apontamentos daquilo que julguei interessante para futura lembrança e talvez poder ajudar aqueles que estão nesta mesma situação, e querem entender um pouco do ERP da SAP, seu principal produto. Muitos destes foram retirados da apostila do curso (reprodução permitida) de Renê Zaidan.
- Princípio: gerenciar todas as áreas da empresa num único sistema. O ERP é dividido por módulos, onde cada qual faz referência a uma área e possui uma sigla de 2 letras, tal como FI, CO, HR, MM e PP.
- Profissionais: basicamente há 3: 1)BASIS, responsável pela configuração e segurança do sistema; 2) ABAP, desenvolvedor dos programas e customizações; 3) FUNCIONAL, analista de negócio, normalmente especialista por módulo. Encontramos também outros profissionais ligados ao novos produtos da SAP.
- Arquitetura: possui 3 camadas, idênticas ao conceito server-side: Persistência, Aplicação e Apresentação.
- Persistência: banco de dados relacional, oculto ao desenvolvedor, usado como repositório de tudo, inclusive de sources de programas. As tabelas de dados, que na prática é uma tabela do BD, são classificadas como configuração ou aplicação (dados de negócio), que é gerenciado por um dicionário de dados (SE11) no próprio sistema. Através do “Open SQL”, linguagem SQL padronizada pela SAP, os programadores interagem com o BD. O sistema não conta com proteção à integridade dos dados, ou seja, os comandos mal pensados podem estragar tudo!
- Programação: linguagem ABAP, por ser uma linguagem voltada aos negócios, sua sintaxe permite a resolução dos problemas usuais com poucos e poderosos comandos. O extraordinário do SAP é que a leitura do código fonte dos programas fica aberta a todos, inclusive no ambiente de produção. Isto é uma forma de possibilitar aos analistas de negócio saber exatamente o que está acontecendo, a questão é que muito deles não sabem trabalhar com a linguagem.
- Depuração: semelhante a qualquer programação, o destacável é possibilidade de alterar o valor das variáveis em tempo de depuração.
- Orientação a Objetos: a SAP estendeu a linguagem ABAP, a partir da versão 4.0, para suportar tal paradigma, mas quase todos os programas ainda são estruturados.
- Apresentação: o mais conhecido é o SAP GUI, um aplicativo cliente que serve como “navegador” da aplicação SAP. Hoje já há interfaces web, inclusive aplicações ricas da própria SAP.
- Metodologia: AcceleratedSAP (ASAP), até o esquema de trabalho deles é muito detalhado, algo previsível para a empresa referência em processos de negócio.
- Ambientes: também possuem 3: Desenvolvimento, Qualidade (Homologação) e Produção. Como tudo está no BD, há as “ordens de transporte”, muito semelhante ao “commit” e “update” do Subversion, mas com a possibilidade de enviar também configurações e dados, como atualização de versão.
- Segurança: sistema de segurança nativo, onde facilmente é possível controlar a permissão de uso dos programas.
- Documentação: tudo é facilmente documento, mas muitos programadores e/ou funcionais não gostam de fazer isto.
- Jargões: há alguns interessantes, do tipo “blue print” (levantamento de requisitos) e “report” (CRUD).
Minha intenção não é migrar para este novo mundo, e sim poder colaborar com novas possibilidades de usabilidade e interação nos produtos da SAP, com o que há de melhor na Flash Plataform. Percebi nas últimas apresentações da Adobe que o logo da SAP tem ocupado um lugar de destaque no slide de parceiros, inclusive há uma seção no Adobe DevNet destinada a SAP, que vem desde 2005 deixando claro que o Flash é a sua escolha para a camada de apresentação dos novos produtos.
Fica aqui meu depoimento, e a certeza que a experiência neste mundo terá muitas outras aventuras.