WISSS / Webapp Is Simple, Stupid and Secure

Wisss is a DSL and a Php generator. It aims to generate all layers (persistense, business and presentation) basing upon Zend Framwork. Wisss is focused on simplicity, flexibility, security and performance.

Demonstration

Screencast of the model creation using the SVN version.

Screencast of the generation using the SVN version.

Overview

Wisss metamodel

The generator uses Wisss DSL and produces corresponding Php code.

The Wisss metamodel uses a subset of UML class diagrams to define business objects and add to it the specificities of a web application. The reason of a DSL so close to UML is simple : modeling facility. Indeed, the problem with current Php generation frameworks and generators base on UML profiles is the necessity to know a specific language for the first one or to know generation rules for the second one.

The goal of Wisss DSL is to only allow to model what will trigger a generation, this in order to have a completely relevant model.

Also we can find the notion of class (concrete or abstract), inheritance, attribute, type, relationship, cardinality. For now, Wisss allows to define data model and aims to define screen chain.

For now, models can be defined with hierarchical editor generated by EMF but Wisss will eventually provide a graphical editor thantks to GMF.

The generator

The generator aims to generate up to 100% for simple models, allowing thus to deploy the application in a few minutes. However you can improve the model or add user code to make the website fit to your needs.

The generator produces a MVC layers architecture based upon Zend Framework. It tries to resolve the issue of Object/Relational Mapping (ORM).

For each class from the model, it generates a Data Transfert Object and a Data Access Object (mysql only for now).

Thus, each object can be created, saved and loaded in a few lines of code, without caring about the database.

These generated classes can be completed or modified in user code section.

Planning

Generator status
data metamodel

100%

action metamodel

0%

persistence generator

80%

controller generator

0%

view generator

0%

GMF modeler

0%

Deployment scripts

0%

Installation

The installation process is explained on the Installing a generative module page . The current module needs Zend Framework.

Quick start

Coming soon.