SAP Fiori - Serviços OData
OData é usado para definir as melhores práticas necessárias para construir e consumir APIs RESTful. Ajuda a descobrir mudanças, definindo funções para procedimentos reutilizáveis e enviando solicitações em lote, etc.
Alguns dos recursos importantes são -
OData fornece facilidade de extensão para atender a quaisquer necessidades personalizadas de suas APIs RESTful.
REST significa Transferência de Estado Representacional e às vezes é escrito como "ReST".
Ele se baseia em um protocolo de comunicação sem estado, cliente-servidor, que pode ser armazenado em cache. Em praticamente todos os casos, o protocolo HTTP é usado.
REST é definido como um estilo de arquitetura para projetar aplicativos de rede.
OData ajuda você a se concentrar em sua lógica de negócios enquanto constrói APIs RESTful sem ter que se preocupar com as abordagens para definir cabeçalhos de solicitação e resposta, códigos de status, métodos HTTP, convenções de URL, tipos de mídia, formatos de carga útil e opções de consulta etc.
As APIs RESTful OData são fáceis de consumir.
Ciclo de vida do serviço OData
O ciclo de vida do serviço OData inclui a extensão de um serviço OData. A seguir, estão as principais etapas a serem consideradas em um Ciclo de Vida do Serviço OData.
Ativação do serviço OData.
Manutenção do serviço OData.
Manutenção de modelos e serviços, até a limpeza do cache de metadados.
Os aplicativos RESTful usam solicitações HTTP para postar dados para criar ou atualizar, ler dados e excluir dados. REST usa HTTP para todas as quatro operações CRUD (Criar / Ler / Atualizar / Excluir).
REST é uma alternativa leve a mecanismos como RPC (Remote Procedure Calls) e Web Services.
DESCANSAR
REST é definido como uma opção para serviços da web e chamadas de procedimento remoto. É usado para projetar aplicativos de rede.
Serviços REST como serviços da web e oferece suporte aos recursos abaixo -
- Trabalhe com firewalls
- Language-independent
- Standards-based
- Não dependente da plataforma
Arquitetura REST
Abaixo estão os componentes da Arquitetura REST.
Recursos
No REST, tanto o estado quanto a funcionalidade são apresentados como recursos. Os recursos são o elemento-chave de um design RESTful, em oposição aos "métodos" ou "serviços" usados em serviços da Web RPC e SOAP.
RPC chama como "getProductName"e"getProductPrice"não são usados em REST. Você visualiza os dados do produto como um recurso e esse recurso deve conter todas as informações necessárias.
Teia de Recursos
Isso significa que um único recurso não deve conter dados detalhados e contém links para páginas da web adicionais.
Servidor cliente
No modelo cliente-servidor REST, um servidor de componente pode ser outro cliente de componente.
Sem estado de conexão
Cada solicitação deve conter detalhes sobre a conexão com cada cliente e não deve responder nas conexões anteriores para o mesmo cliente.
Cachable
O protocolo deve permitir que o servidor especifique explicitamente quais recursos podem ser armazenados em cache e por quanto tempo.
Servidores Proxy
Para melhorar o desempenho e a escalabilidade, os servidores Proxy podem ser usados. Qualquer proxy HTTP padrão pode ser usado.
Serviço OData usando SAP NetWeaver Gateway Service Builder
Use o T-Code: SEGW

Uma nova janela se abrirá. CliqueCreate Project.

Agora, siga as etapas abaixo -
Insira o nome do projeto conforme mostrado na imagem abaixo. Deve ser exclusivo e não deve conter caracteres especiais.
Insira a descrição do projeto, pois é um campo obrigatório.
Insira os diferentes atributos, como Tipo de Projeto, Estratégia de Geração.
Selecione Pacote ou clique no objeto local, se quiser criá-lo localmente.

Depois de clicar no objeto local, o construtor de serviços criará um novo projeto com uma estrutura de pasta vazia. Todos eles são criados automaticamente com um novo projeto e clique no ícone Salvar.

Agora, para criar um tipo de entidade no modelo de dados. Expanda o modelo de dados → clique com o botão direito → Criar → Tipo de entidade.

Insira o nome do tipo de entidade e para criar um conjunto de entidades automaticamente, clique na opção da caixa de seleção do conjunto de entidades relacionadas.

Clique na opção Insert rowpara adicionar outro tipo de entidade no modelo de dados e adicionar os detalhes conforme fornecido abaixo. Clique em Salvar.


De maneira semelhante, você pode criar um conjunto de entidades clicando com o botão direito do mouse no modelo de dados e inserir os detalhes ou usando o Insert Row opção em Tipo de entidade.
A próxima etapa é definir a associação e o relacionamento entre diferentes entidades. Ele pode ser criado de duas maneiras, usando um assistente ou usando a visualização de edição de máscara.
Clique com o botão direito data model → Create → Association ou
Clique com o botão direito Association folder → Create

Duplo click Association folder → Edit Mode → Insert Row

Insira os detalhes dos rótulos fornecidos -
- Nome da associação
- Editor de associação externa
- Entidade principal e cardinalidade
- Entidade dependente e cardinalidade

Clique no Association set. Clique com o botão direitodata model → Create → Association Set.
Para criar Function Import no Criador de serviços, clique com o botão direito Data Model → Create → Function Import.

Insira o nome de Function Import e você pode selecionar outras opções e clicar no save icon.

Para definir o tipo complexo, vá para Data Model → right Click → Complex type.

Insira os detalhes de acordo com o requisito e Salvar.

É assim que você pode criar modelo de dados, conjunto de entidades, tipo, associação e tipos complexos.
Como importar modelo de dados
Existem quatro opções disponíveis para importar o modelo de dados de um arquivo -
- Modelo de dados do arquivo
- Estrutura DDIC
- Interface RFC / BOR
- procure ajuda
Para importar o modelo de dados, siga as etapas abaixo -
Run T-code: SEGW
Clique com o botão direito do mouse em Nome do Projeto → Importar → Selecione o método de importação

Insira o caminho e importe tipos de entidades, conjuntos de entidades, associações e tipos complexos.
Mapeamento para fonte de dados
Vá para Modelo de Dados → Implementação de Serviço → selecione Conjunto de Entidades para Mapeamento

Insira a fonte de dados do sistema local ou remoto, digite e Nome e salve.

Isso habilitará o nó de mapeamento sob a operação de consulta. Você pode fazer o mapeamento para objetos individuais ou também pode usar a opção dePropose mapping opção.

Manutenção e registro do serviço
Vamos para Data Model. Duplo clickService Maintenance.

Selecione o sistema que deseja registrar e clique no botão Register opção no topo.

Selecione os project → Local Object e salve clicando na marca de seleção.

Verifica a Service Registration status.

Para manter o serviço, clique no Maintainbotão. Outra janela será aberta.
Clique Call browsere selecione para usar este serviço como URL. CliqueOK.

Um navegador será aberto; insira o nome de usuário e a senha para ver se o serviço é exposto como serviço OData.
