Click this video (use the full screen or click to go to YouTube) to see what you may be missing in your copy of FileMaker Pro! I don't develop without it!
Servoy: A FileMaker Pro Killer Or Another Killer App?
Posted by: Editor / Monday, May 26, 2003 – 5:10pm
Servoy: A FileMaker Pro killer or another killer app?
The holy grail of database systems
After a recent meeting with a few of the core staff from Servoy BV based out of The Netherlands, http://www.servoy.com/ I was provided with a tour of their flagship product aptly named Servoy. My enlightenment to their new development tool led down the trail towards the holy grail of database development tools. Actually, I should call it a front-end client development tool rather than a database development tool. Since most database developers know that a database is simply a collection of small, medium or super large spreadsheets all joined together by a system of keys, the process of developing a database is more a process of thought than a process based in using a tool.
It's the tool that communicates the information behind the scenes to the operator in front of the computer screen. To say that this tool directly competes with FileMaker Pro isn't quite an accurate picture. Although I do predict that with increased adoption of Servoy there will be some heated debates about whether FileMaker will fit in certain situations. Don't get me wrong, I'm not abandoning FileMaker and both environments will have their place in many businesses. Read the full article for the whole story.
In many ways a developer will see a number of similarities between the two, but these similarities end at a few shared words found in the interface and are nothing that any one company owns a copyright too - unless the words Find and Body can be defended in court. The environments are quite different in terms of what you can and can't do and this article is an introduction to the application you may be hearing more about.
It's all about where the data comes from
The core difference between Servoy and FileMaker is this. Unlike FileMaker Pro, which accesses its own proprietary database, both when used on a local machine and when used in shared environments, Servoy is an application development tool that accesses data from a variety of disparate data sources. This is where that holy grail comes in. It has long been the goal of developers to tie data sources from more than one location, both physically and conceptually, into the same interface - and with Servoy this can be done - today!
An example of why you might want to pull information from more than one data source can be seen in the simple example of pulling order information from an accounting system in Oracle, where customer and financial information is stored, and cross referencing that information against a marketing database, created in MySQL, which has information about how customers were contacted over the past year. With these two sources tied together, information can be derived and assimilated in a single fluid environment. Knowing which marketing campaigns contributed to the most sales with a certain type of customer is valuable business knowledge. This type of data integration makes it easier to make determinations about correlations between two or more data sources. This is what Servoy does.
In the world of SQL databases, something less known by the exclusive FileMaker developer, it is well known that if you need raw power and you're expecting more than a couple million record rows, then a SQL database is your answer. The reason for this is quite simply, overhead. FileMaker Pro brings a lot of overhead to the database picture because all of the elements for the whole database solution are lumped into one file or multiple files. This includes schema, also known as the table and relational structure, the business logic, commonly known as scripts and ScriptMaker in FileMaker, and presentation, known as Layout mode to you and me.
However, with Servoy, the business logic and presentation, the later two elements of a database system, are provided within a Java environment and the schema and relational structure is left up to the standards that enterprises are used to. These include Oracle, MS SQL, DB2, Informix, Sybase, and MySQL and Postgres within your Open Source options. These high power database systems provide a whole host of features including their own set of functions and security models. Servoy leverages these features as well as providing a large set of its own.
In the March issue of PC Magazine you'll find a comparative review of SQL database systems and while MySQL came in at a lower rating overall, the level of performance that MySQL could handle was just about equal to Oracle 9i. The deciding factors for why MySQL was not rated higher was because of a lack of support infrastructure and admin tools. http://www.pcmag.com/article2/0,4149,7279,00.asp I mention this because running your own SQL database is no longer a high cost proposition. You can develop high-end SQL systems on your Macintosh or Windows computer for a low cost. Visit the MySQL web site for more information. http://www.mysql.com
So how are the two different?
Before we get into the guts of how Servoy differentiates itself, lets take a look at how software companies work in the world of software. There are few concepts that are revolutionary and most companies "borrow" ideas from other environments. I can already hear the whispers saying that Servoy "copied" FileMaker Pro.
Servoy also seems limited in the sense that making changes to the data structure behind the scenes isn't as easy as in FileMaker. This feature, of changing field names on the fly, however, is found in very few environments. FileMaker Pro is one of the few applications that allow you to change the name of a field in one place and have that change be pervasive throughout the whole application. Because Servoy is integrating an environment on top of so many different potential SQL data sources, this type of feature won't be something expected by SQL database developers. With proper planning before creating the actual data structure the need for changing field names should be minimal.
Upon opening Servoy for the first time the initial impression is that it's nothing like FileMaker Pro. It's only after spending some time with the application that the comfort level sets in. The form designer, ala Layout mode, that Servoy uses is like any other form designer that you would find in Real Basic, Visual Basic, FileMaker or even an Act database for that matter. You add elements to a Form, Servoy lingo for a layout, and drag them to the positions desired. The biggest difference is the property inspector just to the right of the form being designed. This is where you can set all the different options for each element. For example, with a button selected, you can choose the onAction property and specify which Method (similar to a script) that you want to happen when the button is clicked. One nice feature is the toolTipText property if you need to give a user that small hint about what a button does.
The powers of an event model
I felt it was important to point out the extent of what type of events you have control over when working in Servoy. Not only can you make things happen when you enter and exit a field but you can make things happen pretty much any time any type of action is taken. When the mouse passes over an object such as a button or when a change is made to the contents of a field, even each form can trigger a method when a record is created, deleted, omitted or duplicated. You can even trigger an event when the user goes into a search mode. The event model is truly a thing of beauty.
What makes Servoy revolutionary?
One of the key features that Servoy offers is the fact that it masks all of the complex SQL language required to talk to SQL data sources. This level of abstraction allows the FileMaker developer wishing to grow into a more scalable solution, the functionality they've become accustomed too without having to spend a few days, or weeks, with a SQL manual. Performing a find is as easy as it is in FileMaker Pro. The query by form method of searching is used by a wide range of products and has always proven to be the most user friendly.
Servoy also provides a "skinable" interface so you can even customize the look and feel of your development environment. This approach can be used within your developed interface as well. Servoy is able to both reference graphic elements and store them within either an internal database called the Repository or an external database in what are known as Blob fields.
As with FileMaker Pro, a developer can work on the application while the solution is being served. In fact, Servoy has a very powerful method of controlling and releasing new versions of the application thereby making deployment painless for large installations. The ability to rollback (not the database kind) to a previous version of an interface is simply a process of clicking a few buttons.
The advantages of standards
The differences in a nutshell
Here are the key differences between Servoy and FileMaker.
- Servoy pulls data in from different SQL databases. It includes and installs the Firebird SQL Open Source database. It creates SQL commands on the fly and behind the scenes. It is a "true front end".
- Servoy requires Java to run both the developer and client applications.
- Servoy uses Methods
- Servoy supports a plug-in architecture taking advantage of Java classes
- Servoy creates Forms for viewing database content
- Servoy views related data in a Portal
- Servoy offers tabbed panels
- Servoy uses parts within Forms
- Servoy provides a property list with inspector for all elements
- Servoy uses Javabeans to increase/extend user interface functionality
- Servoy is "skinable" (allowing for user preferred appearances)
So the question is, "Should I throw out FileMaker Pro and start using Servoy today?" I would have to say No.
Have "I" personally dumped FileMaker in favor of the marvel that is this new technology? Again, the answer is No.
Whether you use FileMaker or Servoy all depends on the specifics and future of what you are developing. What are the future plans and what other types of data sources are you using? Will there be more than one data source? Will the solution need to scale to a level of high-end enterprise demands? If you answered yes to those two questions then Servoy is a perfect fit.
Can I get by with FileMaker Pro for most workgroup needs? That all depends on what the workgroup is doing and how much use the database will experience. In my case I'll likely be using both applications. They both fit in somewhere to what I am doing. Servoy is a better tool to connect to my backend CMS (content management solution) that is based in MySQL. FileMaker is a better tool for creating distributable solutions and resources and tools (note, I didn't say networked solutions - both Servoy and FileMaker have advantages and disadvantages when working in a multi-user environment)
Overall, competition is good - in this case it's great! It both motivates and inspires innovation. If you're the only player in town you can become complacent. If someone comes along and starts taking some of your market share then you start to listen to the winds of change and innovation comes quicker. This is the benefit to us as developers.
Do I think Servoy will replace FileMaker Pro, in short, no. One advantage is that both applications have similar environments that facilitate the creative side of application development. If I was going to develop a solution that would likely only require a few hundred thousand records then I'll likely do it in FileMaker Pro. If I need a solution I can distribute to a hundred customers so they can each maintain their own data set then I'll use FileMaker Pro. If I'm going to integrate data from different sources or manage a solution that uses a SQL backend then I'll likely choose Servoy.
So in conclusion, Servoy will fit nicely in my bag of tools right alongside with FileMaker Pro. I've always tried choosing the right tool for the job and adding one more makes me that much more versatile as a developer.
Filed under: articles
Let us tell you when a new video is posted. We'll send you an email with a direct link right to your email inbox.Make sure and whitelist (or add to your address book firstname.lastname@example.org
10 Most Recent Videos