SlideShare une entreprise Scribd logo
1  sur  64
Sérialisation, Persistance et Mapping Objet Relationnel
Document Libre.  www.allili.net Sérialisation Mapping O/R ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Sérialisation et Persistance
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Objet Sérialisation en flux de données Mémoire Fichiers Base de données
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],System.Runtime. Serialization.Formatters ,[object Object],05/06/09 Les formateurs du Framework .NET Formateur Binaire (Sérialisation Binaire) Formateur SOAP (Sérialisation SOAP) Formateur XML (Sérialisation XML) System.Runtime. Serialization.Formatters System.Xml.Serialization.XmlSerializer
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[Serializable] public   class  Employee {     public   int  empCode;     public   string  empName; } 05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],public   void  Serialiser( string  fichier, Employee emp) {    FileStream fstr=null;  //Using System.IO;    try    {      fstr  =   new  FileStream(fichier, FileMode.Create);      BinaryFormatter biformatter  =   new  BinaryFormatter();      binformatter.Serialize(fstr, emp);    }    finally    {      fstr.Close();    } } 05/06/09
Document Libre.  www.allili.net ,[object Object],public   static   employee  Deserialiser( string  fichier) {    FileStream fstr;      try    {      fstr  =   new  FileStream(fichier, FileMode.Open);      BinaryFormatter binformatter  =   new  BinaryFormatter();      return  ((Employee)binformatter.Deserialize(fstr));    }    finally    {      fstr.Close();    } } 05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],public   void  SOAPSerialisation( string  fichier, Employee emp) {    FileStream fstr  =   new  FileStream(fichier, FileMode.Create);    SoapFormatter soapformatter  =   new  SoapFormatter();    soapformatter.Serialize(fstr, emp);    fstr.Close(); } public   static   Employee  SOAPDeserialisation( string  fichier) {    FileStream fstr  =   new  FileStream(filename, FileMode.Open);    SoapFormatter soapformatter  =   new  SoapFormatter();    Employee  emp  =  ( Employee )soapformatter.Deserialize(fstr);    fstr.Close();    return  emp; } 05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[XmlAttribute( "empName" )] public   string  EmpName {    get{ return  empName;}    set{empName  =  value;} } 05/06/09
Document Libre.  www.allili.net ,[object Object],public   void  XMLSerialiser(Employee emp, String fichier) {    XmlSerializer serializer  =   null ;  //Using System.XML.Serialization;    FileStream stream  =   null ;    try    {      serializer  =   new  XmlSerializer( typeof (Employee));      stream  =   new  FileStream(fichier, FileMode.Create, FileAccess.Write);      serializer.Serialize(stream, emp);    }    finally    {      if  (stream ! =   null )        stream.Close();    } } 05/06/09
Document Libre.  www.allili.net ,[object Object],public   static  Employee XMLDeserialiser(String fichier) {    XmlSerializer deser  =   null ;    FileStream stream  =   null ;    Employee emp  =   new  Employee();    try {      deser  =   new  XmlSerializer( typeof (Employee));      stream  =   new  FileStream(fichier, FileMode.Open);      emp  =  (Employee)deser.Deserialize(stream);    }    finally {      if  (stream ! =   null )        stream.Close();    }    return  emp; } 05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09
Mapping O/R
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 Base de données Mapping O.R Objets
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],05/06/09
Document Libre.  www.allili.net 05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration>
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> Déclaration de la section NHibernate qui va suivre
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> Début de la section NHibernate pour le fichier de configuration 4 clefs sont importantes
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> La première est liée à la méthode utilisée par NHibernate pour se connecter
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> La seconde clef est liée au dialecte (Langage SQL)
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> La troisième clef est liée au driver utilisé par NHibernate pour communiquer avec la base de données
Document Libre.  www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> Une dernière clef est liée à la chaîne de connexion
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Configuration cfg = new Configuration();       cfg.AddAssembly(“Mon_Assembly&quot;);       ISessionFactory factory = cfg.BuildSessionFactory();       session = factory.OpenSession();       ITransaction t = session.BeginTransaction(); … …  …        t.Commit();        session.Flush();        session.Close();        factory.Close();
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Configuration cfg = new Configuration();       cfg.AddAssembly(“Mon_Assembly&quot;);       ISessionFactory factory = cfg.BuildSessionFactory();       session = factory.OpenSession();       ITransaction t = session.BeginTransaction(); … …  …        t.Commit();        session.Flush();        session.Close();        factory.Close(); Le chargement de la configuration. l'objet va se charger lui-même avec les paramètres données dans le fichiers de configuration
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Configuration cfg = new Configuration();        cfg.AddAssembly(“Mon_Assembly&quot;);       ISessionFactory factory = cfg.BuildSessionFactory();       session = factory.OpenSession();       ITransaction t = session.BeginTransaction(); … …  …        t.Commit();        session.Flush();        session.Close();        factory.Close(); L'objet configuration charge l'assembly qui contient la couche métier
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Configuration cfg = new Configuration();       cfg.AddAssembly(“Mon_Assembly&quot;);       ISessionFactory factory = cfg.BuildSessionFactory();       session = factory.OpenSession();       ITransaction t = session.BeginTransaction(); … …  …        t.Commit();        session.Flush();        session.Close();        factory.Close(); Création d’un objet session factory
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Configuration cfg = new Configuration();       cfg.AddAssembly(“Mon_Assembly&quot;);       ISessionFactory factory = cfg.BuildSessionFactory();       session = factory.OpenSession();       ITransaction t = session.BeginTransaction(); … …  …        t.Commit();        session.Flush();        session.Close();        factory.Close(); Création d’un e session avec la méthode OpenSession
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 Configuration cfg = new Configuration();       cfg.AddAssembly(“Mon_Assembly&quot;);       ISessionFactory factory = cfg.BuildSessionFactory();       session = factory.OpenSession();       ITransaction t = session.BeginTransaction(); … …  …        t.Commit();        session.Flush();        session.Close();        factory.Close(); Création d’une transaction
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 class Personne { private int id; private string nom; public virtual int Id { get { return id; } set { id = value; } }
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 public virtual string Nom { get { return nom; } set { nom = value; } } public Personne() { } public Personne(int id, string nom)  { this.id = id; this.nom = nom; } } // de la classe
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; namespace=&quot;Mapping_Personne&quot;> <class name=&quot;Mapping_Personne.Personne&quot;  table=&quot;personne&quot;> <id name=&quot;Id&quot; column=&quot;id&quot; type=&quot;Int32&quot;> <generator class=&quot;native&quot;/> </id> <property name=&quot;Nom&quot; column=&quot;nom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> <property name=&quot;Prenom&quot; column=&quot;prenom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> </class> </hibernate-mapping>
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; namespace=&quot;Mapping_Personne&quot;> <class name=&quot;Mapping_Personne.Personne&quot;  table=&quot;personne&quot;> <id name=&quot;Id&quot; column=&quot;id&quot; type=&quot;Int32&quot;> <generator class=&quot;native&quot;/> </id> <property name=&quot;Nom&quot; column=&quot;nom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> <property name=&quot;Prenom&quot; column=&quot;prenom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> </class> </hibernate-mapping> Déclaration du fichier de mapping
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; namespace=&quot;Mapping_Personne&quot;> <class name=&quot;Mapping_Personne.Personne&quot;  table=&quot;personne&quot;> <id name=&quot;Id&quot; column=&quot;id&quot; type=&quot;Int32&quot;> <generator class=&quot;native&quot;/> </id> <property name=&quot;Nom&quot; column=&quot;nom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> <property name=&quot;Prenom&quot; column=&quot;prenom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> </class> </hibernate-mapping> Définit le nom de la classe et le nom de la table dans laquelle la classe est persistée
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; namespace=&quot;Mapping_Personne&quot;> <class name=&quot;Mapping_Personne.Personne&quot;  table=&quot;personne&quot;> <id name=&quot;Id&quot; column=&quot;id&quot; type=&quot;Int32&quot;> <generator class=&quot;identity&quot;/> </id> <property name=&quot;Nom&quot; column=&quot;nom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> <property name=&quot;Prenom&quot; column=&quot;prenom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> </class> </hibernate-mapping> Mappe la clef primaire de la table à un membre de la classe.
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; namespace=&quot;Mapping_Personne&quot;> <class name=&quot;Mapping_Personne.Personne&quot;  table=&quot;personne&quot;> <id name=&quot;Id&quot; column=&quot;id&quot; type=&quot;Int32&quot;> <generator class=&quot;identity&quot;/> </id> <property name=&quot;Nom&quot; column=&quot;nom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> <property name=&quot;Prenom&quot; column=&quot;prenom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> </class> </hibernate-mapping> La méthode par laquelle la clef primaire sera créée. « identity » indique que la clef primaire est automatiquement générée par la base de données
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; namespace=&quot;Mapping_Personne&quot;> <class name=&quot;Mapping_Personne.Personne&quot;  table=&quot;personne&quot;> <id name=&quot;Id&quot; column=&quot;id&quot; type=&quot;Int32&quot;> <generator class=&quot;identity&quot;/> </id> <property name=&quot;Nom&quot; column=&quot;nom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> <property name=&quot;Prenom&quot; column=&quot;prenom&quot; type=&quot;String&quot; not-null=&quot;true&quot; /> </class> </hibernate-mapping> La balise property est la façon la plus simple de mapper un champ de la base de données à un membre d'une classe
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/06/09
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net ,[object Object],[object Object],[object Object],05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net 05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net 05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre. 05/06/09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Document Libre.  www.allili.net ,[object Object],[object Object],05/06/09
 

Contenu connexe

En vedette

Logiciels Libres: quel opportunités pour les marocains ?
Logiciels Libres: quel opportunités pour les marocains ?Logiciels Libres: quel opportunités pour les marocains ?
Logiciels Libres: quel opportunités pour les marocains ?Khalid ALLILI
 
L'offre d'ISACA en matière de GIA - David Henrard
L'offre d'ISACA en matière de GIA - David HenrardL'offre d'ISACA en matière de GIA - David Henrard
L'offre d'ISACA en matière de GIA - David HenrardISACA Chapitre de Québec
 
20150527-Bilan annuel ISACA Québec 2014-2015
20150527-Bilan annuel ISACA Québec 2014-201520150527-Bilan annuel ISACA Québec 2014-2015
20150527-Bilan annuel ISACA Québec 2014-2015ISACA Chapitre de Québec
 
La GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude Vigeant
La GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude VigeantLa GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude Vigeant
La GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude VigeantISACA Chapitre de Québec
 
L'innovation systématique en GIA - Serge Lapointe
L'innovation systématique en GIA - Serge LapointeL'innovation systématique en GIA - Serge Lapointe
L'innovation systématique en GIA - Serge LapointeISACA Chapitre de Québec
 
Identification sur Internet - Login social - Thierry Brisset
Identification sur Internet - Login social - Thierry BrissetIdentification sur Internet - Login social - Thierry Brisset
Identification sur Internet - Login social - Thierry BrissetISACA Chapitre de Québec
 
Nouveau cadre de gouvernance de la sécurité de l’information
Nouveau cadre de gouvernance de la sécurité de l’informationNouveau cadre de gouvernance de la sécurité de l’information
Nouveau cadre de gouvernance de la sécurité de l’informationISACA Chapitre de Québec
 
Nouveau cadre de gouvernance de la sécurité de l'information
Nouveau cadre de gouvernance de la sécurité de l'informationNouveau cadre de gouvernance de la sécurité de l'information
Nouveau cadre de gouvernance de la sécurité de l'informationISACA Chapitre de Québec
 
CA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike BertholdCA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike BertholdISACA Chapitre de Québec
 
GeoMap: Solutions Géospatiales Oracle et B.I.v2
GeoMap: Solutions Géospatiales Oracle et B.I.v2GeoMap: Solutions Géospatiales Oracle et B.I.v2
GeoMap: Solutions Géospatiales Oracle et B.I.v2Geomap GIS America
 
La protection de la vie privée à l'heure du BIG DATA
La protection de la vie privée à l'heure du BIG DATALa protection de la vie privée à l'heure du BIG DATA
La protection de la vie privée à l'heure du BIG DATAISACA Chapitre de Québec
 
Brainwave - Smposium GIA - Québec - Jacob Verret, Mathieu Roseau
Brainwave - Smposium GIA - Québec - Jacob Verret, Mathieu RoseauBrainwave - Smposium GIA - Québec - Jacob Verret, Mathieu Roseau
Brainwave - Smposium GIA - Québec - Jacob Verret, Mathieu RoseauISACA Chapitre de Québec
 
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy ChiassonOracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy ChiassonISACA Chapitre de Québec
 
La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015
La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015
La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015ISACA Chapitre de Québec
 

En vedette (20)

Logiciels Libres: quel opportunités pour les marocains ?
Logiciels Libres: quel opportunités pour les marocains ?Logiciels Libres: quel opportunités pour les marocains ?
Logiciels Libres: quel opportunités pour les marocains ?
 
L'offre d'ISACA en matière de GIA - David Henrard
L'offre d'ISACA en matière de GIA - David HenrardL'offre d'ISACA en matière de GIA - David Henrard
L'offre d'ISACA en matière de GIA - David Henrard
 
A L E X
A L E XA L E X
A L E X
 
Jprofiler
JprofilerJprofiler
Jprofiler
 
20150527-Bilan annuel ISACA Québec 2014-2015
20150527-Bilan annuel ISACA Québec 2014-201520150527-Bilan annuel ISACA Québec 2014-2015
20150527-Bilan annuel ISACA Québec 2014-2015
 
upload en PHP
upload en PHPupload en PHP
upload en PHP
 
La GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude Vigeant
La GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude VigeantLa GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude Vigeant
La GIA en 2015 - Du principe à la pratique - Bruno Guay, Claude Vigeant
 
L'innovation systématique en GIA - Serge Lapointe
L'innovation systématique en GIA - Serge LapointeL'innovation systématique en GIA - Serge Lapointe
L'innovation systématique en GIA - Serge Lapointe
 
Identification sur Internet - Login social - Thierry Brisset
Identification sur Internet - Login social - Thierry BrissetIdentification sur Internet - Login social - Thierry Brisset
Identification sur Internet - Login social - Thierry Brisset
 
Nouveau cadre de gouvernance de la sécurité de l’information
Nouveau cadre de gouvernance de la sécurité de l’informationNouveau cadre de gouvernance de la sécurité de l’information
Nouveau cadre de gouvernance de la sécurité de l’information
 
Nouveau cadre de gouvernance de la sécurité de l'information
Nouveau cadre de gouvernance de la sécurité de l'informationNouveau cadre de gouvernance de la sécurité de l'information
Nouveau cadre de gouvernance de la sécurité de l'information
 
CA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike BertholdCA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike Berthold
 
Corba
CorbaCorba
Corba
 
GeoMap: Solutions Géospatiales Oracle et B.I.v2
GeoMap: Solutions Géospatiales Oracle et B.I.v2GeoMap: Solutions Géospatiales Oracle et B.I.v2
GeoMap: Solutions Géospatiales Oracle et B.I.v2
 
ISACA Chapitre de Québec 2016
ISACA Chapitre de Québec 2016ISACA Chapitre de Québec 2016
ISACA Chapitre de Québec 2016
 
La protection de la vie privée à l'heure du BIG DATA
La protection de la vie privée à l'heure du BIG DATALa protection de la vie privée à l'heure du BIG DATA
La protection de la vie privée à l'heure du BIG DATA
 
Programmation shell
Programmation shellProgrammation shell
Programmation shell
 
Brainwave - Smposium GIA - Québec - Jacob Verret, Mathieu Roseau
Brainwave - Smposium GIA - Québec - Jacob Verret, Mathieu RoseauBrainwave - Smposium GIA - Québec - Jacob Verret, Mathieu Roseau
Brainwave - Smposium GIA - Québec - Jacob Verret, Mathieu Roseau
 
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy ChiassonOracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
 
La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015
La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015
La gouvernance de la sécurité et la PRP, ISACA Québec, 17 février 2015
 

Similaire à Sérialisation, Persistance Et Mapping Objet Relationnel

Presentation hibernate nfe103
Presentation hibernate nfe103Presentation hibernate nfe103
Presentation hibernate nfe103MRamo2s
 
interface graphique mobile.pdf
interface graphique mobile.pdfinterface graphique mobile.pdf
interface graphique mobile.pdfYasmineChihab1
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Olivier Pinette
 
La sérialisation XML facile avec l'API XStream
La sérialisation XML facile avec l'API XStreamLa sérialisation XML facile avec l'API XStream
La sérialisation XML facile avec l'API XStreamEric Reboisson
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Thibaud Vibes
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_servicesCamus LANMADOUCELO
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementMohamed hedi Abidi
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
LP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxLP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxFATIMAEZZAHRAEOUBELL
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 

Similaire à Sérialisation, Persistance Et Mapping Objet Relationnel (20)

Presentation hibernate nfe103
Presentation hibernate nfe103Presentation hibernate nfe103
Presentation hibernate nfe103
 
interface graphique mobile.pdf
interface graphique mobile.pdfinterface graphique mobile.pdf
interface graphique mobile.pdf
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
 
La sérialisation XML facile avec l'API XStream
La sérialisation XML facile avec l'API XStreamLa sérialisation XML facile avec l'API XStream
La sérialisation XML facile avec l'API XStream
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Java RMI
Java RMIJava RMI
Java RMI
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
NIO 2
NIO 2NIO 2
NIO 2
 
XML
XMLXML
XML
 
LP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxLP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptx
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Présentation nouveauté java7
Présentation nouveauté java7Présentation nouveauté java7
Présentation nouveauté java7
 

Plus de Khalid ALLILI

PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linuxKhalid ALLILI
 
Introduction au Bluetouth
Introduction au BluetouthIntroduction au Bluetouth
Introduction au BluetouthKhalid ALLILI
 
Oracle Database Vault
Oracle Database VaultOracle Database Vault
Oracle Database VaultKhalid ALLILI
 

Plus de Khalid ALLILI (6)

Partager wana
Partager wanaPartager wana
Partager wana
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
Introduction au Bluetouth
Introduction au BluetouthIntroduction au Bluetouth
Introduction au Bluetouth
 
Oracle Database Vault
Oracle Database VaultOracle Database Vault
Oracle Database Vault
 

Sérialisation, Persistance Et Mapping Objet Relationnel

  • 1. Sérialisation, Persistance et Mapping Objet Relationnel
  • 2.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Document Libre. www.allili.net 05/06/09
  • 32.
  • 33.
  • 34. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration>
  • 35. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> Déclaration de la section NHibernate qui va suivre
  • 36. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> Début de la section NHibernate pour le fichier de configuration 4 clefs sont importantes
  • 37. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> La première est liée à la méthode utilisée par NHibernate pour se connecter
  • 38. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> La seconde clef est liée au dialecte (Langage SQL)
  • 39. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> La troisième clef est liée au driver utilisé par NHibernate pour communiquer avec la base de données
  • 40. Document Libre. www.allili.net 05/06/09 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <configSections> <section name=&quot;nhibernate&quot; type=&quot;System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;/> </configSections> <nhibernate> <add key=&quot;hibernate.connection.provider&quot; value=&quot;NHibernate.Connection.DriverConnectionProvider&quot;/> <add key=&quot;hibernate.dialect&quot; value=&quot;NHibernate.Dialect.MsSql2000Dialect&quot;/> <add key=&quot;hibernate.connection.driver_class&quot; value=&quot;NHibernate.Driver.SqlClientDriver&quot;/> <add key=&quot;hibernate.connection.connection_string&quot; value=&quot;Data Source=root;Initial Catalog=mapping;Integrated Security=SSPI&quot;/> </nhibernate> </configuration> Une dernière clef est liée à la chaîne de connexion
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.