Typologie des Fichiers executables

quaggaholeInternet και Εφαρμογές Web

15 Αυγ 2012 (πριν από 5 χρόνια και 4 μήνες)

319 εμφανίσεις

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.

Les AGL

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 e
-
commerce 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.




.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.

"

Visual Studio .NET


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 plate
-
forme 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


JSP


PERL


PHP3


Complexité
d'apprentissage


moyen


élevé


élevé


faible


Puissance


moyen


bon/élevé

élevé

moyen


Complexité
/Puissance

bon


faible


bon

élevé


Portabilité

faible


élevé


élevé


Bonne

AGL

MS Visual
InterDev


IBM VisualAge
for Java,

Perl Builder


Ressources

Peu

Peu

Beaucoup

é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.