1 / 8

Industrial project 234313

Always alive mySQL viewer with inter process data communication Instructed by: Daher Kaiss Performed by: Adham Masarwah. Industrial project 234313. Project Objectives. Create a GUI application that: Opens a mySQL database and visualize its content using a table view

trevet
Download Presentation

Industrial project 234313

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Always alive mySQL viewer with inter process data communication Instructed by: DaherKaiss Performed by: AdhamMasarwah Industrial project234313

  2. Project Objectives • Create a GUI application that: • Opens a mySQL database and visualize its content using a table view • Enable a pre-defined set of queries on the database • Demonstrate ‘always alive GUI’ (i.e. demonstrates that the GUI is never stuck when the database is busy) • Enable remote updates to the SQL database from remote machine(s) while enable continuous refresh of the data

  3. Methodology • QT package: for developing always alive GUI, using QT multi-threading package • mySQL package: for storing the data • QT sockets : connect between the main application and remote processes that need to update the DB

  4. Achievements • Main application: • Contain all the objects that are needed for the required functionality such as buttons , menu and table view • Support all the required functionality such as : • Connecting to the mySQL server (using username & pass) • Load the data from the DB into the table view • Executing pre-defined queries and visualize its results on the table • Support option to change the DB and/or the table that contain data from the mySQL server in middle of work

  5. Achievements (cont.) • Main application: • Ready to read the data sent from remote machine(s) and applies the updates (in this way the data on the table always up-to-date) • Always alive GUI: using the multi-threading programming, the GUI still alive while the DB is busy in long computations • This way, the user can still interact with the application (e.g. view the data, select another tasks)

  6. Achievements (cont.) • Remote machine application: • Supports the functionality of sending data to the main application using sockets • Supports the ability to choose the table to be updated in the server DB

  7. Illustration Update Remote Machine …………. Update Remote Machine IPC QSockets IPC QSockets Main application Viewer query1 query2 SQL query3 query4

  8. Conclusions • The course gave us an opportunity to be exposed to new technologies and new environments, and acquired us experience with the real software projects, and getting familiar with the project’s life-cycle • When using open-source packages/tools, reading the documentations and the examples is very important for fast ramp up • Good design is very important in building/developing an application especially when it is created from multiple components, that need to be integrated together

More Related