Our in-house production environment and ERP solution runs on Oracle 11g. I've been tasked with building an e-commerce site. I've elected to store the site on AWS with Forge as a way of managing the laravel site. There are small amounts of data that I want to push from Oracle to the MySQL server on AWS on a hourly basis.
My initial thought would be to write a small app and run it on Oracle that keeps track of table changes, save the changes to a .xml and upload that file to AWS running Laravel. I'm assuming that I could then parse the .xml file and perform my database transactions.
If I went down that way there are some questions I don't readily know how to answer...
Can I parse xml and convert it to update statements? Probably...
How do I secure a connection between in-house and cloud?
How do I automate the process of preforming updates when the .xml file has been loaded to a spot on the server?
Is there another way that's simpler to push data? I'm only going in a single direction and inserts/deletes are not needed.
Can I parse xml and convert it to update statements?
Sure you can! If you parse the xml they turn into arrays or in Laravels case you can convert them to collections. After that you can simply loop over the data and insert the data where needed.
How do I secure a connection between in-house and cloud?
You use AWS right with everything? You can create security groups so only the machines in your VPC can talk to each other. I'm not an expert on this level, but if you Google around you can probably find the correct answer for this :)
How do I automate the process of preforming updates when the .xml file has been loaded to a spot on the server?
Cronjobs are your answer here! Laravel has a scheduler build in that can run every hour or every 2 hours and so. If you let that run every x minutes/hours and perform some action you are good to go. You can for example have a command that checks for files in a directory and parse them correctly. This command can then be added to the scheduler so it will run on a given time, or you can run it on the command line.