Mohamed,
Indy has given good answers and, in fact, suggested one that I had completely forgotten. The easiest approach is using the cloud. AC now offers this, although maybe a tad pricey. Indy's company also has a cloud solution that, as he said, works with AC's blessings. If you can go through Indy, I think you will find you will get excellent support, something you will want if you use a cloud solution. In fact, I would recommend talking with Indy directly (if I may be so bold as to offer your services, Indy).
The other approach if you want to keep things in house is terminal services. While some non-OS can use TS, you are better off using a 2003 to 2012 server OS.
You can use the server you have and set up the role for Terminal Server. This will allow the remote computers to act as terminal clients and access the application or apps remotely and concurrenly. Since, they access in a way so that you are only sending key strokes and mouse clicks and viewing the program on the server, it can be very fast. As Indy says, it is Internet speed dependend. You will find that T1 speed is sufficient depending on the number of users. Certainly, cable and DSL can be much faster, but keep in mind that those speeds can fluctuate.
Each of your clients will require a separate CAL to access the terminal server. Although, you usually get a 120 days trial.
Now, most IT will recommend that you use a separate terminal server as the server with the domain controller should not be used for terminal services. Many OS packages such as SBS 2008 Premium or SBS 2011 Standard and others will come with an extra OS, which is perfect for setting up terminal services.
So, here is what it would look like. You would have the host network being managed by a server with a server OS running as the domain controller just like normal. You would then run another computer/server with a server OS that would be solely used for Terminal Services. Then, using Server Manager, you would turn on the Terminal Server allowing you to set up remote client services, and each computer in your remote office would then log onto the terminal server. The terminal server would recognize the connection and would set up a terminal session allowing your remote clients to access any software or databases installed. This setup allows multiple connections to run concurrently. Not to get too technical, but as the admin on the host network, you would be able to monitor and control sessions on the terminal server.
This is the way one thinks when talking about a terminal server and remote connections. But, having a terminal server allows other advantages on the host side such as accessing programs on the TS remotely using RDP. So, each client, while working normally and working as a client/server app to the main server, may require access to an app that is only on the TS. They could then remote to it using RDP without any CALS.
The only thing I haven't mentioned is the need for Servers and not peer-to-peer. While we have argued this ad nauseum as far as the basic setup and I agree that basic OS such as Vista and WIN 7 are sufficient, if you are really going to set up a remote office, then you really need to invest in the proper software and hardware to do it correct.
Hope this helps. Let me know if you have any questions. Of course, Googling Terminal Servers will give you 1,000,000 hits. But, it isn't always straightforward. Plus the terminology can get vague with Terminal Server and Terminal Services, etc., both of which are the same, yet different.