In the world of web application development, two new fundamental concepts have emerged: “all layers in one object” and “process-driven programming” resulting in “object-centric processes”. These principles revolutionize the way applications are built by simplifying development and enhancing collaboration.

The idea of “all layers in one object” revolves around encapsulating multiple layers of traditional full-stack architecture into a cohesive unit. By combining data, processes, and user interfaces within a single object, developers can streamline the development process and reduce complexity. This approach allows for a more intuitive and seamless integration of different objects, facilitating efficient communication and interaction.

Process-driven programming introduces a lifecycle-based approach to objects, enabling developers to define and automate processes that govern application behaviour. By modelling business workflows as processes, developers can improve collaboration, enhance efficiency, and ensure consistent execution of critical tasks. This approach aligns application development with real-world processes, resulting in more reliable and scalable solutions.

It is within this context that Petriflow, an open-source low-code language supported by the Netgrif low-code platform, enters the scene. By combining the principles of “all layers in one object” and “process-driven programming,” Petriflow provides “object-centric processes”, that offer a powerful and efficient solution for web application development. It embraces the concept of encapsulating all layers within a single object, simplifying development tasks and enhancing integration. Furthermore, Petriflow’s “object-centric processes” based on process-driven programming, allow developers to define and automate business workflows, improving collaboration and efficiency.

Petriflow seamlessly compiles into Java on the backend, leveraging the robustness and scalability of the Java ecosystem. The lifecycle of Petriflow objects captured in object-centric processes uses the concept of tasks that have associated data attributes of the object. Petriflow provides events both on tasks and on data attributes.  In addition to expressing relationships between objects using references to other objects in object-oriented programming, object-centric processes enable the synchronization of events in different objects.

The compilation process bridges the high-level abstractions of Petriflow with the capabilities of  Java, resulting in a powerful and efficient backend implementation. With Petriflow, developers can also leverage MongoDB for the data layer, ensuring flexible and scalable persistent data storage, and Angular for the GUI.

In conclusion, Petriflow builds upon the foundational concepts of “all layers in one object” and “process-driven programming” resulting in “object-centric processes” to offer a comprehensive low-code solution for web application development. By combining these principles and seamlessly integrating with Java, MongoDB, and Angular, Petriflow empowers developers to create sophisticated applications efficiently and effectively.