Architecture de services OWL-S pour e-gouvernement : OwlsGov HIND LAMHARHAR Université Mohamed V-Agdal Ecole, Mohammadia d Ingénieurs (EMI), Maroc hd.lamharhar@gmail.com LAILA BENHLIMA Université Mohamed V-Agdal Ecole, Mohammadia d Ingénieurs (EMI), Maroc benhlima@emi.ac.ma DALILA CHIADMI Université Mohamed V-Agdal Ecole, Mohammadia d Ingénieurs (EMI), Maroc chiadmi@emi.ac.ma ABSTRACT Le développement des services électroniques dans le contexte du domaine e-gouvernement devient le challenge majeur de plusieurs pays du monde. Par conséquent, un système qui permet le développement, l intégration, la découverte et l exécution de ces services est nécessaire. Nous présentons dans cet article un système de gestion des services e-gouvernement fondé sur les technologies sémantiques, en particulier, sur l ontologie de service OWL-S. Nous avons enrichie cette ontologie par des nouvelles extensions afin de décrire les connaissances appropriées aux services publics. Au niveau de ce papier, nous proposons notre modèle d ontologie de service : OwlsGov (OWL-S pour e-gouvernement). Nous exposons ensuite la modélisation et l implémentation de l architecture de notre système. Cette architecture est basée sur l ontologie de service OwlsGov et un ensemble de technologies sémantiques. Afin de montrer la faisabilité de notre système, nous avons développé et intégré plusieurs ontologies du domaine e- Douanes. Keywords Ontologie, Technologies sémantiques, OWL-S, e-gouvernement, Système Multi-Agent (SMA). 1. INTRODUCTION Le développement des e-services pour l e-gouvernement devient le défi principal de plusieurs pays du monde. Cependant, ces e- services ont été développés sans tenir compte issues d interopérabilité et d intégration des données et des services [1]. A cet effet, nous présentons au niveau de cet article une architecture d un système de gestion (développement, découverte et intégration) des services e-gouvernement. Ce système est fondé sur les technologies sémantiques [2], en particulier, les ontologies. D après Gruber [3] : «une ontologie est une spécification formelle explicite d'une conceptualisation partagée». L ontologie permet alors de réaliser l interopérabilité sémantique des données à travers la construction d un modèle commun et partagé. Ce modèle assure une interprétation et une compréhension unique des concepts échangés entre les différents acteurs d un domaine particulier (ex. e-douanes). Les ontologies sont utilisées également pour enrichir la description syntaxique des services par l information sémantiques ce qui permet de développer des services web sémantiques (SWS) [4]. Les SWS sont utilisés pour améliorer le niveau d automatisation des processus d usage des services comme la découverte et l intégration. Ce qui permet alors de réaliser les défis d interopérabilité et d intégration des services. La mise en œuvre d une solution e-gouvernement fondée sur les SWS est confrontée à des défis complexes, en particulier sur le plan de l identification des SWS à intégrer et de l interopérabilité de ces SWS et des données. Pour atteindre notre objectif d intégrer les SWS, il faut réussir à fournir: 1- Une description adéquate des SWS afin d en simplifier la découverte. Ce qui nécessite un framework de qualité de description sémantique des services publics. 2- Des mécanismes et des outils pour résoudre les problèmes d interopérabilité entre les services et les données. Ce qui nécessite des ontologies de services et de domaine et une méthodologie de développement. Afin de répondre à ces défis, notre modèle de description sémantique des services e-gouvernement a été développé sur la base des ontologies et des SWS [5]. Ce modèle utilise précisément l ontologie de service OWL-S (Ontology Web Language for Services) [6] pour la description sémantique des services. Il enrichit cette ontologie par des composantes supplémentaires qui décrivent des fonctionnalités spécifiques aux services publics (ex. légales et organisationnelles), en constituant ainsi notre ontologie de service public : OwlsGov (OWL-S pour e- gouvernement). Dans le cadre de notre travail de recherche, le système de gestion des services e-gouvernement est un prototype d implémentation et d utilisation de cette ontologie de service que nous appelons OwlsGovMS (OwlsGov Management System). Son architecture se compose d un ensemble de couches qui permettent, d une part, aux utilisateurs d exprimer leurs demandes, de découvrir et d exécuter les services requis et, d autre part, aux administrations publics (APs) de développer leurs propres ontologies de services et de domaine. A cet effet, nous avons utilisé plusieurs technologies pour développer cette architecture telles que : les applications web, les Plug-ins et les systèmes multi-agents (SMA). L application web permet aux utilisateurs une interaction facile avec le système. Les Plug-ins produisent des interfaces qui assistent les APs au développement de leurs propres services et ontologies. Les SMA sont utilisés pour développer des agents des deux processus d usage des services, découverte et intégration. Ces différents outils, Plug-ins, SMA et Application web, sont développés à l aide d un ensemble de technologies java et d outils sémantiques. Le système OwlsGovMS nous a permis de développer plusieurs ontologies de services et de domaines dans le cadre du domaine e- Douanes. Ces ontologies ont été développées à l aide des
interfaces graphiques du système et d autres outils comme AminePlateform 1 et Protégé 2. La suite de cet article est organisée comme suit : nous présentons, dans la section 2, le modèle conceptuel de notre ontologie OwlsGov. Ensuite, dans les sections 3 et 4, nous présentons respectivement l architecture du système OwlsGovMS et une proposition de sa mise en œuvre. Afin de montrer la faisabilité de notre architecture, nous présentons dans la section 5, une application dans le contexte du domaine e-douanes. Enfin, dans la dernière section, nous concluons et présentons nos travaux futurs. 2. ONTOLOGIE OWLSGOV Nous présentons tout d abord le modèle conceptuel de l ontologie OWL-S [6]. À ce modèle, nous avons ajouté différentes extensions afin de développer une ontologie de services spécifique au domaine d e-gouvernement OwlsGov. Nous avons choisi l ontologie de service OWL-S sur la base de notre étude comparative des frameworks des SWS [7]. Nous avons développé également une méthodologie de développement des services OwlsGov. 2.1 L ontologie OWL-S OWL-S est une ontologie de SWS de haut niveau décrivant différents types de sémantiques d un service. L ontologie OWL-S (cf. Figure 1) se compose de l élément Service qui décrit un SW ou une requête utilisateur. Cet élément capture trois types de connaissances à travers les éléments : ServiceProfile, ServiceModel et ServiceGrounding. CompositeProcess et SimpleProcess. AtomicProcess permet d invoquer le service et d obtenir le résultat en une seule interaction. CompositeProcess est une collection de processus atomiques et composites. SimpleProcess permet de fournir une vue d un processus atomique ou une représentation simplifiée d un processus composite. Le ServiceGrounding décrit les correspondances entre les spécifications du modèle de processus d un service (Input, Output, Process, etc.) et les éléments d un document WSDL. Cet élément fournit alors le pont qui relie l implémentation d'un SW avec ses descriptions sémantiques. 2.2 L ontologie OwlsGov L ontologie OwlsGov se compose des éléments suivants GovService, GovServiceProfile et GovServiceProcess (cf. Figure 2). Ces ontologies décrivent les mêmes connaissances techniques que celles d OWL-S [5]. GovServiceProfile décrit les fonctionnalités techniques du GovService. GovServiceProcess décrit les processus métiers ainsi que les procédures administratives. Nous avons utilisé le ServiceGrounding telle qu elle est définie dans OWL-S. Figure 1. Le Modèle Conceptuel d'owl-s ServiceProfile décrit «ce que le service fait» et englobe les paramètres fonctionnels et non fonctionnels du service. Les paramètres fonctionnels sont capturés à travers le modèle IOPEs (Inputs, Outputs, Preconditions, et Effects). Les Inputs/Outputs décrivent les sémantiques des entrées/sorties des opérations du modèle de description des services WSDL 3 (Web Services Description Language). Les Preconditions/Effects spécifient les conditions qui doivent être vérifiées avant et après l exécution du service. Elles sont formalisées sous forme d expressions logiques. ServiceModel décrit le fonctionnement du service et son modèle de processus. Le modèle de processus d OWL-S se compose de trois types de processus à savoir : AtomicProcess, 1 http://amine-platform.sourceforge.net/ 2 http://protege.stanford.edu/ 3 http://www.w3.org/tr/wsdl Figure 2. Le modèle conceptuel d OwlsGov Nous avons enrichi les deux éléments : GovService et GovServiceProfile par un ensemble de concepts et de relations, comme suit : Le GovServiceProfile permet la description des caractéristiques spécifiques du service «the profile allows the description of a host of properties that are used to describe features of the service» [6]. Par conséquent, les deux extensions, Organisation et LegalEntity seront ajoutées à GovServiceProfile pour décrire les propriétés gouvernementales du service. LegalEntity et Organisation contiennent les détails sur la structure législative et organisationnelle qui gèrent un service public. Ces deux classes sont spécifiées dans des ontologies séparées, LegalOntology.Owl et OrganizationnalOntologyl.owl. En effet, Chaque AP instancie ces deux ontologies respectivement par sa loi et ses réglementations appropriées et par ses propres ressources, employés et rôles. À ces classes, nous avons ajouté les deux relations haslegal et hasorganization qui les associent à GovServiceProfile. Le GovService enrichit les trois types de connaissances de l élément Service d OWL-S par une connaissance cognitive
(SitCtx) et par une abstraction des connaissances communes de plusieurs services (MetaService). - l ontologie SitCtx décrit les différentes situations (Sit) et contextes (Ctx) d usage des services. cette ontologie est associée à un GovService à travers la relation hassitctx avec : «chaque service public à une et une seule ontologie SitCtx». Pour l implémenter, nous avons utilisé les structures et les graphes conceptuels de SOWA [8], [9]. Pour illustrer, nous considérons le processus de dédouanement des marchandises (PDM) du domaine e-douanes. Ce processus peut avoir plusieurs situations selon le type du produit importé. A titre d exemple, le dédouanement des véhicules et des animaux représentent deux situations différentes, PDV et PDA, du PDM. Ces deux situations ont des services similaires comme le service de calcul des droits et taxes (ex. TVA et droit d importation) et intègrent différents services de différentes APs. La première situation (PDV) intègre des services du département des transports (enregistrement des véhicules importés) alors que la deuxième (PDA) intègre des services du département d agriculture (ex. contrôle sanitaires). Toutes ces situations sont décrites à travers l ontologie SitCtx (PDM). - MetaService permet de regrouper les connaissances similaires d un ensemble de services. A titre d exemple, nous considérons les services de fiscalité de calcul des droits et taxes d e- Douanes, comme le service de calcul de TVA (TaxationTVA) et de calcul de droit d importation (TaxationDI). Ces services partagent les mêmes informations de calcul des taxes (ex. taux, montant) mais différent au niveau des réglementations appliquées et des régimes préférentiels (ex. DI selon les accords internationaux ou franchise fiscale). La relation hasmetaservice associe chaque service GovService à son service MetaService. Ce dernier ne contient pas l information de Grounding au service WSDL. 2.3 Méthodologie de développement des services OwlsGov Notre méthodologie de développement des services OwlsGov [10] se compose des cinq étapes suivantes (cf. Figure 3): - Etape 5: Identification des situations et contextes d'usage des services afin de développer les ontologies de SitCtx et d enrichir les services OwlsGov par leurs propres ontologies SitCtx. Dans ce qui suit nous discutons le système OwlsGovMS de développement, d intégration et de découverte des services publics. 3. ARCHITECTURE D OWLSGOVMS L architecture proposée est une extension de l architecture orientée services SOA (Service Oriented Architecture). Cette architecture est basée sur un ensemble d ontologies de domaine et de services OwlsGov (cf. Figure 4) et intègre des composants logiciels. Elle vise à faciliter la découverte, l intégration et la composition automatique de services. Elle permet également d améliorer le processus de recherche qui met en correspondance une demande d utilisateur et les services fournis par les APs. L utilisation des ontologies permet l implémentation des mécanismes d appariement intelligents entre une demande et des offres de services. Ainsi, l architecture de notre système d OwlsGovMS se compose d un ensemble de composants qui permettent aux APs de développer et de publier leurs propres services OwlsGov et aux utilisateurs d exprimer leurs demandes et de découvrir les services requis. Cette architecture repose sur les trois couches de développement des SWS proposées par DIP (Data, Information and Process Integration) [11] à savoir : la couche de fournisseurs de services ou back-office, la couche middleware et la couche d interaction avec les utilisateurs ou Application (cf. Figure 4). Figure 3. Processus de développement des services OwlsGov - Etape 1: Capture des exigences qui consiste à identifier les différents types d utilisateur (ex. les citoyens, les entreprises, les fonctionnaires et les gestionnaires des APs) ; les besoins ; les informations et les services requis. - Etape 2: Développement des ontologies nécessaires à l enrichissement sémantiques des fonctionnalités techniques des services telles que : les ontologies de domaines, l ontologie légale et organisationnelle; - Etape 3: Spécifications techniques des services afin de développer les services OWL-S avec leurs fonctionnalités techniques; - Etape 4: Spécifications gouvernementales des services qui consistent à instancier les ontologies légale et organisationnelle par chaque AP afin d enrichir les services OWL-S développés par leurs caractéristiques gouvernementales ; Figure 4. L architecture du système OwlsGovMS Nous détaillons ces trois couches dans les sections suivantes. 3.1 La couche de fournisseurs de services Les fournisseurs développent leurs propres services OwlsGov selon deux approches: Bottom-up à partir des SW existants et Top-down à partir de zéro. La première approche consiste à
développer les SW, ensuite, à instancier les ontologies : domaine, légale, et organisationnelle, et enfin développer les services OwlsGov. Selon la deuxième approche, les SW seront développés au fur et à mesure de développement des services OwlsGov. Pour simplifier cette tâche de développement des services OwlsGov aux APs, nous avons implémenté une interface graphique pour les services et proposé des outils pour les ontologies de domaine. Ce qui permet la description des fonctionnalités techniques, des aspects gouvernementaux, et des situations et contextes d usages d un service OwlsGov. 3.2 La couche Middleware Le middleware constitue le cœur de l architecture. Il représente le composant qui relie le back-office au front-office. Il fournit les fonctionnalités principales et intelligentes nécessaires à l intégration et à l interopérabilité des services e-gouvernement. Le middleware offre des mécanismes pour l intégration, la découverte et la composition des services. Elle se compose aussi d une couche de répertoires d ontologies (Ontologies Repositories) pour le stockage des ontologies de domaines et de services. Cette couche est implémentée à travers un ensemble technologies, comme les plug-ins d éclipse et les SMA. 3.3 La couche Application Cette couche est représentée à travers une application web et des mécanismes de traitement de la requête utilisateur. L application web se compose de plusieurs interfaces qui permettent à l utilisateur d exprimer et de raffiner sa requête. Ces interfaces utilisent des mécanismes intelligents pour accéder aux fonctionnalités de la couche middleware. 4. IMPLEMENTATION Comme nous l avons mentionné, l architecture est basée sur des composants logiciels et des ontologies. Par conséquent nous avons utilisé un environnement de développement java et un ensemble de technologies sémantiques pour la mise en place de cette architecture. Nous présentons en particulier les technologies d implémentation des deux couches suivantes : «Presentation» et «Service» (cf. Figure 5). La première couche représente les différentes interfaces graphiques utilisateurs qui seront utilisées par les fournisseurs pour développer leurs propres ontologies de services OwlsGov et par les utilisateurs de la couche Application de l architecture. La deuxième couche représente les différents services nécessaires aux interactions avec le middleware, au stockage et exploitation des ontologies, à l intégration et à la découverte des services OwlsGov. Figure 5. Implémentation du système OwlsGovMS Notation : les flèches pointillées indiquent une utilisation et les flèches noires indiquent une composition Les couches «Presentation» et «Service» de l architecture ont été construites sur la base de plusieurs types d outils et des API. Nous les avons classées selon des API java, JavaAPI, telles que celles relatives au développement des Plug-ins et des API appropriées aux technologies sémantiques : Semantic_API. Dans la section suivante, nous présentons une brève description des outils des Semantic_API que nous avons utilisés dans le cadre de notre travail. 4.1 Les technologies sémantiques Ces outils sont représentés soit sous formes d API, de Plug-ins ou de SMA. L API OWL-S 4 : c est une API Java développé par Mindswap pour créer, lire, écrire, et exécuter des descriptions OWL-S des services atomiques ainsi que composites. Dans le cadre de notre système, nous avons utilisé plusieurs interfaces de cette API comme OwlsService, OwlsProfile et OwlsProcess, etc. Selon le modèle conceptuel d OwlsGov (Section 2.1), nous avons implémenté étendu ces trois interfaces comme suit : la classe GovService implémente OwlsService, GovServcieProfile implémente OwlsProfile et GovServcieProcess implémente OwlsProcess. Nous les avons ensuite enrichies par les nouvelles extensions d OwlsGov. L API owl-s.jar est ajoutée ainsi dans la Classpath du projet de notre système OwlsGovMS. OWL-S Composer 5 est un plug-in éclipse développé par FORMAS (Research Group on Semantic Applications and Formalisms) à UFBA (Federal University of Bahia). Ses principales fonctionnalités sont la découverte des SWS similaires; la composition des SWS sous éclipse d une manière graphique et visuelle, etc. Il se compose de quatre plug-ins à savoir Owls_3.0.0.jar, Diagram.jar, Editor.jar et Edit.jar. Le cœur d OWL-S Composer est Owls_3.0.0.jar qui utilise les trois autres plug-ins. Nous avons utilisé principalement son plug-in Diagram.jar pour aider les développeurs à construire des compositions statiques des services OwlsGov. 4 http://on.cs.unibas.ch/owls-api/ 5 http://sourceforge.net/projects/owl-scomposer/
OWL-S Discovery [12] est un outil développé pour la découverte des services OWL-S. Il utilise un algorithme hybride de deux étapes (fonctionnelle et structurelle). Nous utilisons cet outil afin d implémenter la deuxième étape de notre processus de découverte des services publics. L API owlsdiscovey.jar est ajoutée ainsi dans la Classpath du projet de notre système OwlsGovMS. OWL-API 6 est une API Java pour la création, la manipulation et la sérialisation des ontologies OWL. Nous avons utilisé cet API pour exploiter les ontologies nécessaires au développement des services OwlsGov telles que les ontologies de domaine, légale et organisationnelle. Jena API 7 : est une API Java pour les applications du web sémantique. L'API a été définie sous formes des interfaces afin que le code de l'application puisse fonctionner avec différentes implémentations sans changement. Nous avons utilisé cette API afin de traiter les descriptions des ontologies de domaine, légale et organisationnelle comme la réglementation qui gère un service OwlsGov. Nous l avons utilisé aussi pour développer notre application web. AminePlatform [13], [14]: c est une plate-forme Java open source adaptée pour développer différents types de systèmes intelligents/agents. Son objectif principal est de fournir une architecture intégrée pour construire des agents intelligents en utilisant l environnement de développement JADE 8. Afin de créer, d éditer et de modifier une ontologie, cette plateforme propose des interfaces graphiques pour une utilisation directe et des API pour une programmation java. Dans le cadre de notre travail de recherche, nous avons utilisée cette plateforme pour les SWS. Nous avons utilisé certaines de ses classes telles que : Ontology, CG (Conceptual Graph) et CS (Conceptual Structure) pour développer l ontologie SitCtx d OwlsGov ; la classe MemoryBasedInferences pour l intégration des services, et AmineJadeMAS pour développer les agents de découverte et d intégration des services OwlsGov. Nous avons également utilisé quelques frames de la plateforme comme OntologyKBGUIFrame. L API AminePlatform.jar est ajoutée ainsi dans la Classpath du projet de notre système OwlsGovMS. Ces outils seront utilisées par les deux couches Presentation et Service. 4.2 La couche «Presentation» Les interfaces graphiques de la couche «Presentation» du système OwlsGovMS se composent de deux parties : les interfaces de développement des services, OwlsGovPlugin, et les interfaces des processus de découverte et d intégration, DiscoveryGUI et IntegrationGUI. 4.2.1 OwlsGovPlugin Le composant principal de notre système est OwlsGovPlugin. Ce plugin est développé à l aide de l environnement des plugins éclipse (PDE), le plugin OWLS Composer et les API d OWL-S (cf. Figure 6). OwlsGovPlugin se compose d un ensemble de packages comme suit : - Package «actions» se compose d un ensemble d action telles que l action ConvertWSDL de transformation des descriptions WSDL existantes en OWL-S, l action de création des services à partie de zéro, CreateService ; l action GenerateSitCtx de génération de l ontologie SitCtx à partir d un fichier OWL-S, etc. - Package «generator» contient les classes qui permettent de générer les ontologies OWL-S et les ontologies SitCtx. - Package «editors» contient les éditeurs et les pages qui permettent d éditer les spécifications d un service OwlsGov. Ce package utilise les classes des packages «generator» et «actions». - Package «wizards» contient les assistants qui permettent le développement des services OwlsGov. - Package «owls-diagram» d OWLS Composer : ce package propose des outils pour construire un plan d exécution des services. Nous l utilisons pour enrichir OwlsGovPlugin par des actions supplémentaires comme GenerateComposition et runcomposition. - Package «owls» produit les interfaces nécessaires à l implémentation des composantes du modèle conceptuel de l ontologie OwlsGov. Figure 6. Organisation d OwlsGovPlugin OwlsGovPlugin se compose aussi d assistants et d éditeurs : - Les assistants permettent de créer une nouvelle description OwlsGov en suivant les étapes 1, 2, 3, 4, illustrées dans la Figure 7. L étape 3 propose deux modes de création soit «à partir d un fichier WSDL» ou bien «à partir de zéro». - Les éditeurs du Plug-in se composent de trois interfaces qui permettent de modifier et d enrichir les descriptions crées par des nouvelles fonctionnalités en utilisant GovSpecEditor, OwlsEditor ; et SitCtxEditor. L éditeur fournit deux modes d'édition des descriptions OwlsGov : graphique (cf. Figure 8) et textuelle. 6 http://semanticweb.org/wiki/owl_api 7 http://jena.apache.org/documentation/ontology/ 8 Java Agent DEvelopment Framework
Figure 7. Les assistants (Wizards) d OwlsGovPlugin Figure 8. Editeurs OwlsGov: mode graphique
4.2.2 DiscoveryGUI et IntegrationGUI Ces deux interfaces sont développées sur la base de l interface d AminePlatform (cf. Figure 9). Elles représentent les interfaces d exécution des deux agents «DiscoveryAgent» et «IntegrationAgent» Figure 9. SMA AminePlatform pour OwlsGovMS DiscoveryGUI est l interface graphique d exécution de l agent de découverte des services. Elle utilise les ontologies SitCtx des situations et contextes d usage des services OwlsGov pour découvrir les services requis. Cette interface est une sous classe d IntegrateDefinitionFrame et permet d introduire une requête utilisateur, de sélectionner l entrepôt des ontologies SitCtx des services et d exécuter l agent de découverte et d afficher le résultat. L exécution de l agent découverte utilise le processus Information Retrieval (IR) du système AminePlatform. IntegrationGUI : notre approche d intégration des services vise à développer une ontologie d intégration selon le domaine d étude (ex. e-douanes) et de l enrichir dynamiquement au fur et à mesure de l ajout d un nouveau service OwlsGov. Nous appelons cette ontologie d intégration SIO (Service Intégration Ontology). Le processus d intégration des services consiste à intégrer une l ontologie SitCtx d un nouveau service OwlsGov dans l ontologie SIO. L interface IntegrationGUI permet d exécuter ce processus d intégration. 4.3 La couche «Service» Cette couche propose un ensemble de classes qui permettent de développer et d utiliser les services publics. Nous avons identifié deux types de classes. Le premier type se compose des classes qui traitent l ontologie OwlsGov et ses fonctionnalités. Le deuxième type traite les différentes actions relatives aux processus d usage des services à travers l utilisation des agents. Ci-après une brève description : Les trois interfaces OwlsGovCore, GovSpecManager et SitCtxGenerator sont appropriées au développement des services OwlsGov. OwlsGovCore est l interface qui maintient les valeurs d'attribut d'un service OwlsGov. GovSpecManager est l interface qui maintient les caractéristiques légales et gouvernementales d'un service OwlsGov. SitCtxGenerator est l interface qui génère l ontologie des situations et contextes d usage des services. Ainsi, après son initialisation avec la description OwlsGov qu elle représente, elle exploite cette description pour la transformer à un ensemble de structures conceptuelles qui décrivent son ontologie SitCtx. Les deux agents DiscoveryAgent et IntegrationAgent implémentent deux processus d usages des services OwlsGov. DiscoveryAgent permet d exécuter la première étape de découverte des services sur la base des ontologies SitCtx des services. Cet agent est développé en utilisant le processus d interférence dynamique du système multi-agents d AminePlatform. IntegartionAgent implémente le processus d intégration dynamique. Selon le contexte d usage du service (SitCtx), l agent l intègre dans une ou plusieurs ontologies SIO. Les deux mécanismes de découverte et d intégration sont au-delà de la portée de cet article. 5. APPLICATION POUR LE E-DOUANES Le scenario de dédouanement des marchandises d e-douane vise à autoriser la «mise à la consommation» des marchandises importées à l intérieur du territoire. Dans le cadre d automatisation du processus de dédouanement des marchandises (PDM), plusieurs informations et services ont été développés et publiés à travers plusieurs pages. Cependant, le développement de services, la coopération entre les différents intervenants, l intégration de ces données et services ne sont pas des tâches évidentes. Certains aspects fondamentaux de ce processus doivent être pris en charge comme la définition d un modèle commun qui représente ses différentes connaissances. Ce qui nous a motivé à chercher une modélisation efficace de ce processus. 5.1 Le PDM Le système implémente le processus PDM et joue le rôle d intermédiaire entre les utilisateurs et les APs. Pour sa mise en ouvre, nous avons développé un ensemble d ontologies et de services. Comme montré dans la Figure 10, les acteurs qui interagissent avec le système sont: Figure 10. Cas d utilisation UML du PDM - Les utilisateurs des systèmes comme les citoyens, les entreprises, les transitaires, etc. - Les administrations et les organismes concernés : sont l administration des douanes, et toutes autres APs qui gèrent un
ou plusieurs scenarii de dédouanement comme l Administration de l Agriculture pour les animaux. Elles sont impliquées selon les législations et les réglementations appliquées aux produits. - Les fournisseurs des services particuliers : sont les autres acteurs qui peuvent être intégrés pour fournir des services privés comme les services portuaires et aéroportuaires, de transport et de magasinage. 5.2 Les ontologies et les services La base de connaissance d e-douanes se compose de plusieurs types d ontologies [15] telles que : l ontologie de domaine, CustomsOntology, l ontologie légale, LegalOntology et l ontologie organisationnelle, OrganizationnalOntology. - CustomsOntology se compose d un ensemble de concepts abstraits et concrets concernant toutes les questions gouvernementales sur le PDM et les personnes qui y sont impliquées. Elle représente les connaissances du domaine de dédouanement des marchandises et elle est développée à partir des documents de dédouanement en tenant en considération les besoins de ses utilisateurs. De plus, quelques concepts et relations de cette ontologie ont été identifiés à travers notre étude du domaine de dédouanement. Nous illustrons comme exemple de concepts du domaine de taxation : DutyTaxFee, DutyTaxType, Tax. - les deux ontologies : légale et organisationnelle permettent de décrire sémantiquement les documents législatifs et réglementaires et les entités organisationnelles constituant un organisme public, ce qui permet la configuration et la reconfiguration des services suite au changement de loi ou de restructuration organisationnelle. Pour les développera, nous avons utilisé plusieurs ressources d ontologies. Par exemple, LegalOntology et OrganizationnalOntology du projet OntoGov [16]. En fait, Nous les avons réutilisés car elles produisent des concepts et des relations génériques qui peuvent être adaptés et réutilisés facilement au Maroc. Toutes ces ontologies ont été développées à travers l utilisation du Protégé (cf. Figure 11). En outre, nous avons développé un ensemble d ontologies de services que nous les illustrons à travers les exemples suivants : - CommodityClassification : c est le service de classification des produits. Il utilise le Système Harmonisé Figure 11. Ontologies du domaine e-douanes via Protégé (SH) de classification et de codification des marchandises [17]. Ce service reçoit comme entrée la description textuelle de la marchandise et retourne les classifications possibles de la marchandise (Code et Désignation du SH).
Cette recherche est faite sur la base d une ontologie de domaine d e-douanes. - ComputeTaxation : c est le service de fiscalité ou calcul des droits et taxes. Ce service intègre lui aussi un ensemble de services comme celui de calcul de TVA, TaxationTVA. Il reçoit la classification et d autres informations comme la valeur et la quantité de la marchandise afin de calculer le montant des droits et taxes ; - RequiredDocument : c est le service d identification des documents exigibles. Ce service fournit les documents d'accompagnement des marchandises ainsi que les APs responsables; - CommodityControl : c est le service de contrôle des marchandises. Il consiste à notifier tous les acteurs participants au contrôle comme les agents des douanes aux frontières portières, le vétérinaire officiel du poste frontière (pour le contrôle sanitaires des produits de type animal) et les agents du port. Ce service permet aussi de fournir les documents nécessaires. - Payment : c est le service de payement des droits et taxes, ce service intègre d autres organismes comme les banques. Dans la section suivante nous présentons un exemple d utilisation du système OwlsGovMS. 5.3 Exemple illustratif Considérons le service CommodityClassification, les étapes de son développement (à partir de zéro) et son intégration sont comme suit : Nous utilisons les assistants d OwlsGovsPlugin (cf.figure 7) pour développer le service (à partir de zéro). Ensuite, nous enrichissons le service à travers les éditeurs: GovSpecEditor, OwlsGovEditor, SitCtxEditor (cf. Figure 12). - L onglet (GovSpecOntology) permet de spécifier l ontologie de domaine «CustomsOntology» et les spécifications gouvernementales associées au service telles que CustomsLaw (la loi appliquée) et CustomsAdministration (l organisation qui gère le service). Ces concepts sont spécifiés dans les deux ontologies LegalOntology et OrganizationnalOntology. - Les spécifications techniques associées sont décrites a travers l onglet (Owls Upper Ontology), par exemple le service reçoit comme entrée une «Commodity». Ce concept est spécifié dans l ontologie de domaine. - L onglet (Usage SitCtx Ontology) illustre l ontologie SitCtx associée au service. Elle se compose d une définition sous forme de graphes conceptuels du service CommodityClassification et de ses deux situations AnimalClassification et VehicleClassification. L ontologie du service CommodityClassification en mode textuelle sera générée comme montrée dans la figure 13
Figure 12. Exemple d implémentation du service CommodityClassification: OwlGovEditor
Après le développement du service CommodityClassification, nous l intégrons dans l ontologie d intégration du domaine d étude PDM-SIO. La figure 14 illustre ce processus d intégration Figure 13. Editeur OwlsGov: mode textuel et montre une brève description de l ontologie PDM-SIO crée et mise à jour à chaque ajout d un nouveau service. Figure 14. Exemple d intégration du service CommodityClassification dans l ontologie PDM-SIO 6. CONCLUSION Afin de répondre aux défis d une solution e-gouvernement fondée sur les SWS, dans cet article, nous avons présenté un modèle de description sémantique des services publics, OwlsGov, et une architecture de développement, de découverte et d intégration de ces services. Pour mettre en place cette architecture, nous avons utilisé plusieurs types de technologies telles que les ontologies, OWL-S, les systèmes multi-agents, etc. En effet, pour la réalisation de l interopérabilité des données et des services, le
système propose des interfaces graphiques qui assistent les APs au développement de leurs propres services et ontologies. Des agents de découverte et d intégration ont été aussi développés afin de simplifier les taches de découverte et d intégration des services tenant en compte les différentes situations et contextes d usage des services. Des applications basées sur les ontologies et des mécanismes intelligents peuvent être développés à l aide de cette architecture. En outre, le système a été utilisé dans le contexte de dédouanement des marchandises du domaine e-douanes. Cette application, nous a poussées à améliorer notre système par des nouvelles fonctionnalités telles que le développement des plans d exécution des services selon leurs contextes et situations d usage. A cet effet nos travaux futurs focaliseront principalement sur l intégration des nouveaux agents pour la planification et la composition dynamique des services. 7. REFERENCE [1] Ojo A.,; Janowski T.,; Estevez E. (2009) Semantic interoperability architecture for electronic government Proceedings of the 10th Annual International Conference on Digital Government Research, Partnerships for Public Innovation, DG.O 2009, Puebla, Mexico, May 17-20,pp.63-72 [2] Berners-Lee, T., Hendler, J. & Lassila, O. (2001). The semantic web. Scientific American, 284(5), 28 37. [3] Gruber, T.R. (1993). Towards principles for the design of ontologies used for knowledge sharing. International Journal of Human Computer Studies, 43(5/6), 907 928 [4] Cardoso, J. (2007). Semantic Web Services: Theory, Tools and Applications. IGI Global. ISBN: 159904045X [5] Lamharhar, H, Benhlima, L & Chiadmi, D (2012), Incorporating Context in OWLS-Based Public Services Description Framework, Proceedings of the 12th European Conference on e-government, ECEG, 14-15 June, Barcelona, Spain, pp. 834-843. [6] Martin, D., Burstein, M., Hobbs, J., Lassila, O., McDermott, D., McIlraith, S., Narayanan, S., Paolucci, M., Parsia, B., Payne, T. R., Sirin, E., Srinivasan, N. & Sycara, K. (2004). OWL-S: Semantic Markup for Web Services. [7] Lamharhar, H, Chiadmi, D & Benhlima, L (2010), A comparative study on Semantic Web Services frameworks, Proceedings of the third International Conference on Web and Information Technologies ICWIT, june 2010, Marrakech, Morocco, pp. 449-460, ISBN 978-9954- 9083-0- 3 [8] Sowa, J.F. (1984). Conceptual Structures : Information Processing. Mind and Machine. Addison-Wesley, London. [9] Sowa, J.F., (1992), Conceptual Graphs for Representing Conceptual Structures [Online], available: http://www.jfsowa.com/pubs/cg4cs.pdf [10] Lamharhar, H, Chiadmi, D & Benhlima, (2014) "How semantic technologies transform e-government domain: A comparative study and framework", Transforming Government: People, Process and Policy, Vol. 8 Iss: 1, pp.49-75 [11] Gugliotta, A., Cabral, L., Domingue, J., Roberto, V. (2005). A semantic web service-based architecture for the interoperability of e-government services. In: Proceeding of the International Workshop on Web Information Systems Modeling, Sydney, Australia [12] AMORIM, R. ; CLARO, D.B.; LOPES, D.; ALBERS P.; ANDRADE A. Improving Web service discovery by a functional and structural approach. In IEEE ICWS The 9th International Conference of Web Services. Washington, D.C., July, 2011. [13] Kabbaj, A., Bouzouba, K., El Hachimi, K., Ourdani, N., (2006). Ontologies in Amine Platform: Structures and Processes", In H. Scharfe, P. Hitsler, P. Ohrstrom editors, Conceptual Structures: Inspiration and Application, Volume 4068 of Lecture Notes in Artificial Intelligence, pp 300-313, Springer. [14] K. Bouzoubaa, B. Moulin and A. Kabbaj, CG-KQML+: An Agent Communication Language and its use in a Multi- Agent System, in 9th Int. Conf. on Conceptual Structures, ICCS'2001, Springer-Verlag, 2001. [15] Lamharhar, H, Chiadmi, D, & Benhlima, L (2014), ' Moroccan e-government strategy and semantic technology' in Government e-strategic Planning and Management, Public Administration and Information Technology Volume 3, 2014, pp 323-343, by Springer Science and Business Media, publisher of the Public Administration and Information Technology (http://www.springer.com/series/10796) book series, http://link.springer.com/chapter/10.1007/978-1-4614-8462-2_17 [16] Stojanovic, L.,Stojanovic, N. and Apostolou, D. (2006) Change management in e-government: OntoGov case study, Journal: Electronic Government, An International Journal - EG, vol. 3, no. 1, pp. 74-92, DOI: 10.1504/EG.2006.008493 [17] World Customs Organization: WCO. (2012). Nomenclature and Classification of Goods Retrieved from http://www.wcoomd.org/en/topics/nomenclature.aspx