What was used before APIs became the standard?

858 viewsOtherTechnology

I’m not in the IT sector but I’m beginning to understand the logic behind sending requests and receiving responses for various reasons. What was used before APIs became the standard for communication between systems?

Edit: I understand now that I’ve been in fact asking about REST API.

In: Technology

12 Answers

Anonymous 0 Comments

CSV files FTP’d to a shared place to pick them up and import.

This is often still done because it’s cheap and easy and doesn’t require both teams to be using the same APIs.

Anonymous 0 Comments

Still APIs. They just used older standards, such as SOAP. Before that they just used non-standard APIs, i.e. each software developer could just create their own communication protocol and use that.

Anonymous 0 Comments

APIs were first used in the 1940s, pretty much as soon as there was a need for them. As such, there isn’t really a time before APIs for communication between computer systems.

That’s hopefully enough waffle that ELI5 doesn’t delete the post.

Anonymous 0 Comments

API is a generic term for the interface between two different programs. There are many standard and even more proprietary APIs. As soon as computers were capable of running multiple programs those programs needed to talk to each other, when networks were introduced, the concept was extended to system level communication. The UNIX command line is probably the oldest API still in active use.

Anonymous 0 Comments

API is such a generic term it is almost meaningless. APIs arent standard, it is any Application Program Interface no matter how it is implemented. Sure a lot of modern web APIs use REST, but take the Windows API, its just actual function calls that the OS provides. All of this gets bundled under the fairly unhelpful term API

Anonymous 0 Comments

An API is a formal definition of how a bit of self-contained software that performs a pre-defined, specific set of tasks, can be communicated with. It specifies what input values it expects, the format of that input and describes the output to expect from it.

Thanks to APIs, a software developer needing to perform such tasks could do so without needing to know how that bit of software actually worked. They could treat it as a so-called black box.

Once software systems grow beyond the most basic of systems, good architectural practise dictates that, rather than have one huge program file that does everything, you split the code into logical smaller files called modules and pass data vales back and forth between them.

These modules might have been developed by yourself or by third parties. 

In any case, your code needs to “interface” with the called modules. It’s the interface you need to program your application to use. Hence Application Programming Interface (API).

In the internet and service oriented architecture era, “API” has come to mean communicating with remote systems but as explained above, it has a broader definition.

To answer your question, seperate systems would communicate with each other by sending batches of data in fixed format files. Expected record structures would be documented and programs would have to be written to validate that the received data conformed to the expected format.

XML was a bit of a revolution in terms of being able to have the data files almost self document themselves, and then XSL allowed one to formally define the structure and generic tools could be used to validate the structure.

XML however was a bit too verbose and a lot of bandwidth was wasted on transferring meta data.

JSON is lighter on that. And CBOR even more compact. 

Anonymous 0 Comments

A REST API is basically a setup where one system is waiting for a call from another system using standard, readily available communications. Imagine you have a banking system, and someone needs to transfer money. You set up a phone line (endpoint) with a person there whose job is to take the order and make the transfer for you.

Before there were all of these parallel systems, systems were built to exchange files “Here are all of the transfers I need you to process. Deal with it in your own time. Maybe give me another file later to tell me all of the transfers you processed.”

Another way was to load a bit of another system’s code and just do the work yourself. This is basically a DLL, or a dynamic link library. “Just give me instructions that I can understand (I.e., compiled code), and I’ll do it.”

A final way would be that both systems share data and agree how to access it. This is a client-server model. There’s a server out there with a database on it. Everyone has their own permissions to read and/or modify the shared data as necessary. “Here are the keys. Just open the safe and do what you need to do. Promise not to mess up.”

Anonymous 0 Comments

If by API, you mean REST API, then before that there was CORBA and SOAP. Before that things would have been custom.

Anonymous 0 Comments

owls and pigeons of course.

Seriously though, as others have already pointed out, interfaces for networked machines to communicate to each other exist in some form since there are networked machines.

Anonymous 0 Comments

Way back, people used a thing called x.12 EDI and ftp to move data between systems. Things were processed in batches and transactional, they just took days or hours to turn around.