
We all know that the new IFS Cloud brings a new API based on the modern OData protocol. We know that OData can be a big challenge when companies migrate from previous IFS versions to this new version.
In the previous blog, we listed some barriers that might accompany you in the migration to IFS Cloud’s new API.
We begin a whole series of blogs to spotlight OData with this article.
But because this is the first one, I think it is a good idea to start from the very beginning for those who just started their adventure with OData. This is mainly for ERP owners who might concentrate on business processes more than technology. We’ve talked to Albin Lundberg, Solution Manager at Novacura and asked a few questions about OData basics.
1. Could you explain what OData is?
OData (Open Data Protocol) is a standardized protocol for exposing your data using RESTful APIs. REST being the langue of the web means that any application with REST capabilities can easily consume OData resources. As a REST connector, it is state-less, which means that when you have the next request to the system using REST API, you can’t assume that the system remembers your previous requests. You should always send a message with a whole context. Therefore – if you do several operations linked together (order apartment, flight, car). Then you interrupt at some stage and can’t assume that the system will automatically roll back all previous operations. It will not remember your previous calls and requests. We will talk more about this in our upcoming articles.
2. Would you say there are not many specialists in IFS OData API?
I’m sure there are OData specialists in IFS. It’s just that consultants or developers rely on code libraries and tools for generating OData APIs. The developer typically writes the query in another language Like C# using LINK query syntax to define the CRUD operations that then translate to OData that can be transported via HTTP. You can write OData queries manually, but it’s cumbersome. To do this efficiently, you need some facilitator, like Novacura Flow!
In the case of IFS, every projection has its own specification or contract, if you will. These specifications are then used to generate the Client code for the interface, REST calls, payload formats, responses, etc.
OData is just a technical protocol, the way we technically connect to the system. And in fact, there is a lot of specialists in that area, but the new IFS API based on OData is an additional business layer. By analogy, OData is a transportation layer like GSM Telephony vs. previous fixed-line telephony. So, you can establish a connection between 2 points using GSM equipment. But the other thing that also changed is also a communication language – you don’t use the same words (functions/methods) – you need to learn the new language; you must know how new projections and endpoints replaced old procedures and views. There are not many experts right now who know this whole new language.
3. Ok, so how complicated is this new language?
There are 5800 projections in the “main” (used by Aurena) cluster.
4. These are new definitions that didn’t exist with the old API.
A projection is a grouping of API methods for performing CRUD operations and executing actions to interact with OData entities. This is similar to the PL SQL packages, but again, the OData projections sit on top of the database layer. The packages are still there, but you can’t reach them directly. An endpoint is a point of contact in an API where you can perform operations on a resource.
5. The ERP accessing examples with the PL/SQL
OData Concepts vs SQL – reading the information
OData Concepts vs SQL – writing the information
6. Search and replace” examples, that you can use
The logical units do not map 1:1 with projections. There can be multiple projections per LU. The entry step is lower when doing OData operations than PL/SQL, but less powerful.
With traditional PL/SQL you can build complex business logic combined with DB queries in large PL/SQL blocks/programs. OData will give you access to the data in IFS, but you need to implement your business logic elsewhere. In code, scripts, or using a low-code platform like Flow.
7. Examples of the sequence in PLSQL based on OData,
Below you can see a basic example of the IFS OData provider converting an OData call to a query executed in the database. From the IFS documentation.
To conclude
Thank you for this portion of basic information. In the next blog, we will talk about how to replicate database transactions in O-Data reality. Until then, discover our other related blog posts.