Vous êtes sur la page 1sur 22

WHITE PAPER

brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Brought to you by DnG Design & Development Inc. -the creative team behind FMPug.com & FindFileMakerDevelopers.com Notice of Liability The information included in this white paper was compiled by the authors from a variety of publicly available sources and is presented here expressly for the purposes of reference/education. The information in this paper is distributed on an as is basis, without warranty. At the time of publication, every precaution was made during the preparation of this paper to ensure the information listed be reliable, complete and accurate. However, the currency and completeness of the information reported herein is subject to change and cannot be guaranteed. The authors and/or contributors of this white paper make no representations or warranties, express or implied, as to accuracy, completeness, timeliness, or rights to the use of such information. Neither FMPug.com, DnG-inc.com, their legal owners and/or affiliates, contributors, shall be held liable for any general, special, indirect, incidental, or consequential damages including, but not limited to, lost revenues or lost profits resulting from the use or misuse of the information contained in this guide. Any sale of this guide, in whole or in part, is prohibited except by written permission by the publisher. Inquiries, updates and comments are welcome and should be directed to the FMPug team at info@fmpug.com Notice of Rights All rights are reserved. The content in this white paper is provided solely for the use of informational reference and education. It shall not be copied, reproduced, republished, uploaded, posted, transmitted or distributed without the express written permission of the copyright owners. You shall not reproduce in any manner any of the content from this guide on any other web site, online service, networked computer environment or stored in a retrieval system or transmitted in any form by any means, except in the case of brief quotations cited in critical articles or reviews. Notice of Trademarks, Copyrights & Other Intellectual Property Rights Throughout this white paper trademark names and icons are used. Rather than indicating every occurrence of a trademarked name as such, this white paper uses the names only in an editorial fashion and to the benefit of the trademark owner with no intention of infringement of the trademark. All trademarks are the property of their respective owners. Notice of Support The information published in this white paper is expressly for the purposes of education; the authors and/or contributors do not provide authorized support for any of the hardware and/or software products discussed, except where noted.

2011 - John Stubbs (Author) FMPug.com (Publisher)

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


About the author Mr. Stubbs is the founder and president of Columbia Flyers LLC and has invested in, and worked with, several startup ventures, including Popcorn Home Entertainment, Flight Partners, and 3alityDigital. He is also an independent FileMaker developer. For four years, Mr. Stubbs was the Chief Information Officer for Sony Pictures Entertainment a $7 billion global entertainment company with 6,500 employees. During this time, Sony Pictures implemented global SAP Financials, consolidated its data centers, and deployed over 300 applications supporting motion picture distribution, home entertainment supply-chain, television syndication, and worldwide distribution of film elements. Mr. Stubbs was also a member of the Sony Corporate IT Management Committee framing global IT strategy for the $70 billion conglomerate. Mr. Stubbs served the entertainment industry for 17 years with PricewaterhouseCoopers (PwC) where he was the global leader of PwCs Content Management and Digital Rights Management initiatives advising clients on exploitation and management of digital content and related issues in electronic commerce. Mr. Stubbs has wide-ranging experience in technology consulting including systems integration, strategic systems planning, multimedia development and strategic management issues relating to rights management and security in large-scale media repositories. He served as the firms representative at the Secure Digital Music Initiative (SDMI), Entertainment Technology Center (ETC) and participates in other standards organizations focused on Digital Rights Management and distribution of secure content over the Internet. Mr. Stubbs holds a BS degree in Physics from St. Marys College, California; MBA from University of California at Los Angeles, and a JD from Loyola Law School. He is a Certified Public Accountant, a member of the California State Bar, and FileMaker 11 Certified Developer. He served five years as a naval aviator, with 73 combat missions in Vietnam, flying the A-6 Intruder deployed aboard USS Midway.

2011 - John Stubbs (Author) FMPug.com (Publisher)

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


The inquiry herein attempts to deal with FileMaker suitability by addressing two issues. Does the FileMaker platform meet criteria for enterprise systems? What standards and development methodology should be used to ensure FileMaker applications become good corporate citizens? Overview
The FileMaker Platform is a suite of tools designed for rapid development of flexible database solutions for deployment on Windows and Macintosh computers, iPads - and extension of them to the Web. FileMaker integrates data structure, business logic, and interface into one package enabling the rapid development of robust and feature-rich applications. Historically, large Information Technology (IT) organizations have viewed FileMaker as a gadget used to build small desktop-centric rolodex applications for a single user. This viewpoint is partly due to the products longevity, or more accurately, its early history as one of several non-SQL PC data managers like dBase, FoxBase, Clipper, Access, etc. As a general rule, none of these products, including FileMaker, have been taken seriously by IT managers for enterprise systems. But in 2004 FileMaker introduced Version 7, a comprehensive product redesign, providing significant capacity enhancements, relational data model, multiple windows, relationship graph, enhanced server, and a rich scripting language with hundreds of built-in calculations. Version 7 represented a quantum leap in sophistication and capability and started the inevitable repositioning of FileMaker as a large work-group or enterprise platform. Notwithstanding the significant improvements in the FileMaker platform, it continues to be application non grata in many IT organizations - not
2011 - John Stubbs (Author) FMPug.com (Publisher)

considered suitable for enterprise applications. Certainly a reason for this is the significant bias toward the vast array of interlocking Microsoft and or IBM enterprise products which have become the de facto standard in just about every large organization. Additionally, Oracle databases have a virtual monopoly for large global applications, such as SAP Financial and Enterprise Resource Planning (ERP) systems. Further, FileMaker is often labeled as a workgroup development tool. What does this mean? Its not clear, but to many professional IT managers it is a derogatory term connoting: limited importance to the business, small number of users, no interfaces with other enterprise applications, limited functionality, amateur developers, home-grown technology infrastructure, disguised funding surreptitious buried in Departmental budgets, etc. Another issue is the way FileMaker proponents tout its real-time, visual, point-and-click, drag-and-drop metaphor for software development. The clear implication, if not outright assertion, is that once given the tools1, anyone (including users) can create FileMaker applications. The idea of users making arbitrary modifications on an enterprise application, or worse, spawning a viral epidemic of amateur applications, will alienate IT professionals and confirm any negative predisposition to FileMaker. This is especially true where they anticipate having to come in later and clean up a huge mess. No one familiar with FileMaker can doubt the effectiveness of its integrated tools enabling Agile or rapid application development. But for IT organizations, thats not the issue. What is important is whats left after the application is developed. Will it be a stable and manageable component in the enterprise system portfolio? Will it perform under increasing load of simultaneous users and data volume?

1 FileMaker is not a compiled language and every user with FileMaker Pro on the desktop computer can potentially create or modify FileMaker applications.

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


As a general rule, large enterprise systems are extremely expensive to design and build. They typically involve multiple technologies in distinct layers (user interface, business logic, transaction processing, secure messaging, Web services, database, report generation, etc.) - each requiring its own highly skilled specialists. While programming and integration can be extremely demanding, a large portion of the life-cycle cost, often under-budgeted, will be testing, quality control, training, documentation, and on-going support. Increasingly the only way to develop and maintain these labor intensive systems is outsourcing to large consulting firms utilizing an army of offshore resources or in-sourcing the development to specialized but silo-ed departments or divisions increasing the distance between the business and the developers.. And once these firms take control of the critical applications, they never seem to go away. Clearly there are corporate information requirements that are best served by specialized mission-critical2 systems utilizing a complex multi-layer technology stack on top of a commercial database (e.g., Oracle, DB2, MS SQL Server). Or package suites, such as SAP, utilizing similar technology to provide global integration across a vast array of functions. But what about the many other the enterprise and departmental applications that dont exhibit the mission-critical attributes? Is FileMaker a proper platform for any of these? In most companies, there are three stakeholder groups involved in the acquisition of new systems: users, finance, and IT. Users want a functional system that meets their needs. Finance is looking for an adequate return on investment (ROI). IT wants a system that plays well in their environment and wont be a headache. And its usually IT that creates the proposal to management, and in so doing estimates cost, evaluates risk, and makes a recommendation on the approach for acquiring and deploying the new system. Accordingly, the challenge is to make IT professionals comfortable that FileMaker applications are a good fit in
2 High capacity, continuous, and fault-tolerant operation capable of handling massive number of transactions and data volume - supporting a critical business process. 2011 - John Stubbs (Author) FMPug.com (Publisher)

the overall systems portfolio - as well as being a cost-effective solution for the business. The inquiry herein attempts to deal with FileMaker suitability by addressing two issues. Does the FileMaker platform meet criteria for enterprise systems? What standards and development methodology should be used to ensure FileMaker applications become good corporate citizens?

Enterprise Criteria
To be a viable candidate as an enterprise platform, a system should exhibit the following attributes: utilize standard technologies and processes familiar to IT staff and administrators maintain a high level of data confidentiality, integrity, and availability be scalable - deliver good performance from one to hundreds of users integrate with other enterprise applications address complex application requirements adapt to changing business requirements over time deliver significantly lower life-cycle cost of ownership. How FileMaker rates against each of these criteria is discussed further in pages 6 - 16.

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Utilize standard technologies and processes familiar to IT staff and administrators


The heart of a FileMaker system is its server environment. FileMaker Server can run under Windows or Macintosh operating systems, but does not run natively on Linux. The preferred platform for most enterprise installations is Windows Server 2008 Standard Edition SP2 or Windows Server 2008 R2 - running in 32bit mode1. Further, where there is significant Web activity it is recommended to deploy FileMaker components on two servers as shown on the diagram on the following page. Many, if not most, IT shops are implementing virtual machines to improve component utilization and reduce cost. FileMaker Server can run just fine in a virtual environment sharing processor time, memory, network interfaces, and disks. As such, it is as susceptible as any other service to the inabilities of a stressed virtualized environment to provide adequate performance. Therefore, when implementing FileMaker Server within a virtualized environment it is crucial to provide the recommended hardware resources and monitor the machine(s) to determine the stress being placed upon the physical hardware. Adjustments can be made to the primary sub-systems of disk, processor, network, and memory based on the information gained through monitoring. There are a few caveats to be aware of when operating a FileMaker Server environment: whether using virtual or stand-alone machines, FileMaker components should be isolated from other applications - i.e., dont run a mail server, or any other application, on the same machine as FileMaker Server ensure the BIOS and drivers are up-to-date never touch live FileMaker files with utilities such as virus scanners, backups, disk indexing, defrag, or shadow copies2 assure that the virtual machine has adequate RAM (4 GB for most configurations) and disk drive capacity. Widows performance monitoring is typically accomplished with Perfmon using properly configured data collectors. FileMaker specific functions, such as disk read/write, network in/out, remote calls in progress, and client statistics, can be monitored with FileMaker Servers Admin Console3. Users can authenticate against accounts housed in Microsoft Active Directory, thus leveraging IT security assets already in place and enforcing company password protocols. It also supports single-sign-on from Windows OS workstations to Windows OS FileMaker Server machines and allows additional controls on what account is allowed to connect from a specific workstation through Active Directory policies. In conclusion, FileMaker Server hardware configuration and software installation should be straight-forward and conform to standard policies and procedures for the vast majority of corporate IT shops or corresponding outsourced service providers. Or viewed another way, FileMaker should easily fit into existing virtual infrastructures found in professionally managed data centers.

1 FM server can be configured to run on a 64 bit machine, but the native installation with the current version, FileMaker 11, is 32 bit. Even on a 64 bit system, it runs in 32 bit mode. Its widely rumored that the next version (12) of FileMaker Server will operate natively in a 64bit environment. 2011 - John Stubbs (Author) FMPug.com (Publisher)

2 The only way to safely and reliably backup a FileMaker file is with the servers included utility for scheduled backups. Once the initial backup is created by FileMaker on the local drive, any of the many commercial backup utilities can be used to archive the files as appropriate. 3 Java program that can run on any network computer.

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Utilize standard technologies and processes familiar to IT staff and administrators, continued...

See Appendix 2 (page 22) for hardware specification for a suitable Web server.

See Appendix 2 (page 21) for hardware specification for a suitable database server.

2011 - John Stubbs (Author) FMPug.com (Publisher)

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Maintain a high level of data confidentiality, integrity, and availability


FileMaker has an Advanced Security System which specifically addresses data confidentiality, integrity, and availability. The system is Account based and relies on authentication of user credentials1 to allow access to the system with a designated set of privileges. It is best practice to issue a unique account to each physical user of the system. Each Account is associated with one Privilege Set. Privilege Sets are at the heart of the security enforcement schema of FileMaker Pro. They determine what actions and rights a user has within the respective file and to all the tables contained in that file. They enforce the role-based security model that is at the heart of FileMaker database security. A Privilege Set provides significant granularity in restricting or controlling access, editing or deletes to layout objects, scripts, tables, rows, and individual fields. Menus and objects on the user interface can be customized to restrict or control access or enforce business rules. In simple terms, the Account determines who you are and that you actually are who you claim to be. The Privilege Set determines what you can do in the application. FileMaker Server keeps a separate access log (what account, what privilege opened what files from what computer) which can be useful in troubleshooting and usage audits. FileMaker Server has an option to encrypt data traffic between FileMaker Pro clients and the server database. It also encrypts data traffic between FileMaker Server and the Web Publishing Engine2 (see diagram on previous page). Maintaining the physical security of the computer running FileMaker Server is very important - fortunately a core competency of professionally run data centers. Such precautions as turning off OS level filesharing,
1 Credentials consist of an account name and password - or if authenticating against Active Directory, a group name. FileMaker stores user credentials in a strongly encrypted format. 2 Encrypting traffic between the Web Server and individual browsers requires a 3rd party solution. 2011 - John Stubbs (Author) FMPug.com (Publisher)

keeping the CPUs in a locked and secured environment, and properly securing and accounting for the location of all backup copies of the files can contribute to enhanced security. Additionally, FileMaker Server has extensive monitoring and logging capabilities, both for itself and for its hosted files, with email issue notification to the administrator. FileMaker Server has a robust system for creating backups of operational files on a schedule defined by the Administrator. It is critical that FileMaker Server create initial backup files3. But thereafter, its best practice to implement a comprehensive regimen of off-site backups conforming to the IT departments standard processes. Additionally, when initial backups are made, FileMaker can verify the integrity of the file and send an automatic email notification to the administrator if any abnormalities are detected. In the unlikely event there is an issue, FileMaker provides utilities to recover damaged data and/or database structure elements. FileMaker is a real-time system. As such, the typical database is being constantly updated by multiple users. Once a change is committed to the database, the old or previous state is lost forever. Likewise, deleted records are also lost4. However by using a 3rd party plug-in, an authoritative and immutable record of creates, edits, and deletes can be preserved for important data. This external log can be used to roll-forward from a previous backup, or roll-back to a point before extraneous or incorrect data entered the system. Further, maintenance of a clear audit trail of database changes is necessary to conform to some Sarbanes-Oxley or HIPAA regulations. With a well maintained and monitored hardware environment, a FileMaker system should exhibit a high level of accessibility. But make no
3 As mentioned previously, only FileMaker Server should make a backup of an open or operational file. 4 The only option for data recovery is to go to a backup. But this can be time consuming and may not address related data required to maintain system integrity - e.g., recovering an Order, but loosing the linked line items.

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Maintain a high level of data confidentiality, integrity, and availability, continued...


mistake, FileMaker Server is not designed as, nor promoted as, a highavailability transaction processing system. It does not support clusters with load balancing and failover capability, active or passive database replication, or traditional transaction processing (e.g., two-phase commit). Accordingly, where a high level of fault-tolerance or large volume transaction processing (TP) is required, a traditional TP Monitor (e.g., WebLogic, WebSphere...) on top of Oracle, DB2, SQL Server, or even open source MySQL, are typically deployed for these mission-critical systems. In summary, FileMaker maintains: data confidentiality with a highly functional security system which utilizes role-based access controls with granularity down to the field level. data integrity with broad array of tools allowing developers and IT staff to deploy a robust file backup process logs to monitor database health and on-line activity an independent repository of database changes with rollforward, and roll-back capability5 data availability by isolating FileMaker components on their own high quality hardware, and good data center management.

5 Using a 3rd party plug-in and additional development effort. 2011 - John Stubbs (Author) FMPug.com (Publisher)

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Be scalable - deliver good performance from one to hundreds of users


Scalability is the ability of a system, network, or process, to handle growing amounts of work in a graceful manner. This means its ability to be enlarged to accommodate that growth. In commercial applications, it typically relates to the ability to increase the number of on-line users, the size of the database, or both. FileMaker server based systems deliver excellent on-line performance. However, its important to establish realistic expectations. At high volumes (millions of records), FileMaker will never be as fast as a finely tuned Oracle or MS SQL Server database. But FileMaker has a sweet spot where it can hold its own against competing technologies: from few dozen to a hundred concurrent users; data tables with thousands of records. No doubt, a FileMaker system has practical limits, but the vast majority of applications fall nicely within its rather large envelop of capabilities. In any client-server system, the main component influencing scalability is usually the server as it arbitrates requests from many contending users and digs up large volumes of data as directed by those users. In general, FileMaker scales nicely as more users are added - assuming a robust network and hardware upgraded appropriately to support the additional load. Developer decisions and techniques have a major impact on how well FileMaker deals with large datasets. Often, actions to increase performance (indexing) will also increase the size of the file - but with lower cost disk systems, that is usually an easy trade-off to make. As with all systems, developers must be cognizant of potential multiuser contention issues (e.g., releasing record locks) and deal with them appropriately. FileMaker has a rigorous developer certification program where developers can earn an industry-recognized credential recognizing expertise in the FileMaker product line and the full range of developer techniques and skills.
2011 - John Stubbs (Author) FMPug.com (Publisher)

In summary, FileMaker performs quite well from one to several hundred users - as long as the hardware environment adequately supports the increasing volume. And with proper coding techniques, it will competently handle databases with large tables (thousands of records per table) and complex relationships. It should be noted that any installation of a large SQL database will also require extensive tuning to realize acceptable performance. And the need for tuning is often only discovered once the application is in production. FileMaker systems tend to be easier to tune (add indices to appropriate fields) and stress test such that performance issues can be addressed before deployment.

Product Specifications
For all practical purposes, FileMaker doesnt impose technical limits on the size of normal commercial applications. unlimited FileMaker Pro clients1 100 simultaneous Web connections2 pool of 50 concurrent ODBC/JDBC connections file size - 8 terabytes number of tables per file - 1 million number of records per table - 64 quadrillion number of fields (columns) per record - 256 million.

1 Networked computers with a FileMaker Pro client connected to the server. 2 Server connections using a variety of APIs (PHP, .NET, Ruby, Flash/Flex) allowing the companys Web site to extract data from the FileMaker database. Essentially, Web publishing can be done with any technology that can consume XML.

10

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Integrate with other enterprise applications


Most large companies, especially those which have been around for a long time, have dozens of legacy systems utilizing a plethora of technologies. Many contain data-of-record1. One of the strengths of FileMaker is its ability to share data with other applications. Through various techniques, it can access data stored in external systems as well as make data from the FileMaker database available to other applications. FileMaker has the ability to import and export data in a variety of formats, including common interchange formats such as comma-separated values (CSV), tab-delimited files, Microsoft Excel files, Acrobat pdf files, and other common desktop formats. Additionally, it supports one-way import data from just about any Open Database Connectivity (ODBC) data source. FileMaker can act as a JDBC data source to Java programs requiring data from the FileMaker application. ODBC/JDBC connectivity can be useful for acquiring or synchronizing data from an external system-of-record. Equally significant is FileMakers ability to import and export eXtensible Markup Language (XML) data from online XML data sources, and using parsing via eXtensible Style Language Transformation (XSLT) style sheets. This provides broad-based support for data exchange and interoperability using Web Services. With a more advanced feature, known as External SQL Sources (ESS), FileMaker can integrate SQL data sources directly into a FileMaker application. Currently these external sources include Oracle2, Microsoft SQL Server3, and MySQL4. Subject to a few restrictions, a developer can
1 For example, the Human Resource system probably has the official data-of-record information on corporate personnel, an ERP system would have the definitive products list, etc. 2 Oracle database 9, 10g, and 11g 3 Microsoft SQL Server 2000, 2005 and 2008 4 MySQL Community Edition 5 and 5.1 2011 - John Stubbs (Author) FMPug.com (Publisher)

incorporate table(s) from these sources directly into a FileMaker application allowing a FileMaker user to access the data and even make updates directly to the external database. For example, selected data from the companys SAP financial system could be exposed as a table inside the FileMaker system, and where appropriate, the FileMaker users could add and/or edit data in the SAP application. Exactly what data are exposed are completely under the control of the SAP administrator - working with the FileMaker developer. Additionally, 3rd party developers enhance connectivity with FileMaker plug-ins allowing the application to: export FileMaker records to FTP servers integrate real-time Web content with your database enable Web Services grab real-time stock quotes, currency rates, ... get images directly from cameras or other devices integrate with QuickBooks provide BlowFish and A.E.S. encryption enable one-way, bi-directional or multi-hub data replication/ synchronization between FileMaker Pro and any combination of external databases (MySQL, MS SQL Server, Oracle and Sybase) and much more.... In summary, one of FileMakers strengths is the ability to utilize or exchange data with almost any external data repository. As such, a FileMaker application can play a significant role in the enterprise while ensuring the use, where appropriate, of corporate data maintained in other systems-of-record. Interfaces with legacy systems should not be an issue with FileMaker.

11

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Address complex application requirements


A major distinction between FileMaker and other complex multi-layer systems using SQL databases is that FileMaker provides a seamless environment where the application (interface, business logic...) is integrated with the database engine that provides structure and data storage to the solution. For developers, FileMaker has an innovative graphical tool to create comprehensive relationships among tables and custom data views1. FileMaker comes with a powerful yet straight-forward calculation engine providing over 250 functions2 each capable of accomplishing a specific range of objectives. And functions can be combined in compound calculation expressions to solve a wide range of problems. Developers can also create, and share, custom functions to solve elaborate operations with a single function call. FileMaker uses a robust scripting language to implement complex business logic. Scripts can be triggered in a myriad of ways based on actions or events in the user interface. One minor drawback compared with other database systems is that scripts cannot be tied directly to data such that changes in the data directly trigger the script logic. FileMaker is available in multiple languages and supports multilingual functionality using Unicode as the basis for character sets. Text values can be indexed according to the conventions of more than 26 languages and variants, and techniques are available to create multilingual interfaces within a single solution. FileMaker applications are cross-platform without modification - seamlessly running on either the Macintosh or Windows3. Application controls, menus, dialogs, and features are consistent between platforms. Macintosh, Windows and iPad clients can co-exist in a mixed environment served by a single FileMaker instance on a server.
1 Known as Table Occurances in FileMaker nomenclature. 2 A function is a predefined, named formula that performs a specific calculation and returns a single, specific value. 3 iPad interface does require additional development effort. 2011 - John Stubbs (Author) FMPug.com (Publisher)

All things considered, its difficult to imagine any business logic that cannot be readily implemented by a combination of FileMakers relational data structure, custom data views, calculations and scripts. The tools are available for skilled developers to build elegant and highly functional applications that exactly meet the needs of the users. FileMaker applications generally exhibit an exceptional degree of usability - in stark contrast to some popular package systems (e.g., SAP). Another important factor enhancing productivity is the global community of FileMaker developers and consultants - providing mutual support, techniques and expertise in a diverse range of industries. This group gives tirelessly on well organized electronic forums to assist others in solving problems and sharing new techniques. Many have created innovative diagnostic and development tools to significantly increase developer productivity. FileMaker also has a worldwide developer certification program providing a uniform indication of skills and credentials of professionals working in the field. Complexity of business rules will rarely be a valid reason not to consider FileMaker. More likely, the comparison will be between a package application and a custom solution in FileMaker. At the concept stage, the package can be demonstrated while the custom solution cannot (i.e., hasnt been built yet) - thus creating the illusion of a disparity in capabilities. However, users considering a package should keep in mind that the package is probably built using a complex technology stack, is difficult to modify, and may force users to change business practices to fit the software. And, as demonstrated below, the package will probably be significantly more expensive than a FileMaker custom application - which provides users exactly want they want.

12

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Adapt to changing business requirements over time


Even if a system initially meets business requirements, there is still a critical question whether it can be modified or adapted to changing requirements over time. Its not really uncommon to see applications hanging around for 20 years. The older these systems get, the more difficult and expensive they are to change. Its difficult to generalize about enterprise applications, but many are noteworthy in that they utilize multiple technology layers sitting on top of a large commercial database systems (e.g., Oracle, DB2, MS SQL Server...). Each layer has a specialized function, such as transaction processing, messaging, Web service, user interface, etc. and typically use different technologies or language constructs (Java, C, C++, C#, Visual Basic, COBOL, Lasso, .Net, Ajax, Java Script, PHP, Perl, Python, Ruby, SQL, PL/SQL, HTML, XML, etc.). Taken as a whole the overall system can be exceedingly complex, involving many different technologies, and requiring different people who have expertise in each. And the pool of original developers will certainly dissipate over time (i.e., move to different company, promotion to management, career change, etc.). Talented programmers are in high demand and consequently very mobile making turnover an issue - especially in the largest offshore consulting companies. Further, some of the core technologies will be replaced or superseded over time - often with cheaper open source1 equivalents. And many of these are not backward compatible with the technology they replace. Accordingly, the passage of time will inevitably induce a significant obstacle to efficient and cost-effective enhancement of complex legacy applications. Often the only practical way out is to hire a large consulting firm with extensive offshore resources And if the modifications are substantial, the only sensible answer is often to scrap the old system and start over. Package software vendors often update, or even completely rewrite, their applications every few years. More often than not, these upgrades involve a completely new implementation. A good example is the Siebel Customer Management System (purchased by Oracle in 2006). This product has undergone a complete rewrite and will be incorporated into a new Oracle product line called Fusion. No doubt Fusion will be a significantly better product for many customers, but for existing Siebel customers, conversion wont be easy - or cheap (notwithstanding well orchestrated marketing claims to the contrary). And if conversion is too costly, a company will be saddled with the old system which will not be adequately supported. An interesting predicament. FileMaker enhances its product line with a major new release approximately every 16 months. As mentioned below, the FileMaker product underwent a major redesign in 2004 with the advent of version 7. Since then, releases have added features, functionality, and performance, but the basic file format has remained unchanged. With minor exceptions, FileMaker applications developed with version 7 and above work just fine on version 11, the latest release. Changing technology has not forced major upgrades for version 7 FileMaker customers - other than the temptation to take advantage new features. The basic platform is stable and FileMaker developers today generally have little trouble maintaining or enhancing code written years before by someone else - especially when using sophisticated 3rd party tools to document the application parameters and code.

1 A main principle and practice of open source software development is peer production by bartering and collaboration, with the end-product, source-material, blueprints, and documentation available at no cost to the public. 2011 - John Stubbs (Author) FMPug.com (Publisher)

13

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Deliver significantly lower life-cycle cost of ownership Overview


It is important to restate that not all enterprise applications are suitable candidates for custom development in FileMaker, specifically missioncritical, high volume, fault-tolerant, transaction processing systems. But that leaves many other applications in the typical enterprise portfolio, especially those with unique requirements, that should be considered for FileMaker development. The assertion herein is that there is a significant cost saving, over the useful life of an application, by custom development with FileMaker versus traditional system acquisition methods. The discussion below will attempt to provide a high-level view of the life cycle cost differential and some pros and cons of each approach. The cost components for application life-cycle analysis include: analyze acquisition alternatives and select vendor (as required) determine target ROI and gain budget approval for project determine objectives and design application establish hardware, system software and network infrastructure create application or install package document, train users, test, and deploy application provide on-going support. To look into life cycle costs, we consider implementing a hypothetical Customer Relationship Management (CRM) system available to 200 named users. The applications life span in this example is seven years. Estimating life cycle costs of any hypothetical involves numerous assumptions and estimates fraught with potential pitfalls. Acknowledging this, the intent is to provide an order-of-magnitude cost comparison of the alternatives as opposed to precise numbers for a budget. A CRM system should be a good candidate for comparison. It is data centric and typically involves a large volume of on-line users researching issues (searching through the data) and entering/updating records. And there are many competitive package offerings. Additionally, there are offerings using a relatively new phenomenon know as Software as a Service1 (SaaS). Probably the best, or most popular CRM package, is Siebel CRM2. And the companion SaaS offering Oracles CRM On-Demand. The three acquisition options are: package, SaaS, and custom. Pros and cons with each are discussed below.

Package
Package software is often an appealing option. Primarily because it exists and presumably has been battle tested on many other customers. Further, many customers believe a mature package application represents best practices relative to the industry specific processes and work flows it automates. Or the software may dictate a particular work flow forcing the users to change their processes. Either way, new package software is often a catalyst for process reengineering. And of course, the consulting services required for implementation.
And most importantly, there is a common belief that packages are less expensive since the development cost is essentially spread across many different customers.

1 Sometimes referred to as software on demand, is software that is deployed from a cloud environment over the internet to users anywhere. With SaaS, a provider licenses an application to customers either as a service on demand, through a subscription, per-user, or a pay-as-you-go model. This approach to application delivery is part of the utility computing model where all of the technology is in the cloud accessed over the Internet as a service. 2 Seibel was purchased by Oracle in 2006 and currently offered as a stand-alone product in Oracles application suite. Seibel CRM functionality will soon be incorporated into Fusion, Oracles next generation of integrated applications.

2011 - John Stubbs (Author) FMPug.com (Publisher)

14

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Deliver significantly lower life-cycle cost of ownership, continued...


However, a contrarian view is that some packaged software - designed for a broad market - consists of a large code base representing all conceivable features and functions anyone would ever want. To enhance sales opportunities, the application is highly modularized and each one is priced separately. Customers will purchase the modules they need, retaining the option of adding more as their business needs dictate - or budget allows. Many customers unflattering describe these monolithic package systems as bloatware, especially when the customer must install the entire program regardless of how many modules are actually used. Over the products life cycle, mandatory updates are often required. But these can be onerous when the code being updated involves a module that isnt used by the customer. Or the flip side, which is possibly even worse, customers may go off on their own and modify or enhance key modules, thereby effectively precluding any further updates of the package. Another common misconception with package software is that once installed, it runs flawlessly. Like any system, there must be a design phase to clearly understand the requirements of each user group. Further, reports (almost always custom) must be developed, data migrated, interfaces developed, the package configured, processes modified and documented, and users trained. This front end consulting can be a major effort involving high priced consultants3. And once the system is operational, there is the inevitable tuning (i.e., optimizing SQL commands) to achieve acceptable performance. Interestingly, the cost of the actual software package is often less than a quarter of the total life cycle cost.

Software as a Service (SaaS)


SaaS is a hot topic in the world of software applications. Its appeal is a relatively low variable cost with access any time, anywhere. For example, Oracles On-Demand is priced at $70/user per month (plus optional addons, such as mobile, advanced marketing functionality, or extensions supplied by partners). And its accessible to named user with a connection to the Internet.

However there are several major issues with SaaS which will inhibit its growth. First, everyone is tethered to the cloud via the Internet - which can be sluggish and unreliable. Also, applications using a browser as the front end must interact with the host application (located in the cloud) using a slow, often clunky, request-response metaphor. The user interface is less functional than found with typical package using two or three tier architecture where part of the application actually runs on the users PC. And the SaaS version of an offering my have a limited feature set compared to its package cousin4. And there is no opportunity to change or enhance the SaaS application. There may be a security issue, or at least a concern, about who has access to the companys data up in the cloud. Is it safe from hackers? WikiLeaks? Like the package alternative, a SaaS implementation will require a preliminary consulting project addressing requirements, configuration, data migration, training, testing, change management, etc. And there will be on-going support services during the products full life cycle.

3 For estimating purposes, Oracle estimates the front-end consulting to be 1-3 times the cost of the package application and related system software. 2011 - John Stubbs (Author) FMPug.com (Publisher)

4 See http://www.online-crm.com/oralceondemand.htm

15

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Deliver significantly lower life-cycle cost of ownership, continued... Custom


Custom software has a compelling benefit - the company gets exactly what it wants (and presumably needs). But that presumes: a core of knowledgeable managers/users able to articulate requirements which conform to best practice and support the companys business strategy developers able to translate the requirements into a robust system. Like package software, the custom option has the same cost components. The main difference is the increased effort to design and build the actual application. Another issue is risk. A package solutions is deemed safe because its working at many other sites already. Custom development with a complex technical stack requires labor intensive development given the different specialized technologies involved. With a custom development and traditional waterfall approach5, users wont really know if the new system is successful until it is in production handling normal operational volume - possibly years after the initial request. The conventional wisdom is to steer clear of custom development unless there is a compelling system requirement that cannot be addressed any other way. But as will be pointed out below, developing with FileMaker can turn conventional wisdom on its head. FileMaker provides a seamless environment where the application (user interface, business logic) is tightly integrated with the database engine. Development is accomplished by a small team responsible for design and creation of all aspects of the solution. Virtually all projects use rapid iterative development where the application grows and matures as a series of releases delivered in weeks, not years. Typically there is an intensive period of design and development during the first several months
5 The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance. 2011 - John Stubbs (Author) FMPug.com (Publisher)

which tapers off as the application goes through stabilization then settles into mature operation. FileMaker projects can go much faster because the small teams are experts in the use a single highly productive tool - FileMaker. This is a significant departure from other custom development projects using multiple technology stacks, each requiring specialized expertise.

Life Cycle Costs6 The assertion herein is that many enterprise applications could be developed using FileMaker at a significant cost savings over traditional system acquisition methods. The immediate questions are how much saving? And at what risk?
The life cycle costs to deploy a basic CRM system using the three alternatives discussed above are estimated at (details on page 17): Package (Siebel CRM - base functionality) - $6.7 million SaaS (Oracle CRM On-Demand) - $3.6 million FileMaker custom development - $1.8 million So why is the full life cycle cost of the FileMaker solution a quarter of the package? Really several reasons. Oracle system and application software is expensive. Also the front end consulting to get the package configured and implemented is expensive - typically a lot more than many customers realize. Comparable FileMaker system components are available at a much lower price point. But the main reason is creating the essential feature-set quickly using RAD methodology, enabled by FileMaker.

6 Cost to design, implement, and support an application over its full life. This includes requirements analysis, design, configuring or developing the system, integration with other legacy systems, testing, documentation, training, upgrades, and general on-going support.

16

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Criteria:

Deliver significantly lower life-cycle cost of ownership, continued...


But what about risk? Many custom development efforts have gone seriously over budget, or failed altogether. Factors contributing to project disruption or failure include:
complexity of the technologies being employed scope creep as new requirements are discovered during the development process poor communications between users and offshore developers aggravated by the chosen development methodology (waterfall) and the physical distance, language and cultural differences between users and developers personnel turnover (users and/or developers). Again, a FileMaker enabled iterative and spiral development methodology can go a long way to mitigating these potential issues. There is no bewildering labyrinth of a developers tools and techniques, common in the open source world, because a comprehensive suite of FileMaker tools is contained in the product7. FileMaker runs on commodity hardware which should well understood and supported by the IT department. Scope creep is to some degree expected and new requirements and features are introduced in each iteration of the application - released every couple weeks. Virtually all FileMaker developers are local, living and working alongside the users they serve. The typical communication issues experienced with offshore developers simply dont exist. Personnel turnover is a constant problem with all projects, especially when the project loses one or more of the principle users or project sponsors. It can also be an issue with developers. Its especially prevalent with offshore consulting firms where there is a robust market for top talent. On the other hand, FileMaker developers tend to be clustered in small local firms where the chief developer is also the owner.

7 FileMaker Pro Advanced. 2011 - John Stubbs (Author) FMPug.com (Publisher)

17

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Standards and Methodology for FileMaker development
Its a serious misconception to believe that full featured robust enterprise applications can be developed by amateurs (i.e., users). Notwithstanding the power and integration of the FileMaker tools, it still requires skilled developers using a proven methodology to consistently create quality software. Experience, hard work and close cooperation with key user are mandatory elements in creating a solid data model and related use cases - the cornerstone of any successful system design. FileMaker, as with all developer tools, provides several ways of implementing any given feature or function. Some are good and efficient, others are bad. Professional FileMaker developers know the difference and use best practice techniques to create the optimal outcome. A formal methodology, among other things, should clearly address: roles and responsibilities of management, users, developers, and support personnel definition of company objectives, user requirements, and design processes utilized in rapid application development (including documentation, testing, training and deployment) acceptance of deliverables resolution of issues project management protocols. FileMaker, being an interpreted system, allows changes to scripts, layouts, triggers, data structures in live production systems. Accordingly, its important to acknowledge the legitimate concern regarding amateurs modifying FileMaker enterprise software. Fortunately with FileMakers Advanced Security, the application can be effectively locked down restricting modification to authorized developers. The methodology, as well as best practice, should specify that all modifications and enhancements should be made in an off-line development environment and thoroughly documented and tested before promoting to production. There are excellent 3rd party tools to facilitate this process.
2011 - John Stubbs (Author) FMPug.com (Publisher)

Virtually all professional FileMaker developers utilize some form of rapid application development (RAD) and spiral development - characterized by frequent deliverables and continuous user involvement in the development process. Enabling RAD is a key advantage of using FileMaker and a significant factor in lowering the cost and risk of custom software development.

Risk Mitigation
Consider this hypothetical. Diligent executives visualize a significant market opportunity which must be exploited - quickly. A key enabler is a focused software application with a significant supporting IT infrastructure. Early in the planning process, nobody really knows how big the opportunity will be, but zealous advocates believe its BIG and will be a game changer. Influenced by the euphoria of the moment, and possibly the sense that money is no object, the IT project grows in complexity and capacity to take advantage of anything that could possibly come along. Consequently, one thing is absolutely certain, the new silver bullet system will be very expensive. Which may be a huge problem, if not a career impediment, if it later turns out the opportunity wasnt quite as large or lucrative as originally envisioned. So what does this have to do with FileMaker development? When faced with an uncertain business opportunity requiring immediate system support, a prudent and risk adverse strategy would be to build the application in FileMaker. It would rapidly facilitate a thorough understanding of the requirements and corresponding business logic. If the golden opportunity really materializes such that size and volumes increase dramatically, then consider the FileMaker development effort as a prototype and build the application with all the available high-capacity and high-availability bells and whistles. No time would be lost as prototyping is often an important step in traditional waterfall software development. However, the amount of money that could be saved in case things didnt quite pan out with the business opportunity could be significant.
18
White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Conclusion
The initial question raised was whether FileMaker is a suitable platform for enterprise applications. The answer is a resounding yes, subject to some common sense qualifications. FileMaker is an integrated development environment where a small team of developers can create a full featured application - quickly. But to ensure success and maintain the active assistance of the companys IT professionals, the following steps must be taken: host FileMaker Server on robust and reliable hardware - isolated from other applications authenticate the FileMaker application with the enterprises Active Directory adopt and use a formal methodology that clearly articulates the roles and responsibilities of corporate IT and the developer team - and the related communication protocols deploy the application with security restrictions preventing unauthorized modifications by users (i.e., lock it down) implement a comprehensive data backup process that dove-tails into the overall IT backup regimen provide IT staff with tools and documentation to monitor the performance and health of the FileMaker application make the FileMaker projects status transparent by integrating into overall IT departmental management and reporting processes. Lastly, possibly the most important, select a suitable target for the first FileMaker enterprise application. This would have clear and mutually agreed objectives, steadfast support of key users, and the companys commitment to actively participate in the iterative development throughout the project life cycle. If the steps outlined above are observed, there is a compelling case for utilizing FileMaker as a platform for enterprise applications. Elegant and feature rich applications can be deployed in a rapid and cost effective
2011 - John Stubbs (Author) FMPug.com (Publisher)

manner - while fitting nicely into the IT infrastructure. A win-win for all stakeholders.

And for good measure, the company will have the satisfaction of knowing that it is creating jobs in the United States.

19

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Appendix 1 - Life cycle cost estimate for three development alternatives
Package CRM On-Demand Server hardware Server software Client software Developer tools Application software Hardware maintenance Software maintenance Sub-total Development and implementation services On-going support Total life cycle cost General Assumptions Life of application - 84 months Named users - 200 $40,000 $285,000 $190,000 $50,000 $900,000 $3,000 $1,824,900 $3,292,900 $2,830,000 $540,000 $6,662,900 ASSUMPTIONS
Siebel CRM - basic system Oracle Enterprise DBMS - $47,500/core plus $950/user Processors - 6 cores Siebel application license - $4,500/user Annual maintenance (hardware & software) - 22% Implementation and configuration - 2 times software cost On-going support rate - $180/hr Annual support - 500 hrs Oracle On-Demand CRM On-Demand fee - $80/user Implementation and config - 70% of Pkg Oracle on-going support - $180/hr Annual support - 500 hrs FileMaker custom development FileMaker Server Advanced FMDataGuard plug-in FileMaker Pro Advanced - developer Goya tools for development FileMaker Pro site license (SLA) for 210 users, including servers and clients $35,000 Annual SLA renewal - $11,500 FileMaker developer - $180/hr FileMaker developer - $28,800/mth Intensive dvlp - 4.5 FTEs for 6 mths Stabilization dvlp - 3.5 FTEs for 6 mths Annual support - 1,000 hrs

SaaS $1,344,000

FileMaker $40,000 $35,000 $4,000 $3,000 $69,000 $1,344,000 $1,981,000 $324,000 $3,649,000 $151,000 $1,382,400 $1,080,000 $2,613,400

2011 - John Stubbs (Author) FMPug.com (Publisher)

20

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Appendix 2 - Sample configuration for database server
Item DL380-G7 Database Server (w/9.6TB internal raw or 4.8TB RAID 10 storage) Configurable - HP ProLiant DL380 G7 High Performance Server HP ProLiant DL380 G7 High Performance Server (2) Six-Core Intel Xeon Processors X5690 (3.46GHz, 12M L3 Cache, 130 Watts) (2) Embedded HP NC382i Dual Port Multifunction Gigabit Server Adapters (2) HP 750W CS HE Hot-Plug Power Supplies HP 8GB PC3-10600R 4x2GB 2Rank Memory (for 1st CPU) HP 8GB PC3-10600R 4x2GB 2Rank Memory (for 2nd CPU) HP P410i/1GB Flash Backed Cache (SAS Array Controller) HP Insight Control including 1yr 24x7 Support ProLiant ML/DL-bundle Electronic License Integrated Lights Out 3 (iLO 3) Management HP Standard Limited Warranty - 3 Years Parts and on-site Labor, Next Business Day HP 600GB 6G Hot Plug 2.5 SAS Dual Port 10K rpm Enterprise Hard Drive HP 8-Bay Small Form Factor Drive Cage HP 600GB 6G Hot Plug 2.5 SAS Dual Port 10K rpm Enterprise Hard Drive HP P410 with 1G Flash Back Cache Smart Array Controller HP Slim 12.7mm SATA DVD-RW Optical Drive Subtotal (bundled HP website $) Optional Items & Warranty Uplift (substitute as required) HP Care Pack, 3 Years, 4 Hours, 24x7, Hardware, ProLiant DL380 HP 146GB 6G Hot Plug 2.5 SAS Dual Port 15K rpm Enterprise Hard Drive HP 8Gbps SAN dual-port adapter (Qlogic or Emulex) 1 TBD TBD $931 $369 $2,000 $931 TBD TBD 1 8 1 8 1 1 $8,636 $799 $199 $799 $749 $130 $8,636 $6,392 $199 $6,392 $749 $130 $22,498 Qty Unit Cost Extended

2011 - John Stubbs (Author) FMPug.com (Publisher)

21

White Paper: FileMaker in the Enterprise brought to you by FMPug.com

FileMaker Pro - Suitability as a Platform for Enterprise Applications


Appendix 2 - Sample configuration for Web server
Item DL380-G7 Web Server (w/2.4TB internal raw or 1.2TB RAID 1 storage) Configurable - HP ProLiant DL360 G7 Server HP ProLiant DL360 G7 Server Six-Core Intel Xeon Processor X5675 (3.06GHz, 12M L3 Cache, 95 Watts) HP 2GB PC3-10600R 1x2GB 2Rank Memory (for 1st CPU) Six-Core Intel Xeon Processor X5675 (3.06GHz, 12M L3 Cache, 95 Watts) HP 2GB PC3-10600R 1x2GB 2Rank Memory (for 2nd CPU) HP P410i/ZM (SAS Array Controller) HP 4-Bay Small Form Factor Drive Cage (2) Embedded HP NC382i Dual Port Multifunction Gigabit Server Adapters (4-Ports) (2) HP 750W Common Slot Gold Hot Plug Power Supplies Integrated Lights Out 3 (iLO 3) Management HP Standard Limited Warranty - 3 Years Parts and on-site Labor, Next Business Day HP 600GB 6G Hot Plug 2.5 SAS Dual Port 10K rpm Enterprise Hard Drive HP 1G Flash Backed Cache (For P410i) HP 12.7mm SATA DVD-RW Drive Subtotal (bundled HP website $) Optional Items & Warranty Uplift (substitute as required) HP Care Pack, 3 Years, 4 Hours, 24x7, Hardware, ProLiant DL360 HP 146GB 6G Hot Plug 2.5 SAS Dual Port 15K rpm Enterprise Hard Drive 1 TBD $750 $369 $750 TBD 1 4 1 1 1 $6,247 $799 $529 $130 $6,247 $3,196 $529 $130 $10,102 Qty Unit Cost Extended

2011 - John Stubbs (Author) FMPug.com (Publisher)

22

White Paper: FileMaker in the Enterprise brought to you by FMPug.com