CRUD operations on site from external application We have an application behind our firewall that we want to push content to a content type on our external Drupal site. Our internal application will need to create new nodes, update existing nodes, and delete existing nodes as needed. It would also have to have some kind of authentication method that would be used by the application.

What modules/process (services maybe) are best for doing this type of action on the Drupal site?
What type of custom programming will need to be done on the Drupal side to allow this?
I use a custom module to do this very thing in D7. It works like this:


The internal applications write to a transaction log (a database table) reflecting changes that will need to be added/edited/deleted on the site.
A simple API app exposes this transaction log over the Internet, with API keys.
The Drupal site reads new transaction log entries (it remembers the last log entry it synchronized) from the API then queues and makes the node changes when cron runs. 


You could do something similar in D8. Or, considering Drupal 8 has a RESTful API, you could instrument your internal application to make synchronous changes to the Drupal site.