Exemple d'application qui montre comment utiliser les bonnes pratiques de JEE pour développer un site web de commerce électronique en utilisant les outils :
- Eclipse comme environnement de développement
- Maven comme outil d’intégration
- JUnit comme Framework des tsts unitaire
- Spring IOC pour l'inversion de contrôle
- Spring MVC pour la couche web
- Spring Security pour la sécurité
- JPA, Hibernate
- Web Service SOAP
- Web Service REST
- Service RMI
Ce support explique les concepts de bases du principe de l'inversion de contrôle et d'injections des dépendances.
Les concepts les plus importants à comprendre par les futurs ingénieurs du génie Logiciel.
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Exemple d'application qui montre comment utiliser les bonnes pratiques de JEE pour développer un site web de commerce électronique en utilisant les outils :
- Eclipse comme environnement de développement
- Maven comme outil d’intégration
- JUnit comme Framework des tsts unitaire
- Spring IOC pour l'inversion de contrôle
- Spring MVC pour la couche web
- Spring Security pour la sécurité
- JPA, Hibernate
- Web Service SOAP
- Web Service REST
- Service RMI
Ce support explique les concepts de bases du principe de l'inversion de contrôle et d'injections des dépendances.
Les concepts les plus importants à comprendre par les futurs ingénieurs du génie Logiciel.
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Un support de cours complet sur l'architecture JEE et l'industrialisation du génie logiciel. Ce support contient les parties suivantes :
- Tendances du génie logiciel
- Architecture JEE
- Services de l'infrastructure JEE (jdbc, jndi, rmi,servlet, jsp, jstl, jsf,EJB, JaxWS, JaxRS, JMS, JMX, ....)
- Maven : Outil d'industrialisation du génie logiciel
- Junit : Test Unitaires
- Hibernate
- Spring IOC et Spring MVC
- Struts 2
Bon apprentissage à tous
Maven
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
Un cours d'initiation en Visual Basic.
Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email:
pr.azizdarouichi@gmail.com
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
Se support présente l'outil d'intégration Maven dans le processus d'industrialisation du génie logiciel. Tout ce qu'il faut savoir sur maven.
La deuxième partie de ce cours traite la mise en oeuvre de maven dans des projets basés sur JPA, Hibernate, Spring et Struts.
Bon apprentissage à tous
Un support de cours complet sur l'architecture JEE et l'industrialisation du génie logiciel. Ce support contient les parties suivantes :
- Tendances du génie logiciel
- Architecture JEE
- Services de l'infrastructure JEE (jdbc, jndi, rmi,servlet, jsp, jstl, jsf,EJB, JaxWS, JaxRS, JMS, JMX, ....)
- Maven : Outil d'industrialisation du génie logiciel
- Junit : Test Unitaires
- Hibernate
- Spring IOC et Spring MVC
- Struts 2
Bon apprentissage à tous
Maven
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
Un cours d'initiation en Visual Basic.
Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email:
pr.azizdarouichi@gmail.com
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
Se support présente l'outil d'intégration Maven dans le processus d'industrialisation du génie logiciel. Tout ce qu'il faut savoir sur maven.
La deuxième partie de ce cours traite la mise en oeuvre de maven dans des projets basés sur JPA, Hibernate, Spring et Struts.
Bon apprentissage à tous
1. Institut Supérieur des Etudes Technologiques De Rades
Architecture .NET
Réalisé par:
Nefzaoui Lobna
Rekik Shourouk
Année Universitaire 2013-2014
2. Introduction au FrameWork .NET
Les composants du framework .NET
Principe de Séparation des couches
avec .NET
Les apports de .NET
.NET vs J2EE
Conclusion
Plan 2
3. • La plate-forme .NET Lancée en juin 2000 lors d'une conférence
donnée par Bill Gates et Steve Ballmer.
• Elle a été élaborée en s'appuyant sur une communauté
d'utilisateurs, pour le développement d'applications d'entreprises
multi-niveaux, basées sur des composants.
• Microsoft .NET constitue ainsi la réponse de Microsoft à la plate-
forme J2EE de Sun.
• Le framework .NET est un ensemble de technologies servant de
base pour développement d'applications.
Introduction au FrameWork .NET
3
4. Le framework .NET comprend notamment :
Un environnement d'exécution :
• un moteur d'exécution, appelé CLR (Common Language
Runtime), permettant de compiler le code source de l'application
en un langage intermédiaire MSIL et agissant telle la machine
virtuelle Java
Compiler Assembly
DEVELOPMENT
C#
J#
VB
Cobol
…
MSIL
Metadata
Resources
public static void Main(String[] args )
{ String usr; FileStream f; StreamWriter w;
try {
usr=Environment.GetEnvironmentVariable("USERNAME");
f=new FileStream(“C:test.txt",FileMode.Create);
w=new StreamWriter(f);
w.WriteLine(usr);
w.Close();
} catch (Exception e){
Console.WriteLine("Exception:"+e.ToString());
}
}
public static void Main(String[] args )
{ String usr; FileStream f; StreamWriter w;
try {
usr=Environment.GetEnvironmentVariable("USERNAME");
f=new FileStream(“C:test.txt",FileMode.Create);
w=new StreamWriter(f);
w.WriteLine(usr);
w.Close();
} catch (Exception e){
Console.WriteLine("Exception:"+e.ToString());
}
}
Source
code
Les composants du framework .NET
4
5. • un environnement d'exécution d'applications et de services web,
appelé ASP .NET
• un environnement d'exécution d'applications lourdes, appelé
WinForms .
Des services :
sous forme d'un ensemble hiérarchisé de classes appelé
Framework Class Library (FCL).
Le SDK (Software Development Kit) fournit une implémentation
de ces classes.
Les composants du framework .NET
5
7. Couche Présentation:
La couche de présentation assure la logique de navigation mais
aussi la gestion des droits de l’utilisateur(authentification).
Aucun traitement n’est à implémenter dans cette couche.
Couche Logique métier:
C’est dans cette couche que l’on retrouve l’ensemble des
traitements d’une application.
Couche d’accès aux données:
Elle se compose souvent d’une ou de plusieurs bases de données
de type SGBDR, SGBDO, LDAP, …
Cette séparation par couches de responsabilités sert à
découpler au maximum une couche de l'autre afin d'éviter
l'impact d'évolutions futures de l'application.
Principe de Séparation des couches
avec .NET
7
8. Nous allons commencer par comparer chaque couche de
l’architecture pour étudier la manière dont elles sont implémentées
dans .NET
La couche de présentation
Client lourd .NET (WinForms) :
les WinForms qui sont une surcouche responsable de créer
nativement des contrôles graphiques du type fenêtres, boutons, …
Clients léger ou Web .NET (ASP.NET et WebForms) :
les ASP.NET représentent l’équivalent des JSP avec un modèle de
développement totalement intégré basé sur les WebForms qui
permettent de développer une interface graphique Web
8
Principe de Séparation des couches
avec .NET
9. La couche de service .NET (ServicedComponent)
La couche de service est la partie de notre architecture contenant
les traitements applicatifs réalisés en se basant sur les API de
servicedComponent
La couche d’accès aux données (ADO.NET)
Microsoft propose ADO.NET pour l’accès aux données. ADO.NET
fonctionne de manière similaire à JDBC avec quelques variantes.
Historiquement, ADO souffre d’un passé quelque peu lourd à porter.
C’est pourquoi, vous trouverez deux types de provider :
- Managed (utilisant les services de la CLR)
- Unmanaged (pour supporter les anciennes versions)
9
Principe de Séparation des couches
avec .NET
11. .NET supporte la programmation par composants grâce à sa
structure interne.
Elle supporte la programmation objet
Elle permet l’intégration multi-langages :
Elle supporte plus que 51 langages différents.
Elle permet l’héritage entre les langages.
Elle assure la disponibilité de toutes les fonctions de la plate-
forme depuis n’importe quel langage.
Elle est modulaire et extensible
Elle permet l’unification des modèles de programmation grâce à
l’MSIL (Microsoft Intermediate Language).
Les apports de .NET
11
12. Le CLR permet au développeur de ne pas se préoccuper de
certaines choses, surtout concernant la mémoire. Les fuites de
mémoires vont être automatiquement détectées et corrigées par
garbage collector du CLR.
Elle permet le développement d’applications plus performantes.
* Modèle de programmation unifié
* niveau d’abstraction élevé
* Bibliothèque de classe riche et extensible
* Intégration native des standards Web (HTTP, XML, SOAP, ...)
Elle assure le déploiement : Les installations sont sans impact et les
problèmes des DLL sont résolus.
Elle offre un environnement d’exécution robuste et sécurisé.
12
Les apports de .NET
13. Framework J2EE Framework .NET
Couche présentation:
C’est la face visible de
notre application qui
contient les différents
types de clients, léger
ou lourd
Clients lourds (utilisant une interface
graphique à base de formulaires riches et de
contrôles graphiques complexes )
J2EE propose
plusieurs APIs liées
au client lourd :
Swing et l'AWT
(Abstract Windowing
Toolkit) basées sur
Java 2D
Microsoft propose une
API similaire à
AWT/Swing : les
WinForms
(Windows Forms)
dont la responsabilité
est de créer des
contrôles graphiques
du type fenêtres,
boutons, …
.NET vs J2EE
13
14. Client léger (représentent les applications
utilisant un navigateur Web comme interface
graphique )
JSP (Java Server
Pages ) en
implémentant un
moteur de pages JSP
et de servlet
compatible J2EE
rende une page JSP
totalement portable
sous divers produits.
ASP.NET :
Représente
l'équivalent des JSP
avec un modèle de
développement
totalement intégré
basé sur les
WebForms.
14
.NET vs J2EE
15. Couche de service:
C’est la partie de
notre architecture
contenant les
traitements
applicatifs .
EJB Session:
Il s'agit
de composants
spécifiques chargés
des traitements
des données .
ServicedComponent:
Tout comme J2EE, .NET
propose le même ensemble
de services sous
l'appellation de
ServicedComponent. Le
conteneur utilisé dans le
Framework est COM+.
Couche d’accès aux
données:
JDBC:
API d’accès à une
base de données
ADO.NET:
fonctionne de manière
similaire à JDBC .
15
.NET vs J2EE
16. Les deux environnements (J2EE & .NET) disposent de
mécanismes très similaires pour gérer chaque couche de
l'application. L'important est de savoir utiliser ces services de
manière à découpler au maximum les couches entre elles pour
faciliter la maintenabilité et garantir la réutilisation.
16
Conclusion