I need your help about the java application design:
I have a new java enterprise application project to implement a "Save and Retrieve" business function. It is to support other applications in my company to save their data and then retrieve in their data in different ordering and sorting. Those data is formated in a list of records and then can be displayed in their web applications.
Case 1. An application A1 sends a xml message to us on every 5 mins (using our Save function). The message body contains 5 fields (e.g. F1, F2, F3, F4 and F5). On the other hand, a user wants to select the fields F1, F2 and F3 within current day from our application (Retrieve functio). These fields are sorted by F4 in descending order.
Case 2. An application A2 sends a xml message to us on every 10 mins (using our Save function). The message body contains 6 fields (e.g. F10, F11, F12, F13, F14 and F15). On the other hand, a user wants to select the fields F14, F15 and F12 within this course from our application (Retrieve functio). Those fields are sorted by F10 in ascending order.
Case 3 ... : :
Case N ...
In order to support N applications, should I use a metadata repository store the data (since come from different applications) or store it in database?
Yes, its function is similar to database. But the difficulty is if we implement this design in database, how to support N (unknown) fields with different sorting and filtering in a table. It is not possible to create different tables to support different applications respectively (due to limited resources). So I am looking for any java based architecture or solution to support our requirements.