MEMO - LE CLIENT/SERVEUR

 

 

 

BRIQUES CLIENT /SERVEUR.. 2

ACID.. 3

ActiveX.. 3

API. 3

Applet. 3

Bean.. 3

CGI. 3

Client/Serveur. 3

Corba.. 4

CMIP.. 4

COM... 4

DCE.. 4

DCOM... 4

DSM... 4

EJB.. 5

Framework.. 5

GUI. 8

IDL. 9

IDL. 9

IIOP.. 10

LDAP.. 10

MIDDLEWARE.. 10

MOM... 11

Navigateur WEB.. 11

OLTP.. 11

ORB.. 11

RMI. 12

RPC.. 12

Serveur. 12

SGDB.. 12

SNA.. 13

SNMP.. 13

TCP/IP.. 13

WORKFLOW... 14

XML. 14

 

 

 

 

 

 

 

 

 

 

 

L’INFRASTRUCTURE LOGICIELLE

 

 

BRIQUES CLIENT /SERVEUR

 

 

 

 

 

 

 

 

 

 

 

ACID

·        Atomicité

·        Cohérence

·        Isolation

·        Durabilité

 

 

ActiveX

Technologie Microsoft destinée à concurrencer JAVA. Développée autour d’OLE, la technologie ActiveX permet la création de composants logiciels qui peuvent être inclus dans les pages HTML.  (associé à COM)

 

 

API

Application Programming Interface :

 

Librairies de fonctions fournissant une interface de programmation pour la communication entre programmes.

 

 

Applet

Application JAVA dite légère destinée à être diffusée sur Internet.

 

 

Bean

Java Bean : Composant applicatif Java pouvant être réutilisé à la façon des OCX, VBX ;

 

 

Blob

Binary Large Object

 

Champ d’une base de données pouvant contenir des images, de la vidéo,et du son pour des applications multimédias.

 

 

CSS

Cascading Style Sheets v1

 

Norme du W3C définissant l’utilisation de feuilles de styles pour affichage des pages HTML.

 

 

CGI

Common Gateway Interface

 

 

Client/Serveur

Architecture qui s’appuie sur qui s’appuie sur un concept de répartition des traitements et des données sur un ensemble de machines comprenant des serveurs centraux et des postes clients finaux. Les seveurs rendant des services aux clients.;

 

 

Corba

Common Object Request Broker Architecture

 

Structure objet, norme décrivant la communication entre 2 objets ORB  d’origine différentes.

 

 

CMIP

Common Management Information Protocol

 

 

 

COM

Component Object Model

 

Architecture objet Microsoft définissant les interfaces des objets applicatifs.

 

 

DCE

Distributed Computing Environment

 

 

DCOM

Distributed Component Object Model

 

Architecture évoluée de COM permettant à des composants applicatifs de coopérer sans être sur la meme machine.

 

 

DSM

Administration distribuée des systèmes.

 

L’application DSM s’éxécute sur chaque chaque nœud d’un réseau client/serveur. Une station d’administration récupère les informations auprès de tous ces agents sur le réseau et les affiche graphiquement.

 

 

EJB

Enterprise Java Beans

Les composants métier : EJB (Enterprise Java Beans). Il s'agit de composants spécifiques chargés des traitements des données propres à un secteur d'activité (on parle de logique métier ou de logique applicative) et de l'interfaçage avec les bases de données.

 

Architecture J2EE

 

Framework

 

Un cadre d'applications (en anglais, Application Framework) informatique ou cadriciel est un ensemble de bibliothèques permettant le développement rapide d'applications. Il fournit suffisamment de briques logiciels pour pouvoir produire une application aboutie. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres (voir urbanisation). Ils sont en principe spécialisés pour un type d'application.

 

 

Groupware

Ensemble des techniques et des méthodes de communication, de coopération  et de coordination qui permettent à plusieurs acteurs séparés ou réunis par le temps et l’espace, de travailler ensemble dans un environnement partagé à l’aide de tout dispositif interactif faisant appel à l’informatique et aux télécommunications.

 

·        La gestion de documents multimédia

·        Le workflow

·        Le courrier électronique

·        La gestion des conférences

·        La planification des réunions

le

 

 

HTTP

HyperText Transfer Protocol

 

Le protocole HTTP () est le protocole le plus utilisé sur Internet depuis 1990. La version 0.9 était uniquement destinée à transférer des données sur Internet (en particulier des pages Web écrites en HTML. La version 1.0 du protocole (la plus utilisée) permet désormais de transférer des messages avec des en-têtes décrivant le contenu du message en utilisant un codage de type MIME.

Le but du protocole HTTP est de permettre un transfert de fichiers (essentiellement au format HTML) localisés grâce à une chaîne de caractères appelée URL entre un navigateur (le client) et un serveur Web (appelé d'ailleurs httpd sur les machines UNIX).

 

Communication entre navigateur et serveur

La communication entre le navigateur et le serveur se fait en deux temps:

 

 

Communication entre navigateur et serveur

  • Le navigateur effectue une requête HTTP
  • Le serveur traite la requête puis envoie une réponse HTTP

En réalité la communication s'effectue en plus de temps si on considère le traitement de la requête par le serveur. Etant donné que l'on s'intéresse uniquement au protocole HTTP, le traitement du côté serveur ne sera pas explicité dans le cadre de cet article...
Si ce sujet vous intéresse, référez-vous à l'article sur le traitement des CGI.

 

 

 

 

Requête HTTP

Une requête HTTP est un ensemble de lignes envoyé au serveur par le navigateur. Elle comprend:

  • Une ligne de requête: c'est une ligne précisant le type de document demandé, la méthode qui doit être appliquée, et la version du protocole utilisée. La ligne comprend trois éléments devant être séparés par un espace:
    • La méthode
    • L'URL
    • La version du protocole utilisé par le client (généralement HTTP/1.0)

·         Les champs d'en-tête de la requête: il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la requête et/ou le client (Navigateur, système d'exploitation, ...). Chacune de ces lignes est composée d'un nom qualifiant le type d'en-tête, suivi de deux points (:) et de la valeur de l'en-tête

  • Le corps de la requête: c'est un ensemble de lignes optionnelles devant être séparées des lignes précédentes par une ligne vide et permettant par exemple un envoi de données par une commande POST lors de l'envoi de données au serveur par un formulaire

Une requête HTTP a donc la syntaxe suivante (<crlf> signifie retour chariot ou saut de ligne):

METHODE URL VERSION<crlf>
EN-TETE : Valeur<crlf>
.
.
.
EN-TETE : Valeur<crlf>
Ligne vide<crlf>
CORPS DE LA REQUETE

Voici donc un exemple de requête HTTP:

GET http://www.commentcamarche.net HTTP/1.0
Accept : text/html
If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT
User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)

 

 

Réponse HTTP

Une réponse HTTP est un ensemble de lignes envoyées au navigateur par le serveur. Elle comprend:

  • Une ligne de statut: c'est une ligne précisant la version du protocole utilisé et l'état du traitement de la requête à l'aide d'un code et d'un texte explicatif. La ligne comprend trois éléments devant être séparés par un espace:
    • La version du protocole utilisé
    • Le code de statut
    • La signification du code
  • Les champs d'en-tête de la réponse: il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la réponse et/ou le serveur. Chacune de ces lignes est composée d'un nom qualifiant le type d'en-tête, suivi de deux points (:) et de la valeur de l'en-tête
  • Le corps de la réponse: il contient le document demandé

Une réponse HTTP a donc la syntaxe suivante (<crlf> signifie retour chariot ou saut de ligne):

VERSION-HTTP CODE EXPLICATION<crlf>
EN-TETE : Valeur<crlf>
.
.
.
EN-TETE : Valeur<crlf>
Ligne vide<crlf>
CORPS DE LA REPONSE

Voici donc un exemple de réponse HTTP:

HTTP/1.0 200 OK
Date : Sat, 15 Jan 2000 14:37:12 GMT
Server : Microsoft-IIS/2.0
Content-Type : text/HTML
Content-Length : 1245

 

 

 

HTML

HyperText Marked up Language

 

 

GUI

 

Applications simples avec un GUI

 

Exemple 2-1: Simple fenêtre avec bouton pour la fermer

 

 

http://tecfa.unige.ch/guides/java/staf2x/ex/gui/ButtonTest2.java

import java.awt.*;
import java.awt.event.*;
 
public class ButtonTest2 extends Frame implements ActionListener {
 
/* The Button test Program  Java 1.1 by T Abbott and J Bishop Oct 1997
* a simplified version SMM / TECFA Nov 98
* Prints a warning message, and
* Illustrates Buttons, Listeners and the 
* handling of events. */
Button OkButton;
Label TheLabel;
 
public ButtonTest2 () {
/* The constructor is responsible for setting 
 * up the initial buttons and colour background. */
         setLayout(new FlowLayout(FlowLayout.CENTER));
         setBackground(Color.black);
         setForeground(Color.cyan);

// create and add a Label

         TheLabel = new Label("W A R N I N G");
         add(TheLabel);

// create & add a button, plus an ActionListener to the button

         OkButton = new Button("Ok");
         OkButton.addActionListener(this);
         add(OkButton);
    }

 

 

IDL

Interface Description Language

 

Langage de description d’interface sur lequel repose la norme Corba pour faire dialoguer deux objets ORB

 

 

IDL

Interface Description Language

 

Langage de description d’interface sur lequel repose la norme Corba pour faire dialoguer deux objets ORB

 

 

IIOP

Internet Inter-Orb Protocol

 

Protocole d’objets distribués. Implémentation du standard GIOP sur TCP /IP . Le logiciel client (browser Web) compatible ORB peut faire appel directement aux fonctions d’un autre objet ORB sans utiliser de passerelle.

 

 

LDAP

Lightweight Directory Access Protocol  :

 

http://www-sop.inria.fr/semir/personnel/Laurent.Mirtain/ldap-livre.html

 

Introduction aux annuaires

 

Les annuaires électroniques sont un type de base de données spécialisées permettant de stocker des informations de manière hiérarchique et offrant des mécanismes simples pour rechercher l'information, la trier, l'organiser selon un nombre limité de critères.
Ainsi le but d'un annuaire électronique est approximativement le même que celui d'un annuaire papier, si ce n'est qu'il offre une grande panoplie de possibilités que les annuaires papier ne sauraient donner. l'utilisation d'annuaire ne se limite pas à la recherche de personnes ou de ressources. En effet, un annuaire peut servir à constituer un carnet d'adresse authentifier des utilisateurs (grâce à un mot de passe) définir les droits de chaque utilisateur recenser des informations sur un parc matériel (ordinateurs, serveurs, leurs adresses IP et adresses MAC, ...) décrire les applications disponibles

 

MIDDLEWARE

Middleware propres aux :

-         bases de données

-         au transactionnel

-         au groupware

-         aux objets distribués

-         à l’internet

 

MOM

Message Oriented Middleware:

Les MOM permet d’échanger les messages dans un système client/serveur au moyen de files d’attente de messages. Système de communication asynchrone assurant le transport et l’intégrité des messages.

·        Message Passing (communication par messages)

·        Message Queuing (communication par file de message)

·        Publish/Subscribe (communication par abonnements)

 

Navigateur WEB

Logiciel permettant de visualiser les pages WEB et de naviguer dans la hierarchie des documents (Mozilla Firefox, Internet Explorer, etc…)

 

OLTP

Avec un serveur de transactions, l’application client/serveur necessite qu’on écrive du code pour les 2 composants. Le côté client comprend une interface graphique utilisateur (GUI). Le coté serveur transaction SQL sur une base de données. Ces applications portent le nom de transactions en ligne (OLTP) .

Transactionnel léger :  procédures  fournies BD

Transactionnel Lourd : moniteur transactionnel

 

 

ORB

Objet Request Broker :

Mécanisme de communication (norme Corba) entre composants applicatifs (objets).

Grâce à l'ORB (Object Request Broker), des objets peuvent communiquer, quel que soit leur emplacement sur le réseau, quel que soit son créateur. Il suffit que ces objets aient une définition d'interface commune.
L'ORB est un mécanisme qui permet les communications entre les objets. La programmation réseau devient donc implicite : Un objet  peut, de façon transparente, utiliser une méthode d'un autre objet , que celui ci soit sur la même machine, ou situé ailleurs sur le réseau. L'objet client n'a pas à se soucier de l'emplacement de l'objet serveur qu'il utilise, du langage dans lequel il a été écrit, du système d'exploitation qui l'exécute ; Tous ces détails sont pris en compte par l'ORB sous jacent. Seule compte l'interface qui a été définie entre ces objets. CORBA défini  un langage de description de ces interfaces, ce langage de spécification a été baptisé IDL[Interface Definition Language]  La flexibilité et la souplesse sont totales.

 

 

RMI

 

Protocole de communication développé par Javasoft (SUN) permettant le dialogue entre DCOM et objets CORBA.

 

 

RPC

Remote Procedure Call :

 

Exécution à distance d’une procédure stockée sur un serveur sur la demande d’un poste client.

 

 

Serveur

 

·        Le serveur de Base de Données SQL

·        Le serveur de transactions (TP monitors)  (propriété ACID)

·        Le serveur de groupware

·        Les serveurs d’objets

 

 

SGDB

Système de Gestion de Base de données .

 

Logiciel permettant de stocker les données, de les mettre et de les consulter. En anglais : Data Base Management System, DBMS.

 

SNA

System Network Architecture

 

Architecture de réseau IBM .

 

SNMP

Simple Network Management Protocol

 

Le système de gestion de réseau est basé sur deux éléments principaux: un superviseur et des agents. Le superviseur est la console qui permet à l'administrateur réseau d'exécuter des requêtes de management. Les agents sont des entités qui se trouvent au niveau de chaque interface connectant l'équipement managé au réseau et permettant de récupérer des informations sur différents objets.

Switchs, hubs, routeurs et serveurs sont des exemples d'équipements contenant des objets manageables. Ces objets manageables peuvent être des informations matérielles, des paramètres de configuration, des statistiques de performance et autres objets qui sont directement liés au comportement en cours de l'équipement en question. Ces objets sont classés dans une sorte de base de donnée appelée MIB ("Management Information Base"). SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans la MIB.

L'architecture de gestion du réseau proposée par le protocole SNMP est donc basée sur trois principaux éléments :

Les équipements managés (managed devices) sont des éléments du réseau (ponts, hubs, routeurs ou serveurs), contenant des "objets de gestion" (managed objects) pouvant être des informations sur le matériel, des éléments de configuration ou des informations statistiques ;

Les agents, c'est-à-dire une application de gestion de réseau résidant dans un périphérique et chargé de transmettre les données locales de gestion du périphérique au format SNMP ;

Les systèmes de management de réseau (network management systems notés NMS), c'est-à-dire une console au travers de laquelle les administrateurs peuvent réaliser des tâches d'administration.

 

 

 

TCP/IP

 

 

Parmi les protocoles relatifs aux applications de la suite TCP/IP, on trouve :

 

 

 

 

WORKFLOW

 

Gestion électronique de processus, outil décisionnel coopératif qui s’attache à optimiser et rationnaliser les flux d’information et les procédures de travail.

Le workflow procédural (aussi appelé workflow de production ou workflow directif) correspondant à des processus métiers connus de l'entreprise et faisant l'objet de procédures pré-établies : le cheminement du workflow est plus ou moins figé ;

Le workflow ad hoc basé sur un modèle collaboratif dans lequel les acteurs interviennent dans la décision du cheminement : le cheminement du workflow est dynamique.

 

 

 

XML

eXtensible Mark up Language

 

La norme XML en tant que telle doit être vue comme un outil permettant de définir un langage (on dit alors qu'il s'agit d'un métalangage), permettant de créer des documents structurés à l'aide de balises.