What would you call the Outsystems Markup Language? How to tipify it?

What would you call the Outsystems Markup Language? How to tipify it?

Hey everyone,

I was just now posed with the question of "How do you categorize Outsystems development?" .

Can we say it is Object Oriented? I think so, but then it would be in the same level as .NET and JAVA and others ..

Is there any category where it fits?

Best Regards,

Diogo C S Cordeiro
Hi Diogo.

I'd say that the only place where I'd feel comfortable categorizing OutSystems development is in the model-based development category.

I'd like to hear what others think of this subject, actually. What's your take, everyone?


Paulo Tavares

I think it is a Visual Programming Language or diagrammatic programming, see wikipedia

Best regards,

Thank you all, I guess Visual Programming Language is the one.

Best Regards,

Diogo C S Cordeiro

Hi Diogo,

I think you could also call it a 5GL language

The Agile Platform is a model based development environment with its own Domain Specific Language (DSL) that provides a visual programming environment for building web applications.

I believe outsystems would be categorized as a Domain-Specific Modeler.

Domain-specific modeling (DSM) often includes the idea of code generation: automating the creation of executable source code directly from the DSM models. Being free from the manual creation and maintenance of source code means DSM can significantly improve developer productivity[1]. The reliability of automatic generation compared to manual coding will also reduce the number of defects in the resulting programs thus improving quality.
REF: http://en.wikipedia.org/wiki/Domain-Specific_Modeling

Similar concept to data modelling tools, such as Sybase PowerDesigner, ERWin etc where you can map out the database visually using a data model and then later have it generate the SQL DDL for a specify database (SQL Server, Oracle, MySQL etc).

But if you categorize it as a DSM, the average joe might not know what this means, so you might want to call it a Visual modeling development tool.
An article about DSM: http://www.methodsandtools.com/archive/archive.php?id=26
(From this article, it would be best to categorized outsystems as a Domain-Specific Modeler.). 

Of course OML is just an XML schema.

Regarding the OutSystems visual interface (i.e. lacking a formal definition, as OML is implemented in the OutSystems Service Studio tool) it is obviously a visual programming language.

It is not a model because a model is a representation (i.e. a simplification) of something, and OutSystems lets you build real-world complete applications -- not just "model" them.

It is also not "domain-.specific" because you can build virtually any kind of application with OutSystems. (Unless you consider the Web as a domain, which it is not -- it's just a kind of interface for applications).

It is not 5GL because you have to write the algorithms yourself.

Alas, both Agile methodology and visual programming come from Rapid Application Development (RAD) that was very popular in the early 90s. However, RAD failed because you could not (in the 90s) built complete applications with the existing tools.

OutSystems and Agile have had success because they implement the RAD paradigm so well. Other visual programming IDE (there are dozens of them!) lack the added-value tools that make OutSystems so interesting for enterprises, such as the SAP integration tool. OutSystems has also been able to support the whole application lifecycle, not only generating code.

Outsystems Agile Platform (OAP) is a Service-oriented architecture platform and this platform itself can not be put into a single category ,  it just does not fit into a single category , however individual products could be categorized.

By definition, Domain-specific modelling (DSM) refers to the idea of code generation: automating the creation of executable source code directly from the DSM ."

In regards to Outsystems Service Studio (OSS): The models are the visual representation of the elements (ie start, user actions, Queries, etc..End - this is the DSM) that are used to generate the OML/XML schema then the web applications in the form of JAVA / C#.NET code.

Outsystem Service Studio also consist of a "Data modeling tool" (http://en.wikipedia.org/wiki/Data_modelling) where that the end user can design entity database tables via a visual representation of the data models. (DDL code can then be generated from these data models)

Outsystems ServiceCenter is not a DSM tool, but rather best categorize as a Software Development Life Cycle management tool.

Outsystems Scoping & Sizing tool would be best categorized as a "Agile Project Management Tool"