PPAW est une solution Hébergement + Web-Application en Paradox, puissante, performante et facile.
Les principales fonctionnalités sont les suivantes :
- gestion intégrée des pages web entières
- AJAX (requêtes et/ou contenus partiel de pages web) ; mais sans utiliser XML
- relais facile des pages statiques
- pages statiques avec un remplacement dynamique (autrement dit, création dynamique de pages statiques)
- cookies
- gestion des sessions (basée sur IP externe+navigateur)
- gestion des sous-adressages (URL contenant des adresses avec « sous-répertoires »)
- gestion des paramètres des URL (après le "?")
- files-upload
- files-download
- accès complet à Ponx, côté serveur
- gestion des CSS "alternatives"
- ajout de code Javascript à la volée possible
- gestion des tags <opal> </opal> supportée (pour compatibilité ascendante seulement)
- testé avec IE, Opera, Kameleon, Firefox, Enigma, Maxthon
- fonctionnement possible aussi en local, ou en Intranet (réseau local).
- possibilité d'utiliser un serveur local, relié à Internet. Attention aux performances de connexion (à la liaison Internet).
- possibilité de servir des tables Paradox à la volée (genre table REPONSE d'une requête) ; avec, ou non, compression ZIP.
Le principe est le suivant :
- les pages web sont générées à la volée, par des méthodes ObjectPal (Paradox)
- pour chaque page, on a une méthode qui définit la page, et une autre méthode pour la traiter
- chaque méthode a, à sa disposition :
- un dynarray qui contient les valeurs et paramètres de la page
- un identifiant de la session
- le nom associé à la session (ou "anonyme" pour une personne qui ne s'est pas identifiée).
- une librairie pour composer les pages HTML en retour, ou les réponses aux requêtes AJAX
- la mise en forme des pages utilise essentiellement les CSS
- des templates permettent d'accélérer la génération des pages Web
Performances :
- une page normale est rendue en 1/10e de seconde environ
- le système gère 5 threads Internet simultanés
- traitements Paradox rapide, car Paradox est considéré comme installé localement (pas en réseau)
Cela devrait suffire pour supporter 50 connections simultanées. Toutefois, en pratique, cela dépendra des requêtes utilisateurs (en Paradox). Si des requêtes sont longues, le nombre de connexions peut s'écrouler. Par exemple, la recherche de 1000 villes aux environs de chez moi prend 20 secondes (requête + génération du tableau + envoi de la page). Si quelqu'un d'autre demande une page, la réponse est mise en attente.
Limitations et contraintes :
- pas prévu pour gérer des sites très fréquentés. Ne comptez pas gérer plusieurs milliers d'accès simultanés
- la gestion des logs est simpliste.
- de nombreuses erreurs Paradox ne peuvent être gérées (ni par des IF, ni par des TRY-ENDTRY) ; en conséquence, cela bloque le système (sauf pour les pages web statiques). Pour limiter les conséquences, un système (externe) de surveillance redémarre PPAW en cas de non-réponse. Pour l'instant, le test a lieu toutes les minutes. Dans le pire des cas le système est redémarré (débloqué) dans les 2 minutes.
- le système gère un time-out de 18 secondes, sur Paradox ; à prendre en compte pour les requêtes longues. Il n'y a pas de time-out pour AJAX.
- les ressources HTML, pour la génération des pages, sont limitées à l'essentiel. Des objets (tags) supplémentaires seront ajoutés, ainsi que des options pour les éléments déjà gérés. Toutefois, il est possible d'insérer du "HTML brut", ou de définir des templates spécialisés
- les tags <opal> </opal> ne sont supportés que pour des raisons de compatibilité ascendante. Ce genre de pages "statiques + remplacement", souvent utilisé avec PHP, me semble un recul par rapport au système de génération des pages. En clair (?), on reviendrait des "Web-applications" vers des "Sites Web".
- ne fonctionne que sur des serveurs Windows (à cause de Paradox et Ponx). Mais la très économique "Windows-2003-server-Web-edition" convient très bien.
- les requêtes Paradox sont traitées au fil de l'eau. Si besoin, je pourrais mettre en place une file de gestion.
- Pour être mise en oeuvre, PPAW nécessite du développement. Il faut, notamment maîtriser un peu ObjectPal. Disons être à l'aise avec les tcursor. La gestion des évènements n'est quasiment pas utilisée, donc cet aspect est sans importance.
- la mise en place du serveur demande des compétences particulières, et de nombreuses installations (Paradox, Ponx, quelques répertoires, des utilitaires, etc.) ; la configuration et l'optimisation sont également un peu technique. Pour l'instant, je suis le seul à pouvoir le faire. Mais, rassurez-vous je suis prêt à fournir les prestations nécessaires.
- la documentation est à la traîne.
Eléments de Comparaisons :
- PPAW ne sert aucune fiche (form) Paradox. Cela n'a rien à voir avec PxForms, par exemple.
- Les développements pour PPAW se font en Object-Pal (avec disponibilité de Ponx)
- les états (reports) peuvent être fournis sous forme de fichiers PDF.
Démonstrations / tests
Un serveur est disponible en démonstration, avec quelques exemples.
L'adresse est : http://213.186.37.221
http://213.186.37.221
Attention, sur ce serveur, tournent également :
- un serveur FTP
- un serveur de news (avec archives de pnews, du zoo, et qq autres newsgroups)
- TPS (mais TPS consomme très peu de ressources)
La vitesse de connexion du serveur est bridée pour chaque connexion, de façon à mieux répartir. Cela permet d'avoir, par exemple, une dizaine de personnes téléchargeant par FTP à 320 ko/s, d'autres personnes consultant des news, sans que cela ne pénalise les Internautes naviguant sur le site web.
[Annonce] PPAW Hébergement + Web-application en Paradox
-
- Messages : 405
- Enregistré le : mer. oct. 30, 2002 11:20 pm
- Localisation : Voie Lactée
- Contact :
[Annonce] PPAW Hébergement + Web-application en Paradox
Michel Claveau Informatique
-
- Site Admin
- Messages : 855
- Enregistré le : sam. sept. 14, 2002 10:41 pm
- Localisation : Igny (Essonne)
Salut Michel
Visiblement tu ne connais pas le mot vacances ! Bravo pour ton travail mais je ne comprends pas ce que cela apporte de plus par rapport à la simple utilisation de PHP ? As-tu un exemple de fonctionnalité en tête ?
Faut-il que tu le détestes à ce point le Php pour le contourner de la sorte![Laughing :lol:](./images/smilies/icon_lol.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Visiblement tu ne connais pas le mot vacances ! Bravo pour ton travail mais je ne comprends pas ce que cela apporte de plus par rapport à la simple utilisation de PHP ? As-tu un exemple de fonctionnalité en tête ?
Faut-il que tu le détestes à ce point le Php pour le contourner de la sorte
![Laughing :lol:](./images/smilies/icon_lol.gif)
-
- Messages : 405
- Enregistré le : mer. oct. 30, 2002 11:20 pm
- Localisation : Voie Lactée
- Contact :
Bonjour, Côme !
Les principales différence, par rapport à PHP :
Les principales différence, par rapport à PHP :
- - c'est orienté "application", alors que PHP est orienté "page"
- - toute la logique est gérée en Object-PAL, et on est DANS Paradox
- - chaque page demandée par un visiteur correspond à l'appel d'une méthode Object-PAL (pas de fichier) ; on peut donc utiliser tous les sous-programmes définis pour une utilisation avec Paradox en local.
- - le serveur web est intégré ; avec PHP, il faut installer Apache, ou IIS, ou un autre serveur, et se payer toute la configuration.
Michel Claveau Informatique
-
- Messages : 405
- Enregistré le : mer. oct. 30, 2002 11:20 pm
- Localisation : Voie Lactée
- Contact :
Un autre aspect
Re-bonjour
Un autre aspect que j'ai oublié de signaler, c'est qu'un "client" Paradox, sur un ordinateur local, peut très bien ouvrir des tables sur le serveur PPAW distant, même pendant que des Internautes visitent le site.
Cela peut permettre de faire des mises à jour, ou de récupérer des données, en quasi temps-réel, etc.
Un autre aspect que j'ai oublié de signaler, c'est qu'un "client" Paradox, sur un ordinateur local, peut très bien ouvrir des tables sur le serveur PPAW distant, même pendant que des Internautes visitent le site.
Cela peut permettre de faire des mises à jour, ou de récupérer des données, en quasi temps-réel, etc.
Michel Claveau Informatique