fonctionnement logiciel crm erp c-first
Post on 17-Nov-2014
347 Views
Preview:
DESCRIPTION
TRANSCRIPT
Architecture applicative C-FIRST
Jérôme RAUCH
C-FIRST est un logiciel CRM / ERP développé en Java / J2EE.
L’application est multi couche, et utilise différents composants logiciels.
Composants logiciels C-FIRST
by
Architecture SOA et couches> L'architecture C-FIRST est une Architecture Orientée Service (SOA). Cela permet :
> La réutilisation et la composition : partage de modules entre applications
> La pérennité : cela implique le support des technologies existantes et à venir
> L'évolutivité : la majeure partie des applications sont amenées à évoluer dans le temps afin de pouvoir répondre aux nouveaux besoins fonctionnels
> L’ ouverture et l'interopérabilité : partager des modules applicatifs entre plates-formes et environnements
> La distribution : pouvoir utiliser ces modules à distance et les centraliser au sein de l'entreprise par exemple
> La performance
by
Couches applicatives
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Dans les prochaines diapositives, nous allons détailler le rôle des différentes couches.
Couches applicatives - Présentation
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Présentation
> Cette couche contient l’interface homme-machine. C’est la couche de présentation des données à l’utilisateur. Dans l’application (et en général), elle ne contient pas d’objet java, mais uniquement les pages de mise en forme des données pour être affichées.
> Dans C-FIRST, la couche présentation est découpée en 3 modules :
> WEB : Contient les pages affichées en mode web
> Mobile : Ecrans adaptés aux smartphones
> Tablette : Ecrans adaptés aux tablettes
by
Couches applicatives – Présentation (2)
> Nous utilisons les technologies et framework suivants :
by
Couches applicatives - Coordination
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Coordination
> Cette couche gère l’organisation des données à afficher. C’est un contrôleur qui gère l’enchaînement des pages à afficher (Page Flow), en fonction des différentes demandes formulées par l’utilisateur.
> Cette couche permet de faire le lien entre la présentation et les services
by
Couches applicatives - Service
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Service> Cette couche gère l’aspect SOA de l’application. Chaque demande de
l’utilisateur correspond à un service appelé par cette couche, qui appelle les couches inférieures, et renvoie le résultat de son traitement à la couche supérieure.
> C’est également la couche service qui gère les transactions
by
Couches applicatives - Domaine
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Domaine> La couche domaine contient les objets métier de l’application.
> Ces objets encapsulent toutes les règles-métier, et appliquent donc la logique fonctionnelle de l’application.
by
Couches applicatives - Persistance
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Persistance> Permet de gérer les accès (lecture, écriture, modification) vers notre base
de données
> Nous utilisons le framework Hibernate qui permet de nous abstraire du type de la base de données utilisée : DB2, SQL Server, Postgres, …
> Tester / recetter sur les mêmes données
> Certaines données sont stockées dans un moteur de recherche full text de type Elastic Search
by
Couches applicatives - Transverse
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Transverse> Lorsque l’on cherche à séparer proprement chaque couche, il ressort que
de nombreuses données qui doivent être passées de couches en couches rendent les couches adhérentes (dépendantes en syntaxes les unes des autres)
> Ce type d’adhérence est précisément ce que l’on cherche à éviter. C’est le rôle de la couche transverse.
> La couche transverse contient des objets appelés «value objects ». Il s’agit de simples Java Beans avec leurs paramètres et leurs getters/setters. Ils encapsulent toutes les données qui doivent être envoyées à travers les différentes couches. Pour simplifier et pour ne pas faire de redondance, ces «value objects »nous serviront aussi d’objets persistants HIBERNATE.
by
Couches applicatives - Reporting
by
Web Mobile Tablette
Coordination
Service
Domaine
Persistance
Couches applicatives - Reporting
by
> C-FIRST utilise BIRT pour générer des reports statistiques
> Certains reports sont générés à la volée, d’autres sont planifiés à intervalles réguliers avec l’outil de planification Quartz
Les outils que nous utilisons> Eclipse est notre IDE, il permet d’éditer le code de tous les projets et de lancer une version C-FIRST de
développement
> Nous utilisons GIT pour le partage de code source entre développeurs
> Les différentes couches de l’applications sont construites par Jenkins et l’application est déployée en production en utilisant des jobs Rundeck
> Nos environnements de production et de recette fonctionnent sur des serveurs d’application Tomcat et DB2 pour la base de données, sur des serveurs Linux ou Windows. Notre cloud C-FIRST fonctionne sous Linux et les différents serveurs sont gérés par Puppet
by
top related