Does Software Architecture Matter?
As a property management executive, why should you care about the software architecture of your property management system? Because the architecture will determine if the software can be extended and customized to meet your company’s future needs. Most of the leading property management systems, such as Yardi, MRI, Appfolio or Rent Manager are packed with features. If you are using property management software from Appfolio or Rent Manager, do you wonder how these companies continue to add features and continuously extend the capabilities of the software?
I will introduce here a simplified software architecture that most property management systems are based on. Software architecture is best described in terms of layers. A three-layer software architecture for property management systems is shown in the diagram below. The capabilities of Yardi, MRI, Appfolio or Rent Manager can be understood in terms of these layers.
The Three Layers
The user interface represents what you see. Whether you are using a PC browser or mobile phone, you are interacting with your property management software through its User Interface layer.
This is the most sophisticated part of your property management system. By keeping this separate from the User Interface and the Database layer, a level of complexity is reduced. The application layer itself consists of several subsystems, such as the workflow functionality, the logic for calculating balances and accruals, managing permissions, creating reports and recording bills and payments etc. are managed here. If your property management system has an API that allows it to send and receive data from external systems, that also runs in this layer.
The database layer is simple. Its purpose is to save the data. Whether you are using MRI, Yardi, PropertyWare, Appfolio or Rent Manager, all of these systems have a database. The code running in the Application Layer “requests” the Database Layer to read or write data for it. The database are SQL databases, often MySQL, which is an open-source relational database.
Contrasting Architectures: Appfolio or Rent Manager?
Let’s see how this layered architecture comes into play when competing on features (internal or third-party). I don’t have hands-on experience with Appfolio, but I do with Rent Manager. I have, however, inquired about the API and third-party services through Appfolio personnel.
Flexible vs Rigid Property Management Systems
As your property management business grows and becomes complex, you might find that your property management software cannot be customized for you. Companies that designed their software with little separation between the layers are the first to reach rigidity. Both Rent Manager and API are well-designed. Appfolio uses a different technology stack (Ruby, PHP, Java) whereas Rent Manager utilizes the Microsoft .NET stack.
Open vs Closed Property Management Systems
As a business strategy, some companies have chosen to open up their systems to third-party applications, while others trying to offer all the features you might want through their one platform. Rent Manager has embraced the open model, and has released an API that allows both reading and writing of data from third-party applications. They have also embraced third-parties providing Rent Manager consulting services. Appfolio, on the other hand, seems to have chosen a closed strategy. Appfolio has chosen to provide customization services through its own professional services team, and has not (to my knowledge) published an API that third-parties can utilize for providing features and integrations.