alacer / renaissance

Detailed Visualization of Large Complex Data in R
0 stars 0 forks source link

Use case: Acquire Data #12

Closed ahoffer closed 4 years ago

ahoffer commented 9 years ago

This use case detailed one part of the end-to-end story.


Actors User, Web App, Renaissance, Database Preconditions CSV file with data is stored on user's local computer.

Main Flow

  1. User opens browser and navigates to Web App
  2. User initiates action to import data.
  3. Web App asks the user if the data is file-based or in a database [Alt flow: Data is in a database]
  4. User selects file-based data.
  5. Browser opens file selector view.
  6. User selects the file.
  7. Browser streams file data to Web App on the server.
  8. Web App saves file data to server file system.
  9. Web App starts a new Renaissance process and passes the fully qualified file name to the via the command line to the Renaissance process.
  10. Renaissance loads the data file into memory as part of its start-up process.
  11. Web App redirects the Browser to URL for the newly created instance of Renaissance. END Main Flow

Alt flow - Data is in a database

  1. Web App prompts User for database connection details and authorization information. E.g. URL, port #, user name, password, or key file.
  2. Web App connects to Database and informs User that connection was successful. [Alt flow: Connection is not successful].
  3. User submits DB query to Web App.
  4. Web App submits DB query to Database.
  5. Database sends query results to Web App.
  6. Web App saves the query results to a file on the server file systems
  7. Web App displays query results to User.
  8. User accepts query results. [Alt flow: User rejects query results and re-issues query or exits the use case] Use case resumes at main flow step 09.

_[Not sure the alternative flow to load data from a database makes sense._ It looks like I created a wrapper around the process of querying a DB and saving the results to a file. I do not see it adding value because it would be simpler to query the DB, save the results as a file, and upload the file.

Wrapping DB access inside a custom Web App seems awkward and error prone, at least for the Data Analysis and Quality Assessment and the Recommendation Engagement. If the scope of work proceeds beyond assessment and recommendation, then I can see circumstances where automating data acquisition (à la ETL) makes sense. But it would be a programmatic processes without a UI.]

edsar commented 9 years ago

For the end-to-end scenario, it would be great to think through the entire process: cloak->acquire->visualize->decloak->visualize/report.

Sent from my Windows Phone


From: Aaron Hoffermailto:notifications@github.com Sent: ý1/ý2/ý2015 13:05 To: alacer/renaissancemailto:renaissance@noreply.github.com Subject: [renaissance] Use case: Acquire data from file (#12)

Actors: User, Web App, Renaissance, Database Preconditions: CSV file with data is stored on user's local computer.

Main Flow

  1. User opens browser and navigates to Web App
  2. User initiates action to import data.
  3. Web App asks the user if the data is file-based or in a database [Alt flow: Data is in a database]
  4. User selects file-based data.
  5. Browser opens file selector view.
  6. User selects the file.
  7. Browser streams file data to Web App on the server.
  8. Web App saves file data to server file system.
  9. Web App starts a new Renaissance process and passes the fully qualified file name to the via the command line to the Renaissance process.
  10. Renaissance loads the data file into memory as part of its start-up process.
  11. Web App redirects the Browser to URL for the newly created instance of Renaissance. END Main Flow

Alt flow - Data is in a database

  1. Web App prompts User for database connection details and authorization information. E.g. URL, port #, user name, password, or key file.
  2. Web App connects to Database and informs User that connection was successful. [Alt flow: Connection is not successful].
  3. User submits DB query to Web App.
  4. Web App submits DB query to Database.
  5. Database sends query results to Web App.
  6. Web App saves the query results to a file on the server file systems
  7. Web App displays query results to User.
  8. User accepts query results. [Alt flow: User rejects query results and re-issues query or exits the use case] Use case resumes at main flow step 09.

[Not sure the alternative flow to load data from a database makes sense. It looks like I created a wrapper around the process of querying a DB and saving the results to a file. I do not see it adding value because it would be simpler to query the DB, save the results as a file, and upload the file.

Wrapping DB access inside a custom Web App seems awkward and error prone, at least for the Data Analysis and Quality Assessment and the Recommendation Engagement. If the scope of work proceeds beyond assessment and recommendation, then I can see circumstances where automating data acquisition (à la ETL) makes sense. But it would be a programmatic processes without a UI.]

— Reply to this email directly or view it on GitHubhttps://github.com/alacer/renaissance/issues/12.