Afterthoughts - Short Introduction to Metasystems

Today we had a small session with Joni Töyrylä about metasystems. We discussed a system he had developed in particular. While at it we tested Google Hangouts. Although planned we didn't end up recording the session. Instead I thought it might be a good idea to gather some thoughts.

A metasystem can be defined as a system that allows you to define systems. In this case the system made it possible to define models of the actual system. In addition the system allows to define a limited set of user interface related settings such as ordering and visibility of model attributes. All of this was possible through a user interface. The system generates actual code based on the definition.

One cool thing Joni had in place was the possibility to extend existing metamodels. In effect you could take something more abstract and then build your model on top of that avoiding some of the work required. Another thing that I took a note of was the fact that the system provided REST API for the models defined automatically.

This is something I've seen implemented before on Enginio. There are a lot of these BaaS services available these days. Firebase is likely one of the most hyped at least according to what I have seen. The primary advantage of these kind of services is that they remove one bit you have to implement anyway and take care of things like scaleability.

How about changes to data model (aka migrations)? Joni did not have a clear answer to that yet. There are some solutions definitely but which one to implement is another story. And using metamodels, such as Joni's, doesn't actually relieve you from defining your business logic and user interfaces.

In terms of business logic services such as Noflo could become very interesting. Combine that with web based IDEs such as Cloud9 and a service aimed for the user interface side, such as Jetstrap, and you might have something nice together. It would not surprise me a lot to see these kind of services (backend, logic, frontend) to meld together. With good enough integration developing web services on top of web itself using a web browser itself could become mainstream rather sooner than later.

I think the session with Joni gave us a small peek at the future. Historically systems such as these have been in use. They've never reached popularity in mainstream. This is something that just might change by the end of the decade.

In effect this would mean at least some level of commoditization on the segment of web development. In other words this would be yet another step towards a world where more people can develop and share their creations as the barrier of entry becomes lower. Services such as Yahoo! Pipes already give us some idea. Now just to wait for the solution that combines the critical bits together and provides us something to develop entire web services with.


Post a Comment

Copyright © Geek Collision