tcc_v4
TRANSCRIPT
Sistemas de Informação
LEANDRO MACHADO / 00028
Guarulhos2011
INTEGRAÇÃO DE APLICAÇÕES EMPRESARIAIS - EAI
LEANDRO MACHADO / 00028
Trabalho de conclusão de curso apresentado ao Curso de Sistemas de Informação do Centro Universitário Metropolitano de São Paulo, como parte dos requisitos para a obtenção do título de bacharel em Sistemas de Informação, sob a
coordenação do Prof. Ms. Mauro Fiorani.
Guarulhos2011
AVALIAÇÃO: ....................................................................................................ASSINATURA DO COORDENADOR: ........................................................
DEDICATÓRIA
Dedico esse trabalho a minha esposa Denise que me apoiou nos quatros
anos de estudo e teve compreensão nos momentos difíceis e a minha
filha Gabrielle que tem me inspirado e motivado a alcançar os objetivos.
Também dedico aos meus pais Antonio e Bernadete que sempre deram o
de melhor pra mim dentro de suas possibilidades e me ensinaram a ser
um cidadão de bem.
AGRADECIMENTOS
Agradeço primeiramente a Deus que tem me dado tudo que necessito, e
até aqui tem me ajudado dando força, sabedoria e amor mesmo sem eu
merecer.
Agradeço a minha esposa Denise por sempre está do meu lado e te me
ajudado durante todo esse período, e demonstrou muita satisfação em
tudo que eu faço, e olha que não faço quase nada, mas isso e fruto de
nosso amor.
Agradeço aos professores, Kátia J. Miranda Uhlmann que durante todo o
curso nos apoiou e sempre teve boa vontade e aulas de muita qualidade e
também nos orientou na elaboração desta pesquisa, ao Robson
Vaamonde que também se empenhou para que o curso sempre
melhorasse e também nos orientou na elaboração desta pesquisa, ao Luiz
Novais que também nos apoiou no pouco tempo que esteve conosco e
sempre demonstrou muito boa vontade e clareza e também nos orientou
na elaboração desta.
EPÍGRAFE
A verdadeira medida de um homem não se vê na forma como se comporta em momentos de conforto e conveniência, mas em como se mantém em tempos de controvérsia e desafio.
Martin Luther King Jr.
RESUMO
Integração de Aplicações Empresariais (EAI) é um termo de computação
relacionado aos planos, métodos e ferramentas que agregam eficiência
aos sistemas de informações através da unificação sistêmica da visão das
informações.
Impulsionada por novos requisitos de negócios, os departamentos de
tecnologia da informação deve rapidamente adaptar os sistemas às
necessidades de novos produtos e serviços, e para isso é necessário
mudanças (internas) no processo administrativo. Uma das mudanças é o
uso da EAI que pode trazer rapidamente novos produtos para o mercado.
Uso do EAI possibilita as empresa a satisfazerem a necessidade do seu
negócio de maneira simples e sem grandes modificações nos seu
sistema. No decorrer da pesquisa é demonstrado como empresa
FANTASIA fez uso da EAI para mudar a forma de pesquisa de satisfação
dos clientes, que eram feitas pelos vendedores através de papeis
impressos e posteriormente digitados no SAP CRM.
As principais fontes de estudo para elaboração desta pesquisa foram os
livros B2B Integrations Using SAP Netweaver PI de Sam Raju e Claus
Wallacher, Pratical Guide to SAP Netweaver PI Development de Valentin
Nicolescu e ABAP Objects: ABAP Programming in SAP Netweaver de
Horst Keller and Sascha Krüger, todos da editora SAP Press.
ABSTRACT
Enterprise Application Integration (EAI) is a computing term related to the
plans, methodsand tools that deliver efficiency to information systems
through the systemic unification of the information view.
Fueled by new business requirements, IT departments must quickly adapt
the systems for the requirements of new products and services, and this
will require changes (internal) in the administrative process. One of the
changes is the use of EAI, that can quickly bring new products to market.
The use of EAI enables the company to meet the requirements of your
business in a simple way avoiding big changes in your systems. During the
research is shown how the company FANTASY made use of EAI to
change the customer satisfaction survey, that earlier were made by
vendors in paper forms and later transcribed in SAP CRM.
The main sources for this research were the books B2B Integrations Using
SAP NetWeaver PI by Sam Raju and Claus Wallach, Practical Guide to
SAP NetWeaver PI Development by Valentin Nicolescu and ABAP
Objects: ABAP Programming in SAP NetWeaver by Horst Keller and
Sascha Krüger all from SAP Press publisher.
LISTAS DE FIGURAS
Figura 1.1 Atividades dos Sistemas de Informação.................................................5
Figura 1.2 - Modelo convencional de Sistemas de Informação................................7
Figura 1.3 - Interação das funções empresariais...................................................11
Figura 2.1 - Histórico do desenvolvimento da integração......................................13
Figura 2.2 - Integração horizontal e vertical nas empresas....................................15
Figura 2.3 - Demonstração SCM............................................................................17
Figura 2.4 - Informações integradas (Sistema ERP)..............................................18
Figura 2.5 CRM – Integração com aplicações e relacionamento com parceiros. . .19
Figura 2.6 - Soluções de Middleware.....................................................................20
Figura 3.1 - Sincronização das pesquisas.............................................................26
Figura 3.2 - plataforma tecnológica SAP Netweaver..............................................29
Figura 3.3 – Interface do SoapUI...........................................................................32
Figura 3.4 breakpoint no código para analise através do debug............................34
Figura 3.5 – analise do código fonte na tela de Debug..........................................35
Figura 3.4a - Criar uma atividade...........................................................................36
Figura 3.5a - Detalhes de preenchimento da atividade..........................................37
Figura 3.6 - Preenchendo o questionário da atividade de pesquisa......................38
Figura 3.7 - verificando status da atividade............................................................39
Figura 3.8 - Consultar atividade no SAP CRM.......................................................40
Figura 3.9 Modelo de desenvolvimentos dos serviços...........................................41
Figura 3.10 - Consulta a pesquisa pendente no SAP CRM...................................42
Figura 3.11 Criação e execução de RFC – transação se37...................................43
Figura 3.12 parâmetros de importação da RFC.....................................................43
Figura 3.13 parâmetros de exportação da RFC.....................................................44
Figura 3.14 parâmetros tipo tabela da RFC...........................................................44
Figura 3.15 lógica da RFC.....................................................................................45
Figura 3.16 parâmetros de importação da RFC.....................................................46
Figura 3.17 parâmetros tablas da RFC..................................................................46
Figura 3.18 ferramentas para o desenho do cenário no SAP PI............................47
Figura 3.19 criação da interface de mensagens....................................................48
Figura 3.20 Mapeamento dos campos de entrada.................................................48
Figura 3.21 Mapeamento dos campos de resposta ou saída................................49
Figura 3.22 Interface Mapping...............................................................................50
Figura 3.23 Cenário para listar pesquisas..............................................................51
Figura 3.24 canal de comunicação com Adapter Type do tipo SOAP...................52
Figura 3.25 canal de comunicação com Adapter Type do tipo RFC......................53
Figura 3.26 Receiver Determination.......................................................................54
Figura 3.27 Interface Determination.......................................................................55
Figura 3.28 Sender Agrrement...............................................................................56
Figura 3.29 Receiver Agreement...........................................................................57
Figura 3.30 menu para criação do WS...................................................................58
Figura 3.31 Definição da URL do WS....................................................................58
Figura 3.32 Informar o Namespace, a interface e o Software component Version.59
Figura 3.33 Informar o Namespace, a interface.....................................................59
Figura 3.34 geração do arquivo WSDL..................................................................59
Figura 3.35 armazenamento do arquivo WSDL.....................................................60
Figura 4.1 demonstração da interface do soapUI..................................................61
Figura 4.2 campos para consulta...........................................................................62
Figura 4.3 campos enviado pelo serviço para consulta no SAP CRM...................62
Figura 4.4 campos enviado pelo CRM referente à consulta feita pelo serviço.......63
Figura 4.5 resposta enviada pelo SAP CRM ao serviço........................................64
Figura 4.6 consulta da pesquisa no SAP CRM......................................................65
Figura 4.7 consulta de pesquisa no SAP CRM......................................................65
Figura 4.8 serviço para modificar tarefa.................................................................66
Figura 4.9 XML usado para fazer o interfacemento...............................................67
Figura 4.10 XML com a resposta do SAP CRM.....................................................67
Figura 4.11 XML (modificação de pesquisa) com a resposta do SAP CRM..........68
Figura 4.12 XML consulta dados modificados no SAP CRM.................................69
Figura 4.13 XML resultado da consulta..................................................................70
Figura 4.14 consulta no SAP PI do XML com dados de criação de pesquisa........71
Figura 4.15 consulta no SAP PI do XML com dados de resposta do SAP CRM. . .71
Figura 4.16 consulta no SAP PI do XML com dados de resposta do SAP CRM. . .72
Figura 4.17 – pesquisa criada................................................................................72
TABELAS
Tabela 1 - Detalhes de preenchimento da atividade..............................................38
Tabela 2 Detalhe dos campos do Interface Mapping.............................................50
Tabela 3 Detalhe dos campos do Adapter Type SOAP.........................................52
Tabela 4 Detalhe dos campos do Adapter Type RFC............................................54
Tabela 6 Detalhe dos campos do Receiver Determination....................................55
Tabela 7 Detalhe dos campos do Interface Determination....................................55
Tabela 8 Detalhe dos campos do Interface Determination....................................56
Tabela 9 Detalhe dos campos do Interface Determination....................................57
Tabela 10 campos do serviço ZCRM_SET_VAULES_TASKS..............................66
Tabela 11 campos do serviço ZCRM_SET_VAULES_TASKS..............................71
LISTA DE SIGLAS E ABREVIAÇÕES
EAI Enterprise Application Integration ou Integração de
Aplicações Empresariais – é um termo de
computação relacionado aos planos, métodos e
ferramentas que agregam eficiência aos sistemas
de informações através da unificação sistêmica da
visão das informações.
XML Extensible Markup Language – é uma linguagem
auto-descritiva similar a HTML. Tanto XML quanto
HTML contêm uma metalinguagem para descrever
o conteúdo de páginas e arquivos. Enquanto
HTML descreve as páginas XML descreve o
conteúdo em termos de dados. Um arquivo XML
pode ser processado por um programa como
dados.
EDI Electronic Data Interchange ou Troca Eletrônica de
Dados – é um tipo operação estabelecido pela
comunicação direta entre computadores, que
trocam informações em um formato padrão.
Através dessa operação é possível às empresas
realizar transações comerciais trocando
documentos sem intervenção humana no
processo.
ERP Enterprise Resource Planning ou Planejamento de
Recursos empresariais – é um conjunto de
aplicações de software que abrangem a parte
interna de uma empresa. Automatizam, por
exemplo, desde o departamento de recursos
humanos, a área financeira, industrial e comercial
de forma que os processos internos fiquem
integrados.
CRM Customer Relationship Management – O
gerenciamento do relacionamento com clientes é
um sistema de informações utilizado para planejar,
organizar e controlar as atividades desde o pré-
vendas até o pós-vendas. Envolve
acompanhamento, em todos os canais, do
comportamento de todas as interações que são
realizadas com o cliente, objetivando o
aprendizado das suas preferências de compra e
atendimento e sua retenção.
ABAP Advanced Business Application Programming – É
uma linguagem de programação de alto nível
desenvolvida pela empresa de software SAP, tem
uma sintaxe semelhante ao COBOL.
SOAP Simple Object Access Protocol – é um protocolo
baseado em XML. SOAP foi originalmente
desenvolvido para trabalhar com aplicações
distribuídas se comunicando sobre HTTP através
do sistema de segurança das empresas (firewalls).
Esse protocolo define o uso de XML e HTTP para
acessar serviços.
WSDL Web Services Description Language – é uma
linguagem baseada em XML. WSDL permite a
documentos XML definir as interfaces para os Web
Services. linguagem baseada em XML. WSDL
permite a documentos XML definir as interfaces
para os Web Services.
Middleware Software que tem por finalidade facilitar a
comunicação entre aplicações. O middleware
fornece API´s pelas quais as aplicações requisitam
serviços e controlam a transmissão de dados.
B2B Business-to-Business – De negócio para negócio,
esse termo se refere às transações realizadas
entre duas ou mais organizações.
B2C Business to Consumer – Similar ao B2B o termo
no caso se aplica as transações realizadas entre
uma empresa e um consumidor individualmente,
analogamente o varejo via Internet.
SUMÁRIO
1. Introdução...........................................................................................................1
2. Introdução a Sistema da Informação................................................................3
2.1 Histórico........................................................................................................32.2 Definição.......................................................................................................32.3 Classificação dos sistemas de informação....................................................52.4 Sistema de informação Organizacional.........................................................72.5 Sistemas inter-relacionais.............................................................................82.6 Definição de organização..............................................................................92.7 Relação de sistema e organização.............................................................10
3 Integração de Sistema Empresarial - EAI.......................................................12
3.1 Surgimento da integração de sistema empresarial.....................................123.2 Razões e objetivos de integração dos sistemas..........................................143.3 Caractersticas da integração.......................................................................143.4 Aplicações no ambiente corporativo............................................................153.5 Tecnologia da integração............................................................................193.6 Middleware..................................................................................................203.7 Métodos de integração................................................................................223.8 Conector......................................................................................................233.9 XML.............................................................................................................233.10 Web Services..............................................................................................24
4 Caso de uso – Integração de dois sistemas..................................................25
4.1 Descrição do Projeto...................................................................................254.2 Tecnologia usada no Desenvolvimento da solução....................................264.2.1 SAP NetWeaver.......................................................................................274.2.2 SAP NetWeaver Process integration.......................................................294.2.3 SAP CRM.................................................................................................304.2.4 soapUI 3.0.1.............................................................................................314.2.5 Engenharia reversa..................................................................................334.3 Desenvolvimento da Solução......................................................................354.4 Disponibilização dos serviços......................................................................414.5 Criação dos Serviços...................................................................................424.6 Criação da RFC...........................................................................................424.7 Criação do cenário no SAP PI.....................................................................474.7.1 Integration Repository - Design...............................................................474.7.2 Integration Directory - Configuration........................................................51
5 Testes dos serviços.........................................................................................61
5.1 Serviço para consultar pesquisa.................................................................615.2 Serviço para modificar pesquisa.................................................................655.3 Serviço para criação de pesquisa...............................................................70
Conclusão................................................................................................................73
Referências..............................................................................................................75
1
1. INTRODUÇÃO
Devido às diversidades de cenários de negócios das organizações a
tecnologia tem se tornado uma ferramenta fundamental para auxiliar as
organizações no tratamento dos dados e informações destes cenários,
proporcionando as organizações vantagens competitivas aos seus
concorrentes.
Nas organizações a diversas fontes de dados e informações, algumas
oriundas de processos internos, outras de processos externos (no caso
dos parceiros que fazem parte dos negócios da organização), sistemas
legados se levarmos em conta as grandes organizações. Apesar desse
grande volume de dados e informações a Integração de Aplicações
Empresariais (EAI) com seus métodos e ferramentas tem auxiliado as
organizações através da unificação sistêmica da visão das informações.
Esta pesquisa demonstrada como empresa FANTASIA fez uso da EAI
para mudar processo de pesquisa de satisfação dos clientes em uma de
suas filiais na Argentina que eram feitas pelos vendedores através de
papeis impressos e posteriormente digitados no SAP CRM, e agora é feito
através de uma aplicação que está disponível nos notebook de cada
vendedor ou em seu celular.
A principal ferramenta usada para solucionar a necessidade da
organização foi o SAP Netweaver Process Integration conhecido também
pela sigla (PI) que é uma ferramenta que faz parte da tecnologia SAP
Netweaver.
O SAP Netweaver é uma tecnologia abrangente de softwares de
integração, e trabalha com a infraestrutura e tecnologia de TI já existente
na empresa e é flexível a novas tecnologias. A arquitetura orientada a
serviços (SOA) lhe permite separar a interface e a definição de processos
do próprio aplicativo. Isso traz implementações mais rápidas e
atualizações mais baratas, implementadas à medida que forem
necessárias.
O SAP PI auxiliar a implementação do cross-system business (sistemas
de negócios), apoia-se no SOA para atender essas implementações.
2
O objetivo principal do SAP PI é encaminha mensagens de entrada para o
receptor apropriado considerando alguns pontos importantes como tipo de
dato, formato, tamanho de dados, comunicação e permissões.
A EAI na empresa FANTASIA proporcionou um grande beneficio já que
atendeu a necessidade, envolveu poucas pessoas, foi executado num
curto prazo e fez uso da tecnologia já existente na empresa.
3
2. INTRODUÇÃO A SISTEMA DA INFORMAÇÃO
2.1HISTÓRICO
Na década de 50 as grandes empresas usavam computares com a
finalidade de processar cálculos, processamento eletrônico de dados
(EDP) e em seguida, abreviado para processamento de dados (PD).
Vários sistemas foram criados para atender as diferentes necessidades
dos negócios das organizações, gerando vários relatórios e muitas vezes
com informações confusas e conflitantes dificultando o processo de
decisões estratégicas e prioritárias por partes dos executivos.
Neste cenário, surgiram os Sistemas de Informações (SI), que passaram
por várias etapas de evolução:
a operacionalização de tarefas rotineiras;
a integração entre os vários SI na organização como suporte
ao gerenciamento;
a informação como recurso estratégico e seu uso para
alcançar vantagem competitiva.
Cada vez mais as organizações necessitam do SI para lidar com os
problemas e oportunidades do ambiente de negócio, e os sistemas de
informação estão transformando a maneira como o trabalho é conduzido e
como os produtos e serviços são produzidos.
2.2DEFINIÇÃO
Antes de definir sistema de informação é necessário definir os termos que
o são relacionados: dados, informação, conhecimento e sistema.
4
Dados
A menor unidade possível, podendo ser uma letra, número ou dígitos, que
isoladamente não tem nenhum significado claro, que não consegue
informar nada e sua análise não leva a nenhuma conclusão.
Informação
É o dado trabalhado, tratado, inserido num contexto. Também podemos
definir como um conjunto de dados que têm algum significado e são
utilizados para orientar tomada de decisões.
Conhecimento
É a informação mais valiosa e, consequentemente, mais difícil de
gerenciar. É valiosa precisamente porque alguém deu à informação um
contexto, um significado, uma interpretação; alguém refletiu sobre o
conhecimento, acrescentou a ele sua própria sabedoria, considerou suas
implicações. Quando a informação é trabalhada por pessoas e pelos
recursos computacionais, pode gerar cenários, simulações e
oportunidades.
Sistemas
São diversos os conceitos de sistemas, porem os que mais se destacam
segundo escreveu (REZENDE, 2005 p.20) são os seguintes:
Conjunto de partes que interagem entre si, integrando-se para atingir um
objetivo comum ou resultado; partes interagentes e interdependentes que
conjuntamente formam um todo unitário com determinados objetivos e
efetuam determinas funções; em informática é um conjunto de software,
hardware e recursos humanos; componentes da tecnologia da informação
e seus recursos integrados; empresas ou organização e seus vários
subsistemas ou funções organizacionais.
5
Sistema de informação pode ser definido como um conjunto de
componentes relacionados que trabalham juntos para processar, coletar,
armazenar, recuperar, e distribuir informações com a finalidade de facilitar
o planejamento, controle, coordenação, análise e processo decisório em
empresas e outras organizações (Figura 1.1).
Figura 1.1 Atividades dos Sistemas de Informação.Adaptado de K. Laudon e J. Laudon (1999, p.4).
2.3CLASSIFICAÇÃO DOS SISTEMAS DE INFORMAÇÃO.
Não existe uma classificação rígida, permitindo aos autores e
organizações classificarem seus sistemas de diversas maneiras,
podendo-se enquadrar em diversos modelos e classificações pertinentes.
Sistemas de informação operacionais – SIO
Também chamados de sistemas de apoio às operações empresariais,
sistemas de controle ou sistemas de processamento de transações (SPT).
Contemplam o processamento de operações e transações rotineiras
quotidianas, em seu detalhe, incluindo seus respectivos procedimentos.
Controlam os dados detalhados das operações das funções empresariais
imprescindíveis ao funcionamento harmônico da empresa, auxiliando a
tomada de decisão do corpo técnico das unidades departamentais.
6
Sistemas de informação gerenciais – SIG
Também chamados de sistemas de apoio à gestão empresarial ou
sistemas gerenciais. Contemplam o processamento de grupos de dados e
transações operacionais, transformando-os em informações agrupadas
para a gestão.
Trabalham com os dados agrupados (ou sintetizados) das operações das
funções empresariais da empresa, auxiliando a tomada de decisão do
corpo gestor ou gerencial das unidades departamentais, em sinergia com
as demais unidades.
Sistemas de informação estratégicos – SIE
Também chamados de sistemas de informação executivos ou sistemas de
suporte à decisão estratégica, ou ainda, são conhecidos por uma sigla em
inglês EIS ou Executive Information Systems. Contemplam o
processamento de dados das operações operacionais e transações
gerenciais, transformando-os em informações estratégicas.
Trabalham com os dados no nível macro, filtrados das operações das
funções empresariais da empresa, considerando ainda, o meio ambiente
interno e/ou externo, visando auxiliar o processo de tomada de decisão da
alta administração. Habitualmente, trabalham com muitas informações
gráficas, amigáveis e normalmente on-line, observando as
particularidades de cada empresa e, ainda, com opção de descer no nível
de detalhe da informação.
Nos sistemas de informação estratégicos, as informações são
apresentadas de forma macro, sempre relacionado com o meio ambiente
interno (funções empresariais) e/ou externo da empresa. Em geral,
sistemas de informação estratégicos fornecem vantagens de mercado
significantes, embora temporárias, principalmente pelo aumento de custo
de entrada de novos competidores. (Rezende, ENGENHARIA DE
SOFTWARE E SISTEMAS DE INFORMAÇÃO, 2005 p. 35,36)
7
Figura 1.2 - Modelo convencional de Sistemas de Informação
2.4SISTEMA DE INFORMAÇÃO ORGANIZACIONAL
São classificadas em duas categorias (conforme explanado abaixo) as
aplicações de um sistema organizacional:
Sistema de aplicações localizadas
A categoria de sistemas de informação localizada inclui sistemas pessoais
e de grupos, as principais características são: envolvem poucos
utilizadores, os utilizadores conhecem cada um dos membros do grupo de
trabalho pessoalmente, estes geram poucos dados, às vezes simples e
poucos heterogêneos, envolvem apenas sub funções da empresa.
8
Sistemas interdepartamentais
“A proposta de sistemas interdepartamentais é integrar as atividades de
diferentes departamentos em um único sistema de negócios que produz
respostas apropriadas e coordenadas para o meio ambiente da empresa.
Tanto os sistemas localizados quanto os interdepartamentais envolvem
muito pouco redesenho dos processos de negócios aos quais dão
suporte. Eles dão suporte às atividades da empresa do modo com elas já
existiam anteriormente.
Os Sistemas de Informação organizacionais na categoria de sistemas
interdepartamentais permitem a integração de atividades de
departamentos separados de modo que os departamentos respondam de
maneira consistente e coordenada. Frequentemente, tais sistemas
envolvem bases de dados centralizadas e compartilhadas pelos
departamentos envolvidos, que permitem que cada departamento registre
os resultados de seu trabalho.
Com sistemas interdepartamentais, os usuários terão visões diferentes
dos mesmos dados. Tais sistemas devem ser padronizados, e as
mudanças nos mesmos devem ser cuidadosamente controladas.
Consequentemente, existe uma necessidade para o gerenciamento de
sistemas organizacionais. “Eles envolvem muitas aplicações e muitos
dados heterogêneos.” (Rezende, PROJETO PETI - PLANEJAMENTO
ESTRATÉGICO DA TECNOLOGIA DA INFORMAÇÃO, 2007 p. 5)
2.5SISTEMAS INTER-RELACIONAIS
Tanto os sistemas localizados quanto os interdepartamentais,
envolvem poucas alterações no processo de negócio, já que objetivo
principal de ambos é dá suporte às atividades da empresa.
Há muitos anos o sistemas de informação são usados dentro das
organizações e para dá suporte ao fluxo de informações na transição de
dados de uma organização a outra é utilizado o sistema de informação
inter-organizacional.
9
Os sistemas inter-organizacional envolvem duas ou mais organizações e
permite as organizações interagirem mais produtivamente, reduzirem
gastos, aumento da eficiência e agilidade nos processos empresariais,
diminui o uso de papéis e diminui as margens de erros. Existem quatro
características que fazem parte do sistema inter-organizacional:
Troca eletrônica de dados
Na troca eletrônica de dados - Eletronic Data Interchange (EDI) as
empresas concordam em padrões de dados comuns.
Sistemas de acesso inter-organizacionais
As empresas usam os sistemas das outras.
Sistema integrados inter-organizacionais
As empresas desenvolvem Sistemas de Informação compartilhados.
Redes de conhecimento
As empresas usam Tecnologia da Informação para compartilhar
conhecimentos. Os sistemas quem envolvendo duas ou mais
organizações podem ser complexos já que necessita estabelecer padrões
entre as organizações como tamanho e tipo de dados, tanto é que
antigamente eram restritos as empresas de viagens, bancos e grandes
corporações, porém as vantagens são significativas já que obtém grande
êxito na transmissão e emissão de pedido, faturas e pagamento.
2.6DEFINIÇÃO DE ORGANIZAÇÃO
Uma organização pode ser definida como um conjunto de pessoas,
equipamentos, dados, políticas e procedimentos que existem para suprir
seus produtos e serviços, com objetivo de obter lucros. (Resende &
Abreu, 2003)
Segundo escreveu (Rezende, ENGENHARIA DE SOFTWARE E
SISTEMAS DE INFORMAÇÃO, 2005 p. 21)
10
A organização em seu contexto interno e exteno por si só já é um sistema,
em consequencia um sistema de informação. Como conseito generico de
sistema, pode-se relatar um conjunto de partes que interagem entre si para
alcaçar objetivos pré definos ou resusltados. No caso da organização, as
partes que a compõem formam o sistema.
2.7RELAÇÃO DE SISTEMA E ORGANIZAÇÃO
Para estabelcer uma relação entre sistema e organização é necessário
primeirmente definir o que é um sistema de informação:
Segundo escreveu (Rezende, ENGENHARIA DE SOFTWARE E
SISTEMAS DE INFORMAÇÃO, 2005 pg. 21)
Sistema da informação são todos os sistemas que produzem ou geram
informações, que são dados trabalhados (ou com valor atribuido ou
agregado a eles) para execução de ações e para auxlilar processos de
tomada de decisões.
Uma organização pode ser conciderada um sistema, tendo em vista os
compoentes internos (suas atividades, processos, envolviemento de
pessoas, tratamento de dados, manipulação de informações) e
envolvimento com entidades extenas.
Os componentes do meio ambiente internos das organizações (recursos
humanos e seus valores, maquinas e equipamentos, recursos logisticos,
conhecimentos, cursos de aperfeiçoamente profissional, normas, etc)
devem ser adiministrados e geridos de forma que existam
harmonicamente.
Para funcionar plenamente todas as organizações, devem estar envolvida
com o meio ambiente externo ( globalização, concorrentes, fornecedores,
intermediários, clientes ou consumidores, mercado nacional ou
internacional, comunidade, governo, legislação, sindicato, fiscalização,
11
tecnologia, etc). Esses fatores externos influenciam a organização e
condicionam o seu desenvolvimento.
Os pontos mencionados acima definem a relação do sistema com a
organização, já que o sistema controla o funcionamento global da
organização, cordena atividades de interação entre os departamentos
(Figura 1.3 ) e contribui para eficiência das funções vitais da organização.
Figura 1.3 - Interação das funções empresariais
12
3 INTEGRAÇÃO DE SISTEMA EMPRESARIAL - EAI
Após explanar o que é Sistema de Informação e sua importância nas
organizações, neste capítulo estarei explanado o que é EAI e a sua
importância no ambiente organizacional.
Impulsionada por novos requisitos de negócios, os departamentos de
tecnologia da informação deve rapidamente adaptar os sistemas às
necessidades de novos produtos e serviços, e para isso é necessário
mudanças (internas) no processo administrativo. Uma das mudanças é o
uso da integração de sistemas que pode trazer rapidamente novos
produtos para o mercado, e essa mudança hoje é uma das tarefas
principais dos departamentos de TI.
3.1 SURGIMENTO DA INTEGRAÇÃO DE SISTEMA EMPRESARIAL
Na década de 1950 e 1960, o panorama das empresas era dominado por
mainframe1 e sistema monolítico2 e isso dificultava o processo de
integração já que não havia suporte para esse tipo de sistemas devido à
limitação da tecnologia e dos hardwares. No inicio da década de 1970
houve uma necessidade de integrar aplicações empresariais que eram
utilizadas para gestão de materiais, recursos humanos e contabilidade
financeira, então surgiram os modelos de integração para auxiliar as
empresas neste processo, os mais usados na época eram o modelo de
integração de Grochla, e os modelos de referência de Sheer e Mertens
que levou os primeiros conceitos de processamento de informação
integrado, também nessa década surgiram às empresas de suporte em TI
para auxiliar as mudanças (internas) no processo administrativo.
Nos meados dos anos de 1980 surgem os Enterprise Resource Planning
(ERP), são sistemas que integram todos os dados e informações de uma
organização (finanças, contabilidade, recursos humanos, fabricação,
marketing, vendas, compras, etc.) possibilitando a integração dos diversos
departamentos de uma empresa e facilitando a tomada de decisão e
automação dos processos.
1 Mainframe é um computador de grande porte2 Monolítico é um sistema composto por conjuntos de rotinas que possuem permissão para interagir umas com as outras
13
Este sistema funciona muito bem desde que se use software do mesmo
fornecedor, ou seja, algo impossível já que muitas empresas têm sistemas
legados3 e devido à sua complexidade e importância para o negócio e o
auto custo para o desenvolvimento de um novo software, a substituição e
padronização para interagir com o outros sistemas acaba sendo inviável,
sendo assim o ERP não resolver todos os problemas da empresa no que
se refere à integração.
Embora o foco inicial fosse sobre a integração de aplicações internas da
empresa (EAI), no final da de década de 1970 foram criados formatos de
dados para padronizar a interação das informações entre os sistemas,
conforme figura 2.1, os mais conhecidos eram SWIFT (bancário), Odette
(automotivo), e RosettaNet (alta tecnologia), no inicio da década de 1990
foi adicionada a esse grupo a Electronic Data Interchange (EDI) e embora
esses formatos nos dias atuais sejam usados, a partir da década de 2000
dados baseado no formato XML (Extensible Markup Language) têm
aumentado em importância.
(Adaptado: Sap NetWeaver PI – Development, 2010 cap. 1 pg. 27)Figura 2.1 - Histórico do desenvolvimento da integração
3 Legado é termo utilizado em referência aos sistemas antigos de uma organização
14
Para fazer a integração das informações e aplicações usando como base
os dados mencionados anteriormente na década de 1990 surgiu a “EAI”
que contempla planos, métodos e ferramentas que visam a modernizar,
consolidar e coordenar o aplicativos, possibilitando à organização obter
vantagem competitiva com a integração de todas as aplicações em um
sistema empresarial unificado capaz de compartilhar as informações e
suportar os processos de fluxos de negócios.
3.2 RAZÕES E OBJETIVOS DE INTEGRAÇÃO DOS SISTEMAS
As razões para integração dos sistemas devem ser divididas conforme as
categorias descritas abaixo:
Plataformas diferentes
Essa categoria envolve o uso de diferentes linguagens de programação
para o desenvolvimento de soluções para o negócio da organização,
banco de dados diferentes, aplicações comerciais e gratuitas, enfim, as
organizações usam diferentes componentes paralelamente.
Arquiteturas diferentes
Essa categoria envolve diferentes tipos de sistemas e software, por
exemplo, arquitetura cliente/servidor4 versus arquitetura four-tier5
(arquitetura web), serviço orientado versus função orientada e diferentes
modos de mensagens (synchronous versus asynchronous).
O uso de third-party e serviços distribuídos
Essa categoria envolve as empresas que usam serviços distribuídos em
vários locais ou se uma empresa quer usar serviços de outras empresas.
3.3 CARACTERSTICAS DA INTEGRAÇÃO
Dados, programas, funções, processos e serviços são objetos de toda a
integração. Dados e programas são elementos técnicos para serem 4 Modelo computacional que separa cliente e servidor interligados através de uma rede de computadores5 Arquitetura que inclui replicação de dados sem poluir a base local de dados.
15
integrados, enquanto funções, processos e serviços são elementos que
representam o negócio da empresa. Essas características no processo de
integração são dividas em duas direções, horizontal e vertical, conforme
demonstrado na figura 2.2, onde as funções e informações são de origens
de vários departamentos, como por exemplo, vendas, produção, logística,
etc. Dependendo da necessidade das pessoas e máquinas a interação da
integração do sistema de informação é feita de duas formas distintas:
totalmente automatizadas e parcialmente automatizadas.
Figura 2.2 - Integração horizontal e vertical nas empresas
A parcialmente automatizada requer que as funções iniciais de
comunicação e coordenação estejam sincronizadas entre máquinas e
pessoas, tudo isso é desenvolvido pelo departamento de TI da empresa
que faz o desenho de acordo com o negócio ou a necessidade da
empresa e a totalmente automatizada segue um fluxo com processos
dependentes um do outro para obter um resultado.
3.4 APLICAÇÕES NO AMBIENTE CORPORATIVO.
Segundo Boris Lublinsky (2001), a demanda por EAI se deve
principalmente à necessidade de integração originada da migração das
aplicações monolíticas para um novo conjunto de aplicações formado por
aplicações legadas, produtos de prateleira e aplicações com tecnologias
emergentes para segmentos específicos.
16
O ambiente organizacional é composto por vários hardwares, softwares,
multiplicidade de aplicações que executam inúmeras funções dentro do
cenário de negócio que ultrapassam os limites físicos das organizações,
necessidade de estabelecer relações “colaborativas” e “instantâneas”, e
isso é feito através de “caminhos digitais” que interligam as empresas ao
mercado.
Abaixo estão listadas algumas das aplicações que fazer parte do cenário
de negócio das empresas:
Aplicações B2C (business to consumer)
São aplicações de comércio eletrônico onde é fornecido ao consumidor
uma interface da empresa. Neste tipo de aplicação a empresa se
comunica diretamente com o seu consumidor final, disponibilizando
acesso à compra de seus produtos, informações comerciais (preços,
prazos de entrega, processamento de pedidos) e técnicas;
Aplicações B2B (business to business)
São aplicações que auxiliam as transações de comércio eletrônico entre
as empresas, onde as empresas se comunicam com outras empresas
clientes e fornecedoras (parceira de negócio) na sua cadeia de
suprimentos, trocando informações sobre pedidos de compras, entregas,
informações financeiras e de crédito;
Aplicações B2G (business to government)
São aplicações que auxiliam as transações entre empresas e governo. As
empresas trocam informações sobre tributos, movimento fiscal e contábil,
processamento de exportações e outras informações com órgãos
governamentais.
Para auxiliar as organizações na troca de informações surgiu à
necessidade de criar uma arquitetura de aplicações distribuídas, abaixo
alguns componentes que auxiliam as organizações.
SCM (Supply Chain Management)
17
O SCM conhecido no português como gestão da cadeia logística (GCL), é
um conjunto de aplicações que gerência a cadeia de suplementos
responsáveis pela interligação de fornecedores, fabricantes, distribuidores
e revendedores (figura 2.3) visando melhorar e automatizar o
abastecimento, reduzindo os stocks e os prazos de entrega.
Figura 2.3 - Demonstração SCM
ERP (Enterprise Resource Planning)
Conhecido em português como Sistemas Integrados de Gestão
Empresarial (SIGE), corresponde ao conjunto de aplicações integradas
que tem por objetivo auxiliar a organização nas importantes fases do seu
negócio. Facilita o fluxo de informações entre todas as atividades de uma
organização, como fabricação, logística, finanças e recursos humanos
(Figura 2.4). Normalmente, é composto por um banco de dados único,
operando em uma plataforma comum que interage com um conjunto de
aplicações.
18
Figura 2.4 - Informações integradas (Sistema ERP)
CRM (Customer Relationship Management)
Conhecido no português como Gestão de Relacionamento com o Cliente
é uma estratégia de gestão de negócios através do relacionamento com o
cliente para obter maior lucratividade e ganhos de vantagem competitiva.
Faz uso da tecnologia e integração com outras aplicações como ERP
(figura 2.5) para automatizar os diversos processos de negócio, como
vendas, marketing, serviços ao consumidor e suporte a campo. O CRM
integra pessoas, processos e tecnologia para aperfeiçoar o gerenciamento
de todos os relacionamentos, incluindo consumidores, parceiros de
negócios e canais de distribuição.
19
Figura 2.5 CRM – Integração com aplicações e relacionamento com parceiros
3.5 TECNOLOGIA DA INTEGRAÇÃO
No inicio as soluções de integração eram baseados na tecnologia
cliente/servidor onde os processos eram divididos e localizados em
camadas lógicas diferentes (interface, aplicação e dados), atualmente as
maioria das soluções de integração são baseados na tecnologia
cliente/servidor Web onde o browser veio substituir os aplicativos na
estação cliente, e os servidores Web se associaram aos servidores de
Aplicação. Com a computação Web, novos componentes passaram a
fazer parte do cenário (linguagem Java, por exemplo, com os seus
applets, beans e javabeans). Isso é feito da seguinte forma, uma estação
cliente faz uma requisição a um servidor, e este forneça o dado solicitado,
independente de marcas de estações, protocolos de rede, logotipos de
software intermediário, padrões de acesso e de tipos de Bancos de
Dados. Sendo assim, o Middleware foi produzido para definir essa
camada de software, realizando essa proeza de diálogo universal.
20
3.6 MIDDLEWARE
Middleware é um termo geral para qualquer tipo de programação que
serve para "união" ou mediação (Figura 2.6) entre dois programas
separados e normalmente já existentes.
Os programas Middleware fornecem mensagens e serviços para que
diferentes aplicações possam se comunicar.
Figura 2.6 - Soluções de Middleware
Middleware Orientado a Mensagem
O chamado MOM (Middleware Orientado a Mensagem) provê a habilidade
de integrar aplicações por meio do uso de mensagens e garante a entrega
da informação mesmo quando o destino não está disponível no momento.
A mensagem é o conceito usado como método de integração. O MOM
provê a habilidade para criar, manipular, armazenar e comunicar essas
mensagens. Um dos exemplos de MOM mais próximos dos usuários são
as aplicações de correio eletrônico e de replicadores de Bancos de
Dados.
21
Tecnologia de Objetos Distribuídos
A chamada DOT (Distributed Object Technology), tecnologia de objetos
distribuídos, é um tipo de Middleware que estende o conceito da
tecnologia orientada a objeto para processamento distribuído. Interfaces
são desenvolvidas para aplicações que fazem software parecer como
objetos.
Monitores de Processamento de Transação
Os chamados TPMs (Transaction Processing Monitors) são um tipo de
Middleware que preservam a integridade da transação. Eles suportam
características como rollback, refazer, armazenar histórico de erro e
replicação para eliminar pontos de falha. TPMs asseguram que uma
transação mantenha as propriedades ACID (Atomicidade, Consistência,
Isolamento e Durabilidade).
Chamadas de Procedimentos Remotos
RPC (Remote Procedure Calls) é um tipo de Middleware que é baseado
na noção de desenvolvimento de aplicações distribuídas que se integram
no nível de procedimento. Esse tipo cria a habilidade para fazer chamadas
a procedimentos pela rede.
Middleware de Acesso a Banco de Dados
Middleware de acesso a banco de dados é um tipo de Middleware que é
baseado na noção de acessar dados distribuídos em arquivos ou bancos
de dados através dos mecanismos de drivers de dados, como ODBC
(Open DataBase Connectivity), OLE/DB, JDBC (Java DataBase
Connectivity) e JSQL (SQL embutido em código Java). Integra no nível de
dados e permite consultas aos dados ou mudanças nos dados por meio
da rede. Exemplos são: ODBC e JDBC.
22
3.7 MÉTODOS DE INTEGRAÇÃO
Um método de integração é a forma de construir um pedido de um
remetente a um receptor, existem dois métodos de integração:
Mensagem
No método de integração de mensagem o remetente constrói uma
mensagem contendo a informação das ações desejadas, por exemplo,
atualizar uma base de dados, fazer consultar, emitir relatórios e isso é
feito juntamente com os dados para desempenhar a ação. A mensagem
contém o controle da informação, dos dados.
Definições de interface.
No método de integração através de interface a comunicação do
remetente, as ações que podem ser chamadas pela aplicação e dado a
ser processado são enviados por meio da interface.
Os projetos de integração entre aplicações devem predefinir as
mensagens. Qualquer aplicação que enviar uma mensagem deve ter as
seguintes funções:
Criar a mensagem no formato apropriado
A mensagem deve conter informação sobre o remetente, receptor, tempo,
número da conta, ação da conta e valor. A aplicação que envia cria a
mensagem baseada na definição do formato da mensagem;
Colocar a mensagem dentro do sistema de comunicações
Uso do serviço de comunicações assíncrono transmitiria essa mensagem
à aplicação receptora enquanto o remetente continua processando, uma
vez que a mensagem está no sistema de comunicações o receptor deve
ser capaz de:
23
Receber a mensagem do sistema de comunicação: o sistema
de comunicação alerta o receptor, faz as verificações dos
dados e do formato da mensagem e passa para a aplicação;
Analisar a mensagem dentro de suas informações de
controle e dados: o número de conta, ação de conta, e
valores são identificados na mensagem e colocados nas
variáveis apropriadas;
Determinar o que fazer com a mensagem: a aplicação
receptora deve ser capaz de ler a mensagem e tomar a ação
apropriada.
3.8 CONECTOR
Um conector é programado dentro de uma aplicação cujo objetivo é
prover acesso à apresentação, dados, ou funcionalidade da aplicação de
maneira estruturada. O conector esconde a complexidade de
transformação e comunicação na mensagem ou chamada em uma
interface para uso da aplicação.
3.9 XML
XML, do inglês eXtensible Markup Language, é uma linguagem de
marcação para a criação de documentos com dados organizados
hierarquicamente, como textos, banco de dados ou desenhos vetoriais. A
linguagem XML é classificada como extensível porque permite definir os
elementos de marcação, ou seja, um agregado de códigos que podem ser
aplicados a dados ou textos para serem lidos por computadores ou
pessoas. Isso é feito de forma padronizada e com uma sequencia de
dados com o objetivo de organizar, separar o conteúdo e integrá-lo com
outras linguagens.
Segundo FUGERI (2001), as principais possibilidades de utilização da
XML são:
Troca de informações: Devido à grande diversidade de
computadores, rodando diferentes sistemas, em diferentes
plataformas, sistemas e banco de dados contêm dados em
24
formatos incompatíveis. Pelo fato do conteúdo básico do
documento XML ser apenas texto, ela apresenta-se como a
principal possibilidade de computadores diferentes trocarem
dados pela Internet.
Melhorar a busca de informações: a busca na Internet, com
um grande número de páginas, sem padronização, é um
sério problema. Utilizando o XML, tem-se um serviço de
busca mais inteligente, evitando a procura dentro dos
documentos HTML, onde está misturado apresentação e
conteúdo.
Uso em conjunto com documentos HTML: pode-se interligar
a apresentação, contida nos documentos HTML, com os
dados contidos nos documentos XML. Com isso, a mudança
nos dados, no arquivo XML, refletirá diretamente no HTML,
eliminando a necessidade de sua atualização.
3.10WEB SERVICES
Web Services é o nome dado à tecnologia que permite a comunicação
entre aplicações de uma maneira independente de sistema operacional e
de linguagem de programação, fazendo uso do XML para a descrição de
um serviço e comunicação entre serviços.
São baseados em uma série de padrões abertos e amplamente
difundidos, tais como XML, HTTP, SOAP, WSDL e UDDI. Isso assegura
que implementações compatíveis com as especificações sejam
interoperáveis.
As mensagens trocadas entre web services tipicamente usam HTTP como
protocolo de transporte, e são identificados por uma URI (que tipicamente
é uma URL), um formato muito utilizado devido à popularização da web e
de fácil assimilação pelos humanos.
25
4 CASO DE USO – INTEGRAÇÃO DE DOIS SISTEMAS
Após explanar a necessidade das organizações em fazer a integração de
sistemas, neste capítulo será mostrado um caso de uso onde foi
necessário integrar informações de dois sistemas distintos.
4.1 DESCRIÇÃO DO PROJETO
Na empresa Fantasia surgiu a necessidade de automatizar o sistema de
pesquisas que eram realizadas junto aos clientes para medir a satisfação
com os produtos e serviços prestados por uma de suas filiais que se
encontram na Argentina. Isso é feito de forma simples, são criadas varias
tipos de pesquisas no SAP CRM, os relatórios são impressos e os
vendedores vão aos seus clientes e preenchem o questionário das
pesquisas.
O instrumento de trabalho dos vendedores para o preenchimento do
questionário das pesquisas até então era um papel impresso, que após o
preenchimento eram recolhidos e repassados ao sistema (SAP CRM) da
empresa. Como cada vendedor tem um notebook ou celular com
tecnologia 3G foi proposto uma melhoria no recolhimento das pesquisas,
disponibilizarem aos vendedores preenchimento das pesquisas no próprio
sistema, ou seja, o vendedor ia até o cliente conectava a rede através de
uma VPN e preenchia os campos da pesquisa no sistema, mas se
depararam com um problema, em alguns lugares onde a pesquisa e feita
não tem acesso a internet impossibilitando o acesso a rede da empresa
para o preenchimento do questionário.
Para solução do problema e extinguir de vez as pesquisas feitas em
papeis foi disponibilizado um Web Services onde uma aplicação faria a
sincronização das pesquisas feitas remotamente. Isso funcionaria da
seguinte forma, onde não houvesse acesso a internet o vendedor
executaria uma aplicação Mobile ou Desktop para fazer as pesquisas e
quando tivesse internet disponível acessaria a VPN da empresa e
executaria a aplicação novamente e faria a sincronização das pesquisas
(figura 3.1).
26
Figura 3.1 - Sincronização das pesquisas
4.2 TECNOLOGIA USADA NO DESENVOLVIMENTO DA SOLUÇÃO
Para desenvolver a solução existem várias tecnologias disponíveis,
algumas comerciais e outras free, um exemplo disso é a plataforma SAP
Netweaver Process Integration conhecido também pela sigla (PI) que é
uma ferramenta que faz parte da tecnologia SAP Netweaver.
O SAP Netweaver PI é uma tecnologia comercial que foi usada no
desenvolvimento da solução.
Também foi usado o SAP CRM, e soapUI 3.0.1 para testes dos serviços.
27
4.2.1 SAP NETWEAVER
SAP Netweaver é uma tecnologia abrangente de softwares e integração, a
SAP trabalha com a infraestrutura e tecnologia de TI já existente na
empresa e é flexível a novas tecnologias. A base tecnológica do SAP
Netweaver é o SOA que possibilita soluções corporativas baseadas em
serviços e adaptável a empresas que oferecem os maiores níveis de
adaptabilidade, flexibilidade e abertura necessárias para reduzir o custo
total de propriedade6 (TCO). Reúne a experiência da SAP em aplicativos
empresariais com a flexibilidade de serviços Web e outros padrões livres.
Usando o modelo da SOA, você pode criar novos aplicativos em cima de
soluções empresariais existentes, aumentando o valor de seus sistemas
atuais e automatizando novos processos. DETALHES TÉCNICOS DO
SAP NETWEAVER
(http://www.sap.com/brazil/platform/netweaver/technicaldetails/esa.epx,
29/06/2011).
As principais características do SAP Netweaver são:
Rapidamente adaptar processos empresariais
“A arquitetura orientada a serviços lhe permite separar a interface e a
definição de processos do próprio aplicativo. Isso traz implementações
mais rápidas e atualizações mais baratas, implementadas à medida que
forem necessárias e sem as interrupções do tipo big-bang.”
Atrair novos consumidores
“Com a SOA, você pode se valer de serviços Web para oferecer
competências principais a novos segmentos de consumidores —
enquanto reduz custos de TI e aumenta a eficiência.”
6 Total cost of ownership, custo total de propriedade. Um cálculo que visa levar em conta todos os custos envolvidos no uso de um determinado equipamento ou solução.
28
Terceirize
“A arquitetura orientada a serviços permite que você se conecte a
parceiros externos, possibilitando que você tenha acesso a serviços
profissionais, reduza custos e riscos de bens materiais e focar em suas
competências principais — enquanto mantém a visibilidade de processos
críticos.”
Estender e automatizar sua rede de valor
“A SOA lhe possibilita modelar e automatizar os termos de um
relacionamento comercial, para que você possa estender modelos
empresariais e cadeias de valores com ótima velocidade e transparência.”
Inovar
“Mais significantemente, a arquitetura orientada a serviços permite que
parceiros e clientes SAP implementem soluções que fazem uso de
sistemas existentes. Com a SOA, você pode elaborar novos processos
em cima de processos já existentes.”
Conforme descrito em DETALHES TÉCNICOS DO SAP NETWEAVER (29/06/2011, http://www.sap.com/brazil/platform/netweaver/technicaldetails/esa.epx).
O SAP Netweaver usa padrões da Internet, como HTTP, XML e serviços
Web, permitindo abertura e interoperabilidade com Microsoft. NET e
ambientes Java Platform Enterprise Edition (J2EE), como o IBM
WebSphere (figura 3.2).
29
Figura 3.2 - plataforma tecnológica SAP NetweaverReferência: http://www.uniorg.com/page/sap_beratung_netweaver_soa
4.2.2 SAP NETWEAVER PROCESS INTEGRATION
O SAP PI foi criado para auxiliar a implementação do cross-system
business (sistemas de negócios), com faz parte da tecnologia SAP
Netweaver apoia-se no SOA para atender essas implementações.
Cada empresa tem suas aplicações e funções desenvolvidas para atender
as necessidades do ambiente corporativo e os negócios do dia a dia. O
SAP PI oferece um conjunto de aplicativos para fazer o uso desses
serviços já existentes ou desenvolvimento de novos.
O objetivo principal do SAP PI é encaminha mensagens de entrada para o
receptor apropriado e isso a principio é uma tarefa simples, mas deve-se
considerar alguns pontos importantes como tipo de dato, formato,
tamanho de dados, comunicação e permissões.
Outros objetivos são:
Integração de sistemas SAP com sistemas SAP e não SAP;
SAP NetWeaver™
Co
mp
osi
te A
pp
licat
ion
Fra
mew
ork
PEOPLE INTEGRATIONMulti channel access
Portal Collaboration
INFORMATION INTEGRATIONBus. Intelligence
Master Data Mgmt
Knowledge Mgmt
PROCESS INTEGRATIONIntegration Broker
BusinessProcess Mgmt
APPLICATION PLATFORM
J2EE
DB and OS Abstraction
ABAP
Life
Cyc
le Mg
mt
30
Integração aplicações A2A e B2B e
Troca síncrona e assíncrona de mensagens.
O SAP PI proporciona:
Coordenação de Dados
Lida principalmente com dados transacionais entre aplicações.
Negócio e gestão de processo
Concentra-se principalmente na modelagem e orquestração do fluxo de
trabalho entre as funções e aplicações individuais.
Monitoramento do negócio e das atividades
Objetivo é fornecer uma gestão com a consciência imediata de mudar
eventos de negócios em toda a empresa.
Desenvolvimento de Aplicações Compostas
Combina os dados e funcionalidade já existentes de uma empresa
com uma nova lógica de processos de negócios.
4.2.3 SAP CRM
“O SAP CRM (CRM - Customer Relationship Management) oferece, em
sua classe de aplicativos, a melhor funcionalidade para marketing, vendas
e serviços. Como ele suporta processos de negócios para lidar e
fortalecer o relacionamento com os clientes em múltiplos canais de
interação. O sistema CRM da SAP permite às organizações manterem o
foco em estratégias de crescimento centrado no cliente e se diferenciarem
no mercado por oferecer uma experiência superior ao cliente com o CRM.
O sistema CRM da SAP é capaz de:
Suportar processos de relacionamento com clientes, de
ponta a ponta – O software CRM da SAP assegura a
31
organização de todas as tarefas relacionadas aos clientes, de
um departamento para outro, incorporando, de forma
transparente, atividades tais como o fulfillment
(cumprimento), a distribuição, o faturamento e contas a
receber.
Suprir toda a organização com informações de clientes — A
solução de CRM da SAP reúne todas as fontes relevantes de
informações dos clientes, distribuídas por toda a empresas,
contribuindo para um melhor processo de tomada de
decisões.
Oferecer benefícios imediatos – Só o software CRM da SAP
permite que as empresas resolvam, em primeiro lugar, as
prioridades estratégicas e cumpram com os objetivos mais
rapidamente. A solução pode ser expandida de forma gradual
e cada etapa de uma maneira tangível, o correspondente
retorno sobre os investimentos.” (27/09/2011, SOFTWARE
CRM DA SAP http://www.sap.com/brazil/solutions/business-
suite/crm/crm-relacionamento-com-clientes.epx).
4.2.4 SOAPUI 3.0.1
SoapUI é uma ferramenta open source para arquitetura orientada a
serviços (SOA), sua principal função é consumir e testar Web Services,
facilitando assim todo o processo de criação e depuração dos testes por
meio de uma interface gráfica visual e intuitiva (figura 3.3).
32
Figura 3.3 – Interface do SoapUI.
As principais características são:
Importação e geração automática das requisições descritas
no WSDL;
Capacidade de gerenciar um número ilimitado de requisições
para cada operação;
Gerenciamento de múltiplo endpoints para cada Web
Service;
Validação das requisições e respostas contra as suas
definições no WSDL;
Testes funcionais, carga e stress;
Execução de diversos testes em paralelo;
Editores com syntax highlight e formatação automática;
Suporta expressões XPATH;
33
Suporta criação de testes complexos utilizando scripts
Groovy;
4.2.5 ENGENHARIA REVERSA
Devido a não elaboração de uma documentação funcional para
elaboração do desenvolvimento foi necessário uma analise do código
standard do SAP CRM para podermos entender quais são as tabelas
usadas para armazenamento dos dados. Em tecnologias SAP não é
recomendado insert ou update direto nas tabelas apesar de isso ser
possível pode ocorrer inconsistência, então se faz uso de transações para
isso.
Como sabíamos quais transações usaríamos para o desenvolvimento do
projeto fizemos uso da engenharia reversa para analise do código e de
uma ferramenta disponível nos sistemas SAP conhecida como debug
onde podemos analisar o comportamento de cada linha do código, abaixo
é explicado melhor o que é engenharia reversa e como funciona a
ferramenta debug do SAP.
Engenharia Reversa é uma técnica que analisa um produto existente, por
exemplo: software, uma peça mecânica, uma placa de computador, etc.
para entender como este produto funciona, e se comporta em todas as
circunstâncias.
A engenharia reversa é usada quando queremos trocar, modificar uma
peça (ou um software) por outro, com as mesmas características ou
entender como esta funciona e não temos acesso a sua documentação ou
as mesmas não existem isso é muito comum em sistemas legados ou
muito antigo.
Existem varias técnicas para ser fazer uso da engenharia reversa e não é
o objetivo dessa pesquisa se aprofundar no assunto então mencionarei
apenas a que foi usada que é analise do código fonte e apenas duas
características dessa técnica:
Trace de execução (análise dinâmica)
34
É usada para extrair informações de um programa, por exemplo, uma
instrução é IF é acionada dependendo do fluxo, dos valores das variáveis.
Base de dados.
Base de dados é usada como fonte de informação, por exemplo, uma
analise dos dados antes é após da execução de um trecho do programa.
Para uso dessa técnica fiz uso do Debug do SAP que funciona da
seguinte forma, abrimos o código do programa na transação SE38 e
colocamos um break-point (ponto de parada) no código onde queremos
fazer a analise, isso é demonstrado na figura 3.4.
Figura 3.4 breakpoint no código para analise através do debug
Após definir um break-point basta prosseguirmos como analise do código (figura 3.5)
35
Figura 3.5 – analise do código fonte na tela de Debug
4.3 DESENVOLVIMENTO DA SOLUÇÃO
O objetivo do projeto é disponibilizar serviços para criar e modificar as
pesquisas criadas no SAP CRM, hoje isto é feito da seguinte forma: O
usuário no SAP CRM entra na transação CRMD_ORDER (Figura 3.4a),
onde através do menu OperaciónCrear ele seleciona o tipo de atividade.
36
Figura 3.4a - Criar uma atividade
Apesar das varias opções de atividades o projeto de se resumem em 3
tipos de atividades:
AR – Encuesta A – Z1PA;
AR – Encuesta B – Z1PB;
AR – Encuesta A – A1PC.
Cada uma das atividades é um tipo de pesquisa que o vendedor faz junto
ao cliente, e após selecionar o tipo de atividade o usuário deve preencher
1 2
3
4
5
6
37
alguns campos conforme é demonstrado na figura 3.5a e detalhado na
tabela 1.
Figura 3.5a - Detalhes de preenchimento da atividade
38
Campo Descrição1 Descrição da Atividade2 Prazo 3 Nome da empresa4 Pessoa de contato5 Vendedor Responsável6 Perguntas / Pesquisa (Detalhes figura 3.4)
Tabela 1 Detalhes de preenchimento da atividade
Na aba Cuestionario (questionário) o usuário informar os campos de
acordo com as informações colhidas (figura 3.6) e após o preenchimento
basta clicar no botão salvar e as informações ficam armazenadas.
Figura 3.6 - Preenchendo o questionário da atividade de pesquisa
39
No rodapé é informado o número da pesquisa para caso queira
posteriormente fazer alguma consulta ou modificação.
Modificações em atividades só são permitidas em atividades que estão
com o status E0002 En tratamiento (figura 3.7), isso pode ser verificado
na aba Detalles.
Figura 3.7 - verificando status da atividade
40
Caso queira consultar ou modificar posteriormente a atividade basta entrar
na transação CRMD_ORDER e pressionar o botão abrir e informar o
número da atividade conforme é ilustrado na figura 3.8.
Figura 3.8 - Consultar atividade no SAP CRM
Como foi explicado anteriormente o objetivo da solução é permitir que o
vendedor fizesse isso remotamente já que dependendo de onde ele
estiver não terá acesso a internet impossibilitando acesso a rede da
empresa através da VPN e conseqüentemente ao SAP CRM, então foi
proposto a disponibilização de três serviços que possibilitem ao vendedor
colher essas informações e quando tiver acesso a internet sincronizar as
informações com o SAP CRM através de uma aplicação desktop ou
mobile.
Botão Abrir
Informar o número da atividade.
41
4.4 DISPONIBILIZAÇÃO DOS SERVIÇOS
Os serviços que serão disponíveis irão consultar e enviar dados ao SAP
CRM e o Middleware que será responsável em fazer a comunicação entre
os sistemas será o SAP PI, isso será feito através de interfaces que
usarão arquivos XML para envio e recebimentos dos dados, e a
comunicação será feita através de adaptadores, um adaptador do tipo
RFC para se comunicar com o SAP CRM e um adaptador do tipo HTTP
para disponibilizar um serviço para qualquer outra aplicação usar isso é
demonstrado na figura 3.9.
Figura 3.9 Modelo de desenvolvimentos dos serviços
Do lado do SAP CRM foram desenvolvidos três RFC que serão acionadas
pela interface:
ZCRM_GET_TASKS_PENDENTS Lista as pesquisas
pendentes relacionadas ao vendedor.
ZCRM_SET_VAULES_TASKS Possibilita a modificação
de pesquisas pendentes.
ZCRM_CREATE_TASKS Possibilita a criação de novas
pesquisas.
Irei demonstrar o funcionamento dos três serviços proposto, criação,
modificação e consulta as pesquisas, mas referente ao desenvolvimento
42
dos serviços irei demonstrar apenas o de consultar as pesquisas já que a
forma de desenvolvimento é a mesma e o que muda é objetivo.
4.5 CRIAÇÃO DOS SERVIÇOS
O primeiro passo é possibilitar o vendedor consultar todas as pesquisas
relacionadas a ele que não foram concluídas, na transação
CRMD_ORDER isso pode ser verificado nos campos Status e
Responsable conforme ilustrado na figura 3.10.
Figura 3.10 - Consulta a pesquisa pendente no SAP CRM
Essa possibilidade que é acessível ao vendedor através da transação
CRMD_ORDEM deve ser desenvolvida na RFC, e isso e explicado nos
tópicos abaixo.
4.6 CRIAÇÃO DA RFC
Remote Function Call (RFC) é uma solução SAP para comunicação entre
sistemas SAP e não SAP.
43
A criação de RFC é feita na transação SE37 do SAP CRM, identificando o
nome desejado no campo Módulo funciones e um clique no botão Crear
conforme demonstrado na figura 3.11.
Figura 3.11 Criação e execução de RFC – transação se37
Na aba Import eu informo os campos de importação, conforme
demonstrado na figura 3.12.
Figura 3.12 parâmetros de importação da RFC
Na aba Export eu informo o campo de exportação conforme demonstrado
na figura 3.13.
Botão Executar
Botão Crear
44
Figura 3.13 parâmetros de exportação da RFC
Na aba Tablas é informado campos do tipo tabelas que funcionam como
se fosse um array[n,n], eles podem ser usados como parâmetros de
importação e exportação, conforme demonstrado na figura 3.14.
Figura 3.14 parâmetros tipo tabela da RFC
45
Lógica da RFC
Na aba Cód.fte. (figura 3.15) está toda lógica do desenvolvimento onde é
acessado tabelas e funções, isso é feito usando a linguagem de
programação ABAP que é uma linguagem de uso exclusivo em produtos
da SAP.
Figura 3.15 lógica da RFC
Teste da RFC
Após a conclusão do desenvolvimento da RFC basta clicar no botão
executar (figura 3.11) e informar os campos de importação conforme
demonstrado na figura 3.16. O resultado da pesquisa é informado nos
campos tablas (figura 3.17).
46
Figura 3.16 parâmetros de importação da RFC
Figura 3.17 parâmetros tablas da RFC
47
4.7 CRIAÇÃO DO CENÁRIO NO SAP PI O Middleware no caso escolhido é o SAP PI, é onde foi feito o cenário
chamado CRM_CLIENT para comunicação do SAP CRM com o cliente.
4.7.1 INTEGRATION REPOSITORY - DESIGN
Para transportar os dados do cliente através de um serviço, é preciso criar
o mapeamento dos dados, isso é feito através do XML Schema Definition
(XSD). Esta definição determina como validar a mensagem transportada e
o desenho do cenário é feito no Integration Repository - Design (Desenho
do repositório de integração). Na figura 3.18 temos as ferramentas para o
desenho do cenário.
Figura 3.18 ferramentas para o desenho do cenário no SAP PI
Message Interfaces
48
O primeiro passo é criar os Message Interfaces (figura 3.19) (Interface de
Mensagens), aqui definimos a Categoria (Inbound, OutBound ou Abstract)
e o Modo (Síncrono ou Assíncrono). É no Message Interface que
informamos os campos de entrada e saída criados na RFC.
Figura 3.19 criação da interface de mensagens
Message Mapping
O próximo passo é fazer o mapeamento dos campos da RFC com o
serviço que será disponibilizado, isso é feito na opção Message Mapping
(Mapa de Mensagem), na figura 3.20 temos o mapeamento dos campos
de entrada que serão enviados para do Web Service para a RFC e na
figura 3.21 temos o mapeamento dos campos de saída e de resposta que
serão enviados para da RFC para o Web Services.
Figura 3.20 Mapeamento dos campos de entrada
Nome do Message Interface
49
Os campos do lado esquerdo correspondem aos dados que virão do
cliente através do serviço que será disponibilizado, e do lado direito aos
dados que serão enviados para o SAP CRM através da RFC.
Figura 3.21 Mapeamento dos campos de resposta ou saída.
Os campos do lado esquerdo correspondem aos dados que virão do SAP
CRM através da RFC, e do lado direito aos dados que serão enviados
para o cliente para o serviço que será disponibilizado.
Interface Mapping
Com o mapeamento criado, agora precisamos estabelecer a regra de
quem envia, de quem recebe e qual o Mapeamento a ser usado, nesta
etapa é feito o Interface Mapping (Mapa de Interface), aqui fazemos
relação com o Message Interface e Message Mapping criandos
anteriormente, na figura 3.22 e na tabela 2 temos uma demonstração de
como isso é feito.
50
Figura 3.22 Interface Mapping
Campo Descrição1 Nome do Mapa de Interface2 Onde é informado a Interface de Mensagens3 Onde é informado a RFC4 Onde é informado o Mapa de Mensagem5 Onde é informado os campos do serviço
(entrada)6 Onde é informado os campos da RFC (saída)
Tabela 2 Detalhe dos campos do Interface Mapping
Com o a criação do Interface Mapping encerramos o desenvolvimento no
Integration Repository – Design.
Observação: Apenas foi demonstrada a criação da interface de listar as
pesquisas pendentes referente a RFC ZCRM_GET_TASKS_PENDENTS,
as interfaces referente a RFC ZCRM_SET_VAULES_TASKS e RFC
ZCRM_CREATE_TASKS não serão demonstrados, mas seguem os
mesmo padrão de desenvolvimento.
1
2 3
4 5 6
51
4.7.2 INTEGRATION DIRECTORY - CONFIGURATION
Com o Mapeamento dos campos pronto entre os sistemas, o próximo
passo é criar as relações “físicas” entre o Web Service e o SAP CRM e
definir o roteamento. O Integration Directory – Configuration (Configuração
do diretório de integração) permite vincular informações técnicas para as
interfaces, através de protocolos de comunicação ou adaptadores de
comunicação.
O primeiro passo é criar o cenário para agrupar todos os objetos
referentes à integração, para a interface de listar pedidos criamos o
cenário CRM_GET_TASKS_PENDENTS conforme demonstrado na figura
3.23.
Figura 3.23 Cenário para listar pesquisas
O passo seguinte é criar os canais de comunicação, para isto devemos
saber quais os Adapters (Adaptadores) serão usados em cada lado da
52
integração, do lado Web Services utilizaremos o Adapter Type chamado
de SOAP conforme demonstrado na figura 3.24.
Figura 3.24 canal de comunicação com Adapter Type do tipo SOAP
No canal de canal de comunicação que fará a ligação do lado do cliente
informamos alguns campos conforme descrito na tabela 3.
Campo Descrição1 Nome do canal2 O tipo do adaptador de comunicação3 O protocolo de transporte da mensagem4 O protocolo de mensagem
5Aqui é informado o nome da interface de mensagem criada no Integration Repository – Design
6O tipo de ação Sender Receiver (Enviar Receber), no nosso caso Sender
Tabela 3 Detalhe dos campos do Adapter Type SOAP
1
2
3
4
5
6
53
E do lado do SAP CRM utilizaremos o Adapter Type chamado de RFC
conforme demonstrado na figura 3.25.
Figura 3.25 canal de comunicação com Adapter Type do tipo RFC
No canal de comunicação que fará a ligação do lado do SAP CRM
informamos alguns campos conforme descrito na tabela 4
Campo Descrição1 Nome do canal2 O tipo do adaptador de comunicação3 O tipo de ação Sender Receiver (Enviar Receber), no
nosso caso Receiver4 O protocolo de transporte da mensagem5 O protocolo de mensagem6 O servidor de aplicação, no caso SAP CRM
Dados de acesso ao SAP CRM7 O número do Sistema SAP CRM
8O tipo de autenticação, logon do usuário de comunicação
9 Senha do usuário de comunicação10 Idioma que é feito o logon11 Cliente do sistema SAP CRM12 Número de conexões permitidas com o mesmo usuário,
12
109
8
7
6
54
3
2
1
11
13
54
13 Usuário que será feito o logon no SAP CRM
Tabela 4 Detalhe dos campos do Adapter Type RFC
Alem dos canais de comunicação é necessário a criação de mais quatro
objetos, são eles:
Receiver Determination
Receiver Determination (Determinar um receptor) Utilizado para
especificar quais os Receivers de uma mensagem, ou seja, qual Message
Interface vai receber a Mensagem e apontar para qual Message Interface
está enviando a mensagem, na figura 3.26 a uma demonstração de como
funciona.
Figura 3.26 Receiver Determination
1
2 3 4
55
Campo Descrição
1Nome da interface de mensagem.É quem enviar os dados, no caso o cliente através do serviço
2Nome da RFC criada no SAP CRM, responsável em receber as informações
3 Nome do mapeamento de mensagens (figura 3.19)4 Nome do canal de comunicação (figura 3.21)
Tabela 6 Detalhe dos campos do Receiver Determination
Interface Determination
Interface Determination (Determinar uma interface) Responsável pelo
inbound interface (interface de entrada) de um receptor, é necessário
informar o mapeamento de mensagens usado, isso é demonstrado na
figura 3.27 e tabela 7.
Figura 3.27 Interface Determination
Campo Descrição1 Nome da interface de entrada, neste caso a RFC.2 Nome da interface de mapeamento (figura 3.20)3 Nome do interface determination
Tabela 7 Detalhe dos campos do Interface Determination
3
1 2
56
Sender Agreement
Onde é definido como as mensagens de um remetente serão enviadas,
usando o canal de comunicação, isso é demonstrado na figura 3.28 e
tabela 8.
Figura 3.28 Sender Agrrement
Campo Descrição1 Nome do Party (onde está o serviço do cliente)2 Nome do serviço (onde fica o canal de comunicação)3 Nome da interface de Mensagem4 O Namespace do projeto5 Nome do Party (onde está a RFC)
6Nome do serviço (onde fica o canal de comunicação da RFC)
7 Nome do canal de comunicação referente ao serviço
Tabela 8 Detalhe dos campos do Interface Determination
Receiver Agreement
Define como a mensagem a um destinatário será recebida, ou seja, por
qual canal de comunicação (figura 3.29).
1
2
3
45
6
7
57
Figura 3.29 Receiver Agreement
Campo Descrição1 Nome do Party (onde está o serviço do cliente)
2Nome do serviço (onde fica o canal de comunicação do cliente)
3Nome do serviço (onde fica o canal de comunicação do da RFC)
4 Nome da interface de Mensagem
5Namespace onde fica o XML que envia os dados para RFC
6 Nome do canal de comunicação referente ao serviço
Tabela 9 Detalhe dos campos do Interface Determination
Disponibilização dos serviços
Após a criação dos cenários é necessário a disponibilização dos serviços
e isso é feito gerando um arquivo WSDL para cada serviço, abaixo e
demonstrado como isso é feito.
Nome menu ToolsDefine Web Service (figura 3.30).
12
3
4
5
6
58
Figura 3.30 menu para criação do WS
O primeiro passo é definiar a URL para acessar o Web Service (figura
3.31).
Figura 3.31 Definição da URL do WS
O próximo passo é informar o Namespace do projeto, a interface de
mensagem e o Software component Version que o canal de comunicação
do serviço está atribuído conforme é demonstrado na figura 3.32 e figura
3.33.
59
Figura 3.32 Informar o Namespace, a interface e o Software component Version.
Figura 3.33 Informar o Namespace, a interface.
Após preencher esses campos basta clicar no botão Finish para
conclusão do passo (figura 3.34).
Figura 3.34 geração do arquivo WSDL
60
E a próxima tela (figura 3.35) é demonstrado o arquivo WSDL que foi
gerado, basta clicar no botão salvar para armazenar o arquivo em algum
diretório.
Figura 3.35 armazenamento do arquivo WSDL
O Integration Directory – Configuration não requer nenhum
desenvolvimento adicional, somente configurar as interfaces fazendo as
relações dos objetos criados no Integration Directory – Design com os
Adapters que irão fazer a ligação de um sistema para outro, se for a uma
versão do SAP PI superior ou igual a 7.2 isso é feito automático
informando apenas alguns campos no desenho da interface. É importante
que o fluxo das mensagens, entre os sistemas, esteja bem definido e claro
isso ajuda na hora de criar os relacionamentos.
61
5 TESTES DOS SERVIÇOS
Para testar os serviços foi usada a versão free do software soapUI 3.0.1
(figura 4.1), isso foi feito da seguinte forma:
Foi criado um projeto chamado CRM_Client
Importado os arquivos WSDL gerado no interfaceamento
através do SAP PI
E clicando no botão Execute.
Figura 4.1 demonstração da interface do soapUI
No SAP PI existe uma transação chamada SXI_MONITOR, responsável
pelo monitoramento das mensagens, faremos uso dela para mostrar a
troca de mensagens entre o serviço e o SAP CRM.
5.1SERVIÇO PARA CONSULTAR PESQUISA
O serviço que obtém as pesquisas pendentes referente a determinado
vendedor é o MI_CRM_GET_TASKS_OB_SYNC, no soapUI foi importado
o arquivo WSDL referente a este serviço é preenchido os campos
I_PROCESS_TYPE referente aos tipos de pesquisa que deseja consultar
e I_USER_SAP que é o usuário do vendedor no SAP CRM (figura 4.2), a
consulta trará todas as pesquisas pendentes que estão relacionadas a
ele.
62
Figura 4.2 campos para consulta
O serviço MI_CRM_GET_TASKS_OB_SYNC de selecionar todas as
pesquisas pendentes é disparado é o interfaceamento é feito através de
arquivos XML pelo SAP PI que é o Middleware usado.
No SAP PI é possível consultar o XML usado para fazer o interfacemento
através da transação SXI_MONITOR, na figura 4.3 é demonstrado o XML
enviado pelo serviço para fazer a consulta no SAP CRM e na figura 4.4 o
XML os dados com consultados (resposta do SAP CRM) que serão
enviados para o serviço.
Figura 4.3 campos enviado pelo serviço para consulta no SAP CRM
63
Figura 4.4 campos enviado pelo CRM referente à consulta feita pelo serviço
No programa soapUI (figura 4.5) é demonstrado o XML enviado pelo SAP
PI com a resposta da consulta feita no SAP CRM também no formato
XML, observe que é o mesmo conteúdo do arquivo demonstrado na figura
4.4 referente ao interfacemento da resposta feita pelo Middleware – SAP
PI.
64
Figura 4.5 resposta enviada pelo SAP CRM ao serviço
Para conclusão do teste, basta verificar se realmente existe no SAP CRM
a pesquisa, isso pode ser feito na seguinte forma, pegar o valor do campo
OBJECT_ID (1000235477) do XML de resposta (figura 4.5) e na
transação CRMD_ORDER (figura 4.6) e consultar.
65
Figura 4.6 consulta da pesquisa no SAP CRM
Observe que os valores são os mesmos, o serviço de consultar pesquisas
pendentes está funcionando corretamente.
5.2 SERVIÇO PARA MODIFICAR PESQUISA
Na figura 4.7 é demonstrada a pesquisa 1000235477 na transação
CRMD_ORDER do SAP CRM, será feita uma modificação nesta pesquisa
através do serviço ZCRM_SET_VAULES_TASKS.
Figura 4.7 consulta de pesquisa no SAP CRM
66
Conforme é demonstrado na figura 4.8 foi importado no programa soapUI
o arquivo WSDL referente ao serviço ZCRM_SET_VAULES_TASKS
responsável pela modificação das pesquisas. A modificação será feita na
pesquisa 1000235477, isso foi informado no campo I_OBJECT_ID,
juntamente com os demais campos correspondem as modificações.
Figura 4.8 serviço para modificar tarefa
Na tabela 10 temos os campos do serviço ZCRM_SET_VAULES_TASKS
informado para modificação.
Campo DescriçãoI_MOTIVO Motivo da modificaçãoI_OBJECT_ID Id da pesquisaI_USER_SAP Usuário do vendedor no SAP CRM
T_VALUESId das perguntas, resposta e valores da pesquisa.
Tabela 10 campos do serviço ZCRM_SET_VAULES_TASKS
67
No SAP PI é possível consultar o XML usado para fazer o interfacemento
através da transação SXI_MONITOR, na figura 4.9 é demonstrado o XML
enviado pelo serviço através do programa soapUI para fazer a consulta no
SAP CRM.
Figura 4.9 XML usado para fazer o interfacemento
Na figura 4.10 temos uma resposta com o resultado da ação no campo
E_RETURN feita no SAP CRM, essa resposta será enviada ao serviço.
Figura 4.10 XML com a resposta do SAP CRM
No programa soapUI responsável em executar o serviço de modificação
da pesquisa é demonstrado o XML (figura 4.11) enviado pelo SAP CRM
no qual SAP PI fez o interfaceamento com a resposta da ação também no
formato XML, observe que é o mesmo conteúdo do arquivo demonstrado
na figura 4.10 referente a resposta do SAP CRM no qual o
interfaceamento foi feita pelo Midiware – SAP PI.
68
Figura 4.11 XML (modificação de pesquisa) com a resposta do SAP CRM
Para conclusão do teste, basta verificar se realmente a pesquisa foi
modificada no SAP CRM, isso pode ser feito na seguinte forma, pegar o
valor do campo OBJECT_ID (1000235477) do XML de resposta e na
transação CRMD_ORDER do SAP CRM na aba Cuestionario e comparar
os dados antes da execução do serviço (figura 4.7) e com os dados após
a execução do serviço figura 4.12.
69
Figura 4.12 XML consulta dados modificados no SAP CRM
Os dados foram modificados, isso indica que o serviço para modificar
pesquisas está funcionando corretamente.
70
5.3SERVIÇO PARA CRIAÇÃO DE PESQUISA.
Conforme é demonstrado na figura 4.13 foi importando no programa
soapUI para teste do serviço o arquivo WSDL referente ao serviço
ZCRM_CREATE_TASKS responsável pela criação de pesquisas.
Figura 4.13 XML resultado da consulta
Na tabela 11 temos os campos obrigatórios do serviço
ZCRM_CREATE_TASKS.·.
Campo DescriçãoI_MOTIVO_SUB_TASK Motivo da sub pesquisaI_OBJECT_ID Id da pesquisaI_PROCESS_TYPE Tipo de pesquisa a ser criadaID_SUB_TASK Id da sub pesquisa
71
I_TASKInformações de cabeçalho da pesquisa.
Tabela 11 campos do serviço ZCRM_SET_VAULES_TASKS
Na figuras 4.14 é demonstrado o arquivo XML com os dados enviado pelo
serviço para criação de uma nova pesquisa, monitorado na transação
SXI_MONITOR do SAP - PI.
Figura 4.14 consulta no SAP PI do XML com dados de criação de pesquisa
Na figura 4.15 temos o arquivo XML com a resposta do SAP CRM,
observe que os campos E_OBJECT_ID e I_RETURN tem a resposta da
ação feita no SAP CRM.
Figura 4.15 consulta no SAP PI do XML com dados de resposta do SAP CRM
72
Na figura 4.16 é demonstrado no programa soapUI a resposta do SAP
CRM informado que a pesquisa 1000235525 foi criada (campo
E_OBJRCT_ID) e os campos informados na criação foram atualizados no
sistema.
Figura 4.16 consulta no SAP PI do XML com dados de resposta do SAP CRM
Para conclusão do teste basta checarmos na transação CRMD_ORDER
do SAP CRM se a pesquisa 1000235525 foi realmente criada (figura
4.17).
Figura 4.17 – pesquisa criada.
73
CONCLUSÃO
A integração de sistemas empresarias tem ajudado as organizações na
resolução de muitos problemas criando interfaces de comunicação onde
dois ou mais sistemas podem transportar e tratar dados de maneira
rápida, como por exemplo, um site de comercio eletrônico (e-Commerce)
onde tem mais de dois sistemas envolvido: o sistema do varejista ou
lojista, o sistema do banco, o sistema da financeira do cartão de crédito do
consumidor, etc.
Na empresa Fantasia fizemos o uso da EAI e alçamos o objetivo mudando
a forma de pesquisa de satisfação dos clientes, passando de papel
impresso para informatizada através de um aplicativo instalado no
notebook ou celular dos venderes, disponibilizando informações no SAP
CRM facilitando assim aos gestores trabalharem com informações
atualizadas dos seus clientes e produtos.
Para alcançar esse objetivo fizemos uso do Middleware SAP PI onde foi
criado a interface de comunicação entre o SAP CRM e as aplicações
mobile e desktop.
No início do projeto tínhamos como objetivo de fazer a pesquisa por e-
mail onde seria enviado e-mail para os clientes e quando eles
respondessem os e-mails seriam enviados automaticamente para uma
conta de e-mail que antes passaria pelo SAP PI e posteriormente passaria
os dados ao SAP CRM. Isso foi mudado devido à responsabilidade maior
seria do cliente e muitas vezes ele poderia não ter a disposição em
responder esses e-mails.
A comunicação entre o SAP PI e o SAP CRM foi feita através de RFC,
apesar de conseguirmos alcançar o objetivo e aplicação está funcionando
corretamente, essa não é melhor forma de comunicação. O uso de RFC é
recomentado quando não ha necessidade de desenvolvimento no lado do
receptor dos dados no caso o SAP CRM, ou seja, normamente sistemas
SAP tem um conjunto de RFC prontas que disponibilizam as ações e
resultados que são obtidos através das transações, como foi necessário
desenvolvimento a melhor forma de comunicação era através de proxy, a
única mudança no cenário da interface seria no Integration Directory –
74
Configuration onde ao invés de criar um canal de comunicação do tipo de
RFC seria um canal do tipo proxy, e toda lógica que foi desenvolvida na
RFC seria feita no proxy.
Foram criados três serviços, um para criação de pesquisa, outro para
modificação de pesquisa e outro para pesquisar as pesquisas pendentes
relacionada ao vendedor, mas era possível fazer isso com apenas um
serviço, mas como foram criadas três RFC’s foi necessário três serviços.
O desenvolvimento da aplicação seguiu as orientações do responsável
pelo projeto, foi sugerido o uso do proxy, mas ele achou melhor não
mudar o que foi traçado.
Durante a elaboração da solução houve dificuldade de entender o objetivo
da solução já que não houve tempo pelos responsáveis do projeto em
elaborar uma documentação funcional, e para superar essas dificuldades
foram criados todos os cenários possíveis no SAP CRM e através desses
cenários foi feito a engenharia reversa onde foi analisado o código fonte e
dessa forma descobrimos quais classes e funções atualizavam ou
despolitizavam dados das tabelas standard do SAP CRM.
Após pesquisar e trabalhar na solução de um problema percebi que a um
leque de opções quando se faz uso de EAI por isso é importante ter todo
o cenário desenhado e uma documentação funcional bem elaborada para
auxiliar o time de desenvolvedores escolherem a melhor opção.
75
REFERÊNCIAS.
BRASIL, SAP. http://www.sap.com/brazil. DETALHES TÉCNICOS DO SAP NetWeaver. [Online] [Citado em: 27 de 09 de 2011.] http://www.sap.com/brazil/platform/netweaver/technicaldetails/esa.epx.—. SOFTWARE CRM (CUSTOMER RELATIONSHIP MANAGEMENT) DA SAP. SAP - BRASIL. [Online] [Citado em: 27 de 09 de 2011.] http://www.sap.com/brazil/solutions/business-suite/crm/crm-relacionamento-com-clientes.epx.
Krüger, Horst Keller and Sascha. 2010. ABAP Objects: ABAP Programming in SAP NetWeaver. s.l. : SAP Press, 2010.
Nicolescu, Valentin. 2011. Pratical Guide to SAP NetWeaver PI Development. s.l. : SAP Press, 2011.
Rezende, Denis Alcides. 2005. ENGENHARIA DE SOFTWARE E SISTEMAS DE INFORMAÇÃO. 3ª. Rio de Janeiro : Brasport, 2005. p. 324.—. 2007. PROJETO PETI - PLANEJAMENTO ESTRATÉGICO DA TECNOLOGIA DA INFORMAÇÃO. Nove D Consultoria em Informática Ltda. 13 de 10 de 2007, p. 13.SCHNEIDER, ALESSANDRO VINICIOS. 2005. Universidade Federal do Paraná - Setor de Ciências Agrárias - Curso de Engenharia Florestal. http://www.floresta.ufpr.br/. [Online] 2005. [Citado em: 03 de 09 de 2011.] http://www.floresta.ufpr.br/pos-graduacao/defesas/pdf_ms/2005/d438_0584-M/.
Wallacher, Sam Raju e Claus. 2010. B2B Integrations Using SAP NetWeaver PI. s.l. : SAP Press, 2010.