TABLE OF CONTENTS
I. Introduction to Web Concepts
- Networks
- WANs and LANs
- Websites and Web Pages
- Web Servers
- Web Browsers
- URLs
II. A Database's Role in Web Publishing
III. FileMaker and Web Publishing
IV. How Does FileMaker Host Over the Web?
V. Hosting: FileMaker Pro vs. FileMaker Server
VI. The Web Technology For Your Solution...
VII. Frequently Asked Questions
ABOUT THIS DOCUMENT
It is the intent of this introductory document to help the novice FileMaker developer better understand the generalities of web publishing including the functionality and capability of publishing FileMaker databases over the web. Reading this document will assist in the approach of planning a FileMaker web based solution and aid in the assessment of which FileMaker web technology benefits that solution.
Note: In this document, FileMaker Pro will refer to both FileMaker Pro and FileMaker Pro Advanced and FileMaker Server will imply both FileMaker Server and FileMaker Server Advanced unless further specified. This document is relevant to all currently supported FileMaker Products.
INTRODUCTION
Picture this. An off-site employee launches a web browser, logs into her company's website and updates a client's profile while, halfway across the country, a student browses his school's website to register for a class online. The best part is they are using your FileMaker solutions!
One of the most powerful features of FileMaker Pro and FileMaker Server is the ability to publish FileMaker databases over the web with user interaction via a web browser. In this document, we will set aside the configuration of FileMaker Web Publishing and instead focus on how FileMaker fits into the world of web publishing.
Given the subject matter, many of the web publishing concepts covered in this document could warrant a lengthy review. Because the scope of this document is to acclimate the novice user with the generalities of web publishing, independent research may be required for an intermediate or more in-depth review.
If you feel that you are already comfortable with the basic concepts of web publishing and would prefer jumping right into the configuration of FileMaker Web Publishing, please review the following documentation:
|
Title |
URL |
| FileMaker Pro and FileMaker Server Instant Web Publishing | http://www.filemaker.com/support/product/docs/12/fmp/fm12_instant_web_publish_en.pdf |
| FileMaker Server Custom Web Publishing with PHP | http://www.filemaker.com/support/product/docs/12/fms/fms12_cwp_php_en.pdf |
| FileMaker Server Custom Web Publishing with XML | http://www.filemaker.com/support/product/docs/12/fms/fms12_cwp_xml_en.pdf |
I. INTRODUCTION TO WEB CONCEPTS
Before delving into the relationship between FileMaker and web publishing, we will first discuss some basic concepts of web publishing. Understanding, in general, how web browsers interact with web pages and web servers can aid in the approach to planning out your solution.
Networks
A network is generally defined as a group of interconnected computers. These connections can be made wirelessly, via an Ethernet cable, a router or switch, etc. In terms of scale, a network can be as simple as linking a home office computer to a personal one. Or, it can encompass a much larger scale, such as the connection of company office buildings spread across a metropolitan region or possibly spanning multiple nations.
Two key network types are WANs (Wide Area Networks) and LANs (Local Area Networks). A LAN is a network typically covering smaller areas such as a home, an office, or perhaps a school with multiple buildings on campus. A common example of a LAN is an Intranet. This refers to the network within an organization or a non-public type of network.
Conversely, WANs are networks that extend across large regions, national boundaries, etc. If you have ever sat at your computer aimlessly browsing the Internet, then you have participated in the most prominent example of a WAN. The Internet, at its core, is a vast network connecting smaller networks to one another on a global scale. When you access a website from your computer, for example, you are essentially interacting and making requests with the computer hosting the website.
Within a network, each computer is allocated an IP address. In the same way a street address identifies the location of a home, an IP address identifies the location of a computer within a network. Additionally, a computer can hold both a private or public IP address simultaneously. Private IP's are essentially IP addresses that identify a computer on a private or internal network while a public IP identifies the computer on the public Internet.
Also, IP addresses may be assigned statically or dynamically. A static IP address is a more permanent selection while a computer configured with dynamic IP's may see its IP address change from time to time.
Websites and Web Pages
While usually thought of as a single entity, a website is normally a large collection of related web pages, images, videos, etc. addressed under a common domain name or IP Address. For example, the domain name for FileMaker's website is www.filemaker.com. This website consists of multiple web pages such as the FileMaker Products page (http://www.filemaker.com/products/index.html) or the Support page (http://www.filemaker.com/support/index.html?nav=support-button).
A web page is simply a document typically written in HTML (Hyper Text Markup Language), which is one of the predominant languages, or codes, for creating and designing web pages. Authoring web pages can include formatting information, links to other web pages, or textual data.
Web Servers
After the creation of web pages, they must be made available. This is the role of the web server, which stores the web pages and hosts them. When HTTP requests are made for a web page, the web server will process the request, retrieve the web page, and send it to the requesting computer.
Two FileMaker compliant web servers include Macintosh's Apache and Windows' Internet Information Services (IIS). By default, Apache will already be installed and running on Mac OS X machines. If running Windows, IIS may require a manual installation from your Windows operating system CD.
Web Browsers and URLs
A web browser is software such as Internet Explorer, Safari, or Firefox, used to access the web. From a web browser, users can request web pages and websites via URLs (Uniform Resource Locator) in the Address Bar. After submitting the URL, an HTTP request is made to the web server, which then retrieves the requested web page, and serves the request. The web browser then receives the web page, interprets the code, and displays the web page to the user.
II. A DATABASE'S ROLE IN WEB PUBLISHING
Have you ever purchased items online? From clothes, to DVDs, to furniture, the numbers of items overflowing your online shopping cart are endless. Now, imagine that you are the seller for a similar website with a section dedicated to DVDs. To start, you create a static web page listing the thousands of DVDs you wish to advertise. So what is the next step if you suddenly decide specific web pages should be included for the different genres of films? In this scenario, because the information is statically stored on a separate web page, movies would have to be manually added to each applicable web page. Think of it as copying a set of notes on one page of paper to another. Now imagine doing that for thousands of notes.
Furthermore, constant customer purchases and the additions of new stock would increase the strain of maintaining your store. Were the movies purchased from the Horror page also removed from the all-inclusive Home page? Were the recent additions of movies also reflected in the subsequent genre pages?
When data is constantly changing and related information is being called from multiple pages, a web publishing solution can benefit from a database's flexibility. A database will consolidate and organize data allowing multiple web pages to dynamically query information from a centralized source instead of storing data statically on each web page.
In the example above, a database could hold the entirety of the website's product information including the list of movies. With movie information kept solely in the database, several related web pages can pull and display the information without the necessity of duplication. Updated information, such as newly acquired films, can be added as easily as creating a new database record.
III. FILEMAKER AND WEB PUBLISHING
FileMaker users have the ability to share their databases through FileMaker Network Sharing or over the web. With FileMaker Network Sharing, a user accesses a FileMaker Pro or FileMaker Server hosted database with their own copy of FileMaker Pro installed on their desktop or laptop. This configuration offers up to 999 concurrent connections depending on the version of FileMaker Server used.
For some scenarios, sharing the database over the web can be a practical alternative for solutions involving minimal client contact such as off-site employees or clients with one-off tasks like registration or auction bids. For access to the FileMaker database, users only require an Internet connection and a web browser.
Depending on the web technology, the user interaction can mimic a FileMaker Network Sharing configuration or the host can take advantage of writing web pages from scratch to create a completely different user experience. The web publishing methods featured in FileMaker are Instant Web Publishing, Custom Web Publishing and Static Publishing.
Instant Web Publishing
As its name implies, Instant Web Publishing is the quickest way to publish FileMaker databases over the web. Instant Web Publishing is practically a one-click process; users are not required to author their own web pages. Instead, FileMaker automatically generates web pages from existing layouts within the database. The generated pages will adopt a look fairly similar to the design of the layouts, which is important to note when creating a solution for this method.
The result is an incredibly "hands-free" web publishing experience (albeit, with some limitations) with customization lying solely on the database level.
FileMaker Pro or FileMaker Pro Advanced can host a database(s) via Instant Web Publishing with a limitation of five concurrent users. FileMaker Server Advanced can also host a database(s) through Instant Web Publishing for up to one hundred.
Instant Web Publishing connections are session based; sessions do not end until a user closes out of the hosted database. Keep in mind, however, that the concurrent user limitation applies per host application and not per file. That is, a copy of FileMaker Pro hosting six databases would not equal a thirty concurrent user maximum.
Custom Web Publishing
Custom Web Publishing is far more flexible in terms of controlling user interaction and how data is presented, but a larger developmental effort is expected from the developer. Instead of FileMaker generating a website for you, a developer builds their own dynamic web pages from scratch via HTML and the integration of PHP, XML, or XSLT scripting languages. Because the developer controls the design, websites built with Custom Web Publishing will often have a different look from the layout designs on the database level. Because of this, Custom Web Publishing is a great choice for integrating FileMaker databases with existing websites.
FileMaker Server and FileMaker Server Advanced feature the PHP Site Assistant and the XSLT Site Assistant to help you get started. The XSLT Site Assistant is a wizard that guides you through a step by step process for creating a style sheet. The PHP Site Assistant helps you generate a layout into a web page. The PHP Site Assistant allows you to choose themes, which fields you would like to display, etc. Keep in mind, though, that the Site Assistants are tools to help get you started. Knowledge of PHP, XML, or XSLT will be required to link together these pages or if you want to further customize the web pages.
FileMaker Server and FileMaker Server Advanced can host a database(s) using Custom Web Publishing with a limitation of one hundred concurrent users. That said, Custom Web Publishing features non-session based connections. This means that the connection between the client and the web server is terminated once an action, such as a web page loading is complete. Because of this, solutions employing Custom Web Publishing have the potential to exceed the one hundred concurrent user limitation.
FileMaker Pro does not include this feature.
Static Web Publishing
FileMaker Pro features the ability to export information in HTML format. Doing this essentially generates a static web page whose HTML can be further edited and modified. By turning on Instant Web Publishing and placing the file in FileMaker Pro's Web folder, developers have the ability to publish a static web page containing FileMaker data.
It may be plausible to use Static Web Publishing if data rarely changes and you don't want users accessing your database. Keep in mind, however, that any changes made within the database will not be reflected in the web page and vice versa.
IV. HOW ARE FILEMAKER DATABASES HOSTED OVER THE WEB?
FileMaker Web Publishing begins with the creation of a database within FileMaker Pro. This includes data structuring, the customization of layouts, and the user account specifications for web technology access in the extended privilege sets. After the database is created, it is then hosted via FileMaker Pro or FileMaker Server.
Hosting with FileMaker Server
Publishing over the web with FileMaker Server requires that FileMaker Server be installed on a machine that meets technical specifications, has an Internet connection, and has an up and running web server. As previously noted, two FileMaker compliant web servers are Macintosh's Apache and Windows' IIS.
While this type of configuration (FileMaker Server and the web server on the same machine) denotes what FileMaker labels a "Single Machine configuration," other configuration types, such as Multiple Machine configurations, can be installed to increase performance under demanding conditions. For more information on these alternative configurations, please reference the FileMaker Server User's Guide.
In order to publish databases over the web, one or more web technologies must be enabled. If Custom Web Publishing is enabled, web pages are created using PHP, XML, or XSLT. These web pages are then placed in Windows or Macintosh's Web folder for the web server to host. If Instant Web Publishing is enabled, FileMaker will automatically generate web pages from existing layouts and will handle server communications.
Once the database is configured for web access, two major components of FileMaker Server, the Database Server and the Web Publishing Engine, will interact with the web server. The web server's role remains the same: handle HTTP requests and host web pages. When URLs request FileMaker data, the web server will contact the Web Publishing Engine which then passes the request to the Database Server.
The Database Server will retrieve the requested data and send it to the Web Publishing Engine, which then transmits the information to the web server. The web server then serves the initial request by sending the information to the requesting web browser.
Hosting with FileMaker Pro
FileMaker Pro is only able to host databases with Instant Web Publishing. Additionally, FileMaker Pro does not require the use of a third party web server when hosting files. Instead, FileMaker Pro acts as an internal web server that hosts databases.
The following image depicts how some of the FileMaker Server components interact with one another in a web publishing scenario:
One of the critical questions concerning FileMaker Web Publishing is how FileMaker databases sync with the changes made over the web. As outlined in the image above, when you make a request for FileMaker data, the Web Publishing engine pulls the information directly from the Database Server. Because of this, changes made over the web are automatically reflected on the database level; a sync process is not required. Changes you make from a web page are sent back to FileMaker Server and reflected in the database.
V. Hosting with FileMaker Pro vs. FileMaker Server
Since the web publishing technologies are not included in every product, the choice between FileMaker Server and FileMaker Pro directly affects which web technologies are available to you. Here is a list of the web technologies and the software that features them:
Instant Web Publishing
· FileMaker Pro
· FileMaker Pro Advanced
· FileMaker Server Advanced
Custom Web Publishing
· FileMaker Server
· FileMaker Server Advanced
Static Web Publishing
· FileMaker Pro
· FileMaker Pro Advanced
In terms of security, FileMaker Server has the capability of enabling SSL (Secure Socket Layer) to protect websites. SSL is a protocol that encrypts data passed from the web server to guest computers on the web. Websites protected by SSL are usually denoted as https://. Also, FileMaker Server runs as a set of services in the background of the host machine. When FileMaker Pro is the host, the application and database are required to be open at all times for users to be able to see the hosted files.
Aside from security, the estimated amount of concurrent users should be taken into account. FileMaker Pro is limited to five (5) simultaneous users. FileMaker Server increases the limitation to one hundred (100) users. However, as previously discussed, solutions employing Custom Web Publishing have the potential to exceed this number due to the nature of its non-session based connectivity.
VI. THE WEB TECHNOLOGY FOR YOUR SOLUTION...
Custom Web Publishing
When you should choose this scenario:
· You wish to integrate a FileMaker database with existing websites
· Your web based solution requires 100 or more (under some circumstances) concurrent users
· You want to customize and design web pages
· You want to control how users interact with data
· You wish to employ more security with SSL
Requirements for hosting a solution:
· FileMaker Pro or FileMaker Pro Advanced created database (s)
· FileMaker Server or FileMaker Server Advanced software to host the databases
· An up and running Mac or Windows web server (dedicated web server is recommended)
o Mac OS X = Apache
o Windows = IIS
· Some knowledge of PHP, XML, or XSLT scripting language *
· Connection to the Internet or Intranet
· If using PHP, PHP must be installed
*NOTE: The PHP or XSLT Site Assistant assists with the creation of style sheets or the transition of layouts into PHP coded web pages
Requirements to connect to a hosted database:
· Connection to the Internet or host machine's Intranet
· The IP address of the host name or web server
· A web browser to access the hosted web page or website
Instant Web Publishing and FileMaker Server Advanced
When you should use this scenario:
· You want a more "hands off" approach to publishing data over the web
· Your primary goal is to share existing databases with other users
· Your web based solution requires the flexibility of up to 100 concurrent users
· You are unfamiliar with authoring web pages
· You wish to employ more security with SSL
Requirements for hosting:
· FileMaker Pro or FileMaker Pro Advanced created database(s)
· FileMaker Server Advanced software to host the database(s)
· An up and running Mac or Windows web server (dedicated web server is recommended)
o Mac OS X = Apache
o Windows = IIS
Requirements for connecting to a hosted database:
· Connection to the Internet or host machine's Intranet
· The IP address of the host name or web server
· A web browser to access the hosted web page or website
Instant Web Publishing and FileMaker Pro
When you should use this scenario:
· You want a more "hands off" approach to publishing data over the web
· Your primary goal is to share existing database with other users
· You are unfamiliar with authoring web pages
· Solution does not require more than five users
Requirements for hosting:
· FileMaker Pro created database(s)
· FileMaker Pro software to host the database(s)
Requirements for connecting to a hosted database
· Connection to the Internet or host machine's Intranet
· The IP address of the host name or web server
· A web browser to access the hosted web page or website
VII. FREQUENTLY ASKED QUESTIONS
Q: How many concurrent users can access a FileMaker hosted database over the web?
A: FileMaker Pro: 5
FileMaker Server Advanced (Instant Web Publishing) = 100
FileMaker Server & Server Advanced (Custom Web Publishing) = 100
NOTE: Because Custom Web Publishing is no tsession based, the concurrent users can potentially exceed the one hundred user limit. With Custom Web Publishing, connectivity to the web server is terminted once actions such as loading a web page are completed.
Q: Do I need experience building web pages?
A: No. For those unfamiliar with website creation/design, FileMaker offers the option to host your FileMaker database via Instant Web Publishing. Instant Web Publishing automatically generates web pages from your existing layouts resulting in a "hands free" web publishing experience.
Q: Is a static IP address on my host machine required to publish over the web?
A: While a dynamic IP address will work, static IP addresses are recommended. End-users require the IP of the host machine to access the web-hosted database so a dynamic IP address that can change may restrict users until the new IP is communicated to them.
Q: How do the changes people make over the web sync with my FileMaker database?
A: A manual sync between the information over the web and on the database level is not required. Changes made over the web will automatically appear in the FileMaker database.
Q: Do I need a copy of FileMaker Pro on the client machine to see the database?
A: FileMaker Pro does not need to be installed on a client machine to view a web-hosted solution. Access to a web hosted solution only requires a web browser such as Firefox, Internet Explorer, or Safari and an Internet connection.
Q: Why can't clients outside of my firewall see my web hosted database?
A: If an external client cannot access your web page, try configuring port forwarding. Additionally, verify that the external computer is attempting to access the website using the host machine's public IP address.
Q: Which ports does FileMaker support?
A: You should use port 80 or port 591. Keep in mind, when using port 591 that the port must be added to the Web Publishing URL. For example: <ip address>:591
Visit the FileMaker or Bento Forums