Graph-oriented programming is a certain mindset that is quite new. We, at GraphApps, believe that it will change our ways to develop business applications because it cumulates a lot of advantages:
- It is simpler that OOP;
- It enables to create real evolving applications with almost no generation of technical debt (if we respect certain patterns);
- It changes the approach by melting several influences (OOP, functional programming, design by contract, etc.) into a new programming paradigm.
The Necessity Of A Designer
The fact is business applications often manipulate hundreds of business concepts in a complex semantic universe. It seems impossible:
- To build the application without designing (at the structural level);
- To maintain it, especially if the special features that make the graph-oriented applications so easy to evolve were used.
A designer must be used by teams that intend to develop with the graph-oriented programming paradigm.
One Model, Multiple Views
A graph is an evolving object that contain nodes and relationships. Depending on what we want to see, we must be able to look at a partial set of connections from a certain business node, like we do in UML Class Diagrams. That’s why the model must support several views.
The union of all views provided a “graph-view” of the model.
A Unique Grammar
The GraphApps Designer proposes a complete grammar for application design, a grammar that is adapted to the proper representation of business concepts and relationships. It is also possible to use the GraphApps Designer to reverse engineer an existing application in order to create a “graph-oriented version” of the application, version that will very easily evolve a lot after it is delivered in production.
The GraphApps grammar provides very important notions that will be at the center of the graph-oriented design process (such as domain or subgraph). It is also possible to represent the treatments that modify the graphs according to the rules of graph-oriented programming.
Importing Stuff Into The GraphApps Designer
The GraphApps Designer offers a way to import knowledge and to properly type them. All the instances loaded can be linked at import time. This feature enables time saving and rapid graph-oriented design.
Exporting Model to the GraphApps Web Framework Code Generators
A model made with the GraphApps Designer can be easily exported in order to be integrated into the GraphApps Web Framework Code Generators or other tool (such as analysis tool or documentation tool).
Reports can also be generated directly from the GraphApps Designer.
A Ergonomic Tool
The GraphApps Designer is very ergonomic and easy to use. However, it is important that the designer understands the graph-oriented design principles.