Porque todo ABAP deveria estudar Fiori (também)

Alguns meses atrás publicamos aqui no ABAP101 alguns artigos comentando a importância de algumas tecnologias e ferramentas na lista de skills que um (bom e atualizado) desenvolvedor ABAP deveria ter. Para citar tais artigos, temos o post “Porque todo ABAPer deveria começar a aprender UI5 (SAPUI5/OpenUI5) já“, escrito por mim mesmo (e plegiado por um mané, mas isso é outra história) e os artigos “Porque todo ABAP deveria estudar HANA” e “BRFplus: a ferramenta que todo profissional SAP deve conhecer“, escritos pelo meu amigo Thiago Ourives que agora nos lê diretamente do futuro.

Não é preciso muita visão para notar que tal lista de exigências só cresce. É fato que algumas exigências estrapolam para coisas não-relacionadas a área de atuação normal de um ABAP, como já citado no polêmico post “Verdade Seja Dita – “Oportunidades ABAP ALL”. A ideia deste post é abordar a importância do Fiori, que na minha humilde opinião, se encaixa SIM na lista de skills que um ABAP deve ter.

Mas o que é o Fiori?

Google it. SCN it.

Justificativas

Agora que você já sabe o que é o Fiori, gostaria de dar algumas justificativas para embasar a ideia de que isso é problema do ABAP.

No fundo, é Front End

Fiori é famoso pela sua simplicidade (para o usuário), na experiência (de novo, para o usuário) e no foco do trabalho (para quem? Para o usuário). Para que o dito cujo tenha isso tudo, alguns tem que pagar algum preço. Para fazer uma aplicação responsiva, de bom gosto, que aplique as melhores práticas de acordo com o Fiori Design Guidelines é preciso algum conhecimento de desenvolvimento front end, obviamente incluindo UI5.

E quem você acha que está mais perto em conhecer desenvolvimento na esfera SAP do que o desenvolvedor ABAP? Não vou entrar no mérito de “pessoas novas”, por exemplo desenvolvedores front end de outras tecnologias, entrarem no mundo SAP – este tipo de discussão além de não ser o foco é simplificar demais o assunto. Fiori não é feito apenas de um front end feito em UI5. Mas isso passa sim por saber desenvolver aplicações.

A diferença é que as aplicações agora tem um outro foco e são construídas de outra maneira. Apesar de isso soar como uma péssima notícia para quem nem WDA aprendeu direito, existe um lado bom da moeda. Se você já desenvolveu uma aplicação com um parameter você já tem experiência em desenolvimento front end. Sim, uma experiência útil ainda porém tosca esteticamente e cada dia mais próxima de virar obsoleta se considerar o rumo que as coisas caminham.

Gateway

O Fiori funciona com o Gateway por trás dos panos. E não só nos aplicativos! Os próprios serviços base para o Fiori Launchpad que exportam por exemplo os catálogos do usuário, foram criados no Gateway. Entendendo isso é possível se virar muito bem na hora de fazer muito troubleshooting.

Além disso, a principal transação do Gateway começa com as letras SE (SEGW). Se isso não soa como um argumento válido para justificar a relação com desenvolvedores ABAP, os projetos criados nesta transação são feitos usando o dicionário, funções, BAPIs e código totalmente customizado. Se você achava que poderia surgir um novo tipo de profissional chamado de “Fiori” que era totalmente segregado do mundo ABAP você

 

 

 

 

 

 

 

https://www.youtube.com/watch?v=MFa9pvnVe0w

 

… Afinal.. se houvesse mesmo este perfil profissional novo entitulado “Fiori”, ele deveria conhecer Gateway.. e conhecer Gateway passa por conhecer ABAP (e REST, diga-se de passagem). Logo, é mais fácil ser um ABAP que vai lá e aprende.

  • Mas quantos ABAPers sabem Gateway?
  • Quantos ABAPers hoje conhecem UI5?
  • Qual a proporção de ABAPers que sabem o que é REST/oData?
  • Quantos conhecem os 3 itens acima juntos?

(Ahh… vamos ignorar o fato de mais da metade das aplicações Fiori requerem conhecimentos em HANA neste item)

Hoje, a minha sensação é que a minoria dos profissionais tem tal perfil. E não estou buscando culpados. Estou apenas dizendo o que sinto lendo o que vejo e ouvindo o que escuto.

E qual a solução?

Resumo tomando emprestada parte do comentário fantástico do Custódio escrito recentemente no ABAPZombie:

“(…) Pra isso a solucao eh simples: aprende fidumegua! Ou voce (empresa) contrata alguem que sabe, ou alguem que queira aprender. E fim.” (Custódio, em comentário no ABAPZombie)

Ritmo de crescimento de aplicativos

Uma maneira relativamente confiável de se verificar o número de aplicações standard do Fiori é consultar o Fiori Apps Library e clicar em “All Apps”. No momento que este post é escrito, dia 20 de Outubro de 2015, há 602 aplicações nesta lista. É verdade que há aplicações “duplicadas” para produtos diferentes mas não deixa de ser 602 aplicações.

Pode não parecer muito talvez, mas considere que o Fiori tornou-se gratuito em 3 de Junho de 2013 e que até o final daquele ano mal havia documentação de qualidade e detalhada sobre Fiori. Se considerar os dias úteis que se passaram desde então, sem incluir feriado algum, a SAP entrega 0,97 apps por dia! É uma aplicação standard nova por dia!

Eu acho isso muito… acho o ritmo que a SAP está empregando absurdamente frenético.

Destas 602 aplicações, considere o fato de haver quase 150 que demandam o SAP Simple Finance.

Considere agora que o Simple Logistics está quase saindo!

Eu sou capaz de apostar que ainda terminaremos o ano de 2015 com mais de 800 aplicações. E faço uma projeção para que haja 1500 no final de 2016 (o que seria dobrar o número em 1 ano).

Um dos principais motivos que me levam a crer nisso é a adoção do Fiori e dos novos recursos inseridos no UI5 1.30, como os controles de Semantic Page. Algumas coisas que já li sobre o NW 7.5 me levam a crer que a criação de serviços no Gateway também tendem a ser simplificadas… mas estas mudanças são ainda nebulosas para mim.

E pensar que tem consultoria buscando gente para implantar (e não implementar) 3 ou 4 apps como parte de um projeto de meses!

Referências bibliográfica

Apesar de ainda não ter lido o livro do Maurício “ABAP: O guia de sobrevivência do profissional moderno“, vale a pena mencionar o que o livro aborda no capítulo 8. Não li (ainda) mas já recomendo!

Enhancements

Já fez algum enhancement na vida? User exit.. manja?

Uma vez que o usuário use as aplicações Fiori (como já estão usando)… você pretende encontrar um PERFORM no meio de um código Javascript? I hope not.

E por quê? As aplicações Fiori possuem pontos de enhancement também. A forma de implementação muda – exige conhecimentos ferramentais como alguns recursos do HANA, sólidos conhecimentos em UI5 e Javascript e orientação a objetos por conta do Gateway para citar o mínimo.

HANA e HCP

Veja o vídeo abaixo, reflita e compare o que é mostrado com o tipo de desenvolvimento ABAP que estamos acostumados, onde consultorias vendem relatórios ALV como sendo o estado da arte.

https://www.youtube.com/watch?v=Cdo5sSLmUB8

Isso é Fiori meu caro amigo!

Em suma

Se você quer fazer umas brincadeiras desta como visto acima, não ignore Fiori. E não ignorar Fiori é aprender muita coisa interessante de antemão e ao mesmo tempo.

Fábio Pagoti

Formado em Sistemas de Informação pela Universidade de São Paulo. Comecei no mundo da programação com Java mas logo caí no mundo ABAP. Estagiei na Nestlé por 2 anos e foi lá onde conheci o Furlan. Depois de efetivado fui morar no Canadá por 1 ano onde pude aprender a área de testes em desenvolvimento de software. Hoje sou consultor e instrutor ABAP, amante de projetos Open Source, Wordpress, Data Mining e da esfera SAP. Siga-me no twitter: @fabiopagoti

Você pode gostar...

7 Resultados

  1. Cleber disse:

    Eae Fabio blz? Cara trabalhei com vc na Nestle, eu trabalhava junto com o Renato. Então estou me aventurando no Fiori. Gostaria de saber se você tem conhece bem como funciona a navegação e roteamento(Rounting and Navigation) ? Estou penando pra compreender isso.
    Valew!

    • Fábio Pagoti disse:

      Oi Cleber,

      Qual Renato? Você era da CSCorp?

      Roteamento é algo relativo a UI5 e não Fiori em si. Quando você adiciona um tile ao launchpad não é necessário codificar como o Fiori chama sua aplicação.

      Isso, graça ao conceito de componentes do UI5. Roteamento e navegação podem ser feitas de várias formas no UI5. Todavia, para que haja **bookmarkable URLs**, ausência de refresh na janela, transições entre views, passagem de parâmetros, etc… é interessante que se use as melhores práticas de desenvolvimento UI5, que ditam que a navegação deve acontecer dentro de um componente.

      Eu aconselho você dar uma lida antes sobre componentes. Garanto duas coisas:
      – Entender Componentes deve vir a ser mais desafiador que entender roteamento
      – Entender Componentes é fundamental e vai te ajudar a entender onde colocar código relacionado a navegação

      Ao mesmo tempo, a maneira como roteamento é feito (seguindo a melhor prática), varia consideravelmente de acordo com a versão do UI5 que você está. Na 1.24 é de um jeito, na 1.28 é outro completamente diferente. Na 1.30 houve uma evolução da 1.28.. mas o código da navegação muda e vai para um arquivo diferente.

      Eu consigo te ajudar mais hoje para entender como Componentes funcionam. Dei uma palestra sobre o assunto recentemente no SITJOI 2015. A palestra pode ser vista abaixo.

      https://www.youtube.com/watch?v=xiZzgrHwMf0

      Os slides da apresentação estão no Slideshare

      http://pt.slideshare.net/FbioLuizEsperatiPago/componentes-ui5-sap-inside-track-joinville-2015-fbio-pagoti

      O entendimento de roteamento é importante caso queira estender ou criar uma aplicação UI5 (para possivelmente incluí-la no launchpad).

      Abraços!

  2. Cleber disse:

    Isso mesmo naquela época trabalhava na Cscorp.
    Então na verdade é uma aplicação SAPUI5 que depois vou adiciona-la ao lunchpad Fiori. Estou fazendo um app tipo Master/Detail, que na tela do Detail quero chamar uma tela apartir de um botão. Estou trabalhando na versão 1.28. Bom vou dar uma olhada nesses link que você me enviou.
    Valew!

  3. Paulo Caiana disse:

    Olá Fábio Pagoti,

    venho por meio deste post me desculpar pela publicação em meu blog de um texto seu (Por que todo abap deve aprender SAP UI5 ?), apesar de colocar a fonte no final do post, o texto foi copiado na integra. Como sou um abap tambem e seguidor dos seus textos, eu não gostaria de deixar uma má impressão e muito menos ser confundido com um mané. Faz parte do aprendizado, reconhecer os erros e estou reconhecendo o meu.
    Vou continuar lendo seus textos e aprendendo muito com eles. Quem sabe um dia, eu tenha a honra de trabalhar com você … o mundo SAP não é tão grande assim…

    Grato,

    Paulo Caiana

  4. Thiago Ourives disse:

    Fala Fábio, tô aqui no Futuro lendo os posts do passado 🙂
    Concordo com tudo dito aí…. Fiori é muito legal.

    Vou tentar mandar uns posts sobre Fiori Extensions e Debug em Fiori pra você.

    Abraço!!

  5. Setembro de 2016 e 949 aplicações Fiori na Library… e muito abap ainda nao sabe oq é Fiori, Gateway, UI5… Adorei o texto.. Ainda muito atual…

  1. fevereiro 2, 2016

    […] motivo principal para a crescente demanda em Gateway tem tudo a ver com o crescimento da demanda em Fiori. Isso pois todas as aplicações Fiori (criadas usando o famoso SAPUI5) consomem dados do SAP […]