I'm really confused between choices and architecture, So I'll write my mind down here.
I am going to write a software for my employer which gathers data from different sources which are different Organization Finance Management Software, and provide an interface for reporting based on the gathered data.
It's going to be used in the holding's HQ to monitor and track its child companies spending of budgets. Because I have not chose a name, let's call it SOS for now. Here is how it going to work:
- Operator Exports data from software A,B and C and imports them one by one to SOS.
- Now the operator may query these data for spent budget in the first quarter. So, here are the problems.
So here's where things get confusing, Software A,B and C have different formats for exporting data. for example A outputs an excel file with 18 columns, B outputs an XML file with 10 columns and C outputs a CSV file with 40 columns (All software outputs are always text, no binary.).
In order to add the ability to import them into SOS without extra work, I want to develop a plugin system where anyone can make a plugin for a specific software. Now the question:
How should I store data when I don't know what is the format for the output of software D ? it may be 4,19 or 25 columns.
Now the other one, Software A calls the company's monthly budget mont_bud, Software B calls it monthly_Budget and C calls it monBudget .
We can see that these are pointing to a single entity i.e. Monthly Budget, How do I map these a single object, specially when I don't know what D calls it?
I already know C,C++,C#,PHP and Python for programming languages and MySQL,MSSQL for RDBMS.
Should I use RDBMS or something like Mongo db?
Thanks for your time guys.
Aucun commentaire:
Enregistrer un commentaire