develop API on legacy system without changing it

Not applicable

We have old legacy system. We want to develop api on it, But we don't want change our system.

System don't have any form of api e.i. REST, SOAP or ESB. It is like desktop application.

Will ApiGee can help to do this. Or we need to change the application before that?

Solved Solved
0 2 954
1 ACCEPTED SOLUTION

good question.

The existing system has no form of API today, and you'd like to create one. Can Apigee help?

The answer is: "maybe".

Apigee could host a facade API, if there is some way to connect to the existing system. You said that the system doesn't have a proper network API. But there are a wide variety of ways to connect systems.

  • an API exposed by a library
  • a file-transfer mechanism
  • shared memory
  • a shared database
  • FTP
  • a message queue
  • there are probably other ways.....

If there is one of those, then Apigee Edge can connect.

Usually the architecture involves wrapping the interconnection system into a bare, unmanaged API. Let's say constructed with C#, or nodejs, or Java..... Then, Apigee Edge would wrap management around that "bare API".

That's a best practice. But, there are customers who prefer to eliminate that "bare API" layer and just go direct, using something implemented in a Java callout or maybe a hosted function. In other words, the connectivity to the system is all 100% hosted in Apigee. That works too.

I'll describe a concrete example of the "best practice"...

I once did this with the Windows Fax Service.... The Fax Service on the desktop computer does not expose a REST API, nor a SOAP API, nor an API via any other network interface. But, there is a library shipped with Windows that allows *local* apps - apps running on the Windows machine itself - to interact with the Fax Service. So I built a local app in C#, which ... listened for REST calls inbound, and then invoked the Fax library (I think via DllImport if I recall correctly). Then I was able to wrap Apigee Edge management around that bare API.

View solution in original post

2 REPLIES 2

good question.

The existing system has no form of API today, and you'd like to create one. Can Apigee help?

The answer is: "maybe".

Apigee could host a facade API, if there is some way to connect to the existing system. You said that the system doesn't have a proper network API. But there are a wide variety of ways to connect systems.

  • an API exposed by a library
  • a file-transfer mechanism
  • shared memory
  • a shared database
  • FTP
  • a message queue
  • there are probably other ways.....

If there is one of those, then Apigee Edge can connect.

Usually the architecture involves wrapping the interconnection system into a bare, unmanaged API. Let's say constructed with C#, or nodejs, or Java..... Then, Apigee Edge would wrap management around that "bare API".

That's a best practice. But, there are customers who prefer to eliminate that "bare API" layer and just go direct, using something implemented in a Java callout or maybe a hosted function. In other words, the connectivity to the system is all 100% hosted in Apigee. That works too.

I'll describe a concrete example of the "best practice"...

I once did this with the Windows Fax Service.... The Fax Service on the desktop computer does not expose a REST API, nor a SOAP API, nor an API via any other network interface. But, there is a library shipped with Windows that allows *local* apps - apps running on the Windows machine itself - to interact with the Fax Service. So I built a local app in C#, which ... listened for REST calls inbound, and then invoked the Fax library (I think via DllImport if I recall correctly). Then I was able to wrap Apigee Edge management around that bare API.

Thanks Dino,

This gives me clear understanding.