Wrox Programmer Forums
|
Access VBA Discuss using VBA for Access programming.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Access VBA section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old August 2nd, 2004, 08:35 PM
Authorized User
 
Join Date: Jul 2004
Posts: 24
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to Tasha Send a message via Yahoo to Tasha
Default Client/Server applications

please help..

i am working with vba 2000,can anyone explain to me about client/ server application?i've read the back-end vs front-end topic.helped me alot. can i know what is the differences between client/server applications and front-end/back-end applications? any help will be really appreciated.

thanks..

tasha
__________________
tasha
 
Old August 2nd, 2004, 11:08 PM
Friend of Wrox
 
Join Date: Jun 2003
Posts: 1,093
Thanks: 1
Thanked 12 Times in 11 Posts
Default

Hi Tasha,

Sometimes this topic has a tendency to get a bit confusing, so let me try it this way…

The terms “front-end” and “back-end” came into vogue with the emergence of the client/server architecture. In their original usage, “client” and “front-end” meant the same thing, and “server” and “back-end” meant the same thing. Client or front-end referred to the actual machine (typically a smart PC, as opposed to a dumb terminal) that shared application processing with a server or backend machine(typically a PC or mainframe functioning as a database server). The terms client or front-end and server or backend are also used by folks to refer to the application components that run on the respective machines.

So if I’m using a true client/server architecture (say, for example, an Access .mdb application using tables linked to SQL Sever via an ODBC connection – which I think is the setup you were asking about earlier), both Access and the workstation its running on can be referred to as the client or front-end and SQL Server (the database server) and the physical server machine its running on can be referred to as the server or backend.

So far so good. They mean the same thing, in a client/server architecture.

Confusion arises, however, from the fact that the data object file created by the Access Database Splitter is referred to as a “back-end database”. This often suggests to folks, that what the Database Splitter creates is an application that involves a client/server architecture (a front-end application file and a back-end database server file that shares the data processing workload), when actually that isn’t the case. The application created by the Database Splitter uses a shared-file architecture. The back-end file is merely a data store for native Jet tables. All of the data processing occurs on the front-end. So the “back-end database” created by the Database Splitter isn’t a true back-end, as the term is used in client/server nomenclature. Its simply a shared-file. That’s all.

So who cares? The important point to take home here, semantics aside, is understanding what happens when a front-end .mdb queries a “back-end” shared-file in a shared-file architecture, and what happens when a front-end .mdb queries a database server in a client/server architecture.

Shared-file “back-end”: File contains a Jet table with 100,000 records. The front-end .mdb queries the shared-file, requesting only the first record in the table. One lousy record. Because the back-end file isn’t a true client/server backend (isn’t a database server that can handle the query processing workload and return that one lousy record to the front-end) all 100,000 records are sent over the wire to the front-end .mdb file for processing. All the query processing is handled by the Jet engine on the front-end.

Database Server back-end: Database contains a SQL Server table with 100,000 records. The front-end .mdb queries and off-loads the query processing workload to the database-server, requesting only the first record in the database table. Because the database server is a true client/server backend, the query is processed on the server, and 1 record is sent over the wire to the front-end .mdb.

The forgoing obviously has huge ramifications for multi-user application development, network traffic considerations, performance, scalability, etc.

Anyway, there isn’t anything wrong with calling the two .mdb files created by the Database Splitter a front-end and a back-end. The important thing is to understand how your queries are processed in a shared-file vs. a client/server architecture. The rest is merely semantics.

HTH,

Bob


 
Old August 3rd, 2004, 02:28 AM
Authorized User
 
Join Date: Jul 2004
Posts: 24
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to Tasha Send a message via Yahoo to Tasha
Default

Thanks alot Bob.your explanation simply superb!i got the clear picture of it:-)

tasha





Similar Threads
Thread Thread Starter Forum Replies Last Post
Parameterized Smart Client Applications aldwinenriquez .NET Framework 2.0 0 April 3rd, 2007 07:34 PM
Client-Server Ioan Access VBA 3 April 11th, 2005 06:23 AM
DLLs on server pulling server time or client? mussitsch Classic ASP Professional 1 March 1st, 2005 05:38 AM
cdn JSF be used in client/server java applications zaferaktan Java GUI 2 February 8th, 2005 05:49 PM
client/server usmanibnesadiq BOOK: Beginning VB.NET 2nd Edition/Beginning VB.NET 2003 1 January 6th, 2005 12:32 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.