Rapid Application Development Platform Findings

Authored by University Information Systems Hot Team

2014-15

Scenario

Stony Brook University’s IT staff is charged with serving a large and diverse internal customer base with a variety of business processes that satisfy policies and regulations originating from a variety of institutions, including the University itself, SUNY, RF, accrediting bodies, and a variety of sponsors. IT staff has on many occasions created custom software applications to digitize these business processes. The coding required to create custom applications, however, takes a great deal of time and effort, even for small applications. The prevalence of mobile computing adds to this effort. Many of the business process applications that have been developed do not have complex technical needs. Often, they provide data entry, data retrieval, approval routing, and basic reporting. This means that developers spend a great deal of time writing similar or repetitious code, all of which needs to be thoroughly tested.

To better serve these customers, IT staff need to have tools that enable it to develop such applications quickly and effectively. A small team assembled to assess a few tools that allow developers to create applications intuitively with minimal coding. The tools evaluated included the Force.com platform, CIP Reporting, and the Mendix platform. The team decided that the Mendix platform would be the most appropriate platform to meet the needs outlined above.

What is It?

Mendix is a tool to develop applications rapidly with minimal or even no coding. Mendix supports Agile-based development using its built-in Agile project management tools. Programming skills are not required to build basic applications in Mendix. Data structures and workflows can be developed using WSYIWYG tools. The Mendix platform handles all internal data operations automatically, so there is no need to maintain database connections or commands. Applications developed using Mendix are hosted in the cloud. There is no need to maintain an application or database servers. Mendix can also consume and expose SOAP and REST-based web services, and the platform works with SSO.

How Does it Work?

As with any application development project, it is necessary to gather user requirements. Based on those requirements, Mendix can be used to create the data structures and workflows quickly for customer feedback. This is supported by the built-in Agile project management tools. Developers can create stories and tasks, organize sprints, and track work using burndown charts. Once applications are tested and customers are satisfied, it is straightforward to move new applications or changes to existing applications into production.

While developing Mendix applications requires little or no code, DoIT would need to configure existing applications to expose integration endpoints where Mendix applications would need to interact with those applications or to create integration such endpoints when the applications don’t support them. This would be true regardless of development platform.

Who's Doing It?

Several universities, including UPenn and MIT, have used Mendix to build applications. The team spoke with a project manager at MIT who was reported that the platform was worth the cost and that the platform was fully capable of supporting whatever needs they have had. Non-academic Mendix customers include Liberty Mutual, the Boston Globe, Berkshire, Hathaway, and GE. Gartner’s 2015 Magic Quadrant for Enterprise Application Platform as Service (aPaaS) identifies Mendix as a “Visionary”.

Why is it Significant?

Using Mendix would allow IT staff to reduce time and cost to bring applications into production. We would also be able to respond much more quickly to changing requirements. Using an application platform will also foster consistency between applications. Because so much of the boilerplate-type functionality (such as data storage operations) is handled automatically by the platform and because little to no coding is required for any given application, there are fewer opportunities for errors to be introduced. The Mendix platform also supports mobile devices and therefore would make it easier for DoIT to support mobile devices.

What are the Downsides?

Selecting a development platform requires a long-term strategy in order to be cost-effective. The team recommends a commitment to use the platform for 7 to 10 years in order to make the effort worthwhile because the cost and time of migrating from one platform to another is high. While the Mendix platform makes it easy to retrieve data programmatically, vendor lock-in is a concern with any development platform. Because cost for Mendix is dependent on the number of applications and the number of users, it may be difficult to create cost-effective, campus-wide applications at the outset.

Where is it Going?

Increasingly, IT is moving to cloud-based solutions to the problems IT is charged with solving. Additionally, development platforms are increasing in popularity and effectiveness. As more and more aspects of life at Stony Brook University are being digitized, IT staff will continually be asked to do more, which the Mendix platform would enable with our existing staff.

Implications for Higher Education

We expect that there would be shorter time and lower cost to development applications that satisfy the same requirements using Mendix than there would be development custom applications or with other development platforms. This would allow any university or institution to better leverage the technical skills of development staff to solve problems with a high degree of technical complexity by removing the need for them to work on problems with low technical complexity. There is also the potential for business analysts and similar administrative and academic staff who have analytical skills to create their own workflow applications where DoIT would assist in rather than directly perform development.