présentation baboukweb octobre 2008 université.ppt [mode...
TRANSCRIPT
BaboukWebBaboukWebPrésentation du 30/10/2008/IREMIA
Anil CASSAM-CHENAIM I TECHNOLOGIESM.I. TECHNOLOGIES
Copyright M.I.TECHNOLOGIES 2008
Objectifs du projetj p jRéalisation d’une gamme de produitsg pexportablesInnovationUtilisation maximale de ressources locales– CompétencesCo péte ces– Réseau
En se mettant à un niveau technologiqueEn se mettant à un niveau technologiqueInternational– Importance de la connexion internet (permanence de p (p
la connexion plus que débit)– Demo interface Desktop
Copyright M.I.TECHNOLOGIES 2008
Structure globaleg
Copyright M.I.TECHNOLOGIES 2008
Architecture multiplateformep
Pascal ObjetPascal ObjetNatif:
Delphi, FPC (Free Pascal Compiler)Portable
Compilateur .netDelphi PrismCompatible Mono
Indépendance de la base de donnéesIndépendance de la base de donnéesBase de donnée externe (Oracle, Access, Postgres, etc)Base de donnée intégréeg
Copyright M.I.TECHNOLOGIES 2008
Structure modulaire (1)( )
Logique de plug-inLogique de plug in– Le serveur d’application en lui-même n’a
aucune fonction métieraucune fonction métier– La gestion documentaire, la comptabilité sont
d l i d d’ li tides plug-in du serveur d’application– Plusieurs plug-in sont chargeables de
manière concurrente– Les plug-in sont téléchargeables et p g g
d’installation automatique (architecture P2P)
Copyright M.I.TECHNOLOGIES 2008
Structure modulaire (2)( )
Copyright M.I.TECHNOLOGIES 2008
Des plug-ins standardp gDes applications métierspp– Comptabilité– Gestion documentaireGestion documentaire– Gestion commerciale
Qui servent de preuve de concept– Qui servent de preuve de conceptUtilisables dans différents modes :– client serveur traditionnel– Interface Web– Sous forme de service Web (ASP)
Copyright M.I.TECHNOLOGIES 2008
Copyright M.I.TECHNOLOGIES 2008
Architecture en couches
Copyright M.I.TECHNOLOGIES 2008
Métadonnées XML et MDA (1)( )Capacité de réaliser la structure de
File
IdFil t i
pdonnées en mode MDA : méta-données UML
+IdFile: string+ClassIdFile: string+IdFolder: string+FileName: int+FileExtension: string+FileSize: integer+IdUser: string+State: integer+CompressedFileGroup: boolean+LastChanged: dateTime
Droits
+Reader: boolean+Writer: boolean+Executor: boolean+RoleManager: boolean
+LastChanged: dateTime+ExpirationDate: dateTime+Description: string+IsModel: boolean+UseLocalRepository: boolean+IdFileRepository: string+IdServer: string+Reference: string+IdFileCategory: string+IdParentDocument: string
FileRepositoryCustomUser
10..*
+IdParentDocument: string+VERSION: string+FileDate: datetime
+EditFile()+OpenFile()+NewVersion()+ValiderDocument()+InValiderDocument()+ReInitializerDocument()+T i V lid ti D t()
Group Users0..*
+TerminerValidationDocument()
Folder
Server
FileCategory
1
0..1
11
Copyright M.I.TECHNOLOGIES 2008
Métadonnées XML et MDA (2)( )– Transformation en méta-données BaboukWeb
Copyright M.I.TECHNOLOGIES 2008
Contenu des méta donnéesLes méta données BaboukWeb contiennent à la fois :– Des informations sur la structure de donnéesDes informations sur la structure de données
et le Mappage OR• Entités, Associations, Index, Requêtes standards , , , q
(Collections)– Les états de l’objet (et les actions qui peuvent
le faire migrer d’un état à un autre)– Les actions réalisables sur cet objet– Les droits d’accès à un objet– Les évènements d’un objet
Copyright M.I.TECHNOLOGIES 2008
Les évènements d un objet
Interêt des méta-données
Paramétrables à la mainParamétrables à la main– Données
ti– actions• compilées • Scriptables
– Etats et icône d’étatDeux notions essentielles pour les plug-ins
Héritage des méta données XML– Héritage des méta-données XML– Redéfinition des méta-données
Copyright M.I.TECHNOLOGIES 2008
Et on peut aller plus loin …p p
Définition d’applications via XMLDéfinition d applications via XML– On décrit l’assemblage de plug-ins qui
donnent l’applicationdonnent l applicationDéfinition de plug-in via XML– On liste les métadonnées qui vont constituer
les objets métiers, les requêtes et même des j qscripts
Définition des interfaces via XMLDéfinition des interfaces via XML– Assemblage de frame prédéfinies
Copyright M.I.TECHNOLOGIES 2008– Au niveau application et fiche d’objet
Architecture de communication
Mode client/serveurMode client/serveur– Architecture connectée
A hit t dé té– Architecture déconnectéeMode P2P (en cours de conception)( p )– Information répartie sur un réseau de pairs
Echanges– Echanges• De données
D’actions• D’actions• D’évènements
D l i• De plug-in Copyright M.I.TECHNOLOGIES 2008
Architecture C/S connectéeNavigateur Serveur HTTP
HTTPHTTP
Serveur Personnel
Basepersonnelle
XML/HTTP
Cli t B b kW b S B b kW bClient BaboukWeb Serveur BaboukWeb
B
Mode ConnectéBase
Principale
Copyright M.I.TECHNOLOGIES 2008
Architecture C/S déconnectéeNavigateur Serveur HTTP
Ser
veur
H
TTP
loca
l
Serveur Personnel
Basepersonnelle
Synchronisation différée
Client BaboukWeb Serveur BaboukWeb
Mode déconnectéBase
Principale
Copyright M.I.TECHNOLOGIES 2008
Structure P2P
Copyright M.I.TECHNOLOGIES 2008
Architecture P2P(en cours de conception)
ServerGroupRoles
+DataProvider: Boolean+RelayProvider: Boolean+ActionProvider: Boolean+Pee InfoP o ide Boolean
ServerGroup Server
0..**
+PeerInfoProvider: Boolean+...
CustomUser
1..*1 0..*
0..*
0..*MandatoryPlugIns
+Active: BooleanUser UserGroup
0..*
PlugInInfo
Module Client/ServeurModule P2P
Copyright M.I.TECHNOLOGIES 2008
Différents rôles de pairspFournisseur de données (DataProvider)( )– Fourni des données aux autres pairs (en respectant les droits de
l'utilisateur connecté sur le pair distant)
Serveur d'operation (ActionProvider)– Peut exécuter des traitements sur la demande du poste distant
( i t t tâ h d kfl )(scripts et tâches de workflow)
Serveur de relai (RelayProvider)– Permet de relayer des demandes d'autres pairs dans le cadre
d’un groupe de pairs. Permet de contourner des firewall
S d' i (P I f P id )Serveur d'annuaire (PeerInfoProvider)Contient des informations sur les pairs connectés. Permet aussil’i i ti à d il’inscription à un groupe de pairs.
Copyright M.I.TECHNOLOGIES 2008
Architecture de communicationFramework de développement apportant unepp ppabstraction au niveau des services et des échangesg
Canaux de communicationEn standard utilisation de canal de communicationEn standard utilisation de canal de communication HTTP/HTTPS Flux de données au format XML
Groupes de servicesMais potentiellement
Serialization+Canaux binaires sans modification du framework
Copyright M.I.TECHNOLOGIES 2008
Système de vue (1)y ( )
Séparé du modèle : MVCSéparé du modèle : MVCLes vues sont définies en XML
Comme Xul, Xaml, etc
“migrable”gElle sont faites pour migrer sur le réseau entre serveur et client ou entre pairsp
Via la migration de plug-in avec de vues fortementliéesVia une requête sur une vue ayant un chemin non local (possibilité de centralisation de vues,…) dans une architecture C/S Copyright M.I.TECHNOLOGIES 2008
Système de vue (2)y ( )
“Fonctionnelle”FonctionnelleUne décomposition fonctionnelle. Une fonction peut être représentée par deuxfonction peut être représentée par deux composants différents
M ti l t fMutiplateformeOn choisit le composant dans une pbibliothèque compatible avec la plateforme cible
Compatible Web 2.0Interface Desktop et Web (en cours basé surInterface Desktop et Web (en cours basé sur Tibco) Copyright M.I.TECHNOLOGIES 2008
Structures de donnéeBaboukWeb offre une structure de donnéesrépartie entre plusieurs postesLes données sont protégées par les règles deLes données sont protégées par les règles de sécurité du serveur d’applicationOn dispose de deux modes de requêtage locauxOn dispose de deux modes de requêtage locauxet distants sur les objets
M d t X th ( i i b t G b XMLMode type Xpath (vision arborescente. Grosse base XML répartie)Mode utilisant l’algébre des collections/providersMode utilisant l algébre des collections/providersLes deux peuvent être mélangés
Illustration des conceptspCopyright M.I.TECHNOLOGIES 2008
Les actions
On manipule des actions au niveau le plusOn manipule des actions au niveau le plus haut de la structure en couche avant les vuesvuesIntérêt :
Undo/RedoRôles et limitation des accèsOpérations distribuées (dont même opérations séparable en éléments traités indépendemments sur p pdivers serveurs)Scriptable
Copyright M.I.TECHNOLOGIES 2008
Le moteur de script (1)p ( )
Raison d’être :Raison d être :Compléter le système des vues XML, en permettantla création d’actions scriptéesla création d actions scriptéesCes actions scriptées sont accessible dans un autrescript en connaissant son chemin. Donc on a unesc p e co a ssa so c e o c o a u erichesse de conception similaire à celle d’un langageobjetLes action scriptées peuvent être distantes
Le moteur de scripts donne aussi des actions pélémentaires de bas niveau chorégraphiables dans un deuxième temps par un moteur de Workflow
Copyright M.I.TECHNOLOGIES 2008
Le moteur de script (2)p ( )Exemple
If /ClassItem[‘BaboukWebCommon.Folder’]/ObjectItem[@name=‘racine’]/
Field[@name=‘selected’]=true then
b ibegin
/ClassItem[‘BaboukWeb.Common’]/ObjectItem[@name=‘racine’]/
Action[@name=‘createSubFolder’](‘Mon dossier’);@ ( )
end
Il existe la possibilité une notation abrégée en posant commei i l t ti i té d à l’ l d’ élé tprincipe que la notation pointée correspond à l’appel d’un élément
de chemin (paramétré)stocké dans un dictionnaire associé à un objet
Copyright M.I.TECHNOLOGIES 2008
Le futur prochep
Copyright M.I.TECHNOLOGIES 2008