Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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.
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.
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.
5 Using a 3rd party plug-in and additional development effort. 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
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
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
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
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.
14
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
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
17
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
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
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
20
21
22