cette création est mise à disposition selon le contrat paternité - pas d'utilisation...
Post on 03-Apr-2015
111 Views
Preview:
TRANSCRIPT
Cette création est mise à disposition selon le Contrat Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ ou par courrier postal à Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
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
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
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
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
6
Architecture de Lise 4.0
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
8
Couche MVC
ControllerController
ViewResolverViewResolver
ModelAndViewModelAndView
HandlerMappingHandlerMapping
ViewView
5
1
2
3
4
DispatcherServletDispatcherServlet
acube.framework.mvc.view.*
acube.framework.mvc.controller.*
9
AbstractACubeController
ACubeFileController AbstractMultiFormatController
ACubeLoginController DefaultAcubeController
MultiFormat
AbstractController
MultiActionController
Spring MVC
ACube MVCAbstractACubeMultiActionController
BaseCommandController
AbstractCommandController
AbstractMultiActionMultiFormatController
ACubeUploadController ACubeDownloadController
Couche MVC
10
AbstractACubeXsltView
DefaultAcubeXsltView AbstractACubeXslFoView
Spring MVC
ACube MVC
AbstractACubeExcelViewAbstractACubePdfView
AbstractPdfViewAbstractXsltView AbstractExcelView JasperReportsMultiFormatView
JasperReportsView
AbstractView
FOP
iText POIMOXy Jasper
Couche MVC
pdfpngrtf
[…]
pdfxls
htmlcsv
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
12
Couches Services et Persistance
GenericService<Entity,Id>AbstractService<Dao>
FileSystemFileService
DefaultService<Entity,Id,Dao>AbstractACubeFileService
Exists<Id> FindBy<Entity,Id>FindAll<Entity> Save<Entity> Remove<Id>
(Architecture semblable pour les DAO)
13
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!
Couches Services et Persistance
14
public interface ProductService extends GenericService
<Product, Integer>{}
public class ProductController […] {ProductService productService;
[…] }
Lien Contrôleur -> Service « classique » (un DAO)
public class ProductServiceImpl extends DefaultService<Product, Integer, ProductDao>
implements ProductService {}
<bean name="productController"class="my.package.ProductController">
<property name="productService"ref="productServiceImpl" />
</bean>
ApplicationContext(Spring IOC)
Couches Services et Persistance
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
16
Génération de codes
Modélisation et de génération du
code
EclipseLink WorkBench
1
*.java *.java
*.java *.xml
VO et BOFichiers de
mapping
2
3
4
5
Squelette du programme Bases de Données
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
18
Gestion des logs
httpd.conf
errorLog
accesLog
A3 Framework
SpringSEC | Core | MVC | Mail | IO
Quartz
Eclipse Link
FaçadeSLF4J
LOGGERlog4j
A3 log environnement
A3 application
ApacheTomcat | FOP | POI
project code
Tomcat container
SLF
4J
logger_JDK
sortie fichier
sortie fichier
sortie console
IText
com
mon
s-lo
ggin
g
JasperReports
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
20
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.
Gestion de la configuration
21
SourcesSources
Maven
Compilation
filterslog.properties
[…]
[…]
[…].properties
resources
[…]%{log.acube.filename}
[…]
TargetTarget
resources
[…]acube.log
[…]%{log.acube.filename} ACube.log
log.acube.filename=ACube.log
Gestion de la configuration
22
i18n
libelles_erreurs_fr.properties
[…]
[…]
Framework.propertiesFramework.properties
[…].properties
[…].properties
MyClass
[…]
[…]
ACubeConfig. getValue( “ERR-FCT-16”,“id”)
ACubeConfig ERR-FCT-16= Champ ''{0}'' obligatoire
"Champ id obligatoire"
[…]i18n. libelles_erreurs
[…]
Gestion de la configuration
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
24
Documentation
(coming soon)
(coming soon)
25
Documentation
(coming soon)
(coming soon)
(coming soon)
26
Documentation
27
Documentation
(coming soon)
28
Documentation
(coming soon)
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
30
Démonstration
top related