   Acquiring server-side data
  Hello,I'm currently persuing an indie software development career, acting as a project manager, focusing on the development of information management software/collaboration utilities and have been banging my head on a simple question that I'm sure this community can help me with.  While I've tried researching this question myself, I've yet to find anything in a layman's terms to help me.I've drafted a possible information management program that I would like to put into production, it would be using Visual Basic.  I'm looking to have account information stored and accessed from a server, as well as automatic updates to the program -- The usual need internet access advantages that most programs now utilize.While I have a basic working knowledge of both programming(as a hobbiest) and networking(as a network administrator) I have not wrapped my head around the idea as to how a program goes about accessing internet information.  Would this be SQL?  Any help on this information, especially in the form of an article/lessons would be a major help in readying my attempt at launching the creation of this application.Thank you for your time,Christopher Loyd   
  There are many ways of doing this.As you only mentioned user logins and automatic updates, I will talk about a method that will suit them well. This method is appropriate because it doesn't require almost instant access to data. If near instant access to data stored on a server was needed, you would probably have to set up a custom server and write a custom program with its own set of protocols to serve data as efficiently as possible.Since it sounds as though this isn't needed, it would make more sense to just use the basic web protocols that are already in use. For example, HTTP. Your client program would need to send requests to a web server that could respond with the required information. A simplified view of this would be your client makes a request to "http://yourwebsite.com/getLatestVersion" and a script on that page just creates a blank page with the latest version number and possibly a download link to the latest version.Your client program then parses this information and checks to see if the latest version is greater than the version that the user is currently running. If it is, the client program downloads and installs the program from the download link.So, just think of it as functions within a program, your program calls a web url, possibly with parameters posted to the server. The inner-workings of the function are done server side, and then the response is made in the form of a web page.If you're looking for something that is already implemented, you could take a look at XML-RPC: http://en.wikipedia.org/wiki/XML-RPCThis sends and receives its information using xml and is quite easy to learn.Good luck :)EDIT: Oh, as a side-note. There are many other ways of doing this, like you suggested SQL is possible. I just believe that it would overcomplicate something as simple as this.   ;  I'm sorry for not totally ellaborating on all the features the program would be using.  Here is a list:Account InformationThe program would demand an account login(via username and password) that would need to be verified via an online database.  The account settings/information of this would be saved within the database(or seperate database, whichever is easier and most efficient).  These include things such as customizable GUI within the program as well as contact information and other common settings. Program Updating Like most programs, this one would need to check and see if there are any updates for the program prior to fully logging into to the program itself.  These updates would be imperitive to the security and other pertinent information needed by the users. News FeedsDue to the target organization that this program is being designed for a need for up-to-the-minute news feeds would be needed to push out daily information from administrators/leaders to lower personnel. EmailAlthough this option is still being decided on, having some sort of stand alone messaging system for the program would immensely help the operations of the information management program. So a set aside server would most likely be needed for this for large file attachments and the amount of users that would be using this program.I'm guessing that the News Feeds and Email/Messaging would need to be instant updating, so HTTP wouldn't fulfill my needs all around but maybe a mix of these availabilities for such data transfer would work.At any rate thank you for the responses, they were helpful :)[Edited by - Christopher Loyd on May 13, 2010 2:20:27 AM]