WISSS / Webapp Is Simple, Stupid and Secure

Wisss est à la fois un DSL et un générateur Php. Il a pour but de génèrer toutes les couches (persistance, métier et présentation) en se basant sur le Zend Framework. Wisss est axé sur la simplicité, la souplesse, la sécurité et la performance.

Démonstration

Démonstration de la création d'un modèle avec la version SVN.

Démonstration de la génération avec la version SVN.

Présentation

Le métamodèle Wisss

Le module de génération exploite le DSL Wisss et produit le code Php correspondant.

Le métamodèle Wisss reprend un sous ensemble des diagrammes de classe d'UML pour modéliser les objets métiers et y ajoute les spécificités d'une application web. La raison de la définition d'un DSL si proche d'UML est simple : la facilité de modélisation. En effet, un des problèmes des frameworks de génération Php et des modules de génération basés sur les profils est la nécessité de connaître un langage spécifique dans le premier cas ou de connaître les règles de génération dans le second.

Le but du DSL Wisss est de ne permettre de modéliser que ce qui provoquera une génération pour avoir un modèle complètement pertinent.

Aussi retrouve-t-on la notion de classe (concrète ou abstraite), d'héritage d'attribut, de type, d'association, de cardinalité. Wisss permet pour l'instant de définir le modèle de données et a pour objectif de définir également les enchaînements d'écran.

Pour l'instant, les modèles peuvent être définis à partir de l'éditeur hierarchique généré par EMF mais à terme Wisss fournira un modeleur graphique à l'aide de GMF.

Le générateur

Le module vise une génération à 100% pour les applications simples permettant de déployer l'application en quelques minutes. Il est toutefois possible d'enrichir le modèle ou d'ajouter du "user code" pour adapter le site à vos besoins.

Le générateur produit une architecture MVC basé sur le Zend Framework. Il tente en outre de résoudre les problématiques de mapping entre base de données relationnelles et couche métier objet (ORM).

Pour chaque classe du modèle, il génère donc un Data Transfer Object et un Data Access Object (mysql uniquement pour l'instant).

Ainsi chaque objet peut être créé, sauvegardé et chargé en quelques lignes de code sans se soucier de la base de données.

Ces classes générées peuvent être complétées ou modifiées par le biais de zones de code utilisateur.

Planning

Statut du module
métamodèle de données

100%

métamodèle de d'actions

0%

générateur de la persistance

80%

générateur des contrôleurs

0%

générateur des vues

0%

Modeleur GMF

0%

Scripts de déploiement

0%

Installation

L'installation est détaillée sur la page d'installation des modules . Ce dernier nécessite Zend Framework.

Démarrage rapide

A venir.

Webdesign : www.katrinet.com - Réalisation : Obeo