Understanding the Concepts
MM .NET's family of Web Service Data Access classes allow you to access data remotely by means of web services. Our flexible architecture allows you to access data locally (for example, on a LAN) and then switch dynamically at run time to accessing data remotely via web services! For example, when a sales rep is in the home office, he can attach directly to the company's LAN and access data locally:

When the sales rep is at a customer's site, he can attach to his home company's data (normally by selecting an option when logging in) by means of web services:

Here's the good news--based on MM .NET's practice of programming to an interface rather than an implementation, you don't have to change anything about your existing application to access data both locally and remotely! Here's why...
Normally, an MM .NET business object uses a data access class which creates a connection to the back end database for retrieving and updating data:

When using a Web Service data access class, as shown in this diagram the business object instantiates the Web Service Data access class which looks just like a regular MM .NET data access class:

Here's how messages flow:
- The business object makes a call to the Web Service data access class
- The Web Service data access class translates the command into XML that is transmitted across the web to the DataWebService.
- The Data Web Service converts the XML command into a standard ADO.NET command
- The Data Web Service passes the call to the real data access class.
- The real data access class passes the result back to the Data Web Service
- The Data Web Service serializes the result and passes it back to the Web Service data access class across the web
- The Web Service data access class deserializes the result and passes it back to the business object.
Performance Benefits of this Architectural Model
This architectural model allows you to create a logical n-tier architecture that can be physically distributed to multiple machines such as workstations, application servers, web servers and data servers. Although you can distribute the entire business object to another machine we recommend this more performant architecture where you keep the business object on the local workstation and distribute the data access layer to another physical machine. This provides scalability without affecting performance, since a call to a business object method on a remote machine is a few thousand times slower than a call to a business object on a local machine. It is a better distribution of responsibilities because it leverages the processing power of the local workstation allowing business objects on the workstation to validate business rules and only send fully qualified requests to the application server.
You can automate the deployment of both user interface and business object assemblies to workstations by means of Microsoft's ClickOnce technology.
© (c) 2026 Oak Leaf Enterprises, Inc., 1996-2026 • Updated: 04/26/18
Comment or report problem with topic
