Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Client Server Desktop Application in Alpha Five

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Client Server Desktop Application in Alpha Five

    What is the recommended way to build a client server desktop application? I plan to use SQL SERVER,what is the difference of using sql server with Native Alpha DBF files?
    If ever i choose alpha five dbf files, how do i setup so that 2 or more users can update just dbf files on a server?

    #2
    Re: Client Server Desktop Application in Alpha Five

    Supposedly and probably so, sql is better for security purposes.

    There are many people on here more qualified on sql than I am and I hope they chime in. We do not all agree on all levels.

    1 thought, if using desktop and wishing to distribute your application, sql can get hard to use. I say this because I do distribute apps and chose against sql at this time.

    2 thought, many here have written apps with well over 100 users and dbf tables without problems. My most is about 26 users at a time.

    3 thought, I believe field rules are handled withing sql instead of alpha(May be wrong about this one).

    4 thought, an internet app could really benefit from sql.

    Now, knowing what you plan to use your app for and how you plan to use it would be a great help in analizing what would be best for your use. We can only give an opinion, but that may be of value to you.

    Updating records on a server with dbf is usually done best and simplest with shadowing. Shadowing will be like running directly on the server, but can be done from a work station and any number of users can do so at the same time. If you do a search on the forum, you will find many answers to all you have asked.
    Dave Mason
    [email protected]
    Skype is dave.mason46

    Comment


      #3
      Re: Client Server Desktop Application in Alpha Five

      Using an SQL server will give you client-server application

      DBF tables will not.
      Andrew

      Comment


        #4
        Re: Client Server Desktop Application in Alpha Five

        Hello Andrew,

        Could you explain the difference a bit further? Maybe some of us are not clear what you mean?

        I have been putting the adb and dbf tables(the main app) on a server or peer-to-peer for many years and accessing them from work/client stations. Some here(includint me) use the shadowing and some do not. Yes, I have experimented with several versions of sql.

        It seems with sql, you have the added overhead of having to install a server software like mysql or mssql to be able to use the table(s) created in the sql environment.
        Dave Mason
        [email protected]
        Skype is dave.mason46

        Comment


          #5
          Re: Client Server Desktop Application in Alpha Five

          Hi, Dave,

          Let me chime in. (Others can correct my "tune" if I'm off key.)

          SQL Server runs as a service or process. It sits there waiting for a remote user to request it to do something, like enter, change or delete a record. The client cannot talk directly to the tables. If multiple clients request SQL Server to do something it places the requests in a queue that it manages, and then completes the requested actions in series. There is no "shared" access to the tables. SQL Server is the only process that can talk to the tables, and it does so (in the simplest case) only one request at a time. So, yes, the server software is added overhead, (and requires special installation and setup) but the big advantage one gains is much better reliability in a multi-user environment. Others would add that it's a big plus to be able to use standard SQL calls to manipulate the data, instead of xbasic's Foxpro like data manipulation language. But the DML is not what distinguishes client-server apps from non-client-server apps. Ok?

          Comment


            #6
            Re: Client Server Desktop Application in Alpha Five

            Originally posted by emilyjacin View Post
            What is the recommended way to build a client server desktop application? I plan to use SQL SERVER,what is the difference of using sql server with Native Alpha DBF files?
            If ever i choose alpha five dbf files, how do i setup so that 2 or more users can update just dbf files on a server?
            I've got 5c. All are correct but simply put;-
            Client/Server makes a distinction where in SQL (= Structured Query Language) the Server get the query and does all the sorting and filtering and returns the requested data only, to the client.
            Otherwise with most other file systems - including .DBF the "client" downloads the file/s or parts of it, using indexes and such to help and does the sort and filter locally. More ease but more network traffic.
            As far as the (dbf) files updating on the server part of the question, they both do (unless specifically specified to run locally but then it will update in isolation).
            You can have client server with DBF if you use a TS or Citrix type of setup. I'm not going there at this point Emily.

            Speed: Alpha handles DBF very fast indeed even with large files - I would guess (pure supposition, not tested) that the threshold that SQL becomes noticeably faster would be over millions of records and/or hundreds of users and/or dozens of tables at one time
            Last edited by Ray in Capetown; 11-30-2011, 08:28 AM. Reason: network traffic. Speed

            Comment


              #7
              Re: Client Server Desktop Application in Alpha Five

              Thanks all for the replies, if i use dbf then, how? is there a tutorial where i can follow along? say i have to users that will update records on a server, what will i install on the server and the workstation so that i can have two or more users?Thank you!

              Comment


                #8
                Re: Client Server Desktop Application in Alpha Five

                Client Server Vs Peer to Peer

                When interacting with a database you will have two main components a front end and a back end. For simplicity sake, a front end is what the user sees on the screen. It is the visual representation of the data held in the back end. By changing the layout of the front end we are able to display the data in a user friendly format and allow the user to manipulate, add, or delete data as needed.

                The back end is simply a file or a group of files that stores the data.

                In a DBF environment the dbf file, data dictionaries, and indexes all make up the back end of the database. If someone who is experienced with SQL will chime in that would be great, but from what I have seen the SQL back end is made up of data files and change logs.

                I can use notepad, excel, or alpha5 to view the data. In this example notepad, excel, and alpha5 are the front ends. To view the data all I have to do is point the front end at the data file its self and I can view, manipulate, add, or delete the data. This would be a peer to peer environment. In a Peer to peer environment there is no other component that resides between the front end and the back end.

                When I introduce a SQL back end into a database I have to add another component into the mix. This is the SQL server portion. The SQL server will sit between the front end and the back end. It is responsible for receiving and processing all requests for the data. It is the only component that reads and writes to the back end. The SQL server component is responsible for granting and denying access to the data, as well validating if the data being written to the back end is in the correct format.

                This is just the basics of peer to peer vs SQL as I interpret them. Post back if you have any other questions or need clarification. Either I or others on this board will try to help.
                Andrew

                Comment


                  #9
                  Re: Client Server Desktop Application in Alpha Five

                  Originally posted by emilyjacin View Post
                  Thanks all for the replies, if i use dbf then, how? is there a tutorial where i can follow along? say i have to users that will update records on a server, what will i install on the server and the workstation so that i can have two or more users?Thank you!
                  Nothing is installed on the server.
                  1) Create a folder on the server
                  2) share the folder with permissions that allow your users to read and write to the contents of the folder
                  3) copy you dbf's, data dictionaries, and indexes to the shared folder
                  4) on the users computer map a drive to the shared folder on the server

                  When the user wants to open the database they can open alpha5 runtime on their machine. Choose file|open then navigate to the mapped drive and open the database.

                  If you want to add additional users to the mix just repeat step 4 on each users computer.
                  Andrew

                  Comment


                    #10
                    Re: Client Server Desktop Application in Alpha Five

                    We DON'T use SQL now, but may in the future. We have fairly large database applications utilizing ALpha's native .DBF tables, and we have approximately 200+ users. Our systems reside on servers that are accessed by workstations using the runtime modules of Alpha. Some of our applications are shadowed for speed sake, but others are not. We are not running any Alpha program on the servers during the day, but at night, we do run certain applications for maintenance and such. When the users "call" the application, the database is loaded to the local PC and all I/O is performed on the server. We have not run into any serious record locking conflicts.


                    Tom

                    Comment


                      #11
                      Re: Client Server Desktop Application in Alpha Five

                      Originally posted by Tom Henkel View Post
                      We DON'T use SQL now, but may in the future. We have fairly large database applications utilizing ALpha's native .DBF tables, and we have approximately 200+ users. Our systems reside on servers that are accessed by workstations using the runtime modules of Alpha. Some of our applications are shadowed for speed sake, but others are not. We are not running any Alpha program on the servers during the day, but at night, we do run certain applications for maintenance and such. When the users "call" the application, the database is loaded to the local PC and all I/O is performed on the server. We have not run into any serious record locking conflicts.

                      Tom
                      In this setup you have a peer to peer and all I/O is done at the workstation.
                      Andrew

                      Comment


                        #12
                        Re: Client Server Desktop Application in Alpha Five

                        In this setup you have a peer to peer and all I/O is done at the workstation.
                        and all the data is sitting on the server.

                        Question: would I rather all the work be split over 50-100 workstations or 1 server? When one uses the runtime and no shadows, where is all the work done? Yes, I know the answer.

                        I do use mostly dbf and use shadows for the speed and lack of complications. Remember, I package and sell app that have to be installed anywhere at anytime. They must not need my help to get installed.
                        Dave Mason
                        [email protected]
                        Skype is dave.mason46

                        Comment


                          #13
                          Re: Client Server Desktop Application in Alpha Five

                          When the user wants to open the database they can open alpha5 runtime on their machine. Choose file|open then navigate to the mapped drive and open the database.
                          Not to disagree but there is another option here. If you create a shortcut on the user machines pointing to the server based database definition file (your_database_name.adb) the users need only open that shortcut. One step instead of two.
                          There can be only one.

                          Comment


                            #14
                            Re: Client Server Desktop Application in Alpha Five

                            Originally posted by Stan Mathews View Post
                            Not to disagree but there is another option here. If you create a shortcut on the user machines pointing to the server based database definition file (your_database_name.adb) the users need only open that shortcut. One step instead of two.
                            This is correct and most likely the preferred method.
                            Andrew

                            Comment


                              #15
                              Re: Client Server Desktop Application in Alpha Five

                              [QUOTE=aschone;591384]Nothing is installed on the server.
                              1) Create a folder on the server
                              2) share the folder with permissions that allow your users to read and write to the contents of the folder
                              3) copy you dbf's, data dictionaries, and indexes to the shared folder
                              4) on the users computer map a drive to the shared folder on the server

                              When the user wants to open the database they can open alpha5 runtime on their machine. Choose file|open then navigate to the mapped drive and open the database.

                              If you want to add additional users to the mix just repeat step 4 on each users computer.[/QUOTE

                              This reply is exactly what i want as the answer, but i have another question. Is this the recommended way in alpha five that every seasoned or alpha five experts have been using through the years when it comes to desktop multi-user applications? If i will use the solution of Andrew, basing on what i read on this forum with regards to distributing applications in alpha five is that i have to install alpha runtime files on every user machine that is going to access the shared folder on the server right? pls do advice me on how to setup a multi user environment that uses alpha five dbf's without using sql server, mysql, access etc. and how to distribute my production apps.Thank you!

                              Comment

                              Working...
                              X