Développement d’un moteur de planification dans lenvironnement J2EE weblogic

64 117 0
Développement d’un moteur de planification dans lenvironnement J2EE  weblogic

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

  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 

Ngày đăng: 27/10/2016, 22:55

Từ khóa liên quan

Mục lục

  • rapport_stage_Matthieu_Pascaud

  • Edelia Export Specification - V2.6

Tài liệu cùng người dùng

Tài liệu liên quan