MapperIdea: A new way to think about Software Development — Part 1 — First things first

skalena
4 min readAug 3, 2019

--

In this post, we will cover the initial experience of using mapperidea.

Installing de Command Line Tool

Mapperidea CLI requires Node installed into your machine, as well as the nvm utility, so check the requisites first:

mapper-idea Installation

Mapperidea Short History

The original creator and inventor of that development concept and methodology: Clovis Wichoski, currently Skalena's CTO. That solution has more than 15 years. In 2014, Clovis met Edgar Silva, back on that time working for WSO2 as the Latin American Head, and working together for a customer with a low budget and very short time to get the project done, they had decided to use bacalhau(codfish) the first way that Edgar had named that project on that time. In 2018, Edgar invited Clovis to be part of a new project in 2019 (Skalena), where one of the goals was to make mapperidea a real product, and not only in Brazil, but helping the whole world in how to develop software better, faster and to be a key enabler for a pragmatic and definitive Digital Transformation.

mapperide machine: Concept

Skalena: "Eating our own food"

In order to accelerate some of our strategic projects, we are using mapperidea to help us to transform the traditional development in something that we humbly believe that can change the way that software is built on.

We are working on our projects, and in parallel evolving mapperidea to be a definitive solution to hasten any kind of development, but let's get already on this post to introduce a few concepts from mapperidea.

The Key Concept: The MindMaps

"The killer approach and concept from Clovis is the Mind Map notation," said Edgar Silva, that had created in the past another tool to help to accelerate the development: Greenbox. Giving the experience in to generate apps, we can say that we quite understand the frustrations, pitfalls, and drawbacks of that kind of solution, for that reason, mapperidea is designed to offer a totally different experience. Using Mind Maps, we can express not only the application's metadatas but also the whole business rules, behaviors, and even UI abstractions.

In other words, with a simple MindMap, we can express more than a combination of the following:

  • BPMN — Processes with their Human Tasks + Forms
  • DMN — Domains and Rules
  • UML — Classes Diagram — Model and Attributes
  • UML — Sequence Diagram — Events
  • UML — State Diagram — States

The reason why we can do that is because we had created a "fluent" visual DSL, that allows people to express exactly what they need from an application without to write a single line of code.

To map the domains, its attributes, labels, business rules, behaviors, and methods are extremely easy and clear for the users.

We are suggesting a new role in the industry that will be called mappers which are users that are capable to create the mind maps for describing and develop software.

mapperidea: As a Methodology

More than a tool, mapperidea dictates a methodology that includes concepts from Agile, as well as the DevOps culture. We can deliver software faster, so we can also "fail fast" if necessary. We can adapt the solution according to our needs and refactor the whole application just changing a simple point: The mapperidea Templates.

mapperidea Templates.

They are the component that allows the maps to born as live applications. In the templates, we define the application's UI and architecture skeleton based on patterns and giving these patterns, the application will be generated, already integrated with a git repository and ready for a pipeline CI/CD process.

The templates compositions may vary, we could get:

  • Angular for UI , SpringBoot for Microservices, Mongo for Persistence
  • Vue for UI, Node, Redis
  • React, KNative , Firebase
  • QT, C++
  • Etc

There are no limits for the templates, and also what we call Side-Effects Components, imagine that if we want to add an Observation Layer, based on OpenTracing standard with Prometheus, or some component like Hytrix, etc, all that stuff could be added on the template as well.

Talk is Cheap: Let's demo it!

In this demo, we will show how we can dramatically accelerate the Open API Spec (Swagger) document definitions, taking in consideration that a user might have ZERO knowledge in to do define a proper API:

2 Minutes Demo

Quick Presentation: In Portuguese please, enable subtitles automatic translation to English, Spanish, French… Thanks, YouTube!

Keep your eyes on mapperidea, we really believe that there is a big contribution we can do in the industry, that is our belief, so, let's continue moving forward.

--

--

skalena

Skalena is technology company based in Brazil that supports and enable digital transformation with opensource and innovative stacks