Estou surpreso com o crescente número de acessos que o blog vem tendo desde a sua criação. Espero que esta seja uma boa fonte de informações para os visitantes desenvolvedores, aspirantes, interessados, etc…
Estou com idéias para novos posts rs
Novembro 10, 2009
Aos visitantes!
Junho 18, 2009
Logging no SAP Netweaver CE 7.1
Logging e tracing são ítens importantíssimos numa aplicação. É aos arquivos de logs que vamos recorrer caso ocorra algum bug no nosso sistema e não sabemos por onde começar a debugar. É por isso que, ao desenhar a arquitetura do software, devemos pensar em como será feito o log dos eventos da aplicação.
No SAP Netweaver, o administrador tem acesso a uma ferramenta (Log Viewer) aonde são registrados todos os logs dos sistemas rodando nele, e melhor, tudo isso de uma forma padrão e centralizada. O Netweaver utiliza a API SAP Logging, e por meio dessa API, todos os eventos são registrados nesse “repositório” de logs.
Se formos pensar em uma aplicação Java portavel para outras plataformas, podemos pensar em utilizar um framework open-source, desta forma não estaremos trabalhando com uma API proprietário, caso haja a necessidade de rodar essa mesma aplicação num outro servidor de aplicações como por exemplo o JBoss. Pensando nisso, e tendo em vista que o framework open-source mais utilizado no mercado Java é o Log4J,
podemos integrar-lo com o SAP Logging API, ou seja, podemos utilizar o framework Log4j para criar uma “ponte” com o SAP Logging API.
Além do Log4j, pode-se também integrar com o SAP Logging API o commons-logging, da apache.
Para mais detalhes de implementação.

Junho 16, 2009
NWDS somente para Windows…
Seria ótimo se existisse uma versão do NWDS para o SO MacOS, partindo do pré-suposto que o mesmo tem como origem o Eclipse, que roda muito bem no MacOS.
Acho que não é uma cultura da SAP agradar aos que utilizam outros sistemas operacionais, mas uma vez que eles estão apostando na plataforma Java, não seria uma coisa de outro mundo abrir suas ferramentas para outros SO’s e outros browsers, além do Internet Explorer, no caso de suas ferramentas web.
Maio 25, 2009
SAP e Teradata vs. Oracle
Um dos assuntos bastante falados nas últimas semanas foi sobre a aquisição da Sun pela Oracle, por 7,4 bilhões de dólares. Entre os tópicos que são mais discutidos pelos que trabalham com SAP, mais especificamente com Netweaver, é um certo receio que a SAP possa abandonar a plataforma Java após a transação da Oracle com a Sun. A verdade é que fica bem claro que a Oracle está ganhando muita força no mercado ERP, e quer ganhar o espaço que hoje é dominado pela SAP.
Um dia desses estava lendo umas notícias sobre tecnologia e me deparei com o seguinte: “SAP e Teradata contra-ataca Oracle”. Esse artigo é de um post do blog de tecnologia do jornal “The Wall Street Journal”. Resumidamente, o artigo fala sobre o acordo de parceria entre a SAP e a empresa Teradata (concorrente da Oracle), especializada em Banco de dados, hardware e software para BW. Com a parceria, a SAP agora,
recomenda a instalação do seu produto SAP BW com a base de dados Teradata, junto com toda a infra-estrutura que a empresa traz. Isso substitui o bando de dados Oracle, que era a sua principal parceira para armazenamento de dados.
Um outro artigo, bastante polêmico por sinal, é o do site seekingalpha. Nele, o autor fala sobre futuras ofertas que a IBM e HP podem fazer para adquirir a empresa alemã SAP, dentro de um período de 2 a 3 anos, além do risco da SAP perder a liderança no mercado de ERP’s.
Bom, para aqueles que querem saber mais da parceria entre SAP e Teradata, basta uma rápida busca no google e você achará muitas fontes de informações sobre o assunto. Além disso, você também vai encontrar muitos boatos e palpites para o futuro do mercado de software coorporativo.
No próprio site da Teradata, você pode encontrar informações sobre a parceria com a SAP.
Janeiro 23, 2009
E-Learnings sobre Web Dynpro
Olá Amigos frequentadores desse blog!!
Creio que muitos que visitam este blog sejam desenvolvedores Java ou ABAP, muito interessados em conhecer a plataforma SAP Netweaver ou profissionais de TI que desejam compreender e ter mais informações sobre o Web Dynpro.
Para todos que querem ter mais informações, acessar tutoriais e materiais para aprender e aperfeiçoar os conhecimentos de Web Dynpro, aconselho a tornarem-se frequentadores da comunidade SAP na internet, o SDN. Caso não sejam cadastrados, acessem e cadastrem-se. Uma das seções mais interessantes para aprendizagem, são os E-Learnings que são disponibilizados gratuitamente, sobre todas as tecnologias SAP, como Portal, Web Dynpro, ABAP, SOA, Visual Composer, etc.
Os E-Learnings são todos em inglês e bem didáticos. Sugiro que dêem uma olhada.
Acessem: https://www.sdn.sap.com/irj/scn/webdynpro-elearning e bom estudo.
Até mais!!
Janeiro 13, 2009
Gráficos
Após um bom tempo sem novos posts, volto com um tema bem interessante e bem simples de se implementar. Gráficos!!
No projeto que participo, o cliente necessitava exibir alguns dados comparativos entre os vários anos e vários setores da empresa, e como apresentar esses tipos de dados numa tabela ou planilha não é tão ilustrativo para quem analisa, decidiu-se por exibir esses dados em forma de gráficos.
O WebDynpro oferece, nativamente, o componente visual chamado Business Graphics para tal propósito. Montar um gráfico utilizando esse componente é bem simples dependendo de qual tipo de gráfico se deseja montar. Dentre os tipos de gráficos disponíveis, encontram-se o de barras, pizza, colunas, barras e área, que são os mais utilizados.
Pré-requisito
Um dos pré-requisitos para utilizar o componente Business Graphics é o IGS. O IGS (Internet Graphic Service) é um serviço que deve ser instalado no servidor de aplicações SAP, para que renderize os gráficos na página.
O desenvolvedor, quando for montar um gráfico, deve informar a URL do servidor aonde está rodando o serviço do IGS. Vale lembrar que o IGS pode rodar em um servidor diferente de onde foi feito o deploy da aplicação.
Para verificar se o IGS está instalado e configurado corretamente no seu ambiente, basta acessar pelo browser a URL do IGS. Deve aparecer a mensagem “SAP IGS is running”, como a imagem abaixo.

Serviço IGS rodando corretamente.
Na propriedade igsUrl do componente Business Graphics, deve ser informado a URL do IGS, conforme a imagem abaixo.

Propriedade igsUrl do Business Graphic
Não vou entrar nos detalhes de como popular o gráfico com dados, pois você pode encontrar muita informação e detalhes técnicos no site da SDN. Porém, caso tenham alguma dúvida, me escrevam.
Com certeza esse componente de geração de gráficos é de grande ajuda e facilita muito a vida do desenvolvedor, uma vez que em muitas linguagens, precisamos utilizar frameworks externos. Sendo um componente nativo do WebDynpro, evita-se o problema de mais um componente externo para incluirmos no nosso projeto, controle de versões de componentes entre outros inconvenientes.

Clicando no menu Start Chart Designer, podemos configurar visualmente alguns aspectos do gráfico.

Tela de configuração visual do gráfico.
Outubro 8, 2008
Melhoria de performance em aplicações Web Dynpro
Desenvolver aplicações escaláveis é um dos grandes desafios dos arquitetos e desenvolvedores, ainda mais com o crescimento cada vez maior do volume de dados que os sistemas devem suportar e disponibilizar para um número diariamente crescente de usuários.
Para desenvolver uma aplicação em Web Dynpro, existem algumas boas práticas de desenvolvimento que podem ser seguidas para não ter surpresas quando suas aplicações forem submetidas a um teste de stress. Além das boas práticas utilizadas em JEE, existem algumas peculiaridades para Web Dynpro.
Quando uma aplicação é submetida a um número considerável de acessos simultâneos, é comum que nossas conexões JCo não agüentem a carga e não consiga criar conexões com o SAP, gerando um erro em tempo de execução para o usuário da aplicação. Por padrão, o gerenciamento de conexões do Portal mantêm a conexão aberta com a sessão do usuário enquanto esse está na página da aplicação, mesmo que não esteja ativo. Ou seja, o programa já fez o que deveria fazer com a conexão, porém ele mantêm a conexão com ele até que ele saia da aplicação.
Se considerarmos que em sistemas para Web devemos “economizar” conexões, estamos cometendo um pecado que pode ser fatal para o Portal, uso excessivo de recurso.
Uma boa prática que pode ser aplicada para evitar o uso desnecessário de recurso é desconectar da JCo após toda execução de RFC, como pode ser visto no código abaixo. Como experiência própria que tivemos no atual projeto que trabalho, notamos que essa implementação causou uma diferença muito grande no número de conexões simultâneas, como conseqüência, melhora imensa de performance.
Setembro 3, 2008
Arquitetura de um componente Web Dynpro
Creio que um dos primeiros e maiores desafios para entender e começar a desenvolver uma aplicação Web Dynpro é entender a arquitetura interna de um compoente. Entender o conceito da arquitetura, será possível modelar e evitar muitos problemas de integração entre componentes e reusabilidade dos mesmos, ítem muito importante em linguagens orientadas a objeto.
Se você está iniciando em Web Dynpro, seja estudando para a certificação ou desenvolvendo as primeiras aplicações, com certeza cansará de ver a figura abaixo.
Um componente Web Dynpro é dividido em Entidades Visuais e Entidades Programáveis, ou seja, existe a parte que tem como objetivo a interface com o usuário e a parte que colocamos o código java nele. Ainda na figura, é possível verificar quais os inter-relacionamentos entre eles.
ENTIDADES PROGRAMÁVEIS
Cada bloco do lado direito, são classes Java e suas devidas implementações. Vou descrever brevemente sobre cada bloco.
Component Controller
É o coração de um componente Web Dynpro, está no topo da hierarquia dos componentes internos de um componente Web Dynpro. Para cada componente, haverá somente um Component Controller.
Por ser o mais importante controller, é aonde será colocado todo o código que será acessado por todos os outros controllers abaixo dele. Tudo que for implementado no Component Controller, será visto e acessado em todo o componente.
Ele por sí só, é o componente Web Dynpro. Seu cíclo de vida inicia quando o componente é criado pelo framework, e será o último a ser destruído quando o componente vier ao fim.
Interface Controller
Esse componente é o único ponto de comunicação com outros componentes Web Dynpro. Todo acesso a outro componente, ou requisição de acesso ao componente, passará pela Interface Controller.
Quanto ao ciclo de vida deste controller, será somente criado quando for requisitado um método dele, caso contrário, não será instanciado.
Custom Controller
Esse controller é usado quando o desenvolvedor quiser desenvolver algo que seja bem específico para esse componente. Por default, o Custom Controller não vem criado. Caso necessite, poderá criar quantos Custom Controllers precisar.
PARTE VISUAL
View Controller(View Layout e View Controller)
Esse controller possui tanto a parte programática quanto a parte visual, aonde o desenvolvedor desenhará a tela que o usuário irá interagir. Entenda que a interface com o usuário no Web Dynpro, não possibilita ao desenvolvedor incluir HTML, JavaScript, CSS ou qualquer outro elemento específico para páginas web.
Isso pode parecer ruim, pois pode-se perder o controle total que tinhamos quando desenvolvemos do modo convencional, por outro lado, isso acaba com um grande problema que todos os desenvolvedores web possuem quanto à compatibilidade de inúmeros Browsers que temos disponíveis no mercado hoje em dia. O View Layout tem como objetivo gerar uma tela independente de browser ou dispositivo que irá acessa-lo, seja ele um smartphone, um browser, etc…
Quanto a parte programável da View, se trata de uma classe Java que controla e trabalha com os dados que será exibidos na tela. Pode ser entendido como o Managed Bean no JSF.
O View Layout sempre terá junto com ele, o View Controller, e vice-versa. Um não existe sem o outro.
Outro ponto que merece destacar é que, caso você esteja desenvolvendo um componente Web Dynpro que não necessite de interface com o usuário, não será preciso criar o View Layout e View Controller. Quando um compoente Web Dynpro não possui interface gráfica, chamamos de Faceless Component.
Interface View Controller
Esse controller é aonde, basicamente o framework do Web Dynpro controla as views que serão exibidas na tela do usuário, e de que forma serão renderizadas. O desenvolvedor não tem muito controle sobre esse controller, pois é usado mais como um controller que o framework usa de abstração com a implementação feita pelo desenvolvedor.
Window
Em tempo de design, enquando o desenvolvedor está definindo as telas que o usuário terá acesso, ele incluirá numa Window, todas as View Layouts que serão exibidas para o usuário. É aonde ele fará a composição das Views que serão renderizadas e como será a navegação entre essas views. A Window pode ser entendida como um conjunto com todas as possibilidades de visualizações que um usuário pode ter. Após definida a Window em tempo de execução, a Interface View Controller tomará conta de como deverá ser renderizada a tela de acordo com as ações do usuário.
Para cada componente Web Dynpro, pode-se ter zero ou n Windows.
Bom, essa foi uma visão geral sobre a arquitetura de um componente Web Dynpro. À primeira vista é dificil de compreender todos os controllers, mas com alguma prática, é possível assimilar muito melhor esses conceitos.
Agosto 27, 2008
SAP Netweaver Developer Studio
A IDE de desenvolvimento para o SAP Netweaver é o SAP Netweaver Developer Studio, ou simplesmente NWDS, que nada mais é, do que o eclipse 2.1 (para a versão do Netweaver 7.0) com muitos plugins já pré-instalados da SAP, possibilitando o desenvolvimento com Web Dynpro.
Para a versão do Netweaver 7.1 (Composite Environment), o NWDS é baseado no Eclipse 3.0, e já suporta o java 1.5, diferentemente da versão Netweaver 7.0, que usa o Java 1.4.
Para quem já está acostumado com o ambiente de desenvolvimento do Eclipse, não vai encontrar dificuldades em se acostumar com o NWDS. A maior mundaça á a inclusão de uma nova perspectiva, a do Web Dynpro, que contém todas as ferramentas necessárias para criação das interfaces para usuário, bem parecido com a IDE do .NET e Netbeans, aonde encontramos uma toolbar na lateral com os componentes visuais disponíveis para criação de interfaces gráficas.
Essa IDE realmente é muito boa e ajuda muito na produtividade, bem diferente das ferramentas que existem no mercado atualmente para construir interfaces gráficas para java, usando JSF. Hoje em dia ainda se perde muito tempo contruindo a view de aplicações java, tempo precioso quando os prazos estipulados em projetos nunca são compatíveis com o grau de complexidade das telas exigidas pelos clientes.
- Layout view
Agosto 22, 2008
SAP Professionals – Oportunidade para quem deseja entrar no mercado SAP
Você, estudante, consultor autonomo, desenvolvedores e todos aqueles que desejam entrar no mercado SAP…
Estive lendo sobre o SAP Professionals – programa de formação de profissionais SAP – que a própria SAP está com planos de formar, em 24 meses, cerca de 10 mil consultores especializados na plataforma SAP para suprir a vasta necessidade que vem subindo na América Latina. Com isso, a SAP fechou acordo com várias universidades, consultorias e centros educacionais para atingir essa meta.
A melhor parte dessa história, ao meu ver, é que após fazer a academia SAP, prestar a prova de certificação e passar, a SAP se prontifica a distribuir o contato dos certificados entre seus clientes e parceiros, com isso, facilitar a entrada desse profissional no mercado de trabalho.
As academias oferecidas pelo SAP Professionals são:
- Academia ME – Midsize Enterprise (Finanças e Logística)
- Academia LE – Large Enterprise (Contabilidade Financeira, Controlling, Administração de Materiais, Vendas e Distribuição, Planejamento da Produção e ABAP)
- Academia Netweaver (Desenvolvimento de Aplicações Web com foco em Java)
Mais informações
Sobre o SAP Professionals
FAQ
Formulário de interesse pelo programa




