apache / hop

Hop Orchestration Platform
https://hop.apache.org/
Apache License 2.0
982 stars 351 forks source link

[Feature Request]: ODATA Connector #2809

Open gertwieland opened 1 year ago

gertwieland commented 1 year ago

Can we add an "ODATA" transform (connector) in HOP?

ODATA is a powerful and flexible standard data protocol that allows exchanging data via the HTTP protocol (here's a link for starters). I think ODATA is particularly interesting because it not only allows transferring data, but it also provides the metadata, i. e. field descriptions, length, relationships etc. (link here). It seems to me that this concept is very much in line with Hop's philosophy.

It was initially developed by Microsoft, but they made it an "open standard", and it has been broadly adopted. In particular, it was even adopted by SAP (here's one of many links). The governing body for ODATA is "OASIS" (link here), and the chairs are held by Microsoft and SAP.

ODATA is fully bidirectional and it allows for all CRUD operations, i. e. it can even be used to write data back into SAP. The beauty of ODATA is that the consumer (recipient of data) does not need to know from which kind of database they are pulling data (MSSQL, Oracle, SAP etc.). All they need is the connection string and login credentials.

There is a long list of "consumers", i. e. applications that can natively read ODATA. Here's a link to the "ODATA Ecosystem", just find "consumers".

It's easy to learn how to use ODATA, e. g. using Postman. For example, the entire Northwind database is freely available as ODATA service.

I would love to see an ODATA connector in Apache Hop (for both input and output). I do believe that it would be a natural extension. There's is the "Apache OLINGO" project which provides a Java library for ODATA (thank you very much @bamaer for pointing that out!).

Issue Priority

Priority: 3

Issue Component

Component: Hop Gui, Component: Hop Server, Component: Hop Web, Component: Transforms

sramazzina commented 12 months ago

Started imlementing an ODATA connector by using Apache Olingo