Architecture d'une application en technologie Up ! Software Development Kit
Architecture d'Up ! Software Development Kit
Les outils d'Up ! Application System utilisent un noyau de développement commun dénommé Up ! Software Development Kit. Il est découpé en modules spécialisés regroupant les composants de développement.
Un des plus importants module comporte un modèle regroupant pratiquement tous les concepts langages de programmation les plus couramment utilisés, quelle que soit la typologie de l'application.
Cela permet d'avoir une sémantique cohérente entre tous les programmes du kit de développement et aussi les applications possibles.
Ce modèle linguistique est mis en oeuvre pour un langage de haut niveau et en pseudo-langue naturelle appelé Up ! 5th Generation Language i.e. Up ! 5GL, le langage d'Up ! Application System à usages multiples :
- Spécification.
Définition et vérification de la cohérence des modèles de données et de traitements.
- Programmation.
Ecriture des composants regroupés en modules à orientation technique ou métier.
- Intégration.
Assemblage des modules pour fabriquer les programmes les applications.
- Connaissance métier.
Ecriture des règles d'expertise métier externes aux composants.
- Recette.
Script de test des applications : composants, modules et programmes.
- Exploitation.
Script d'automatisation de l'exploitation des programmes côté serveur ou de l'usage des programmes pour tâches à faible valeur ajoutée côté client.
Ce modèle linguistique est automatiquement adapté à d'autres modèles linguistiques correspondant à des langages ou des normes classiques de la sorte à s'intégrer aisément aux applications existantes :
- Advanced Business Applications Programming.
Pour l'intégration avec l'Enterprise Resource Planner (ERP) SAP.
- C / C++.
Pour la production de programmes exécutables binaires.
- Common Object Request Broker Architecture.
Pour l'usage ou la production de composants Corba.
- Component Object Module.
Pour l'usage ou la production de composants Com.
- Java.
Pour l'usage ou la production de composants J2EE.
- Pl / Sql.
Pour l'interaction avec les bases de données relationnelles ou objet tel Db2, Microsoft Sql Server, Oracle ou PostgresSQL.
- Single Object Activation Protocol.
Pour l'usage ou la production de composants SOAP.
Ce modèle linguistique est peut être étendu par l'emploi des instructions de méta-langage de la sorte à le rendre plus convial ou de le spécialiser pour certaines typologies d'application :
accès aux bases de données, échange de données informatiques, intégration d'applications, production d'interfaces homme-machines, production de documents ou services réseaux.
Une autre spécialisation possible est d'avoir un format de persistance de haut niveau.
Une vue linguistique s'apparente alors à des Langage de Quatrième Génération (L4G) spécialisés qui sont basés sur Up ! 5GL en terme de conception.
Aucun des outils du kit développement ne dévie de cette architecture, ce qui a pour bénéfice de :
- Pourvoir les faire interagir fortement.
Ils peuvent se consolider et s'échanger des parties de programmes telles des constantes, des variables, des procédures, etc.
- Avoir une forte cohérence entre les outils.
Ils ont le même comportement tout en s'axant uniquement sur leur spécificité. Ils sont complémentaires voire inter-dépendants.
D'autre part, ils sont programmés sous forme de composants techniques assemblés en des programmes particuliers - Up ! Compiler, Up ! Script Engine, Up ! Workbench, etc.
Ainsi, chacun peut se créer un programme comportant des fonctionnalités de développement ou d'exploitation qui lui sont propres.
Architecture d'Up ! Virtual Technical Machine
Les programmes d'Up ! Application System utiliseront certainement des modules complémentaires à Up ! Virtual Technical Machine
gérant les technologies tierces :
- Accès aux bases de données.
De type Db2, My Sql, Oracle, PostgresSQL, Sql Server.
- Echange de données informatiques.
Au format Csv, Edifact, IDoc, Xml, etc.
- Production d'interfaces homme-machines.
En client-serveur sur Macintosh, Windows ou X11 sur Linux ou en client léger fixe ou mobile en Ajax et Xml.
- Production de documents.
Au format Html / Css, Pcl, Pdf, Postscript, Rtf.
- Services réseaux.
Via les protocoles Ftp, Http, Imap, Ldap, Pop ou Smtp.
Dans le but de vous faire réaliser de substantielles économies par l'effort inutile de développer et d'entretenir des connaissances sur ces technologies, normes ou standards et leurs langages correspondant,
ceux-ci sont gérés automatiquement et masqués par les Application Programme Interface (API).
De plus, certains modules comportent des concepts ou des instructions spécialisés et puissants étendant Up ! 5GL :
- Nouveaux concepts.
- Le curseur pour aller lire des données dans un Système de Gestion de Bases de Données Relationnelles (SGBDR) au moyen de Structured Query Language (SQL).
- La fenêtre ou le menu pour construire des applications graphiques.
- Nouvelles instructions.
- L'instruction UpsQry.Executer pour exécuter une requête Structured Query Language (SQL).
- L'instruction UpsWin.TraiterEvenement pour traiter les événements relatifs à une fenêtre (agrandissement, déplacement, etc.).
Ainsi, Up ! Software Development Kit et Up ! Virtual Technical Machine sont extensibles et organisés en couches technico-fonctionnelles débrayables.
De part le noyau commun, une nouvelle extension pourra interagir avec les autres extensions sans que cela soit à priori prévu au départ.
Par exemple, dans un programme réalisant des calculs scientifiques dont les résultats sont présentés dans des Interface Homme-Machine (IHM), il est possible d'ajouter au dernier moment :
- Un lien avec une base de données avec tout le confort qu'offre les meilleurs outils d'informatique de gestion.
- Un programme d'édition mettant en forme les résultats des calculs. Le document de l'édition pouvant optionnellement être récupéré dans un outil de bureautique ou publier sur Internet.