Session E-MERE
The Mere Mortals Framework
Kevin McNeish
Oak Leaf Enterprises, Inc.
Contents
Learn how the Mere Mortals Framework can help you create Visual FoxPro desktop applications that easily scale to three-tier, Windows DNA compliant architectures. The live demonstration of Mere Mortals also highlights its many features such as scalability to client-server and the Internet, multi-lingual capabilities, robust security and solid object-oriented design. You will see how the Mere Mortals Framework can save you development time and money as well as provide a stable, flexible foundation for building your Visual FoxPro applications.
From the Desktop to the Internet
Many Visual FoxPro developers create one application that runs on the desktop, then create a completely separate application for the Internet. In contrast, the Mere Mortals Framework allows you to leverage the investment in your desktop application by providing an architecture that lets you access your desktop application via the Internet. Mere Mortals provides this scalability by applying the design principles of Microsoft's Windows DNA (Distributed Internet Architecture).
The main pitfall that prevents VFP developers from scaling their desktop applications to the Internet is that they place the majority of their application logic in the user interface. When the user interface goes away and is replaced by a thin HTML front end, their application logic is lost. Based on this premise, the Mere Mortals Framework guides you into placing your application logic in business objects rather than the user interface. These business objects can then be accessed from your Visual FoxPro front end and/or they can be compiled into a COM server that can be accessed via Active Server Pages (ASP/ASP+). In addition, you can also access these objects from tools such as Rick Strahl's West Wind Web Connection.
It comes down to this-where you place your application logic has everything to do with the scalability of your application.
Flexible Business Object Architecture
The Mere Mortal Framework's flexible business object architecture is another key element in the ability to scale between multiple architectures and clients. The following diagrams show the structure of Mere Mortals business in a variety of desktop and Internet architectures.
Flexible Data - VFP Cursors, ADO, HTML, XML
Mere Mortals business objects are designed to server up data in a variety of formats such as Visual FoxPro cursors, ADO, HTML, XML. Different clients need data served up in different formats. For example, a Visual FoxPro front end works best with cursors. An Active Server Pages front end works best with either ADO, HTML or XML. Our business objects give you the flexibility you need by providing data in all of these formats.
Many developers need to access both Visual FoxPro data as well as client-server data (SQL Server, Oracle, etc). Mere Mortals allows you to easily scale to client server by providing a thin data layer that can easily be changed at design time or dynamically at run time.
Multi-Lingual Capabilities
Mere Mortals allows you to easily create multi-lingual applications. We provide these capabilities in two different ways. First, we have integrated with Steven Black's INTL toolkit, a popular Visual FoxPro 3rd party product. Second, you can simply use the Framework's built-in multi-lingual capabilities. As shown in the diagram below, the Framework allows end users to translate the forms, toolbars, menus and application messages themselves.
Changing the Framework to Suit Your Needs
One of the biggest complaints developers have against frameworks is that they are difficult to change to suit your needs. In contrast, the Mere Mortals Framework is built with complete flexibility in mind.
By means of our Abstract Factory, you can easily replace Framework components with your own custom components without hacking the Framework files! The Abstract Factory also gives you the same kind of flexibility for your own applications. You can easily adapt the applications you create to suit individual end-user needs, by means of flexible application behavior and flexible user interfaces.
Application Security
The Mere Mortals application security allows you to specify user and group access to any elements of your application-from the menu or form-level down to an individual user interface control. As shown below, our "Security Setup Mode" allows end users to specify security settings by directly manipulating the secure user interface control-without having to go to a separate "User" or "Group" maintenance
form.
Integration with 3rd Party Products
Rather than reinventing the wheel, we have integrated Mere Mortals with a number of popular 3rd party products. This makes it easy for you to retain the time and energy you may already have invested in these tools:
- West Wind Web Connection
- Steven Black's INTL Toolkit
- Stonefield Database Toolkit
- FoxAudit
Mere Mortals Framework Builder
The Mere Mortals Framework is not an application generator. However, the Framework does include a data-driven builder that allows you to quickly and easily set the most-used properties on Framework classes. For example, the diagram below illustrates our Grid Builder.
The Grid Builder gives you the ability to:
- Change the RecordSource without deleting the column ControlSource settings
- View the most common Column settings simultaneously
- Easily specify the class of the control to be added to new columns
- Apply properties such as Font Size and Header Spaces to all columns simultaneously
Documentation
We get high marks from our customers on the documentation that we provide with the Framework. Our documentation doesn't just tell you how to use the Framework classes, but also gives you background information on the technologies and architectures used within the Framework. Our documentation includes:
- A 350+ page Developer's Guide that gives you both step-by-step "how-to" information as well as educational overview information.
- A "Jump Start" Guide that gets you up and running quickly by taking you step-by-step through each phase of the development process.
- A "What's New" Guide that lists all changes made to the Framework since the previous version
- A "Mere Mortals Guide to Object-Oriented Programming" that contains information regarding design patterns and object-oriented features of Visual FoxPro.
- Unified Modeling Language (UML) diagram of Framework classes
|