La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Présentation ESTRABOX

Présentations similaires


Présentation au sujet: "Présentation ESTRABOX"— Transcription de la présentation:

1 Présentation ESTRABOX
07/04/2015 PRéSENTATION GT NUXEO

2 Estrabox Pourquoi EstraBox Planning de notre projet Le fonctionnement
Avant : Estra avec Nuxéo Maintenant : Estra ET EstraBox avec Nuxéo et Node.JS Planning de notre projet Le fonctionnement L’architecture Partie Serveur Partie Client Performance La communication Démo Questions / Réponses Préciser Fonctionnement Estra : Moteur – BD – Fichiers en binaires 07/04/2015 Presentation GT NUXEO

3 Estrabox Avant Estra avec Nuxéo Nombreuses fonctionnalités
Ergonomie complexe à assimiler et peu accessible 3 serveurs (développement, recette, production) Pourquoi EstraBox ? Préciser Fonctionnement Estra : Moteur – BD – Fichiers en binaires 07/04/2015 Presentation GT NUXEO

4 Estrabox En plus d’Estra EstraBox Estra et EstraBox
Conservation d’Estra pour certaines fonctionnalités « avancées »  Utilisation des métadonnées Administration avancée (versionning, mur, espace social collaboratif) EstraBox Interface simplifiée Reprise des fonctionnalités de base : Création de Dossier Rajouter / Copier / Coller / Supprimer / Déplacer des fichiers Partager des dossiers A terme, synchronisation avec Nuxeo Drive (interface depuis le poste client) Pourquoi EstraBox ? 07/04/2015 Présentation GT Nuxeo

5 Estrabox Avril - Juillet 2014 Octobre 2014
Pré cahier des charges pour estimation / Appel à prestataire Octobre 2014 Rédaction du cahier des charges / Choix techniques Novembre – Décembre 2014 – Janvier 2015 Développement et configuration Janvier – Février 2015 Recette par un groupe d’utilisateurs Mise en production pour ce groupe d’utilisateurs Mars 2015 Ouverture à des correspondants TICE Avril – Mai 2015 Mise en place de Nuxeo Drive à prévoir avant mise en production pour les personnels dans un premier temps Planning du Projet à l’Université d’Orléans 07/04/2015 Présentation GT Nuxeo

6 Estrabox Architecture du serveur accueillant EstraBox Java ≥ 6
Client Git (logiciel de gestion de version) ≥ 1.7 Java ≥ 6 Node.JS ≥ Modules de Node.JS Bunyan : visualisation des logs Forever : lancer l’application en tant que daemon Redis (Serveur de cache) ≥ 2.6 MongoDB (Base de données utilisées principalement pour la communication autour d’EstraBox) ≥ 2.6.6 Dépendances de l’application (npm install) ≥ 2.0.0 Séparation de la partie Cliente et de la partie Serveur Fichier de configuration pour la partie accès aux serveurs, authentification, mails, logs Le fonctionnement 07/04/2015 Présentation GT Nuxeo

7 Estrabox Architecture : un Proxy pour Joue un rôle d’intermédiaire
Mettre en place aisément une logique métier Gère et transforme les données transitant entre l’utilisateur final et Nuxéo Le fonctionnement De façon générale l'utilisation d'un serveur proxy permet de mettre en place la logique métier 07/04/2015 Présentation GT NUXEO

8 Estrabox Architecture Utilité du serveur Proxy Implémentation
Contrôle des requêtes envoyées par le Client et à transmettre à Nuxéo Contrôle des réponses renvoyées par Nuxéo et à transmettre au client En plus : mise en place d’une session Utilisateur, contrôle des méthodes d’authentification , mise en place de communication avec d’autres bases de données, d’envoi de mails, d’un serveur cache Implémentation Au vu des API exposées par Nuxéo et des clients développés par Nuxéo pour interroger ces API, 2 choix : API Java avec des outils comme JAX-RS ou l’API REST avec Node.JS Choix Node.JS => présence d’un client développé par Nuxéo Communication du serveur Proxy avec Nuxéo A travers des appels à l’API REST exposée par ce dernier Le fonctionnement De façon générale l'utilisation d'un serveur proxy permet de mettre en place la logique métier 07/04/2015 Présentation GT NUXEO

9 Estrabox Node.JS Avant : Javascript côté Client
Node.JS offre un environnement côté serveur -> utilisation de js Node.JS offre un environnement coté serveur -> utilisation de js Javascript basé sur des évènements, donc Node.JS aussi Moteur V8 de Google Chrome (analyse et exécute du JS rapidement) Modèle Non Bloquant Fonctionnement 07/04/2015 Présentation GT Nuxeo

10 Estrabox Communication entre serveur Proxy et serveur Nuxéo
API REST (Representational State Transfer) Accès à l’ensemble des services proposés par le serveur Nuxéo en utilisant le formalisme REST Création d’un client développé par Nuxéo pour faciliter la communication entre le serveur Node.JS et Nuxéo : module Node.JS : Attention : quelques lacunes au niveau de l’authentification : Communication entre client et serveur proxy Appels Ajax qui interrogent des URL exposées par le serveur proxy Les données échangées transitent sous le format JSON (format de données => information structurée comme xml) Exemple d’URLs exposées /documents/:document_id (methode DELETE) /documents (methode GET) Fonctionnement REST est un style d'architecture, pas un standard. Il n'existe donc pas de spécifications de REST. Il faut comprendre le style REST et ensuite concevoir des applications ou des services Web selon ce style. Bien que REST ne soit pas un standard, il utilise des standards. En particulier : URI comme syntaxe universelle pour adresser les ressources, HTTP un protocole sans état (stateless) avec un nombre très limité d'opérations, Des liens hypermedia dans des documents (X)HTML et XML pour représenter à la fois le contenu des informations et la transition entre états de l'application, Les types MIME comme text/xml, text/html, image/jpeg, application/pdf, video/mpeg pour la représentation des ressources. REST concerne l'architecture globale d'un système. Il ne définit pas la manière de réaliser dans les détails. En particulier, des services REST peuvent être réalisés en .NET, JAVA, CGI ou COBOL Le premier principe d'architecture consiste donc à identifier les ressources avec des URI. TTP, GET et POST (Put et Delete) Le deuxième composant de l'architecture REST est le protocole HTTP. L'identification des ressources est la pierre angulaire d'une architecture REST. La définition des URI ne peut donc être la conséquence d'un développement. Les URI doivent être spécifiées au moment de la conception. Les URL manipulées par les serveurs web sont des URL physiques qui reflètent la structure physique des répertoires d'un serveur. 07/04/2015 Présentation GT Nuxeo

11 Estrabox Architecture Applicative Coté serveur
Découpage de façon modulaire (évolution et maintenance) Ex de modules : authentification, configuration Coté serveur Les modules présents ci–dessous sont des modules développés pour le projet (les autres n’étant pas représentés comme ExpressJS par ex) Fonctionnement authenticator Gère l'authentification et Basé sur le module PassportJS cache Gère le cache de données Redis db-connector Gère la connexion à la base de données MongoDB document-enricher Enrichit un document en ajoutant des informations qui sont utiles côté client. Se base sur les informations renvoyées par le serveur Nuxéo document-filter Filtre les documents et les attributs à retourner côté client document-manipulator Extrait des informations du document à partir des informations renvoyées par le serveur Nuxéo 07/04/2015 Présentation GT Nuxeo

12 Estrabox Côté Client Principe du « Single Page Application » : ensemble des ressources au 1er chargement de la page et unique page qui ne se recharge jamais mais qui fait évoluer dynamiquement son contenu Rend l’application dynamique et expérience utilisateur fluide Les modules présents ci–dessous sont des modules développés pour le projet Fonctionnement authenticator Gère l’authentification client Gère les requêtes AJAX config Gère la configuration de l'application estrabox Gère l'initialisation de l'application restapi Gère les appels à l'API exposée par le serveur proxy ui Gère l'interface utilisateur 07/04/2015 Présentation GT NUXEO

13 Estrabox Performance Serveur de cache Redis :
Permet de récupérer de manière quasi-instantanée des données qui n'ont pas vocation à évoluer dans le temps et qui pourraient être longues à récupérer à travers des appels au serveur Nuxéo (nom et prénom) Parallélisation de traitement Modèle Non Bloquant et lancement de programme en simultané Code Javascript embarqué dans l’application est optimisé via le compilateur « Closure » créé par Google (réduction des temps de traitement coté Client) Fonctionnement 07/04/2015 Présentation GT NUXEO

14 Estrabox Communication
Mail envoyé à l’utilisateur lors de certains évènements : 1ère connexion 1er partage Centre d’assistance sous forme de FAQ On garde le « thème » de l’application EstraBox Fonctionnement 07/04/2015 Présentation GT NUXEO

15 Estrabox Démo 07/04/2015 Présentation GT Nuxeo


Télécharger ppt "Présentation ESTRABOX"

Présentations similaires


Annonces Google