Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
2,77 MB
Nội dung
Matthieu PASCAUD IFI Solution J.S.C P2503, building 24T‐1 Hoang Dao Thuy Hanoi, Vietnam Master Informatique Option Intelligence Artificielle et Multimédia ‐ IFI ‐ Vietnam Master Ingénierie Informatique – Université de La Rochelle – France Stage effectué du 15 février 2009 au 15 juillet 2009 Maître de stage : Monsieur DINH Van Hoan Matthieu Pascaud, ULR‐IFI, IFI Solution Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 2 Matthieu Pascaud, ULR‐IFI, IFI Solution Table des matières 1. Remerciements 7 2. Résumé . 8 3. Abstract 9 4. Introduction 10 5. Présentation du cadre du stage 11 5.1. Présentation du Vietnam 11 5.2. Présentation de l’entreprise 12 5.3. Contexte de travail 15 5.3.1 L’équipe 15 5.3.2 L’environnement de travail 15 5.3.3 La langue 15 6. Présentation du projet 16 6.1. Cahier des charges 16 6.2. L’architecture de l’application 17 6.3. Le déroulement du stage 18 6.4. Les liens entre la base de données et les fichiers clients 19 6.5. La base de données 22 6.6. Les besoins de l’application . 23 Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 3 Matthieu Pascaud, ULR‐IFI, IFI Solution 6.7. Les solutions pour le projet . 23 6.7.1 Les ordonnanceurs en Java . 23 6.7.1.1 Qu’est qu’un ordonnanceur ? 23 6.7.1.2 Planification de tâches avec le JDK ( API Timer) . 24 6.7.1.3 Quartz 25 6.7.1.4 Au final, quelle solution choisir ? 27 6.7.1.5 Un exemple de planification avec Quartz 28 6.7.2 L’accès à la base de données avec hibernate 30 6.7.2.1 Pourquoi utiliser hibernate ? 31 6.7.2.2 Présentation 31 6.7.2.3 Utilisation 32 7. Le moteur PortailTV 37 7.1. Les composants du moteur 37 7.2. Les diagrammes de classes 39 7.2.1 Connexion 39 7.2.2 Accès à la base de données (util) . 40 7.2.3 Le moteur 41 7.2.4 Les servlets . 42 7.2.5 Les classes de mapping . 42 7.3. La connexion au serveur FTP 43 7.4. Manipulation des fichiers CSV 44 7.5. Le fonctionnement du moteur de PortailTV 44 7.6. Exécution des tâches sur le serveur BEA Weblogic 45 7.7. Les fichiers de configuration 48 7.8. Les difficultés rencontrées . 49 Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 4 Matthieu Pascaud, ULR‐IFI, IFI Solution 8. Conclusion 50 9. Bibliographie 51 10. Annexes 52 Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 5 Matthieu Pascaud, ULR‐IFI, IFI Solution Table des figures Figure 1 : compétences au sein d’IFI Solution 13 Figure 2 : les secteurs dans lesquelles IFI Solution travaille 14 Figure 3 : architecture de l’application Portail TV 17 Figure 4 : description des fichiers profile clients 19 Figure 5 : exemple de fichier profile client . 19 Figure 6 : description des fichiers « détails clients » 20 Figure 7 : exemple de fichier « détails clients » . 20 Figure 8 : description des fichiers « détails consommation » 21 Figure 9 : exemple de fichier « détails consommations » 21 Figure 10 : description des fichiers « prévisions météo » 21 Figure 11 : exemple de fichier « prévision météo » 22 Figure 12 : description de fichier « météo » 22 Figure 13 : exemple de fichier « météo » . 22 Figure 14 : Job « Hello World » 30 Figure 15 : architecture hibernate 32 Figure 16 : diagramme de classes de la connexion 39 Figure 17 : diagramme de classe pour l’accès à la base de données . 40 Figure 18 : diagramme de classes du moteur 41 Figure 19 : diagramme de classes "servlet" 42 Figure 20 : classe SuiviConsoGaz 43 Figure 21 : classes de mapping de la base de données 43 Figure 22 : exemple de fichier CSV 44 Figure 23 : administration pour la planification des tâches 48 Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 6 Matthieu Pascaud, ULR‐IFI, IFI Solution Remerciements Je tiens tout d’abord à remercier Monsieur Dinh Van Hoan, mon responsable de stage au sein de la société IFI Solution. Il s’est montré très disponible durant cinq mois. J’ai pu, grâce à lui, progresser, le questionner lorsque j’avais des difficultés. Mes remerciements vont également aux employés d’IFI Solution qui m’ont apporté leur aide semaine après semaine durant toute la durée de mon stage et plus particulièrement Mademoiselle Tran Thi Ngoc Tram et Monsieur Quan. Je remercie également Monsieur Alain BOUCHER, Directeur des études de l’IFI et Monsieur Ho Tuong Vinh qui m’ont permis d’effectuer ce stage, sans oublier l’équipe enseignante pour leur aide. Enfin, mes remerciements vont à Monsieur Rémy Mullot à qui je dois de bénéficier de cette expérience au Vietnam. Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 7 Matthieu Pascaud, ULR‐IFI, IFI Solution Résumé Ce mémoire est l’aboutissement de cinq mois de stage au sein de la société IFI Solution. Il entre dans le cadre de ma formation en Master, au sein de l’Institut de la Francophonie pour l’Informatique, en partenariat avec l’université de La Rochelle. Le projet sur lequel j’ai travaillé provient d’une demande effectuée par Edelia (filiale du groupe EDF). Nommé Portail TV, il a pour but de permettre aux clients EDF de visualiser leur consommation d’énergie (électricité, gaz, eau) via un écran de télévision ou internet. Cette application a également pour objectif de diminuer les consommations d’énergie. En effet, le client pourra recevoir des alertes en cas de dépassement d’un niveau de consommation fixé. On distinguera plusieurs parties dans cette application. En effet, il faudra dans un premier temps récupérer toutes les informations concernant les clients, traiter ces données et les insérer dans la base centrale de données. L’objectif sera ensuite de permettre au client de visualiser sa consommation, sa prévision et toutes les données le concernant. Mots‐clés : Développement, J2EE, Java, Hibernate, JSP, Servlets. Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 8 Matthieu Pascaud, ULR‐IFI, IFI Solution Abstract This memory is the result of five months spent training in the company IFI Solution. This course falls within the framework of my Master at the French Speaking Institute for computer sciences in partnership with the University of La Rochelle. The project I worked on from a request made by Edelia (a subsidiary of EDF). This project is called TV Portal. The aim of this project is to enable customers to view their EDF Energy consumption (electricity, gas, water) via a television screen or internet. This application also seeks to reduce energy consumption. Indeed, the client can receive alerts in case of exceeding a fixed level of consumption. There are several parties in this application. Indeed, it must first retrieve all information about customers, and process the data and insert them into the central database. It will then allow the customer to view their consumption, forecast and all the data. Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 9 Matthieu Pascaud, ULR‐IFI, IFI Solution Introduction Ce stage de fin d’étude intervient dans le cadre de mon master 2 effectué au sein de l’Institut de la Francophonie pour l’Informatique à Hanoi, en partenariat avec l’université de La Rochelle. Il s’est déroulé durant cinq mois dans la société IFI Solution basée à Hanoi, capitale du Vietnam. Le projet réalisé, Portail TV, est une initiative d’Edelia, filiale d’EDF. A l’heure actuelle, la consommation d’énergie est un sujet qui revient quotidiennement ; l’objectif de Portail TV est de permettre au client de visualiser sa consommation, ou plutôt de la surveiller. En effet, cette démarche aurait pour but de réduire la consommation des utilisateurs. Le projet réalisé conjointement avec Thibaud FAURE devait utiliser les données des clients et ensuite leur permettre de visualiser ses données via un écran de télévision ou internet. A la demande du client, les contraintes imposées était d’utiliser l’architecture SOA (service‐ oriented architecture) et de le déployer sur un serveur Weblogic 8.1. On distinguera deux parties dans le projet PortailTV : ¾ La partie récupération des données clients, traitement des données, mise à jour de la base centrale de données, ¾ La partie client qui va lui permettre de visualiser ses données de consommation. Je ne parlerai principalement que de la partie récupération des données, traitements des données, mise à jour de la base car la partie client a été réalisée par Thibaud FAURE. Une des principales difficultés lors de ce stage était de trouver quelles technologies et quelles solutions utiliser pour finaliser ce projet. Je présenterai donc dans un premier temps de quelle manière j’ai abordé le stage et quelles solutions j’ai utilisées. Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 10 Matthieu Pascaud, ULR‐IFI, IFI Solution Conclusion Ce stage a été une excellente expérience à tout point de vue. En effet, il a été enrichissant en termes de compétences professionnelles acquises, autant sur le plan des connaissances acquises, sur le plan des capacités à s’investir, à planifier, à s’adapter, que sur le plan des attitudes intellectuelles et humaines à mettre en œuvre à chaque instant. J’ai eu l’opportunité de m’investir dans un projet en utilisant les méthodes de développement d’IFI Solution, dans un contexte professionnel et acquérir ainsi des compétences essentielles pour mon avenir. J’ai pu m’intéresser durant ce stage, aux technologies Java appliquées au Web telles que J2EE, JSP/Servlet ou encore XML. C’est un domaine très répandu et très utilisé par beaucoup de sociétés. J’ai également pu utiliser un framework tel qu’hibernate, lui aussi très utilisé dans le monde professionnel. Un autre atout du stage fut la partie recherche. En effet, seules quelques contraintes m’étaient imposées me permettant ainsi de choisir les meilleurs solutions et méthodes possibles pour mener à bien ce projet. J’ai dû par exemple faire un choix entre plusieurs librairies telles que Quartz ou le Timer API de Java en extrayant les avantages de chacun. Le résultat obtenu après cinq mois de stage est opérationnel ; néanmoins, on ne peut le considérer comme un prototype. En effet les fichiers clients utilisés proviennent de la Grande Bretagne donc certains changements seront peut être nécessaires. Cependant le système de planification et d’administration de tâches avec la librairie Quartz fonctionnent complètement. On peut d’ores et déjà imaginer plusieurs ajouts de fonctionnalités à l’application comme par exemple un panneau d’administration plus riche et permettre à l’administrateur de supprimer tous les fichiers déjà traités sans forcément les archiver Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 50 Matthieu Pascaud, ULR‐IFI, IFI Solution Bibliographie [1] java‐source.net , « Open Source Job Schedulers in Java » , . [2] Dejan Bosanac , « Job Scheduling in Java », , 3 octobre 2004. [3] Thom White, « Scheduling recurring tasks in Java applications », , 4 novembre 2003. [4] Grégory Picavet, « Planification de tâche en JAVA », , 9 juin 2005. [5] Equipe de développez.com, « FAQ hibernate », . [6] Minosis, « Débuter avec Hibernate sous Eclipse », [7] Wikipedia, « Servlet », [8] Thibaud FAURE, « Portail TV », Juillet 2009 Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 51 Matthieu Pascaud, ULR‐IFI, IFI Solution 10 Annexes Annexe 1 Ifi ServletUpdateCons ServletUpdateCons servlet.ServletUpdateCons 3 ServletDlDetails ServletDlDetails servlet.ServletDlDetails 2 ServletDlCons ServletDlCons servlet.ServletDlCons 1 ServletUpdateDetails ServletUpdateDetails servlet.ServletUpdateDetails 4 ServletDlCons /ServletDlCons ServletDlDetails /ServletDlDetails ServletUpdateDetails /ServletUpdateDetails ServletUpdateCons /ServletUpdateCons Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 52 Matthieu Pascaud, ULR‐IFI, IFI Solution index.html index.htm index.jsp default.html default.htm default.jsp Master Informatique option I.A. & Multimédia, Février – Juillet 2009 Page 53 Annexe Purpose The purpose of this document is to describe the location, structure and frequency of the export of consumption data from the EDRP Central Database With this information Edelia will develop the necessary import process that consumes this data to enable the Internet and Web interventions It is understood that Edelia have their own database schema and data processing software capable of rendering the exported data in graphical form fo to the requirements of the project as defined by EDF Energy Overview The basic premise is that PRI provide data in the correct format and in a timely manner and for the purposes of this document, it is assumed that this will be daily no later than 2pm for the previous day worth of consumption data Insite will process this data and export the consumption data thereafter and make this available by 6pm on the same day The time to process the data is relatively quick, but as data volumes increase it may be be required to alter this schedule/ Figure - Overview Process Map Schedule The existing schedule is as follows, with ‘Day’ being the consumption data for 24 hours:• • • • Day+1 Day+1, by 2pm Day+1, by 4pm Day+1, by 6pm PRI collect data from all installed meters regardless of trial intervention PRI upload ½ hourly consumption data to FTP site (for internet/TV) Insite upload Edelia data to FTP site1 Edelia make available data online and on TV FTP Access The basic directory structure is as follows: • • Downloads – this is where Edelia should look for consumption data The sub-directories are for Insite use and can be largely ignored and are included here for completeness Uploads – this is where Edelia can send information files back to Insite An example would be that once Edelia have processed the data files, they could put a file here detailing all the MPAN’s that have been processed Insite could then process this file to provide management reporting to the EDF Energy project team This directory structure is common to all partner FTP sites Access to the FTP must use an ‘active’ connection and not ‘passive’ , i.e you cannot connect to the FTP server using a browser Using FTP client software such as CuteFTP, BulletProof FTP, etc., is recommended The requirement to use FTP client application is required for the staging server When the FTP server is relocated to the production server the need to use an active connection will no longer be a prerequisite At the time that this document was created, no date has been set for the transfer of the FTP Server Login Details Edelia can access the FTP server using the following URL: URL: ftp://www.edrpcentraldatabase.com Username: Edelia Password: WMhvjUAP This is subject to change Schedule indicated here is realistic given the current data volumes, but may be necessary to adjust as volumes increase Subject to Edelia confirmation and agreement Directory Structure Figure - FTP File Structure Data Files Insite will make available following three files available on a daily basis: • • • EDRP_Customer_Details-yyyymmdd yyyymmdd-hhmmss.csv EDRP_Customer_Profile-yyyymmd yyyymmdd-hhmmss.csv EDRP_Consumption_Details EDRP_Consumption_Details-yyyymmdd-hhmmss.csv Where yyyymmdd- hhmmss is the date and time that the data was exported from the EDRP Central Database Figure - Data Files It is envisaged that once the files have been processed by Edelia, that these are to be deleted (by Edelia) Whether this is done or not, new files will be uploaded daily with their unique date/time filename All files will be comma-delimited delimited with all fields fields enclosed in double quotes (“”) Empty or blank data is also enclosed in double quotes The first row in each file will be the column header For the purposes of data schema,, the actual EDRP Central Database field types are specified It does not necessarily arily follow that the field types in the Edelia database match these, but they are included for guidance and completeness EDRP_Customer_Details This file contains all the customer contact details and any asset information This file will be updated daily with new and modified customer details (incremental) that are participating in the Internet and TV interventions If a customer leaves a trial their th ‘Activeflag’ ctiveflag’ status will be (inactive) otherwise it will be (active) EDRP_Customer_Profile This file contains all the customer profile details This is a definitive list of all customers that are participating in the Internet and TV interventions This file will be updated daily with new customer details (incremental) The profile data will list (for every customer) the estimated usage on a daily basis so future trends can be displayed A full year’s worth of profiles will be provided for each customer Post Year+1, then actual data should replace the profile data EDRP_Consumption_Details This file will record the incremental consumption data (daily totals) for each customer The contents of this file will record the type of fuel, total daily consumption, total daily cost and CO2 footprint Once the recruitment process has finished, i.e all the Internet/TV intervention customers have been recruited, then this file will represent the previous day’s consumption details as provided by PRI Data File Relationship and Indexes Overview Figure - File Relationships In the diagram agram above the primary key is the MPAN number (inferred as the files in question are CSV files and not database tables) The weather files are provided with the first part of the postcode as the key, i.e NE1 can be matched with all customers who postcode starts with NE1, e.g NE1 2XP, NE1 11XP, etc EDRP_Customer_Profile field types Field Name OFGEM_Ref MPAN MPRN ProfileDate Data Type CHAR(7) VARCHAR(30) VARCHAR(30) DATETIME elecCustProfile NUMERIC(9,2) gasCustProfile NUMERIC(9,2) Description Used by Government agency (not required by Edelia) Unique Primary Key – All customers have this ref number This is the unique reference number for gas customers Date that the elecCustProfile and gasCustProfile is applicable to Estimated electricity consumption data for this customer as of the ProfileDate Estimated gas consumption data for this customer as of the ProfileDate Sample Data Figure - Sample Profile Data EDRP_Customer_Details field Types Field Name trialName MPAN Data Type VARCHAR(30) VARCHAR(30) MPRN elecFRB VARCHAR(30) VARCHAR(30) gasFBR VARCHAR(30) Salutation mailingName addressLine1 addressLine2 addressLine3 addressLine4 postcode telNumber Activeflag LoginID custEmail custDayTelNumber custEveTelNumber custMobileNumber assetNumberIQUnit wallPanelSerialNumber setTopboxNumber SetTopboxMACAddress VARCHAR(75) VARCHAR(100) VARCHAR(130) VARCHAR(130) VARCHAR(130) VARCHAR(130) VARCHAR(8) VARCHAR(15) SMALLINT VARCHAR(50) VARCHAR(50) VARCHAR(15) VARCHAR(15) VARCHAR(15) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) simCARDNumber psuNumber YearlyForecastElecCost YearlyForecastElecKWH YearlyForecastGasCost YearlyForecastGasKWH VARCHAR(50) VARCHAR(50) Numeric(9,2) Numeric(9,2) Numeric(9,2) Numeric(9,2) Description Trial description, i.e TV or Web Unique Primary Key – All customers have this ref number This is the unique reference number for gas customers Customer electricity account number (what appears on their bill) Customer gas account number (what appears on their bill) Mr., Mrs., Dr., etc Precedes mailing name The name of the customer as appears on bill 1st line of the address (as appears on bill) 2nd line of the address (typically road name)3 3rd line of the address (typically town) 4th line of the address (typically county) Postcode (zip) Always present Original contact number of customer Active = 2, Inactive = Login name for web site; password set by Edelia Email address of customer Latest customer daytime telephone number4 Latest customer evening telephone number Latest customer mobile telephone number PRI Asset IQ number PRI Wall Panel number Netgem STB serial number Netgem MAC (network) address Used to verify customer PRI Meter SIM card number PRI PSU number Forecast yearly cost for this customer Forecast yearly usage (in KWH) for this customer5 Forecast yearly cost for this customer Forecast yearly usage (in KWH) for this customer6 Not all address fields are complete, i.e some fields may be empty Latest means - updated by the recruitment process and should be used instead of TelNumber EAC value AAQ value Sample Data Figure - Customer Details Sample Data EDRP_Consumption_Details Field Name MPAN MPRN elecFRB Data Type VARCHAR(30) VARCHAR(30) VARCHAR(30) gasFBR readDate TotalDaily dailyCost dailyCO2Cost Lastupdated VARCHAR(30) DATETIME Numeric(9,2) Numeric(9,2) Numeric(9,2) DATETIME Description Unique Primary Key – All customers have this ref number This is the unique reference number for gas customers Customer electricity account number (what appears on their bill) Customer gas account number (what appears on their bill) Actual data read date Total KWH for that day Total cost(£00.00) for that day Total CO2 emissions (Kg) for that day Date the file was created Sample Data Figure - Consumption Details Sample Data EDRP_Forecast_Weather_Data Field Name PostCode DateTime Day DD MM YYYY WxType_D0 maxWChill_D0 minWChill_D0 aveWChill_D0 WxType_D1 maxWChill_D1 minWChill_D1 aveWChill_D1 Data Type VARCHAR(4) INTEGER VARCHAR(5) INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER Description Postcode identifier (first part of postcode) The time that the data refers to (can be ignored) The day of the week in text, e.g Wed, Thurs, etc Day of month, e.g 1,2 etc Month of the year, e.g 1,,2, etc Actual data read date Symbol reference ID (see appropriate section) Todays forecast max temperature Todays forecast temperature Todays forecast average temperature Symbol reference ID (see appropriate section) Tomorrows forecast max temperature Tomorrows forecast temperature Tomorrows forecast average temperature Sample Data Figure - Sample Weather Forecast Data EDRP_Actual_Weather Field Name PostCode Day DD MM YYYY Mean Max Min Data Type VARCHAR(4) VARCHAR(5) INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER Description Postcode identifier (first part of postcode) The day of the week in text, e.g Wed, Thurs, etc Day of month, e.g 1,2 etc Month of the year, e.g 1,,2, etc Actual data read date Actual average temperature Actual maximum temperature Actual minimum temperature Sample Data Figure - Sampe Actual Weather Data Weather Forecast Data Symbols The ‘WxType_D0’ and ‘WxType_D1 1’ fields refer to the following list of symbols and their associated meanings It is understood that Edelia will use their own symbols and use their internal mapping tables based on this data, i.e reduced number of symbols Figure 10 - Weather Symbols Code -99 10 11 12 13 14 15 Decode Unknown Clear sky (Night) Sunny (Day) Partly cloudy (Night) Sunny intervals Dust storm Mist Fog (White) Medium-level level cloud (Black) Low-level cloud Light rain shower (Night) Light rain shower (Day) Drizzle Light rain Heavy rain shower (Night) Heavy rain shower (Day) Heavy Rain Code 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Decode Sleet shower (Night) Sleet shower (Day) Sleet Hail shower (Night) Hail shower (Day) Hail Light snow shower (Night) Light snow shower (Day) Light snow Heavy snow shower (Night) Heavy snow shower (Day) Heavy snow Thundery shower (Night) Thundery shower (Day) Thunder storm Tropical storm [...]... Edelia doit pouvoir consulter sa consommation dans les 24 heures suivant l’envoi de ses données de consommation. Pour éviter de surcharger le réseau et utiliser de la bande passante inutilement, on va planifier les tâches de téléchargement de fichiers et de mise à jour de base de données. D’où le besoin de moteur de planification. Ceci permet également d’effectuer des ... Linux/Unix et Mac OS. Grâce à l’accomplissement de travaux dans des domaines très variés, IFI Solution a su acquérir de l’expérience et de la notoriété. Que ce soit dans le domaine médical, de l’aviation, des télé‐services ou des grands groupes industriels, sa polyvalence et ses compétences lui permettent de répondre à de nombreuses offres. Elle fait ainsi partie des dix meilleures entreprises du Vietnam dans le domaine de la sous‐traitance de logiciels ... sous Weblogic 8.1 se sont avérés plus longs que prévu en raison d’un mauvais choix de l’environnement de développement : utilisation de Java 1.5 au lieu de Java 1.4.2. 6.4 Les liens entre la base de données et les fichiers clients Voici les fichiers clients présents sur le serveur FTP qu’il faut utiliser afin de mettre à jour la base de données : Figure 4 : description des fichiers profile clients ... Dans le cadre du stage chez IFI Solution, le stagiaire doit : * faire de la modélisation du moteur à planifier dans l’environnement de J2EE WebLogic 8.1 pour le traitement des données dans une base de données centrale * participer à l’implémentation du système, * se familiariser avec les processus du développement de logiciel qui sont appliqués au sein IFI Solution. Master Informatique option I.A. & Multimédia, Février – Juillet 2009 ... La version 1.3, l’API standard de Java propose un système de planification de tâches basique au travers des classes java.util.Timer et java.util.TimerTask. La classe Timer représente le scheduler et TimerTask, une tâche à exécuter. On définit une tâche avec une classe qui dérive de TimerTask et implémente la méthode run(). Une instance de la tâche est ensuite passée au Timer en spécifiant des paramètres de planification. Ce dernier exécute ensuite la ... défini. De plus la probabilité et le temps moyen des retards augmentent avec le nombre de tâches, surtout si plusieurs sont programmées en même temps. Et dans ce cas, le Timer n’est pas adapté. La raison réside dans son implémentation. Il dispose d’une file d’attente de tâches ordonnées par date croissante de prochain démarrage et d’un thread de traitement. L’algorithme implémenté est simple : le thread se met en attente de la première tâche de la file. Lorsque la date d’exécution est atteinte, le thread appelle la méthode run(), met à jour ... Timer « j2ee » géré par un conteneur de serveur d’application. D’autres points font du Timer un composant pour des applications standards et non « entreprise » : • pas de planification sophistiquée, • pas de persistance des tâches, • pas de système de gestion des tâches évolué. Cependant les cas d’utilisation du Timer sont multiples et ce dernier reste intéressant pour sa grande simplicité et son intégration dans l’API standard. Cet ordonnanceur a ... base de données relationnelle (celle utilisée) et l’univers objet. Sans utilisation de ce type de framework, on fait face à des problèmes de performance et des développement onéreux. Les fonctionnalités du framework hibernate et ses avantages sont divers. En voici une liste : • gère la persistance des données • abstraction de la couche de données • permet la communication entre bases de données relationnelles et environnement ... fonctionne sous le serveur BEA Weblogic • open‐source Ces avantages répondent complètement au besoin de l’application. En effet, le changement de la base de données ou son évolution ne causera pas de perte de temps en termes de maintenance car la couche de données est rendue abstraite avec ce framework. Le besoin de performance incite également à utiliser Hibernate puisqu’il s’agit d’une ... entreprises européennes souhaitant externaliser un projet à l’étranger. Elle a été créée par des anciens étudiants de l’IFI et a donc maintenant plus de 6 ans d’expérience dans les services de sous‐traitance de logiciel. La société propose un éventail de services d’offshore programming qui sont divisés en trois catégories : le développement logiciel, la certification/vérification, et le développement Web. Elle est bien sûr en mesure de développer