Uniface

Uniface

Uniface est une plate-forme de développement et de déploiement pour les applications d'entreprise. Uniface fonctionne dans une large gamme de systèmes d’exploitation : mobile, mainframe, web, SOA, Windows, J2EE et NET.

Les applications Uniface sont indépendantes de la base de données et de la plateforme d’exécution. Uniface fournit un cadre d'intégration qui permet aux applications Uniface de s'intégrer à tous les principaux SGBD, et à un large éventail d'autres technologies, comme les produits basés sur mainframe (CICS, IMS), les services Web, SMTP et POP email, annuaires LDAP,. NET, C et Java. Uniface fonctionne sous Windows, Windows Mobile, différentes sortes d’Unix et de Linux, IBM iSeries/AS400, z/OS, et VMS.

Les applications Uniface peuvent être utilisées dans des systèmes complexes qui maintiennent les données critiques de l'entreprise et s’appuient sur des processus opérationnels vitaux, tels que les achats en ligne sur le Web, les transactions financières, l’administration des salaires, et le contrôle des stocks. Uniface est actuellement utilisé par des milliers de sociétés dans plus de 30 pays. Uniface permet de développer une grande variété d’applications : Client /serveur, web. De la simple saisie de données à l’automatisation des processus métier, ainsi que des portails accessibles localement, via l'intranet et l'internet.

Développé à l'origine aux Pays-Bas par Inside Automation, devenu plus tard, Uniface BV, les produits et la société ont été acquis par Compuware Corp en 1994, cependant, le développement est toujours basé à Amsterdam.

Sommaire

Produits Uniface

La plateforme Uniface offre une gamme d'outils de développement et de déploiement, dont la plupart est regroupée dans l’Uniface Application Platform Suite (APS). L'APS comprend:

  • Uniface : environnement de développement. C’est un ensemble intégré d'outils pour la modélisation, la mise en œuvre, la compilation, le débogage et la distribution d'applications.
  • Uniface Flow : environnement pour développer et déployer des processus métier.
  • Uniface View : portail d'intégration d'applications qui fournit un bureau organisé de documents Web, des rapports de base de données, des applications d'entreprise, et d'autres ressources de l'entreprise.

Les applications Uniface (y compris l'environnement de développement, Uniface Flow et Uniface View) utilisent une infrastructure d'exécution commune, composée de:

  • Uniface Runtime Engine : une machine virtuelle spécifique à la plateforme qui interprète et exécute les composants d'application et les bibliothèques.
  • Uniface Router : un processus multi-thread responsable de la communication interprocessus dans les applications Uniface. Il démarre et arrête Uniface Server. Il effectue l'équilibrage des charges (load balancing), et transmet les messages entre les différents processus Uniface.
  • Uniface Server : un processus qui permet aux clients d'accéder aux ressources Uniface à distance ou d'exécuter des composants distants. Il agit comme un serveur d'applications, un serveur de données et un serveur de fichiers.
  • Référentiel Uniface : une base de données relationnelle utilisée pour stocker les définitions et propriétés des objets de développement, des modèles de processus et de l'organisation, et les définitions du portail.
  • Uniface Web serveur : le serveur Apache Tomcat est retenu pour développer et tester des applications Web, en production. N'importe quel serveur web peut être utilisé.
  • Servlets Java : servlets utilisées pour la gestion des échanges de communication entre le serveur web et le serveur d’applications Uniface pour les interfaces Web et les Web services.
  • Connecteurs de base de données : Pilotes qui gèrent les connexions entre Uniface et une grande variété de bases de données.
  • Les outils d'intégration : Pilotes, composants et API qui gèrent la communication entre Uniface et des applications tierces et/ou des technologies différentes : Java, CICS, IMS, LDAP, SMTP/POP, des commandes du système, COM et plus encore.

En outre, Uniface JTi (Java Thin Client Interface) permet d’accéder à des applications client/serveur Uniface à partir de n'importe quel ordinateur connecté à Internet.

Uniface possède un langage de procédure propriétaire appelé "Proc" qui est utilisé pour coder le comportement des applications. Le noyau d’Uniface et le code par défaut automatisent la plupart des opérations d'entrée/sortie. Si bien que les opérations de base n'ont pas besoin d'être codées.

Applications Uniface

Les applications Uniface sont basées sur des composants logiciels indépendants de l'infrastructure, des bases de données et des systèmes de fichiers. Elles peuvent être des applications composites qui comprennent des éléments non-Uniface créés à l'aide d'autres outils de développement, elles peuvent être déployées dans les environnements client/serveur, web, mobiles, services web, et mainframe. Uniface comprend plusieurs de types de composants qui sont destinés à être utilisés dans les différentes couches d'une architecture d'application multi-tiers.

Les composants pour la couche de présentation sont responsables de l'interface utilisateur, et comprennent:

  • Les "Form" : Ecrans ou formulaires interactifs pour l'affichage et la mise à jour des données dans un environnement client/serveur.
  • Les "Server Page" : Pages HTML interactives pour l'affichage et la mise à jour des données dans un environnement web.
  • Les "Report" : Mise en page pour la présentation des données en vue d’une impression.

Les composants pour la couche logique métier traitent des règles commerciales et du comportement spécifiques lié à une tâche et n'ont pas d'interface utilisateur:

  • Les "Services" : Assurent le traitement et la logique métier lorsqu'ils sont appelés par d'autres composants, que ce soit localement ou à distance.
  • Les "Session Services" : Centralisent les règles métier complexes qui touchent plusieurs entités de données, tels que les comportements spécifiques d’une tâche, les transactions et l'intégrité référentielle.
  • Les "Entity Services " : Centralisent les règles liées à une seule entité de données.


Le tiers d’accès aux données contient les structures de base de données physiques définies dans le modèle d'application Uniface. Uniface assure l’accès physique aux données en encapsulant les ordres SQL dans ses connecteurs SGBD. La gestion réseau et les accès aux middlewares sont encapsulés par les pilotes middleware et le routeur Uniface. Le moteur d'exécution exécute les composants de l'application. Il affiche les composants de présentation en utilisant le connecteur d'interface utilisateur approprié (soit l'interface graphique, ou en mode caractère), et envoie ou reçoit les données via un connecteur SGBD.

Le développement d'applications

Avec Uniface, le développement est guidé par le modèle et se conçoit à partir de composants. La structure de données, les règles métier et le comportement par défaut de l'application sont définis dans le modèle d'application. La définition des modèles peut être réutilisée et héritée par les composants, qui ensuite peuvent remplacer les définitions héritées et fournir un comportement spécifique. La création de « Gabarits » ou « Template » permet d'améliorer la productivité et de garantir la cohérence dans la définition des modèles.

Modèle d'application

Le modèle d'application définit les entités (tables), les attributs, les clés primaires, les indices et les associations entre les relations pour définir l'intégrité référentielle. Chaque entité et chaque attribut dans le modèle ont des propriétés et un ensemble de déclencheurs. Les règles métier sont ajoutées au modèle de façon déclarative en définissant les propriétés et le traitement associé, en ajoutant du code Proc (langue de procédure d’Uniface) dans les déclencheurs. Les déclencheurs sont des conteneurs pour le code. Ils représentent des événements activés par l’utilisateur ou le système. Exemples : "Occurrence Get Focus", "Read" ou "Leave Field". D'autres portent sur des traitements tels que la validation, ou agissent comme conteneur pour les méthodes associées à l'objet. L'utilisation de déclencheurs au niveau du modèle permet de recueillir les propriétés et le comportement métier des objets. La séparation entre structures logiques et données physiques permet de définir le comportement par défaut une seule fois et de le réutiliser systématiquement. Ce procédé accélère le développement et facilite la réalisation d’applications n-tiers.

Composants

Les objets décrits dans le modèle d'application sont réutilisés par les composants. Les développeurs incorporent des objets du modèle sur la grille canevas de constitution de l’écran représentant la mise en page (pour les composants de présentation), ou en les insérant dans une arborescence définissant la structure des composants. Ils peuvent également, au niveau des composants, ajouter des objets qui ne sont pas dans le modèle d'application, tels que des champs de contrôle, des menus, et des variables de composant. Les propriétés et les déclencheurs définis dans le modèle d'application sont hérités par copie dans le composant. Les définitions peuvent être modifiées au niveau des composants pour fournir des fonctionnalités spécifiques. Cela rompt le lien entre le modèle d'application et le composant (même s’il est possible de restaurer le lien vers le modèle). Si le code ou les propriétés sont modifiés au niveau du modèle, tous les composants utilisant ces spécifications seront mis à jour lors de leur prochaine compilation. Cette propagation facilite la maintenance et assure que les règles associées à l'objet sont disponibles partout où il est utilisé.

Le Référentiel d’Uniface

Uniface maintient une base de données de ses propres métadonnées afin de réutiliser les modèles d’application, les définitions de composants, les schémas de composants, du code de procédure, et ainsi de suite. Le référentiel est propriétaire et dédié à l’environnement de développement Uniface, qui en assure l'intégrité. Cependant, la structure du référentiel est documentée, ce qui rend possible (mais non recommandé) d'interagir directement avec lui, pour des rapports par exemple. Le référentiel peut être partagé par des équipes de développeurs. De plus, Uniface s'intègre à n'importe quel système de contrôle de code source (SCCS) prenant en charge les spécifications du Microsoft Common Source Code Control Interface. Les fonctionnalités disponibles dans SCCS d’Uniface dépendent du SCCS utilisé, les éditeurs de logiciels ont interprété et mis en œuvre les spécifications du Microsoft Common Source Code Control Interface différemment. En conséquence, les fonctionnalités et le comportement pris en charge varient en fonction du fournisseur du CSSC.

Déploiement d'applications

Les applications Uniface peuvent être déployées sans changement de code sur des plateformes aussi différentes que le « mainframe » et le « mobile ». Les composants (et d'autres objets tels que les scripts de démarrage, les menus, les barres d'outils (panneaux), les glyphes, les variables globales et les « include proc » ) sont compilés et produisent des objets exécutables qui peuvent être empaquetés dans des fichiers zip et déployés sur n'importe quelle plateforme. Les objets exécutables sont activés à l'aide d'une machine virtuelle dédiée à chaque plateforme (Java et d'autres langages ont, plus tard, suivie Uniface à cet égard). Les composants peuvent être compilés dans un environnement et exécutés dans un autre.

Connexion aux bases de données

Uniface permet l’accès à de nombreuses bases de données et systèmes de fichiers par le biais de connecteurs (ou drivers). Les connecteurs SGBD convertissent les données Uniface au format le plus approprié en fonction de la nature du SGBD. A l'exécution, il est possible de passer des paramètres pour invoquer (ou désactiver) des extensions spécifiques de la base de données. Il est possible de convertir des données provenant de différents systèmes de bases de données. Uniface fournit également une API qui peut être utilisée pour créer des connecteurs de base de données personnalisée ou spécifiques.

Licence

Les licences sont gérées par le Compuware Distributed License Manager (DLM), un système de serveur de distribution de licences aux postes ou serveurs clients. Ce système centralisé élimine ainsi la nécessité de mise à jour des postes clients.

Histoire d’Uniface

Initialement appelé UNIS, le produit a été créé aux Pays-Bas en 1984 par la société Inside Automation, une entreprise qui était dirigée par Bodo Douque, avec Frits Kress comme directeur technique. En 1986, le produit et l'entreprise se sont appelés Uniface. Uniface a été développé sur les principes de l'American National Standards Institute (ANSI), 3-schema architecture. Proposé en 1975, il s'agit d'une approche standard pour la construction de systèmes de gestion de base de données composée de 3 schémas (ou méta modèles):

  • Schéma conceptuel : définition de tous les éléments de données et des relations entre eux. Il n'y a qu'un seul schéma conceptuel par base de données. Uniface met en œuvre le schéma conceptuel du modèle d'application (appelé selon les versions d’Uniface : Business Object Model et Application Object Model).
  • Schéma externe : différentes vues externes des données (du point de vue de l’utilisateur). Il peut y avoir plusieurs schémas externes pour une base de données.

Uniface met en œuvre les schémas externes en tant que composants. Au cours de l'évolution d’Uniface, les schémas externes sont devenus « formes » puis « formes cachées ». Elles s'exécutent en arrière-plan sans affichage à l'utilisateur. Enfin, celles-ci sont devenus des « services ». Pour affiner les types de composant Service, il a été ajouté par la suite les services « de session » et « d’entité ». Les formulaires qui ont été imprimés plutôt que d'être affichés sont devenus des composants de type rapport. Les pages Web (USP) ont été introduites pour le développement web, et plus tard, les pages Web dynamiques (DSP) ont été créées pour traduire les fonctionnalités Web 2.0.

  • Schéma interne : définition de la représentation physique des données stockées. Pour gérer ce schéma, Uniface s’appuie sur les nombreux systèmes de base de données relationnelle auxquels il peut être relié, ce qui lui permet d'être indépendant de la base de données choisie.

Initialement, Uniface a été développé pour l’environnement DEC-VAX, en utilisant le système de fichiers natif VAX RMS. On en trouve encore un vestige dans le produit aujourd'hui : L’utilisation d’une « GOLD KEY » (Les terminaux VT DEC ont effectivement eu une touche de cette nature). Les premières versions du produit ont été fournies avec le SGBDR Sybase sous le nom de « FastBuild », bien qu’elles ne soient pas limitées à cette seule base de données.

Uniface a sans cesse évolué pour s’adapter aux nouvelles technologies et architectures applicatives. C’est un élément déterminant pour expliquer sa réussite. Les applications créées avec Uniface peuvent être migrées, mises à jour et modernisées sans perdre l'investissement initial de développement.

Version Uniface 3 (1986)

Uniface 3 a été la première version publique. Cette version supportait les bases de données (RMS, Oracle, C_ISAM, Ingres, et RDB), l'interprétation de la machine virtuelle, l'éditeur de structure de sources Uniface et l’éditeur de commande.

Version Uniface 4 (1988)

Uniface 4 améliore l'éditeur de sources (éditeur de formulaire maintenant), les possibilités d'impression et le support d'affichage. Le support de MS-DOS est introduit et une interface est ajoutée pour les outils CASE.

Version Uniface 5 (1990)

Uniface 5 permet le déploiement client/serveur avec l'introduction des accès distants à la base de données via le Polyserver. Une interface utilisateur graphique est introduite via l'Interface Universelle de Présentation (UPI). Le support des bases de données a été étendu à un total de 13 bases de données et systèmes de fichiers et il est maintenant disponible sur DOS, VMS, OS/2, Stratus VOS et UNIX. Le support des caractères japonais a également été introduit.

Uniface Six (1994)

Uniface Six achève le passage à des environnements de développement entièrement graphiques. Il comprend le « painter » de fenêtres graphiques et l’éditeur de modèle d'application. Le déploiement est amélioré grâce au Dynamic Object Library et les supports pour « Microsoft Object Linking and Embedding (OLE) » et Apple Macintosh sont ajoutés. Autres enrichissements : les contrôles d’autorisations, le contrôle de version intégrée, le Personal Serie - outil de création de rapports (bien que celui-ci ait ensuite été supprimé lorsque le fournisseur a décidé de ne pas améliorer son produit) - et le soutien d’un plus grand nombre de plateformes.

Uniface Seven (1997)

Uniface Seven, avec l'introduction de l’Uniface Request Broker (URB), est axé sur l'intégration des composants, qu’ils soient Uniface ou externes. L'URB offre les supports de communication bidirectionnelle, synchrone ou asynchrone entre les composants. Ainsi que l'accès aux données à distance, il offre de plus les serveurs d'applications et de messagerie répartis. Uniface Seven est également la première version à proposer le développement et le déploiement d’applications Web avec Uniface Web Application Server, Uniface Request Dispatcher, et les nouveaux composants Uniface Server Page (USP). Parmi les autres améliorations incluses dans Uniface Seven figurent : des nouveaux composants (Services, Server Pages, rapports), un éditeur de signatures, l'Assembly Workbench, les notions de sous-systèmes, les opérations, les formes non-modales, les instances de composants, l’amélioration de l‘éditeur et de la navigation, un nouveau débogueur, l’amélioration des plug-in, une aide en ligne intégrée, un « Template » de composants, Web Application Server, Name Server Uniface ainsi que le gestionnaire de partitionnement graphique.

Uniface Seven a également vu l'introduction de plusieurs autres outils:

  • Un outil pour la modélisation, l'intégration et la gestion des processus métier. Cette fonctionnalité est devenue Optimal Flow sous Uniface 8, puis Uniface Flow sous Uniface 9.
  • Un portail d'intégration métier initialement appelé Optimal View, et plus tard Uniface View.
  • Uniface – Jti serveur, solution de client léger pour délivrer des applications Web sur Internet ou Intranet, offrant de hautes performances dans les connexions à faible bande passante.

Uniface 8 (2001)

Uniface 8 apporte des changements majeurs dans le domaine de l'intégration des processus. Avec cette version, l’Uniface Routeur améliore le pilotage des Uniface Servers et gère le « load balancing ». Le Web Request Dispatcher (WRD) remplace l'URD, améliorant les performances des composants. Le support des Web Services, avec SOAP et XML, est introduit. La connectivité et l'interopérabilité sont améliorées et une méthode pour mettre en œuvre une architecture d'application 3-tiers est introduite. Les connecteurs pour SOAP, COM, CORBA et MQSeries sont ajoutés. Le fenêtrage et la gestion de fichiers sont améliorés. Un nouvel utilitaire de déploiement est introduit, améliorant la distribution de l'application. Des sous-composants pour traduire l'architecture 3-tiers sont ajoutés. Les instances de composants possèdent leur « Handle », et un « Garbage collector » automatique est ajouté.

Uniface 9 (2006)

La version 9 d’Uniface a pour thèmes l'amélioration graphique et l'ergonomie, le déploiement simplifié, et l'intégration. Ainsi le support pour Windows Mobile a été ajouté, et le déploiement a été simplifié à l'aide des archives zip. Le support d’Unicode améliore les capacités multilingues des applications, des améliorations sont également apportées dans le développement web. Les évolutions du traitement des flux XML confère à Uniface plus de conformité avec les normes et standards de l’industrie. Le placement dynamique des attributs dans un composant de type forme ajoute de la flexibilité à leur construction. D'autres caractéristiques sont incluses telles que la gestion améliorée des couleurs, les menus dynamiques, une API XML, un éditeur de schéma pour le modèle d'application, la référence croisée des composants : fonctionnalité nécessaire pour la refonte d’une application mais aussi pour le déploiement. Enfin, les fonctionnalités des Web Services sont renforcées.

Uniface 9.4 (2010)

A défaut d'être une version majeure, Uniface 9.4 introduit de nouvelles fonctionnalités assez importantes qui pourraient la faire passer pour telle. L'objectif principal est le développement et le déploiement d'applications internet riches (RIA). Uniface 9.4 permet de développer des applications Web 2.0 ayant des fonctionnalités, en termes d’ergonomie et de réactivité, identiques aux applications client/serveur. Les langages et le support des spécificités locales est amélioré, tout comme l’interface gérant le courrier électronique qui supporte maintenant le format HTML, mais aussi la sécurité et le cryptage.

Migration

Les passages d’une version à l’autre se réalisent très facilement à l'aide d'un export/import XML du référentiel

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Uniface de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Uniface — ist eine Plattform für die Entwicklung und den Betrieb von unternehmensweiten Anwendungen, die auf einer Vielzahl von Laufzeitumgebungen ausgeführt werden können, einschließlich mobilen Geräten, Mainframes, Web, Service orientierte Architektur… …   Deutsch Wikipedia

  • UNIFACE — est un Atelier de génie logiciel (AGL) dont les développements sont réalisés en langage Uniface. L originalité du produit est de stocker toutes les sources dans une base de données nommée référentiel . Ce référentiel est accessible par l ensemble …   Wikipédia en Français

  • Uniface — In archeology, a uniface is a specific type of stone tool that has been flaked on one surface only. Such tools can be placed into two general classes: 1) modified flakes and 2) formalized tools, which display deliberate, systematic modification… …   Wikipedia

  • Uniface (programming language) — Uniface is a 4GL RDBMS Rapid Application Development (RAD) environment owned and maintained now by Compuware. Originally know as UNIFACE, the product was developed in Amsterdam by Inside Automation, which later changed its name to Uniface; in the …   Wikipedia

  • uniface ou unifacial, unifaciale, unifaciaux — ● uniface ou unifacial, unifaciale, unifaciaux adjectif Se dit d un outil préhistorique taillé sur un seul côté …   Encyclopédie Universelle

  • Uniface (numismatics) — A uniface is a reference to a one sided Coin or Banknote, usually issued in low denomination, in times of war or in the early evolution of coins and banknotes; other examples are made as trial strikes of dies …   Wikipedia

  • uniface — /yooh neuh fays /, n. Numis. a coin or medal having a blank reverse. [1875 80; UNI + FACE] * * * …   Universalium

  • uniface — noun A prehistoric stone tool that has been flaked on one surface only …   Wiktionary

  • uniface — (entrée créée par le supplément) (u ni fa s ) adj. Qui n a qu une face. Les bractéates sont des monnaies unifaces. •   La première série comprend les sceaux unifaces à légende hébraïque ; la seconde, les sceaux à double face, FERD. DELAUNAY Journ …   Dictionnaire de la Langue Française d'Émile Littré

  • uniface — adjective (of a coin or medallion) having one side blank …   English new terms dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”