473,396 Members | 2,013 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

MS Access: Local Front End, Cloud Back End?

110 100+
I have a client who would like to keep his db front end hosted locally (on several 'clients') while putting the back end in the cloud. The reasoning for this is as follows:
  1. with data hosted in the cloud, it will be easier to access from anywhere, and will be less likely to be subject to data loss if their server should go down. (this recently happened which is the driver behind this - we recovered all data from nightly backup but their operation limped along for a few days until we could get the server back up)
  2. with the front end hosted locally, the db will still be able to interface with their accounting program (currently PeachTree but may be switching to QB).

As always, any help, insight, or direction is very much appreciated.

Best regards.

Gunner
Apr 9 '17 #1

✓ answered by jforbes

You may want to check this Question out, MS Access Frontend/SQL Backend, What madmax262 is talking about is similar to what you are considering. In fact, it looks like he's already done what you are talking about and found that it didn't work all that well. It seems that he did make it work by using Stored Procedures to retrieve and store data.

The one thing that is very important to understand about Access is that the performance can degrade quickly with the increase in distance (or Latency) between the FrontEnd and BackEnd. This happens regardless of BackEnd type, Jet or ODBC. For example, a large Form that takes 3 seconds to open and display data will take 30 seconds if the BackEnd is moved 300 miles away. Stacking Bandwidth will not help this Form load any faster, it's load time is dictated primarily by the Latency.

It sounds like you have three goals you are looking to satisfy:
  1. Greater accessibility to the data outside your company.
  2. More reliable backups.
  3. Running the client locally to allow integration to Peachtree.

With this list of goals, I would recommend implementing:
  • A pair of Virtualization Servers and installing an Instance of SQL Server on one of them.
  • Opening the Ports SQL Server needs on the Firewall. I would also map a Dedicated IP address to forward to these Ports, so that there is a static and dedicated Internet IP address that can be used for your ODBC connection for the FrontEnds that are connected over the Internet.
  • Setup SQL Server to create a nightly backup of your Database. You can also setup a Scheduled Task to copy this Backup off-site at night.
  • If you have a failure with your database, spin up a copy of the Database Server on whichever Virtualization Server happens to survive and then load the latest copy of the database. You could be back up in a Day, or an hour if you get good at it.

The largest negative that this approach has is that there are more secure ways to go about this. All of which take more time to implement, but making your SQL Server Visible on the Internet scares the crap out of a lot of people, because you are talking about one login that needs to be figured out and then a hacker has some pretty high level access to your Data (and possibly your network). In most of your more secure scenarios, you will want to use Stored Procedures to retrieve and modify data, a lot like what madmax262 is talking about in his Question. Another option is to wrap these Stored Procedures in Web Services and hide the SQL Server behind the WebServer.

I know I've kind of rambled in this post. The most important thing to takeaway is that you will want your FrontEnds as physically close to your Backends as possible. So if your Cloud Service provider doesn't have a Database Service in your State, you may want to create a Proof of Concept Database and test things out first.

9 3726
NeoPa
32,556 Expert Mod 16PB
Hi Gunner.

The problem with that approach is the perennial one of running Access across a network. It's inherently problematical. Once a packet is dropped in Access then the link dies. You have to close down and start up again. By its very nature a cloud-based BE would be running across a network.

OTOH I've heard that ODBC connections (Not Jet/ACE at this point.) in the latest version are correctly handling restarting of failed connections. So something like an SQL Azure BE with an up-to-date Access FE may work for you.

As I say I've heard it discussed, but don't have a lot of personal experience with it working so can't vouch for it at this stage. There's a lot of excitement out there about it though, among those that have been asking for this for a while. I know that.
Apr 9 '17 #2
jforbes
1,107 Expert 1GB
You may want to check this Question out, MS Access Frontend/SQL Backend, What madmax262 is talking about is similar to what you are considering. In fact, it looks like he's already done what you are talking about and found that it didn't work all that well. It seems that he did make it work by using Stored Procedures to retrieve and store data.

The one thing that is very important to understand about Access is that the performance can degrade quickly with the increase in distance (or Latency) between the FrontEnd and BackEnd. This happens regardless of BackEnd type, Jet or ODBC. For example, a large Form that takes 3 seconds to open and display data will take 30 seconds if the BackEnd is moved 300 miles away. Stacking Bandwidth will not help this Form load any faster, it's load time is dictated primarily by the Latency.

It sounds like you have three goals you are looking to satisfy:
  1. Greater accessibility to the data outside your company.
  2. More reliable backups.
  3. Running the client locally to allow integration to Peachtree.

With this list of goals, I would recommend implementing:
  • A pair of Virtualization Servers and installing an Instance of SQL Server on one of them.
  • Opening the Ports SQL Server needs on the Firewall. I would also map a Dedicated IP address to forward to these Ports, so that there is a static and dedicated Internet IP address that can be used for your ODBC connection for the FrontEnds that are connected over the Internet.
  • Setup SQL Server to create a nightly backup of your Database. You can also setup a Scheduled Task to copy this Backup off-site at night.
  • If you have a failure with your database, spin up a copy of the Database Server on whichever Virtualization Server happens to survive and then load the latest copy of the database. You could be back up in a Day, or an hour if you get good at it.

The largest negative that this approach has is that there are more secure ways to go about this. All of which take more time to implement, but making your SQL Server Visible on the Internet scares the crap out of a lot of people, because you are talking about one login that needs to be figured out and then a hacker has some pretty high level access to your Data (and possibly your network). In most of your more secure scenarios, you will want to use Stored Procedures to retrieve and modify data, a lot like what madmax262 is talking about in his Question. Another option is to wrap these Stored Procedures in Web Services and hide the SQL Server behind the WebServer.

I know I've kind of rambled in this post. The most important thing to takeaway is that you will want your FrontEnds as physically close to your Backends as possible. So if your Cloud Service provider doesn't have a Database Service in your State, you may want to create a Proof of Concept Database and test things out first.
Apr 10 '17 #3
NeoPa
32,556 Expert Mod 16PB
JForbes:
I know I've kind of rambled in this post.
I think you've done a stunningly good job in a complicated area.

In fact, I've made a note of the post and plan to link to it in future if I see similar questions (Problems with Back Ends (BE) Across a Network).
Apr 10 '17 #4
dgunner71
110 100+
Thanks so much for all your great insight.

Based on these posts, I'm thinking I may try to host both Front End and Back End in 365 (cloud), providing db access remotely. As for the importing into the accounting system, I believe I should be able to write a procedure to do a daily batch download from the online db to a local db. We can do the (uni-directional) 'push' into the accounting program from the local db. It's not as seamless but it should be effective and negate performance issues (the accounting portion of the process is not necessarily mission critical).

Thanks again for your valuable insight!

Gunner
Apr 10 '17 #5
PhilOfWalton
1,430 Expert 1GB
I know it's all wrong, and I am talking about a comparatively small db, and by and large a single user, but I have been getting away with my BE in Dropbox, and I'm amazed how fast it seems

Phil
Apr 10 '17 #6
NeoPa
32,556 Expert Mod 16PB
That's not entirely unusual Phil. Particularly with small and single user. Eventually though, there's a good chance that it will cause a crash and often that will result in a corruption of the db. It's very likely that can be fixed with a C&R but it helps to know these things are lurking out there to get you.
Apr 10 '17 #7
jforbes
1,107 Expert 1GB
@Gunner Glad we could help. Your plan sounds pretty interesting. I don't fully understand what you are planning on doing, and I don't really need to, but it sounds like a unique solution.
I think it would be great if you could post back here after you have things in place to let us know what you did and how things are working for you.

@NeoPa Thanks! Glad you found it useful.

@Phil It doesn't surprise me that your DropBox solution is responsive. The DropBox folder is a local folder, and the BackEnd is most likely on the same hard drive as your FrontEnd. ...I would make sure you have a daily backup scheme in place, just in case. =)
Apr 11 '17 #8
PhilOfWalton
1,430 Expert 1GB
@NeoPa

True, and yes I have an automatic backup running

Thanks as ever for your input. It's always nice to be taught by a real expert.

Phil
Apr 11 '17 #9
dgunner71
110 100+
@jforbes - I will circle back. Essentially, I'm going to try to host the front and back ends in the cloud via 365.

The db solution that is hosted in cloud will have a feature to export/download a certain data subset to the local computer (i.e. any unbooked/unposted work orders).

I will have a locally hosted database with very limited functionality on the local computer to import the data into the accounting program.

I'll circle back with an update in a few weeks.

Thanks again all!

Gunner
Apr 12 '17 #10

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Lumpierbritches | last post by:
Thank you for your assistance in advance. I'm trying to figure out why on my computer the front and back ends are ok, when I use Access developer and set up the program with the front and back ends...
49
by: Yannick Turgeon | last post by:
Hello, We are in the process of examining our current main application. We have to do some major changes and, in the process, are questionning/validating the use of MS Access as front-end. The...
24
by: Bob Alston | last post by:
Most of my Access database implementations have been fairly small in terms of data volume and number of concurrent users. So far I haven't had performance issues to worry about. <knock on wood> ...
1
by: Julia | last post by:
Hello there. I have a question somewhat related to this topic, and I don't know where else to go. I hope somebody can help. I've created a database in access, that I'd like to share with less...
4
by: Stephen Poley | last post by:
Whenever anyone has a question about securing an Access database he/she is usually referred (unsurprisingly) to the Security FAQ. This is however incomplete/unclear with respect to databases with a...
1
by: MD | last post by:
Is it possible to load the local xml file and display in the div? Currently i tried the following source when i put it to web always gives me error saying "access is denied" <!DOCTYPE HTML...
8
by: JohnC | last post by:
RE: Access 2003 My application has been split and the front end runs on client PCs with the back end on a LAN file server. Also I have an updater routine that copies an updated client from the...
2
by: Pierkes | last post by:
Hi, i run a front end/back end database for a few years now. It worked fine until the latest update of our system in the office. We upgraded to windwows 7, office 2010 and vpn through Juniper....
1
twinnyfo
by: twinnyfo | last post by:
A long-understood, good practice for Database design is to “split” the database into a Front End (FE) and a Back End (BE). The FE contains all the Queries, Forms, Reports and Modules needed to make...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.