1 / 30

Architecture ACube Lise 4.0

Architecture ACube Lise 4.0. Journée Contributeur ACube Kube Hotel 22 octobre 2008 Atos Origin - CRIF. Plan. Enjeux majeurs Architecture Générale Couche MVC Couches Service et Persistance Génération de codes Gestion des logs Gestion de la configuration Documentation Démonstration.

minda
Download Presentation

Architecture ACube Lise 4.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture ACube Lise 4.0 Journée Contributeur ACube Kube Hotel 22 octobre 2008 Atos Origin - CRIF

  2. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 2

  3. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 3

  4. Enjeux Majeurs Se munir d’une plateforme d’extension, pourquoi faire? • Renforcer l’apport de la communauté via la réalisation d’extensions • Séparer l’évolution du framework de l’ajout de fonctionnalités • Augmenter l’attractivité du framework • A chaque projet correspond un lot d’extensions 4

  5. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 5

  6. Architecture de Lise 4.0 6

  7. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 7

  8. Couche MVC HandlerMapping 1 2 Controller DispatcherServlet ModelAndView 3 acube.framework.mvc.controller.* 4 5 ViewResolver View acube.framework.mvc.view.* 8

  9. Couche MVC AbstractController BaseCommandController MultiActionController AbstractCommandController Spring MVC ACube MVC AbstractACubeMultiActionController AbstractACubeController MultiFormat ACubeFileController AbstractMultiFormatController AbstractMultiActionMultiFormatController ACubeDownloadController ACubeUploadController ACubeLoginController DefaultAcubeController 9

  10. Couche MVC AbstractView AbstractXsltView AbstractPdfView AbstractExcelView JasperReportsMultiFormatView Spring MVC ACube MVC iText POI Jasper MOXy AbstractACubeExcelView JasperReportsView AbstractACubePdfView pdf xls html csv FOP pdf png rtf […] 10

  11. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 11

  12. Couches Services et Persistance Exists<Id> FindBy<Entity,Id> FindAll<Entity> Save<Entity> Remove<Id> AbstractService<Dao> GenericService<Entity,Id> AbstractACubeFileService DefaultService<Entity,Id,Dao> FileSystemFileService (Architecture semblable pour les DAO) 12

  13. Couches Services et Persistance Lien entre les couches MVC, Service et Persistance fait via Spring IOC (Indépendance des couches) Besoin classique: service à un DAO Hypothèse supplémentaire: DAO JPA Pas de code! 13

  14. Couches Services et Persistance • Lien Contrôleur -> Service « classique » (un DAO) publicclass ProductController […] { ProductService productService; […] } publicinterface ProductService extends GenericService <Product, Integer>{} <beanname="productController" class="my.package.ProductController"> <propertyname="productService" ref="productServiceImpl"/> </bean> ApplicationContext(Spring IOC) publicclass ProductServiceImpl extends DefaultService<Product, Integer, ProductDao> implements ProductService {} 14

  15. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 15

  16. Génération de codes 4 1 Modélisation et de génération du code EclipseLink WorkBench 3 5 2 *.java *.xml *.java *.java Fichiers de mapping VO et BO Squelette du programme Bases de Données 16

  17. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 17

  18. Gestion des logs A3 log environnement errorLog httpd.conf accesLog project code SLF4J A3 Framework Façade SLF4J sortie fichier SpringSEC | Core | MVC | Mail | IO sortie fichier ApacheTomcat | FOP | POI commons-logging Quartz LOGGERlog4j JasperReports sortie console Eclipse Link logger_JDK IText A3 application Tomcat container 18

  19. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 19

  20. Gestion de la configuration Trois niveaux de gestion de la configuration: • Intégration applicative : Propagation de la configuration centralisée dans tout le projet lors de l’intégration. • Intégration Infrastructure : Différents ensembles de fichiers de configuration pour différents types de déploiement. (coming soon) • Paramétrage : Accès à des fichiers de configuration depuis l’application pendant le développement ou l’exploitation en production. 20

  21. Gestion de la configuration Compilation Sources Target Maven resources resources […] %{log.acube.filename} […] […] acube.log […] %{log.acube.filename} ACube.log filters log.properties […] […] log.acube.filename=ACube.log […].properties 21

  22. MyClass […] […] ACubeConfig. getValue( “ERR-FCT-16”,“id”) Gestion de la configuration Framework.properties Framework.properties […].properties […] i18n. libelles_erreurs […] i18n ACubeConfig libelles_erreurs_fr.properties […] […] ERR-FCT-16= Champ ''{0}'' obligatoire […].properties "Champ id obligatoire" 22

  23. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 23

  24. Documentation MAJ MAJ MAJ (coming soon) MAJ (coming soon) 24

  25. Documentation MAJ (coming soon) MAJ (coming soon) MAJ (coming soon) MAJ 25

  26. Documentation NEW NEW NEW NEW NEW MAJ NEW NEW 26

  27. Documentation NEW (coming soon) NEW NEW NEW MAJ 27

  28. Documentation MAJ MAJ (coming soon) 28

  29. Plan • Enjeux majeurs • Architecture Générale • Couche MVC • Couches Service et Persistance • Génération de codes • Gestion des logs • Gestion de la configuration • Documentation • Démonstration 29

  30. Démonstration 30

More Related