
Les fonctions définies par l’utilisateur
par Robert Vieira
Maîtrisez les UDF de SQL Server 2000
J'ai commencé à travailler avec SQL Server en version 6.0. Bien que j'aie antérieurement
déjà utilisé le langage SQL en environnement VMS en 1989, la majeure partie de
mon expérience relative aux bases de données s'était déroulée dans un environnement
de fichiers plats. J'ai été étonné de constater que les opérations sur les enregistrements
de type curseur ne me manquaient pas autant que la capacité de définir simplement
des fonctions. Avec SQL Server 2000, je peux enfin créer des UDF (User-Defined
Functions : fonctions définies par l'utilisateur) utilisables non seulement dans
les scripts, mais aussi en ligne dans des instructions DML (Data Manipulation
Language). SQL Server 2000 possède deux types d'UDF. Le premier type renvoie une
valeur scalaire et le second des tables. Dans le présent article, je présente
des exemples de chacun des deux types et décris brièvement la manière d'utiliser
les UDF dans des applications SQL Server 2000.
à€ bien des égards, les UDF ressemblent à des procédures cataloguées

Un coup d’oeil à Whistler
par John Ruley
Whistler est le nom de code du nouveau système d'exploitation 32 bits qui remplacera
Windows 2000 Professional et Windows Millennium Edition (Windows Me). Microsoft
n'a pas encore livré beaucoup de détails sur Whistler - qui repose sur le noyau
de Windows 2000 et de Windows NT -, pas même la date de sa sortie (probablement
l'an prochain), mais commence à dévoiler et à expliquer certaines de ses caractéristiques.
Il s'agit notamment de modifications de l'interface utilisateur, de l'existence
d'une version personnelle (c'est-à -dire mono-utilisateur) de la technologie Terminal
Services de Windows 2000 Server, et d'une révision drastique du traitement des
DLL par les précédentes versions de Windows 32 bits.

Gérer la croissance de vos applications avec Application Center
par David Chernicoff
Si vous avez déjà été confronté à l'installation, la configuration ou l'administration
de Microsoft Cluster Server ou de Network Load Balancing, vous savez à quel point
cette mission est périlleuse. De plus, malgré sa convivialité améliorée, Windows
2000 n'a pas rendu cette tâche plus facile.
Les fournisseurs ont bien compris l'ampleur du problème que représente la configuration
de MSCS (Microsoft Cluster Server) et ils proposent désormais une multitude de
solutions qui font que les administrateurs système ne sont plus obligés de partir
de zéro pour installer un cluster et le faire fonctionner. Mais peu de solutions
adressent la complexité de configuration de l'équilibrage de charges des applications
avec NLB (Network Load Balancing) et CLB (Component Load Balancing).
L'idée sur laquelle reposent NLB et CLB est simple : si vous voulez accroître
les capacités des applications de votre réseau, alors configurez un serveur pour
qu'il puisse supporter une application en réseau et ajoutez le serveur dans votre
réseau. La possibilité d'utiliser ce type de démarche pour faire monter en charge
les applications est une des composantes fondamentales des montées en charge horizontales
(scale-out) pour Microsoft et de sa stratégie .NET. Microsoft Application Center
2000 est au coeur de la stratégie .NET de Microsoft. Le rôle de Application Center
est d'intégrer et de simplifier la montée en charge des applications, leur gestion
et leur disponibilité.
Le clustering de Application Center n'est pas MSCS, mais plutôt un équilibrage
de charges réseau associé au clustering d'objets COM+. Bien que le clustering
de Application Center n'assure pas le même niveau de tolérance aux pannes que
MSCS, il améliore les performances et ne nécessite pas de matériel spécifique
contrairement à MSCS. Application Center n'exige même pas que les serveurs du
cluster soient identiques, que ce soit en configuration ou en performances. De
plus, Application Center n'offre pas un clustering de type failover à 2 ou 4 voies,
il offre le clustering jusqu'à 32 voies que supporte NLB. L'équilibrage de charges
COM+ est limité à 8 voies, et la complexité des applications tournant sous Application
Center peut cependant limiter le nombre de noeuds du cluster.
Le rôle de Application Center est d'intégrer et de simplifier la montée
en charge des applications, leur gestion et leur disponibilité

SMP et traitements parallèles sur AS/400
par James Steward et Dan Cruikshank
Le parallélisme donne un réel coup de pouce aux performances. Certes, mais est-ce
toujours dans la bonne direction ?
Peu après les problèmes systèmes survenus chez e-Gads (voir l'article "The Case
of the Missing Index", NEWS/400, août 2000), nous avons discuté, Dan et moi-même,
la nécessité de publier quelques informations de base à propos du parallélisme
sur AS/400. Il faut se souvenir que les dysfonctionnements d'e-Gads étaient provoqués
(en partie) par le parallélisme des requêtes. La valeur système QQRYDEGREE était
définie pour utiliser le parallélisme des I/O (*IO). La requête à problème tournait
en haute priorité et le gros fichier d'historique financier détaillé existait
sur la plupart (si ce n'est sur tous) des bras disque. Ainsi, la mise en oeuvre
de la requête de l'optimiseur des requêtes lisait de manière dynamique depuis
ces bras en parallèle, et provoquait la dégradation des autres travaux du système.
La situation d'e-Gads est un parfait exemple de la manière dont le parallélisme
peut entraîner des difficultés si on ne prend aucune précaution.
La stratégie de croissance d'IBM pour les AS/400 haut de gamme a été de mettre
en place des systèmes plus grands, utilisant plusieurs processeurs. Cette approche
améliore considérablement le traitement interactif et les taux de transmission
des transactions associés. En revanche, pour les traitements classiques des travaux
par lot à une seule unité de traitement, cela signifie des systèmes largement
sous-utilisés.
Le parallélisme peut entraîner des difficultés si on ne prend aucune précaution
Lorsque les systèmes bi-processeurs sont apparus, Dan et moi avons commencé à
répondre à des questions du genre : "Pourquoi ne puis-je pas exploiter mon système
à plus de 50 % d'utilisation de CPU pendant les heures creuses ?" Nous avons encouragé
les traitements parallèles et nos analyses sur la conception d'applications étaient
centrées sur l'utilisation de cette fonctionnalité. Avec des systèmes à 4, 8 et
12 processeurs, les traitements parallèles deviennent encore plus judicieux. Nous
recevons encore des appels mais, aujourd'hui, avec un système à 12 processeurs,
les questions ressemblent à ceci : "Pourquoi ne puis-je pas exploiter mon système
à plus de 10 % d'utilisation de CPU pendant les heures creuses ?"
Les demandes des requêtes impliquent en général, le traitement de gros volumes
d'I/O. Ainsi, le parallélisme, tout comme les traitements par lot, profite du
traitement des requêtes sur AS/400. Les améliorations récentes apportées au système
ont été centrées sur les traitements parallèles ; il existe même une fonction
OS/400 téléchargeable permettant d'étendre l'utilisation du parallélisme du système.
Si elle est installée, la fonction SMP (Symmetrical Multiprocessing) permet de
diviser automatiquement certains travaux de requête en plusieurs tâches pouvant
être traitées simultanément par plusieurs processeurs. J'entends, par travaux
de requête, toutes les requêtes utilisant l'optimiseur de requêtes. Par conséquent,
SQL, Query/400, OPNQRYF, ODBC, l'API de requêtes, DRDA (Distributed Relational
Database Architecture) et JDBC figurent parmi les interfaces tirant profit de
SMP.
Méthodes d'accès utilisant le parallélisme | |
Méthodes d'accès aux données sans clés Parallel table scan Parallel skip sequential Parallel pre-fetch Parallel table pre-load Méthodes d'accès aux données avec clé Key positionning and parallel key positionning Key selection and parallel key selection Parallel index pre-load |
Parallélisme SMP SMP I/O I/O Parallélisme SMP SMP I/O |
La tâche de l'optimiseur de requêtes consiste à développer l Lire l'article

Tirer toute la puissance de la MMC de Windows 2000
par Kathy Ivens
La Microsoft Management Console (MMC) de Windows 2000 constitue un framework pour
l'administration et la gestion des configurations des systèmes. La beauté de la
MMC est qu'elle remplace les nombreuses interfaces nécessaires pour gérer Windows
NT et qu'elle simplifie la gestion des systèmes. La MMC a été amplement documentée
par Microsoft. On peut donc s'attendre à ce que les éditeurs de logiciels commencent
à inclure dans leurs solutions des composants logiciels enfichables la MMC pour
leur installation et configuration.
La Microsoft Management Console constitue une interface graphique pour les composants
logiciels enfichables d'administration - également baptisées snap-in. Ces briques
logicielles définissent et réalisent les tâches d'administration. La MMC en elle-même
n'offre pas de fonctions d'administration. Sa valeur ajoutée est qu'elle vous
permet d'ajouter et coordonner facilement les composants enfichables. La MMC offre
une interface de documents multiples qui peut exploiter les technologies Internet
et les contrôles ActiveX.
La MMC tourne sur les plates-formes Win32 (par exemple Windows 2000, NT 4.0 ou
Windows 9x). Windows 2000 comprend des snap-in en standard dans le menu Outils
d'administration du menu Démarrer. De nombreux autres produits Microsoft (notamment
le Kit de ressources de Windows 2000, SQL Server et Exchange 2000 Server), offrent
des composants enfichables supplémentaires.
On peut assembler plusieurs composants logiciels enfichables pour créer une console
personnalisée pour administrer les différents ordinateurs de votre entreprise.
Sauvegardez les consoles que vous avez créées sous forme de fichiers .msc (Management
Saved Console), et utilisez la méthode qui conviendra la mieux à votre environnement
pour les distribuer dans le système d'informations. (On peut par exemple rendre
les fichiers disponibles sous forme de raccourcis sur les bureaux ou comme options
du menu démarrer, envoyer les fichiers par e-mails ou encore publier les fichiers
dans une page Web.)
On peut assembler plusieurs composants logiciels enfichables pour créer
une console personnalisée

Les bizarreries d’Active Directory
par Mark Minasi
Alors qu'Active Directory sort des laboratoires de test pour faire ses premiers
pas dans le monde réel, on découvre certains petits soucis des premières générations
du service d'annuaire de Windows 2000. Certains sont mineurs, mais d'autres ne
le sont pas. Voici un petit aperçu de quatre de ces bizarreries.

Utilisation des zones de données en RPG et en CL
par Jef Sutherland
Les zones des données
sont des objets AS/400 permettant de stocker des morceaux d'information ou des
ensembles de valeurs (comme des paramètres société, des taux de TVA ou des
options de sauvegarde/restauration) là où on ne souhaite pas forcément avoir
un fichier physique avec de multiples enregistrements. Les zones de données
peuvent stocker jusqu'à 2000 caractères, et constituent une manière intéressante
d'assurer les communications de programme à programme ...le premier
programme positionne la data area pour que le second puisse récupérer
l'information et l'utiliser. Lorsqu'on crée une zone de données avec la
commande CRTDTAARA (figure 1), on peut spécifier si la zone de données est de
type caractère (*CHAR), numérique (*DEC) ou logique (*LGL).
Une zone de données spéciale appelée LDA (Local Data Area), utilisable par n'importe quel programme, est créée systématiquement avec chaque job AS/400. Ceci est bien pratique car les programmeurs n'ont pas à créer de LDA lorsque celle-ci s'avère nécessaire ; elle est déjà disponible. Cependant, cette LDA peut être source de problèmes si un grand nombre de programmes s'en servent sans tenir compte des modifications de la LDA faites par les autres programmes.
Une zone de données spéciale appelée LDA, utilisable par n'importe quel programme, est créée systématiquement avec chaque job AS/400
Lire l'article
Une informatique de gestion
par Catherine China
Société de négoce de vins basée à Beaune, Vinipar vient de terminer le développement
d'une application client-serveur de gestion des forces de vente en environnement
AS/400. Conçu à partir de l'AGL Adelia d'Hardis, cet applicatif permettra notamment
d'optimiser la gestion de relevés de linéaires, dans une optique de passage An
2000.
Depuis plusieurs générations, l'entreprise familiale Vinipar relève le défi du
négoce de vins. Dans un secteur devenu de plus en plus concurrentiel, être à la
pointe de l'informatique est devenu son fer de lance. Cela fait près de 8 ans,
qu'elle travaille avec l'éditeur grenoblois Hardis pour le développement d'applications
de gestion sur mesure.
Son équipe informatique vient ainsi de terminer le développement d'une nouvelle
application de gestion des forces de vente basée sur l'AGL Adelia. “ Il y a trois
ans, nous avions choisi d'installer leprogiciel Nomade de gestion des forces de
ventes, mais l'application ne passant pas l'an 2000, il nous fallait trouver une
alternative. Deux solutions s'offraient à nous : soit trouver un autre progiciel
du marché qui passe l'an 2000, soit développer l'application en interne ” explique
ainsi Yves Ganavat, directeur informatique chez Vinipar.
Etre à la pointe de l'informatique est devenu le fer de lance de Vinipar
Après une étude réalisée auprès des différents éditeurs du marché à la fin 1998,
c'est finalement l'option du développement sur mesure qui a été retenue. “ Avec
Hardis, c'est avant tout une affaire de confiance. Cela fait plusieurs années
que nous travaillons ensemble pour le développement de nos applicatifs de gestion
commerciale et de production. Nous avons ainsi préféré faire appel à une société
que nous connaissions déjà pour nous accompagner dans le développement complet
de ce nouvel applicatif, et en nous basant sur un AGL que nos équipes de développement
maîtrisait déjà ” ajoute le directeur informatique.

XML : au delà des frontières
par Sharon L. Hoffman
Comment étendre les possibilités de description de fichiers des DDS aux environnements
hétérogènes
Les développeurs AS/400 se passionnent pour XML (Extensible Markup Language) parce
que ce langage promet de régler deux problèmes pressants : échanger des informations
entre applications disparates, et insérer des données complexes dans des pages
Web. Comme l'AS/400 est avant tout un moteur de base de données, ces problèmes
intéressent tout particulièrement les développeurs AS/400.
Certes, le problème de l'échange d'informations n'est pas nouveau. Mais il s'accentue
dès lors qu'on partage de plus en plus de données avec ses clients et fournisseurs.
La prolifération des bases de données internes et des applications (depuis les
répertoires d'adresses sur chaque PC jusqu'aux applications de business intelligence
complexes), suscite de nouvelles demandes pour l'échange de données entre programmes.
La nécessité d'insérer des données complexes dans des pages Web est le corollaire
de la large utilisation d'Internet et, plus particulièrement, du développement
d'applications de e-commerce.
Au fur et à mesure que les sites Web deviennent plus sophistiqués, les pages HTML
statiques sont de moins en moins pratiques. Les développeurs Web adoptent des
outils comme Java et XML pour rendre les pages Web plus dynamiques et pour limiter
les traitements manuels nécessaires pour des transactions Web, comme des demandes
d'informations et des achats en ligne.
Plutôt que d'expliquer dans le détail les techniques et standards de coding XML,
voyons plutôt la relation entre XML et les langages de définition de données,
comme SQL et DDS, et les outils et technologies nécessaires pour utiliser XML
efficacement. (Pour avoir un bref aperçu de XML, voir l'encadré " XML : Vue d'avion
".)
A la base de toute discussion sur l'échange de données, on trouve l'encodage
des métadonnées

Petit guide du transfert de données sur AS/400
par Ann Hutchins et Michael Otey
Ce tableau synoptique facilite le choix d'un outil de transfert de données
L'AS/400 possède de nombreux outils lui permettant d'échanger des données avec
d'autres plates-formes, de stocker et d'accéder à des fichiers PC standard et
de type Unix (appelés parfois fichiers "stream") et des fichiers de bases de données.
Il n'est pas facile de déterminer le type de transfert ou d'accès aux données
à utiliser du fait que le type de transfert dépend de nombreux facteurs, comme
par exemple le type de fichier concerné par le transfert (fichier de base de données
AS/400 ou un fichier stream).
NEWS/400 et NEWSMAGAZINE ont publié de nombreux articles sur diverses méthodes
de transfert de fichiers sur AS/400 (voir la " Bibliographie du transfert de données
", qui contient la liste des articles et références IBM en la matière). Pour faciliter
le choix d'une méthode, nous avons réalisé le tableau de la figure 1. Elle contient
les différentes méthodes, leurs caractéristiques, leurs avantages et inconvénients
respectifs et le type de fichier auquel elles s'appliquent (base de données ou
stream). Ce tableau synoptique permet de comparer rapidement les méthodes de transfert
pour déterminer la mieux adaptée à chaque cas.
Pour choisir une méthode de transfert de fichiers, le premier critère
à retenir est le type de fichier : stream ou base de données

Configuration des sécurités de SQL Server 7.0 et de IIS
par John D. Lambert
Comment améliorer les sécurités et les performances de la connexion.
L'utilisation des configurations par défaut rend l'installation de Microsoft IIS
et de SQL Server 7.0 plus rapide et plus simple, mais en acceptant les valeurs
par défaut pour l'authentification sur SQL Server 7.0, on peut mettre en danger
la sécurité des données du serveur. Etant donné que SQL Server 7.0 comporte certaines
failles dans sa sécurité, l'authentification Windows 2000 ou Windows NT constitue
peut-être un meilleur choix que celle de SQL Server. La plupart du temps, les
gens utilisent IIS avec des pages Web qui se connectent à SQL Server via des liens
ODBC dans le modèle de programmation ADO. Cette méthode fonctionne, mais ce n'est
pas la plus efficace. Dans cet article, je présente quelques astuces que l'on
peut utiliser pour améliorer les sécurités et la connexion à SQL Server.
On a deux possibilités lorsqu'on configure l'authentification dans SQL
Server 7.0 : le mode Windows NT et le mode mixte
Abordons avant tout les différentes possibilités d'authentification. On a deux
possibilités lorsqu'on configure l'authentification dans SQL Server 7.0 : le mode
Windows NT et le mode mixte. Microsoft recommande fortement l'authentification
NT. En fait, SQL Server 2000 utilise par défaut l'authentification NT à l'installation.
Le white paper "Microsoft SQL Server 7.0 Security " (http://www.microsoft.com/sql/techinfo/dupsecurity.document)
contient plus d'informations sur la mise en place des authentifications. Les outils
de piratage disponibles sur le Web permettent à tout employé malhonnête, depuis
l'intérieur de vos firewalls, ou à n'importe qui capable de passer ces firewalls,
de remplacer le mot de passe de votre compte administrateur, de se connecter,
de créer un nouveau compte ayant des privilèges d'administrateur, se déconnecter
et de remplacer votre mot de passe précédent. Ainsi, si l'authentification SQL
Server reste active, on permet à un intrus potentiel d'acquérir le contrôle total
de la base de données. La réponse officielle de Microsoft à cette vulnérabilité
est qu'il faut entièrement désactiver l'authentification SQL Server. Pour utiliser
SQL Server avec une authentification NT, il faut d'abord créer des comptes NT
que les pages Web pourront utiliser, puis donner les autorisations SQL Server
dont elles auront besoin. Ensuite, on convertit les pages pour qu'elles puissent
utiliser les comptes NT correctement mappés lorsque les utilisateurs se connectent
anonymement. Après avoir rendu les pages Web compatibles avec l'authentification
NT, reconfigurez SQL Server pour utiliser uniquement cette authentification NT.
Faites ces modifications sur votre serveur de développement dans un premier temps,
et, après vous être assuré que la configuration fonctionne correctement, reproduisez
ce processus sur les serveurs de production.
Pour rendre une page Web compatible avec les comptes NT, il faut que le code puisse
utiliser des connexions sécurisées, comme je vais le démontrer. Si on utilise
des objets de connexion que l'on a intégrés à des DLL, et que l'on a installé
ces DLL dans MTS (Microsoft Transaction Server) en tant que composant COM+, le
travail sera plus facile que si on a codé les connexions dans chaque page Web.
Il ne vous reste plus alors qu'à modifier le code source pour utiliser une chaîne
de connexion sécurisée, recompiler le code et mettre à jour le composant MTS.
Si votre site Web utilise des objets de connexions ADO sur chaque page, il faut
éditer chacun d'entre eux. Si vous avez de nombreuses pages, un outil de recherche
et de remplacement fonctionnant au niveau d'une arborescence de répertoires peut
vous faire gagner du temps.
Optimisez les sécurités et la connexion à SQL Server et IIS Voici un résumé des choses que l'on peut mettre en oeuvre pour optimiser la sécurité et la connexion à SQL Server. 1. Utiliser des authentifications uniquement Wi Lire l'article ![]() Windows 2000 DataCenter : Microsoft vise la cour des grandspar Greg Todd ![]() Microsoft .NET décryptépar Michael Otey ![]() RPG IV : format libre et bien plus encorepar George N. Farr ![]() Utiliser IPSEC pour protéger les ressources du LANpar Paula Sharick ![]() L’initiative Biztalk de Microsoftpar Tao Zhou ![]() Les métadonnéespar Scott Steinacher Les métadonnées permettent aux utilisateurs de retrouver facilement des données dans des entrepôts de données Le terme de métadonnées est couramment défini comme “ des données concernant les données ”. Bien que les métadonnées décrivent essentiellement le schéma de la base de données et les données individuelles, elles ont aussi une autre utilisation importante. Outre les données, les métadonnées décrivent également les règles de gestion, les processus opérationnels, les procédures de transformation de données et, plus généralement, toute fonction servant à créer et à maintenir des données. Ces deux genres de métadonnées --que j'appelle métadonnées techniques et métadonnées de gestion—sont des composants critiques des entrepôts de données. Bien que les métadonnées soient généralement associées aux systèmes informatiques, leur utilisation ne se limite pas au domaine des technologies de l'information. Comme je viens de le dire, les métadonnées sont au coeur de toute bibliothèque. En fait, la plupart d'entre nous accèdent à des métadonnées et en manipulent chaque jour, sans en être conscients. Outre les catalogues, il faut savoir que les annuaires téléphoniques, les index des magazines, les tables des matières et les listes de rues accompagnant les plans de villes, constituent aussi des référentiels de métadonnées. Au sens élémentaire, ces structures contiennent des informations sur des données. Considérons à nouveau le catalogue d'ouvrages, sous forme physique ou électronique. Ce système de classement spécialisé contient des informations sur les livres, périodiques, magazines et journaux. Dans les catalogues, on trouve les données suivantes : titres, descriptions, dates de publication, auteurs, numéros d'ISBN et emplacement sur les rayonnages. Sans un tel catalogue, les lecteurs ne sauraient pas quelles données (quels livres par exemple) existent dans une bibliothèque, pas plus qu'ils ne sauraient où se trouvent les données. Les catalogues sont des référentiels de métadonnées particulièrement efficaces, parce qu'ils respectent une norme d'indexation largement reconnue, comme le système de classification “ Dewey Decimal ” ou “ Library of Congress ”, grâce auxquels les lecteurs peuvent trouver des données dans l'ensemble des bibliothèques des Etats-Unis. Vous vous doutez bien que les structures de métadonnées abondent dans le domaine des technologies de l'information. Dictionnaires de données, diagrammes de flux de données, spécifications de descriptions de données (DDS, Data-Description Specifications), listes de bibliothèques, descriptions d'objets, aide en ligne, job logs, commentaires de programmes, manuels de référence, définitions de requêtes, noms de zones, noms de fichiers et fichiers de référen Lire l'article![]() Comment diviser la charge de ses projets par troispar François Rihen ![]() iSeries : déjà de retour
par Benoît Herr ![]() Tout sur l’intégration AS/400-Windows NT/2000par Michael Otey Les plus consultés sur iTPro.fr
![]() La Revue du Décideur ITX
|