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.
  • R Offline
    R Offline
    realhamidrezakp
    wrote on 31 Jan 2019, 10:01 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.

    K K 2 Replies Last reply 1 Feb 2019, 05:57
    0
    • C Offline
      C Offline
      comet91 0
      wrote on 31 Jan 2019, 11:32 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.

      R 1 Reply Last reply 31 Jan 2019, 17:54
      0
      • C comet91 0
        31 Jan 2019, 11:32

        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.

        R Offline
        R Offline
        realhamidrezakp
        wrote on 31 Jan 2019, 17:54 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
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 31 Jan 2019, 20:47 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

          R 1 Reply Last reply 1 Feb 2019, 12:21
          0
          • R realhamidrezakp
            31 Jan 2019, 10:01

            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
            kshegunov
            Moderators
            wrote on 1 Feb 2019, 05:57 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

            R 1 Reply Last reply 1 Feb 2019, 12:34
            0
            • S SGaist
              31 Jan 2019, 20:47

              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.

              R Offline
              R Offline
              realhamidrezakp
              wrote on 1 Feb 2019, 12:21 last edited by realhamidrezakp 2 Jan 2019, 12:41
              #6

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

              J 1 Reply Last reply 1 Feb 2019, 13:24
              0
              • K kshegunov
                1 Feb 2019, 05:57

                @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.

                R Offline
                R Offline
                realhamidrezakp
                wrote on 1 Feb 2019, 12:34 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.

                K 1 Reply Last reply 1 Feb 2019, 15:05
                0
                • R realhamidrezakp
                  1 Feb 2019, 12:21

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

                  J Offline
                  J Offline
                  JonB
                  wrote on 1 Feb 2019, 13:24 last edited by JonB 2 Jan 2019, 13:25
                  #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....

                  R 1 Reply Last reply 1 Feb 2019, 19:21
                  0
                  • R realhamidrezakp
                    1 Feb 2019, 12:34

                    @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.

                    K Offline
                    K Offline
                    kshegunov
                    Moderators
                    wrote on 1 Feb 2019, 15:05 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
                    • J JonB
                      1 Feb 2019, 13:24

                      @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....

                      R Offline
                      R Offline
                      realhamidrezakp
                      wrote on 1 Feb 2019, 19:21 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 ?

                      J K 2 Replies Last reply 5 Feb 2019, 09:25
                      0
                      • R realhamidrezakp
                        1 Feb 2019, 19:21

                        @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 ?

                        J Offline
                        J Offline
                        JonB
                        wrote on 5 Feb 2019, 09:25 last edited by JonB 2 May 2019, 09:26
                        #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
                        • R realhamidrezakp
                          1 Feb 2019, 19:21

                          @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 ?

                          K Offline
                          K Offline
                          kshegunov
                          Moderators
                          wrote on 5 Feb 2019, 20:35 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
                          • R Offline
                            R Offline
                            realhamidrezakp
                            wrote on 7 Feb 2019, 12:16 last edited by
                            #13

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

                            1 Reply Last reply
                            0
                            • R realhamidrezakp
                              31 Jan 2019, 10:01

                              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 9 Feb 2019, 02:30 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

                              1/14

                              31 Jan 2019, 10:01

                              • Login

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