OData is used to define best practices that are required to build and consume RESTful APIs.
It
helps you to find out changes, defining functions for reusable procedures and sending batch
requests etc.
Some of the important features are
OData provides facility for extension to fulfill any custom needs of your RESTful APIs.
REST stands for Representational State Transfer and it is sometimes spelled as "ReST".
It relies on a stateless, client-server, cacheable communication protocol. In virtually all
cases, the HTTP protocol is used.
REST is defined as an architecture style for designing network applications.
OData helps you focus on your business logic while building RESTful APIs without
having to worry about the approaches to define request and response headers, status
codes, HTTP methods, URL conventions, media types, payload formats and query
options etc.
OData RESTful APIs are easy to consume.
OData Service Life Cycle
The OData service life cycle includes span of an OData service. Given below are the key steps to
be considered in an OData Service Life Cycle.
Activation of OData service.
Maintaining OData service.
Maintaining of models and services, up to the cleanup of the metadata cache.
RESTful applications use HTTP requests to post data to create or update, read data and
delete data. REST uses HTTP for all four CRUD (Create/Read/Update/Delete)
operations.
REST is a lightweight alternative to mechanisms like RPC (Remote Procedure Calls) and
Web Services.
REST
REST is defined as an option for web services and Remote Procedure calls. It is used for
designing network applications.
REST services like a web services and supports below features
Work with firewalls
Language-independent
Standards-based
Not Platform dependent
REST Architecture
Given below are the components of the REST Architecture.
Resources
In REST, both the state and the functionality are presented as resources. Resources are the key
element of a RESTful design, as opposed to "methods" or "services" used in RPC and SOAP
Web Services.
RPC calls like "getProductName" and "getProductPrice" are not used in REST. You view the
product data as a resource and this resource should contain all the required information.
Web of Resources
It means that a single resource should not contain detailed data and it contains links to additional
web pages.
Client-Server
In REST clientserver model, one component server can be other component client.
No Connection State
Each request should contain details about the connection to each client and should not reply on
the previous connections to the same client.
Cachable
The protocol must allow the server to explicitly specify which resources may be cached, and for
how long.
Proxy Servers
To improve performance and scalability, Proxy servers can be used. Any standard HTTP proxy
can be used.
OData Service using SAP NetWeaver Gateway Service
Builder
Use the T-Code: SEGW
A new window will open. Click Create Project.
Now, follow the steps given below
Enter the Project name as shown in the image below. It should be unique and should not
contain any special characters.
Enter the description of the project as it is a mandatory field.
Enter the different attributes such as Project Type,Generation Strategy.
Select Package or click the local object, if you want to create this locally.
Once you click the local object, Service builder will create a new project with empty folder
structure. All these are automatically created with a new project and click the save icon.
Now, to create an Entity type in data model. Expand the Data model right click Create
Entity Type.
Enter the Entity type name and to create an entity set automatically, click on related entity set
check box option.
Click the option Insert row to add another entity type in data model and add the details as given
below. Click Save.
In a similar way, you can create an entity set by right-clicking the data model and enter the
details or by using the Insert Row option in Entity Type.
The next step is to define association and relationship between different entities. It can be created
in two ways, by using a wizard or by using mask edit view.
Right click data model Create Association or
Right click Association folder Create
Double click Association folder Edit Mode Insert Row
Enter the details of the given labels
Name for the association
External Association Editor
Principal entity and cardinality
Dependent Entity and Cardinality
Click the Association set. Right click data model Create Association Set.
To create Function Import in Service Builder, right click Data Model Create Function
Import.
Enter the name of Function Import and you can select from other options and click the save
icon.
To define complex type, go to Data Model right Click Complex type.
Enter the details as per the requirement and Save.
This is how you can create Data model, Entity set, type, Association and Complex types.
How to Import Data Model
There are four options available to import Data Model from a file
Data model from File
DDIC structure
RFC/BOR Interface
Search Help
To import data model, follow the steps given below
Run T-code: SEGW
Right-click Project Name Import Select the import method
Enter the path and import Entity types, Entity sets, associations and complex types.
Mapping to Data Source
Go to Data Model Service Implementation select Entity Set for Mapping
Enter the local or remote system data source, type and Name and save.
This will enable mapping node under query operation. You can do mapping for single objects or
can also use the option of Propose mapping option.
Service Maintenance and Registration
Go to Data Model. Double-click Service Maintenance.
Select the system you want to register and click the Register option at the top.
Select the project Local Object and then save by clicking the tick mark.
Check the Service Registration status.
To maintain the service, click the Maintain button. Another window will open.
Click Call browser and select to use this service as URL. Click OK.
A browser will open; enter the user name and password to see if service is exposed as OData
service.