Typologie des Fichiers exécutables

Download Report

Transcript Typologie des Fichiers exécutables

Les AGL
Atelier de génie logiciel
Case, Computer aided software environment
Ensemble cohérent d'outils informatiques formant un
environnement d'aide à la conception, au
développement et à la mise au point de logiciels
d'application spécialisés. On retrouvera par exemple
dans un AGL des dictionnaires de données, des outils
permettant de réaliser des diagrammes, pour faciliter
la phase d'analyse et de conception des applications.
Puis des générateurs de code ainsi que des aides à la
mise au point (encore appelés débogueurs ou
débugueurs) viendront accélérer la production et la
finalisation de l'application.
I - Programme: typologie des
fichiers exécutables
1 - Pourquoi cette typologie
2 - Les différents types de fichiers exécutables dans Windows
•Dll, OCX, EXE, VBS…
•Les composants OLE COM et DCOM
•Le rôle du registre dans l’enregistrement des composants
3 - Les fichiers exécutables dans UNIX/LINUX
I.1- Pourquoi cette typologie
• Les fichiers exécutables sont les produits
crées par l’application AGL.
• Une connaissance de ses fichiers correspond
à la connaissance des découpages possible
de l’application
• Une connaissance de ces mécanismes
permet une premier niveau de dépannage
I.2 - Les différents fichiers
exécutables dans Windows
•
•
•
•
•
•
•
exe
dll,
ocx,
sys,
vxd,
drv,
….
Qu’est qu’un Exe ?
I.3 - Les fichiers exécutables
dans Unix/Linux
• .a (bibliothèque statique)
• .so (bibliothèque dynamique)
Remarque: Le nom d'une bibliothèque
commence par 'lib', et se termine une
des extensions ci-dessus.
I.4 Le WEB ou les Pages Actives
• Un serveur Web va pouvoir exécuter du
code pour préparer une page à afficher par
le client. Ce code sera soit appelé depuis la
page initiale cas du CGI soit mélangé à la
page HTML cas des ASP.
– Langages CGI : C, C++, Perl, Java.
– Langages de script : ASP, PHP, JSP.
Démonstrations ASP
• <% for i=1 to 6
• Response.Write "<font size=" & i & ">" %>
• <p>Bonjour le monde </p>
• <hr>
• </font>
• <%next%>
• <p>&nbsp;</p>
II - Le rôle du registre dans
l’enregistrement des composants
III - Le rôle des logiciels de
partage de source
Un fichier modifier par une seule personne à la fois
Capable de fournir l’ensemble des sources et documentation d’une
version quel conque
Garantie un espace de stockage securisé
Peut être intégrer dans un AGL
Stocke aussi bien du code que du binaire ou de la documentation
III.1 - Un gestionnaire de Version
dans le monde Unix/linux
• CVS - Concurrent Version System
Issue du monde libre CVS présente l’avantage
de donner ces sources et donc de constituer
une base de départ pour beaucoup d’ AGL
Maison sur Unix/Linux.
III. 2 - Un gestionnaire de
Version dans le monde Windows
• Microsoft Visual SourceSafe
Parfaitement adapté au solution Microsoft cet
outil s’intègre évidement dans Visual studio
et Visual Studio.net les AGL Microsoft.
IV - Les principaux AGL du
marché
AS400, Unix, Windows, …
Puis Java
IV.1 - IBM iSeries (AS/400)
• Adélia iSeries Studio
• …
• Les AGL Windows exploitant des données
AS400 (Delphi/400, Windev,…)
IV.2 – Unix / Linux
• Kylix 3
Kylix offre le support des langages de programmation
orientés objet C++ ANSI/ISO et Delphi, dans une
solution de développement unique.
IV.3 - Windows
•
•
•
•
•
Visual Basic 6
Delphi 7 Studio (Pascal)
Windev 7.5
C++ 6
C #
Visual Basic 6
• Microsoft Visual Basic 6
est l'un des environnements le plus populaire pour
construire efficacement des programmes sous
Windows. Le système de programmation Visual
Basic permet aux développeurs de créer des
applications qui apportent des solutions efficaces
aux besoins urgents des entreprises.
Delphi 7 Studio
• Delphi Studio
Une solution MDA (Model Driven Architecture)
complète, de la conception jusqu’au développement,
qui intègre la modélisation, le développement et le
déploiement de solutions professionnelles et de ecommerce Windows.
Windev 8
• WINDEV 8 est unique.
C’est le seul environnement de développement
totalement intégré. Un seul environnement prend en
compte toutes les phases du développement, du
cahier des charges à la maintenance.
C++
• C++ Builder (Borland)
est un environnement de développement C++ ANSI,
dédié à la conception d'applications Internet ou
distribuées.
• Visual C++ (Microsoft)
se présente comme l'un des outils C++ les plus
productifs pour le développement d'applications
hautes performances pour Windows et pour le Web.
IV.4 - Java
• Visual Age for Java (IBM)
• Jbuilder (Borland)
• Visual J++ (Microsoft)
IV.5 - J2EE
• J2EE, c'est un standard ?
En fait, c'est un ensemble de standards. J2EE (pour
Java 2 Enterprise Edition) peut être considéré
comme un intitulé générique qui couvre plus d'une
dizaine de services techniques. Ces services
définissent par exemple comment accéder à un
annuaire, à une base de données, comment faire
dialoguer des machines virtuelles Java ou encore
quelles interfaces un composants doit présenter pour
être réutilisable dans un tel environnement. C'est la
combinaison de tous ces services techniques qui
constitue l'architecture J2EE.
IBM Websphere (WSAD)
• Une famille de plus de 100 produits dont certains
tournent même sur Windows
L’AGL se nomme
IBM WebSphere® Studio
Le système est centré sur Java et les outils du libre
tel que CVS. Il incorpore des outils venu de chez
National (racheté par IBM) et remplace le célèbre
VisualAge for Java.
IBM Websphere Studio
+
• Offre très riche
• Création de Site et
service Web simplifié
• Unix / Linux /AIX
Offre complexe et
intégration des
solutions plus ou
moins réussie
IV.6 – Les Services Web
• Qu'est-ce qu'un Service Web ?
Il s'agit d'une technologie permettant à des
applications de dialoguer à distance via Internet, et
ceci indépendamment des plates-formes et des
langages sur lesquelles elles reposent. Pour ce faire,
les services Web s'appuient sur un ensemble de
protocoles standardisant les modes d'invocation
mutuels de composants applicatifs. Un projet qui
passe notamment par l'élaboration de WSDL et de
SOAP.
Visual Studio .NET
• .NET, c'est l'intégration.
Fondée sur des standards de l'industrie (http,
XML, SOAP, WSDL), la plate-forme .NET est un
moyen simple de normaliser la coopération
des services logiciels entre eux (services Web
XML), quelle que soit leur localisation, leur
implémentation technique, qu'ils soient
internes ou externes, existants ou à inventer.
"
IV.7 - iPlanet by Sun
• Cette solution de bout en bout marque une
nouvelle étape dans le développement des
services web au sein de SunOne (Sun Open
Net Environment), l'alternative à la plateforme de services web proposée par Microsoft,
.NET.
• Ou le serveur Web devient l’environnement de
développement.
• Iplanet n’est en fait que le serveur Netscape
réinventé auquel on a ajouté des produits
libres repackagés.
• Toujours du Java (Sun oblige) et du Web
• Une base de donné, un débuggeur
Critères de choix
Le choix d’un AGL est un véritable casse tête
Comment choisir sans tout essayer ?
L’objectif: le web , une application, une base
de donnée, du transactionnel …
Les compétences techniques des équipes
La plateforme (Windows / Linux/Unix)
La documentation ….
Comparaison AGL/Langages
Serveur WEB !
Langage
ASP
Complexité
d'apprentissage
moyen
JSP
PERL
PHP3
élevé
élevé
faible
élevé
moyen
Puissance
moyen
bon/élevé
Complexité
/Puissance
bon
faible
Portabilité
faible
élevé
élevé
AGL
MS Visual
InterDev
IBM VisualAge
for Java,
Perl Builder
Ressources
Peu
Peu
Beaucoup
bon
élevé
Bonne
énormément
Sources
Glossaire
• API Application Programming Interface:
Bibliothèque de fonctions disponibles pour le développeur d’une application et lui permettant de
s’affranchir de la programmation de tâches déjà réalisées par l’API.
• L3G
Langage de développement de bas niveau (boucles, tests, calculs, manipulation de variables ou
d’enregistrements). COBOL ou le langage C sont des L3G.
• L4G
Langage automatisé proposant des fonctions de haut niveau, généralement graphique, et
permettant la sélection et les mises à jour de données en général issues d’un SGBD
relationnel.