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.
  • realhamidrezakpR Offline
    realhamidrezakpR Offline
    realhamidrezakp
    wrote on last edited by
    #1

    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 K 2 Replies Last reply
    0
    • C Offline
      C Offline
      comet91 0
      wrote on last edited by
      #2

      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 1 Reply Last reply
      0
      • 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