Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Brainstorm
  4. Needing help with designing a report manager app
QtWS25 Last Chance

Needing help with designing a report manager app

Scheduled Pinned Locked Moved Solved Brainstorm
mysqlwindowsserverlinuxsql
14 Posts 6 Posters 3.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C comet91 0

    Hi.
    Even if you use Linux or Windows as the operating system of MySQL Server, you think that Server is not a problem if you write only Client program completely.
    I have already developed a project in this area.

    realhamidrezakpR Offline
    realhamidrezakpR Offline
    realhamidrezakp
    wrote on last edited by
    #3

    @comet91-0
    yeah agree, but i mean client might be problem , i use Linux for developing application and then deploy that on Windows.
    (the operation system of MySQL Server is Linux.)

    is it safe to develop whole application on Linux and deploy it on Windows, yeah i know qt is cross platform and same code can run on other platforms, but i am worry about MySQL Driver problems on windows or compiling and linking app with MySQL.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #4

      Hi,

      You will likely have to re-build the MySQL plugin to use the version you want to support of MySQL but that's pretty much all.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      realhamidrezakpR 1 Reply Last reply
      0
      • realhamidrezakpR realhamidrezakp

        Hi.
        i want to design an application that manages a organization reports.
        in organization, 4 clients (windows) must install this app and manuppilate reports and data.
        i need help with design of application and what things i use to completely and very efficiently do the job.
        i was thinking about using a server at organization with MySQL server installed and clients connect to server and do their job.
        because i am new to qt , and only made qt applications on Linux , i am scaring that might MySQL driver on windows dos not install properly or something else on windows don't let app work good.
        i need your help and suggestions about implementation of application.
        thanks you a lot.

        kshegunovK Offline
        kshegunovK Offline
        kshegunov
        Moderators
        wrote on last edited by
        #5

        @realhamidrezakp said in Needing help with designing a report manager app:

        i want to design an application that manages a organization reports.

        This is very broad statement to say the least. What is a "report" and how does this application need to "manage" them. Is this just pulling data off a database, or is data going to be inserted/modified as well? Are there additional security requirements, is this going to run in an internal network? As you can see there's a lot of things to consider before you jump to the technical problems.

        Read and abide by the Qt Code of Conduct

        realhamidrezakpR 1 Reply Last reply
        0
        • SGaistS SGaist

          Hi,

          You will likely have to re-build the MySQL plugin to use the version you want to support of MySQL but that's pretty much all.

          realhamidrezakpR Offline
          realhamidrezakpR Offline
          realhamidrezakp
          wrote on last edited by realhamidrezakp
          #6

          @SGaist
          thanks, so you mean i must compile MySQL plugin for windows platform and qt version i use ?

          JonBJ 1 Reply Last reply
          0
          • kshegunovK kshegunov

            @realhamidrezakp said in Needing help with designing a report manager app:

            i want to design an application that manages a organization reports.

            This is very broad statement to say the least. What is a "report" and how does this application need to "manage" them. Is this just pulling data off a database, or is data going to be inserted/modified as well? Are there additional security requirements, is this going to run in an internal network? As you can see there's a lot of things to consider before you jump to the technical problems.

            realhamidrezakpR Offline
            realhamidrezakpR Offline
            realhamidrezakp
            wrote on last edited by
            #7

            @kshegunov said in Needing help with designing a report manager app:

            @realhamidrezakp said in Needing help with designing a report manager app:

            i want to design an application that manages a organization reports.

            This is very broad statement to say the least. What is a "report" and how does this application need to "manage" them. Is this just pulling data off a database, or is data going to be inserted/modified as well? Are there additional security requirements, is this going to run in an internal network? As you can see there's a lot of things to consider before you jump to the technical problems.

            so sorry, the reports are some information about customers. app must be able to search and show information of a specific customer. and users can insert new data or modify preview data stored.
            i wanted to make MySQL Server port open to internet so that users can access database from outside and inside of organization.
            is there any security tip or trick other than securing MySQL Server i must consider ?
            thanks you for your time.

            kshegunovK 1 Reply Last reply
            0
            • realhamidrezakpR realhamidrezakp

              @SGaist
              thanks, so you mean i must compile MySQL plugin for windows platform and qt version i use ?

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by JonB
              #8

              @realhamidrezakp

              thanks, so you mean i must compile MySQL plugin for windows platform and qt version i use ?

              I use released versions of MySQL, Qt & Qt MySQL plugin as they are consistent at the time. If you wish to move to, say, the latest version of Qt you are likely to have to compile. I stick with older versions, but that's up to you.

              i wanted to make MySQL Server port open to internet so that users can access database from outside and inside of organization.
              is there any security tip or trick other than securing MySQL Server i must consider ?

              Yes, this is a security "risk"! You can Google for e.g. make MySQL Server port open to internet to read up. The fact that you say

              and users can insert new data or modify preview data stored

              is a shame, especially if it's only supposed to do reports.

              If you are really security conscious you can design to use a "report server" application which runs on the server and only it accesses the database in order to avoid opening up your MySQL (and making it run a lot faster). The server then delivers its results to clients over, say, http (i.e. a web page). But that's certainly a lot more work/design....

              realhamidrezakpR 1 Reply Last reply
              0
              • realhamidrezakpR realhamidrezakp

                @kshegunov said in Needing help with designing a report manager app:

                @realhamidrezakp said in Needing help with designing a report manager app:

                i want to design an application that manages a organization reports.

                This is very broad statement to say the least. What is a "report" and how does this application need to "manage" them. Is this just pulling data off a database, or is data going to be inserted/modified as well? Are there additional security requirements, is this going to run in an internal network? As you can see there's a lot of things to consider before you jump to the technical problems.

                so sorry, the reports are some information about customers. app must be able to search and show information of a specific customer. and users can insert new data or modify preview data stored.
                i wanted to make MySQL Server port open to internet so that users can access database from outside and inside of organization.
                is there any security tip or trick other than securing MySQL Server i must consider ?
                thanks you for your time.

                kshegunovK Offline
                kshegunovK Offline
                kshegunov
                Moderators
                wrote on last edited by
                #9

                @realhamidrezakp said in Needing help with designing a report manager app:

                i wanted to make MySQL Server port open to internet so that users can access database from outside and inside of organization.

                What you probably want is a dedicated server application that talks to the MySQL through internal channel that's not open to the public. And your clients connect and authenticate before your server to get the information (what @JonB wrote). This is not without (development) cost, as you need to develop the protocol (if not using one ready-made), ensure that the clients talk to the server over a secure channel (read SSL) and authenticate the user either by password or by using dedicated security certificates (depending on the requirements).

                is there any security tip or trick other than securing MySQL Server i must consider ?

                The database should be open to a trusted party only.

                Read and abide by the Qt Code of Conduct

                1 Reply Last reply
                1
                • JonBJ JonB

                  @realhamidrezakp

                  thanks, so you mean i must compile MySQL plugin for windows platform and qt version i use ?

                  I use released versions of MySQL, Qt & Qt MySQL plugin as they are consistent at the time. If you wish to move to, say, the latest version of Qt you are likely to have to compile. I stick with older versions, but that's up to you.

                  i wanted to make MySQL Server port open to internet so that users can access database from outside and inside of organization.
                  is there any security tip or trick other than securing MySQL Server i must consider ?

                  Yes, this is a security "risk"! You can Google for e.g. make MySQL Server port open to internet to read up. The fact that you say

                  and users can insert new data or modify preview data stored

                  is a shame, especially if it's only supposed to do reports.

                  If you are really security conscious you can design to use a "report server" application which runs on the server and only it accesses the database in order to avoid opening up your MySQL (and making it run a lot faster). The server then delivers its results to clients over, say, http (i.e. a web page). But that's certainly a lot more work/design....

                  realhamidrezakpR Offline
                  realhamidrezakpR Offline
                  realhamidrezakp
                  wrote on last edited by
                  #10

                  @JonB

                  The fact that you say

                  and users can insert new data or modify preview data stored

                  is a shame, especially if it's only supposed to do reports.

                  i call them wrong, they are some information that organization store about customers.

                  If you are really security conscious you can design to use a "report server" application which runs on the server and only it accesses the database in order to avoid opening up your MySQL (and making it run a lot faster). The server then delivers its results to clients over, say, http (i.e. a web page). But that's certainly a lot more work/design....

                  thanks, its a good idea ; what is your suggestion about server app design ?

                  @kshegunov

                  you need to develop the protocol (if not using one ready-made), ensure that the clients talk to the server over a secure channel (read SSL) and authenticate the user either by password or by using dedicated security certificates (depending on the requirements).

                  thanks . can you suggest me some good protocol you think is suitable for my use ?

                  JonBJ kshegunovK 2 Replies Last reply
                  0
                  • realhamidrezakpR realhamidrezakp

                    @JonB

                    The fact that you say

                    and users can insert new data or modify preview data stored

                    is a shame, especially if it's only supposed to do reports.

                    i call them wrong, they are some information that organization store about customers.

                    If you are really security conscious you can design to use a "report server" application which runs on the server and only it accesses the database in order to avoid opening up your MySQL (and making it run a lot faster). The server then delivers its results to clients over, say, http (i.e. a web page). But that's certainly a lot more work/design....

                    thanks, its a good idea ; what is your suggestion about server app design ?

                    @kshegunov

                    you need to develop the protocol (if not using one ready-made), ensure that the clients talk to the server over a secure channel (read SSL) and authenticate the user either by password or by using dedicated security certificates (depending on the requirements).

                    thanks . can you suggest me some good protocol you think is suitable for my use ?

                    JonBJ Offline
                    JonBJ Offline
                    JonB
                    wrote on last edited by JonB
                    #11

                    @realhamidrezakp
                    My only experience of server-side report generator is MS SSRS (https://en.wikipedia.org/wiki/SQL_Server_Reporting_Services), which supplies reporting facilities for SQL Server. Users go via a web page http interface to request a report to be run and to view the output. So the database itself is not exposed to the outside world, only the reporting service is.

                    Like I said, "secure", but a lot more work to implement. I would imagine something similar might exist for MySQL....

                    1 Reply Last reply
                    1
                    • realhamidrezakpR realhamidrezakp

                      @JonB

                      The fact that you say

                      and users can insert new data or modify preview data stored

                      is a shame, especially if it's only supposed to do reports.

                      i call them wrong, they are some information that organization store about customers.

                      If you are really security conscious you can design to use a "report server" application which runs on the server and only it accesses the database in order to avoid opening up your MySQL (and making it run a lot faster). The server then delivers its results to clients over, say, http (i.e. a web page). But that's certainly a lot more work/design....

                      thanks, its a good idea ; what is your suggestion about server app design ?

                      @kshegunov

                      you need to develop the protocol (if not using one ready-made), ensure that the clients talk to the server over a secure channel (read SSL) and authenticate the user either by password or by using dedicated security certificates (depending on the requirements).

                      thanks . can you suggest me some good protocol you think is suitable for my use ?

                      kshegunovK Offline
                      kshegunovK Offline
                      kshegunov
                      Moderators
                      wrote on last edited by
                      #12

                      @realhamidrezakp said in Needing help with designing a report manager app:

                      thanks . can you suggest me some good protocol you think is suitable for my use ?

                      I use my own messages built on top of JSON that I marshal as binary over TCP. Whether this is good for your case I can't say.

                      Read and abide by the Qt Code of Conduct

                      1 Reply Last reply
                      1
                      • realhamidrezakpR Offline
                        realhamidrezakpR Offline
                        realhamidrezakp
                        wrote on last edited by
                        #13

                        Thanks you @kshegunov and @JonB .
                        you helped me a lot.

                        1 Reply Last reply
                        0
                        • realhamidrezakpR realhamidrezakp

                          Hi.
                          i want to design an application that manages a organization reports.
                          in organization, 4 clients (windows) must install this app and manuppilate reports and data.
                          i need help with design of application and what things i use to completely and very efficiently do the job.
                          i was thinking about using a server at organization with MySQL server installed and clients connect to server and do their job.
                          because i am new to qt , and only made qt applications on Linux , i am scaring that might MySQL driver on windows dos not install properly or something else on windows don't let app work good.
                          i need your help and suggestions about implementation of application.
                          thanks you a lot.

                          K Offline
                          K Offline
                          Konstantin Tokarev
                          wrote on last edited by
                          #14

                          what is your suggestion about server app design ?

                          People usually refer to "server app" as "middleware" or "web application". There are tons of web frameworks and ORMs for various languages including Java and C# on "enterprise" side and scripting languages (pphp, python, perl, ruby, node.js). C++ is not really convenient language here. As for protocol, if you are not pursuing real-time data processing with lowest possible latency, it makes sense to use REST API on top of HTTP, so that on server side you have the most typical "web app" with ORM inside and REST outside, and on client side you can easily add web client if needed, and even if not, you get some additional convenience as compared to e.g. RPC over plain TCP

                          1 Reply Last reply
                          2

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved