> Windows
UDTF SQL, première partie

UDTF SQL, première partie

par Michael Sansoterra - Mis en ligne le 23/02/2005 - Publié en Avril 2004

Les UDTF (User-Defined Table Functions) offrent trop d'avantages pour qu'on les ignore

Pour le plus grand bien de la communauté iSeries, IBM améliore continuellement les UDF (User-Defined Functions) introduites dans SQL V4R4 pour iSeries. Ces UDF permettent aux programmeurs de construire des fonctions scalaires personnalisées ...La V5R2 leur donne le moyen de construire un autre genre de fonctions appelé UDTF (User- Defined Table Function). Contrairement à  une UDF scalaire, qui accepte des paramètres de zéro ou plus et renvoie une valeur unique, l'UDTF peut accepter des paramètres zéro ou plus et renvoyer une table de résultats à  part entière. Comme une UDTF renvoie une table de résultats, les programmeurs peuvent l'utiliser comme une table normale ou la visualiser dans une instruction Select, dans la clause From d'un subselect, ou dans une déclaration de curseur. (Une UDTF ne peut pas être référencée comme cible d'une instruction Update, Insert ou Delete.)

Vous pouvez utiliser soit SPL (SQL procedural language), soit un langage évolué, comme ILE RPG, pour mettre en oeuvre une UDTF. Les UDTF écrites en SPL sont appelées « UDTF SQL » et celles qui sont écrites dans un langage évolué (HLL) sont appelées « UDTF externes ». En général, les UDTF SQL sont utiles pour extraire des données d'une base de données DB2, tandis que elles conviennent bien pour extraire des données d'autres sources, même si des UDTF externes peuvent aussi extraire des données de DB2. Pour l'instant, nous n'examinerons que les UDTF SQL. Rappelons qu'à  partir de la V5R2, le kit de développement SQL 5722ST1 n'est plus nécessaire pour écrire du code SPL.
Comme avec les UDTF scalaires SQL, l'instruction Create Function mène une double action : elle compile le code de l'UDTF et elle enregistre le nom, les paramètres et la valeur de renvoi de l'UDTF avec la base de données. La figure 1 montre une UDTF simple qui extrait toutes les commandes d'un client des tables Orders et OrdersArchive.
Pour invoquer une UDTF dans une instruction SELECT, spécifiez le nom de la fonction et ses paramètres de la manière suivante :

Select *
From Table(GetCustomerOrders
('ACME_HDW'))
As CustOrders
Order By OrderValue
Si l'interrogation concerne une UDTF, vous devez placer le nom UDTF entre parenthèses dans le mot-clé Table. Vous devez aussi indiquer un nom de corrélation en utilisant le motclé As pour donner à  l'UDTF un nom unique dans l'instruction.
La figure 1 montre comment, pour des UDTF SQL, vous pouvez diviser l'instruction Create Function en deux parties : la définition de la fonction et l'implémentation de la fonction. La définition de la fonction va des mots-clés Create Function jusqu'à  la fin de la phrase Set Option. L'implémentation de la fonction est spécifiée entre les mots-clés Begin et End.
Pour démarrer la partie définition, l'UDTF reçoit le nom GetCustomer- Orders, qui est référencé dans la clause From d'une instruction Select. Après le nom, spécifier les éventuels paramètres d'entrée dont l'UDTF a besoin pour extraire les données désirées. Dans cet exemple, le CustomerID est déclaré comme un paramètre d'entrée appelé parmCustomerID.
Le mot-clé Returns Table distingue une UDTF d'une UDF scalaire parce qu'une UDTF peut renvoyer des colonnes multiples ainsi que des lignes. Vous devez spécifier les colonnes de la table de résultats en utilisant une syntaxe identique à  celle qui permet de définir des colonnes sur l'instruction Create Table. Une instruction SQL qui référence l'UDTF utilise les noms des colonnes de la table de résultats de la même manière que les noms de colonnes provenant d'une table ou d'une vue normale.
Le fait de spécifier Language SQL signifie que l'UDTF est écrite en SPL. Comme les UDTF ne peuvent pas s'exécuter en parallèle, la clause Disallow Parallel est toujours requise. Utilisez la clause Set Option pour définir une variété de paramètres incluant le format date, le format heure, le niveau de contrôle de commitment et l'autorité adoptée. Pour obtenir plus d'informations sur les options disponibles, voir la commande Set Option dans le guide IBM DB2 UDB for iSeries SQL Reference à  http://publib.boulder. ibm.com/iseries/v5r2/ic2924/info/db2/rbafzmst02.htm (ou la même URL se terminant par rbafsmst.pdf pour

Lire l'article
WebReport/400 7.0,

WebReport/400 7.0,

Kisco Information Systems annonce des contrôles de sécurité de fichiers spool dans WebReport/400 7.0, dernière version de son utilitaire.

WebReport/400 7.0 permet de convertir les rapports iSeries et les distribuer par fichiers joints par email ou par contenu Internet/Intranet.

Lire l'article
Arrêter les clients suspects avec la nouvelle fonction Quarantine de Windows 2003

Arrêter les clients suspects avec la nouvelle fonction Quarantine de Windows 2003

par Allen Jones - Mis en ligne le 26/01/2005 - Publié en Décembre 2003

Améliorez la sécurité de l'accès à  distance

La plupart des spécialistes de la sécurité constatent que les clients dont l'accès se fait à  distance représentent l'un des maillons faibles du réseau d'entreprise. Malgré la simplicité actuelle de la connectivité à  distance sur les connexions rapides à  large bande, il n'est pas facile d'imposer un minimum de standards maison : logiciel antivirus et pare-feu personnel ...Même dans des réseaux bien gérés par une administration centralisée, les utilisateurs distants qui se connectent souvent au bureau à  partir de leurs PC personnels ne sont pas soumis aux standards de sécurité de l'entreprise. Par conséquent, quand de nouveaux virus frappent le réseau, le coupable est tout trouvé : les AP (Access Points).
Les sociétés abordent souvent ce problème en imposant un logiciel antivirus et un pare-feu personnel sur toute machine utilisée pour se connecter au réseau. Mais, pour être efficace, une réglementation doit avoir des moyens d'imposition et de coercition en cas de transgression.
C'est dans cet esprit que des fournisseurs d'accès distant, comme Check Point Software Technologies et Cisco Systems, ont commencé à  offrir des produits qui obligent les clients distants à  respecter un minimum de critères avant d'être autorisés à  se connecter au réseau d'entreprise. Microsoft offre désormais des moyens similaires dans Windows Server 2003. Avec la fonction Network Access Quarantine Control de Windows 2003, vous pouvez mettre en quarantaine les clients pratiquant l'accès à  distance, pendant qu'un script personnalisé s'exécute sur le client distant. Ce script peut comporter diverses requêtes. Il peut, par exemple, vérifier si le client possède un certain fichier, un logiciel antivirus ou un ICF (Internet Connection Firewall).
On peut utiliser Network Access Quarantine Control avec Windows 2003, Windows XP, Windows 2000, Windows Me, et Windows 98 Second Edition (Win98SE). Pour en bénéficier, il faut utiliser le CMAK (Connection Manager Administration Kit) de Windows 2003 pour créer un profil de connexion spécial qui contient le script à  exécuter sur les clients distants.
Avant de voir comment mettre en place une quarantaine, examinons l'environnement RRAS. La figure 1 montre un réseau schématisé. Les deux serveurs IAS1 et VPN1 exécutent Windows 2003. IAS1 est un DC (domain controller) qui exécute déjà  l'IAS (Internet Authentication Service). VPN1 est un serveur VPN. Il faut configurer le serveur VPN pour qu'il utilise RADIUS (Remote Authentication Dial- In User Service) et pas les références de domaine pour authentifier les utilisateurs.
Il existe deux réseaux dans la figure 1. Le réseau 172.16.0.x est l'intranet et le réseau 10.0.0.x se connecte à  l'Internet. Le client soumis au test utilise XP et est un client distant qui se connecte par Internet. Pour accélérer l'opération de test de la fonction quarantaine, vous devez établir votre réseau de test en respectant ce schéma. Pour des instructions détaillées sur la façon d'établir un tel réseau de test, voir l'article Microsoft « Step-by-Step Guide for Setting Up VPN-Based Remote Access in a Test Lab » (http:// www.microsoft.com/technet/prodtech nol/windowsserver2003/deploy/confe at/motevpn.asp).
A noter que dans la numérotation de réseau utilisée dans cette configuration de test, les réseaux soumis au test sont mis de côté dans le cadre de la RFC (Request for Comments) 1918 de l'IETF (Internet Engineering Task Force), qui demande d'allouer un certain espace d'adresses IPv4 pour les réseaux privés. Ces réseaux font ou ne font pas peut-être déjà  partie de votre réseau, donc veillez à  conduire les tests dans un lab isolé de vos ressources de production. Si, par la suite, vous décidez de mettre votre configuration de test en production, vous devrez renuméroter un ou les deux réseaux dans votre installation de test de quarantaine pour être en conformité avec l'espace d'adresses qui vous a déjà  été attribué par votre ISP et votre intranet existant.

Lire l'article
Enquête sur l’I5/OS ou l’OS/400 ouvert

Enquête sur l’I5/OS ou l’OS/400 ouvert

par Jean Mikhaleff - Mis en ligne le 1/06/2005 - Publié en Septembre 2004

Les nouvelles annonces i5/OS présentent la nouvelle machine eServer i5 comme un futur serveur de consolidation qui hébergera le p5/OS dans quelques mois puis le z6/OS dans quelques années, les chiffres 5 et 6 derrière les lettres i,p,z des 3 OS d’IBM représentant respectivement les processeurs POWER5 et POWER6 ...Cependant, cette consolidation de tous les serveurs IBM par l’i5 ne serait-elle pas une exagération ?

Lire l'article
Actualités de la semaine 20 – Windows IT Pro – 2005

Actualités de la semaine 20 – Windows IT Pro – 2005

Toutes les Actualités du 16 au 22 Mai 2005

Lire l'article
Alternative à  la solution WebFacing d’IBM

Alternative à  la solution WebFacing d’IBM

par Jef Sutherland - Mis en ligne le 11/05/2005 - Publié en Juillet / Aout 2004

Trouvez un générateur d'interface Web qui vous convienne

Intéressant pour beaucoup, il est peut-être déroutant pour certains. WebFacing est un produit IBM, mais c'est aussi devenu un terme qui désigne l'opération consistant à  valider pour le Web, ou à  rajeunir, d'anciennes applications. Donc, peut-on « Webfacer » une application ? Oui. Est-on obligé d'utiliser pour cela le produit WebFacing d'IBM ? Non, pas vraiment ...Bien que l'offre IBM soit abondante pour ajouter une interface Internet à  une application existante, ce n'est pas le seul moyen. En fait, il existe au moins une vingtaine d'outils logiciels tierce partie capables de porter une application iSeries sur le Web. Pour plus d'informations : www.itpro.fr Club abonnés.

Lire l'article
Trucs & Astuces iSeries : Telnet, iSeries 5250, tableaux

Trucs & Astuces iSeries : Telnet, iSeries 5250, tableaux

Les trucs & astuces de la semaine du 11 au 17 Avril 2005

Lire l'article
Trucs & Astuces iSeries : DNS, TCP/IP

Trucs & Astuces iSeries : DNS, TCP/IP

Les trucs & astuces de la semaine du 28 Mars au 3 Avril 2005

Lire l'article
Clustering de SQL Server

Clustering de SQL Server

par Brian Knight - Mis en ligne le 16/03/2005 - Publié en Avril 2004

6 étapes vers la haute disponibilité de SQL Server

Pour l'administrateur de bases de données (DBA), la mise en cluster d'un SQL Server est source d'inquiétude, un peu parce que cet exercice était déjà  difficile dans SQL Server 7.0 et les releases antérieures. Heureusement, dans SQL Server 2000, le clustering est moins intimidant. Les six étapes que je couvre dans cet article constituent un canevas de base permettant d'établir un environnement en cluster pour SQL Server 2000 ...Le failover clustering est le meilleur moyen d'instaurer la haute disponibilité dans un environnement SQL Server. Pour mettre en cluster des serveurs Windows, on utilise le service Microsoft Cluster pour relier entre eux plusieurs serveurs. Avec le service Cluster, si une panne survient dans un composant matériel crucial ou dans le service SQL Server, les lecteurs, SQL Server, et les services associés, basculent tous sur un serveur secondaire. Ce basculement généralisé est automatique et prend entre 30 et 60 secondes. Avec d'autres solutions haute disponibilité de SQL Server, comme le log shipping ou la réplication, en cas de défaillance du serveur principal, quelqu'un doit changer manuellement les rôles sur le serveur secondaire. Bien que le log shipping offre une bonne solution de redondance, il s'appuie sur la maintenance manuelle et il peut être difficile à  instaurer.
Avant de commencer l'opération de clustering, il faut bien comprendre que la seule fin du clustering Windows est la haute disponibilité. En effet, le clustering n'améliore pas la performance de SQL Server puisqu'un seul serveur travaille à  la fois - les serveurs reliés ne traitent pas les requêtes ensemble. Pour voir comment le clustering trouve sa place dans le puzzle de la haute disponibilité de SQL Server, voir l'article de Michael Hotek « Solutions haute disponibilité », dans ce numéro.

Lire l'article
Services superflus dans Windows XP

Services superflus dans Windows XP

par Michael Otey - Mis en ligne le 06/04/2005 - Publié en Avril 2004

Désactivez les services superflus pour améliorer la performance sans sacrifier les fonctionnalités

L'inflation de code semble empirer avec chaque release de Windows : chaque nouvelle release semble fonctionner plus lentement que la précédente. Le plus souvent, le problème ne vient pas du code OS de base mais du fait que chaque nouvelle release ajoute des fonctionnalités ...Un secteur clé qui continue à  s'étendre est celui des services : Windows XP démarre automatiquement 36 services. A l'évidence, peu d'utilisateurs ont besoin de tous ces services et en éliminant ceux qui ne servent pas, vous pouvez rendre le système plus efficace.
Pour désactiver un service, ouvrez l'applet Control Panel Services et double-cliquez sur le service pour ouvrir sa feuille Properties. Sur l'onglet General, cliquez sur la boîte déroulante Startup type et sélectionnez Disabled. Si vous avez perdu une fonctionnalité importante, redémarrez le service en remettant son Startup Type à  Automatic ou Manual. Voici 10 services XP dont vous pouvez vous passer.

Lire l'article
Accéder à  l’iSeries en utilisant .NET Data Provider d’IBM

Accéder à  l’iSeries en utilisant .NET Data Provider d’IBM

par Michael Otey - Mis en ligne le 23/02/2005 - Publié en Avril 2004

Connectez les applications .NET à  l'iSeries avec ce nouvel outil iSeries Access for Windows

Si vous appeliez de vos voeux un moyen facile pour que vos applications Visual Basic .NET mettent à  jour des données sur l'iSeries, c'est chose faite. iSeries Access for Windows offre désormais un nouveau DB2 UDB for iSeries .NET Data Provider avec lequel vous pourrez connecter des applications .NET à  l'iSeries ...Il est vrai qu'il existe d'autres moyens pour connecter des applications .NET à  l'iSeries : .NET Framework Data Provider for ODBC et .NET Framework Data Provider for OLE DB, tous deux de Microsoft. Cependant, d'après IBM, la connexion à  l'iSeries sera plus performante avec son nouveau iSeries .NET Data Provider qu'avec les deux autres méthodes. Avant de voir dans le détail comment utiliser l'iSeries .NET Data Provider, commençons par jeter un coup d'oeil aux principes de base de l'ADO.NET framework.

Lire l'article
Un guide rapide vers les JSP : rejoignez l’équipe des tages

Un guide rapide vers les JSP : rejoignez l’équipe des tages

par David Bridgewater - Mis en ligne le 09/02/2005 - Publié en Mars 2004

Une application familière avec deux nouveaux trucs : le code modularisé et les tags JSP

Dans l'article « Les JSP : visite rapide » , je montrais comment écrire une application JSP (JavaServer Page) simple mais intéressante. L'application permet à  l'utilisateur de filtrer un fichier Employee au travers d'une large sélection de critères ; puis, elle affiche les résultats sous forme de table dans une page Web, en incluant le comptage du nombre d'employés trouvé ...Dans ce premier article, je signalais les défauts de conception de ma méthode. Principale critique : mon code était monolithique, mélangeant la logique de présentation, de gestion et de base de données - le genre de pratique que nous avons tous délaissée dès l'arrivée de ILE et des programmes de service. Je propose ici un exemple d'application de même fonctionnalité, mais avec deux réaménagements importants :
1. Le code est modularisé.
2. Le JSP ne contient pas de Java. En lieu et place, on trouve des constructions JSP différentes appelées tags.

Je ne prétends pas que cette nouvelle méthode soit le nec plus ultra de la bonne conception, mais c'est une amélioration indiscutable.

Lire l'article
SQL Server Actualités – Semaine 3 –  2005

SQL Server Actualités – Semaine 3 – 2005

Les actualités SQL Server pour le mois de Janvier 2005

Lire l'article
Multi-Tris avec positionnement dans les listes par l’OVRBDF

Multi-Tris avec positionnement dans les listes par l’OVRBDF

par Jean-Philippe BALLAT - Mis en ligne le 1/06/2005 - Publié en Septembre 2004

Version RGP et COBOL

Normalement, lorsqu'on utilise le multi-tris dans un programme RPG ou COBOL, il faut déclarer autant de fichiers logiques que de colonnes de tris proposées à  l'utilisateur.
On s'aperçoit que la simplicité de programmation et de déclarations dans les programmes est inversement proportionnelle au nombre de choix de tris ... L'astuce consiste à  ne déclarer qu'un seul fichier dans le programme de liste. Celui-ci renvoie toujours les enregistrements triés selon le choix de l'utilisateur par fichier logique substitué. Le résultat donné peut être répercuté sur l'impression.
Cette opération est possible grâce à  l'OVRDBF qui substitue le fichier lu par le logique trié en fonction de la colonne sélectionnée. L'OVRDBF permet de :

  • Remplacer momentanément le nom du fichier déclaré dans le programme. et/ou
  • Remplacer momentanément certains paramètres du fichier, utilisés par le programme.
L'exemple
Lorsque l'utilisateur sélectionne une colonne, le programme charge les enregistrements triés et affiche cette colonne en couleur. Lorsque l'utilisateur demande un positionnement sur un numéro de facture, la liste se recharge à  partir de ce code.

Lire l'article
Les nouveautés de la semaine 20 – Windows IT Pro – 2005

Les nouveautés de la semaine 20 – Windows IT Pro – 2005

Tous les nouveaux produits du 16 au 22 Mai 2005

Lire l'article
A l’intérieur de l’outil WebFacing d’IBM

A l’intérieur de l’outil WebFacing d’IBM

par Don Denoncourt - Mis en ligne le 11/05/2005 - Publié en Juillet / Aout 2004

Suivez le flux de l'architecture applicative interne de WebFacing, du serveur au client

En tant que consultant Java ayant codé en RPG dans les années 80, je me réjouis d'être un expert en WebFacing d'IBM. C'est pourquoi, l'été dernier, j'ai passé beaucoup de temps sous le capot de WebFacing. Pour comprendre son fonctionnement interne, il me fallait savoir comment IBM combinait un ensemble de techniques J2EE pour présenter des applications 5250 sur le Web. Dans cet article, je détaille le flux de l'architecture applicative interne de WebFacing ...Une application « Webfaced » utilise diverses technologies que nous diviserons en deux sous-types : côté client et client serveur. Côté client, on trouve HTML, JavaScript et CSS (cascading style sheets). Côté serveur, c'est JavaBean, les servlets Java, JSP (Java Server Pages) et les fichiers de configuration XML. Commençons par le traitement client serveur, parce qu'il génère dynamiquement tout le HTML et une partie du JavaScript pour l'application côté client.

Lire l'article
SQL Server Actualités – Semaine 15 –  2005

SQL Server Actualités – Semaine 15 – 2005

Les actualités SQL Server pour le mois d'Avril 2005

Lire l'article
News iSeries – Semaine 13 – 2005

News iSeries – Semaine 13 – 2005

Toutes les actualités du 28 Mars au 3 Avril 2005

Lire l'article
Bootcfg

Bootcfg

par Mark Minasi - Mis en ligne le 07/09/2005 - Publié en Juillet/Août 2004

Boot.ini : plus simple qu'il n'y paraît

Supposons que Windows XP vous cause quelques soucis. Vous décidez d'initialiser en Safe Mode pour corriger le problème. Vous réinitialisez et appuyez sur F8 pour entrer dans le menu Windows Advanced Options, mais vous n'êtes pas assez rapide avec le clavier. Vous réinitialisez et réessayez à  nouveau, le doigt posé sur F8, mais en vain. Vous réinitialisez une troisième fois et, cette fois, l'oeil et la main sont suffisamment coordonnés pour obtenir le bon menu. Enfin, vous pouvez commencer le dépannage ...

Lire l'article
Habillez l’OWA d’Exchange 2003

Habillez l’OWA d’Exchange 2003

par Paul Robichaux - Mis en ligne le 04/05/2005 - Publié en Mai 2004

De nouveaux atouts pour OWA

Les gens aiment personnaliser leurs environnements. Les développeurs de logiciels ont répondu à  ce désir de plusieurs manières, dont l'une des plus connues consiste à  offrir aux utilisateurs le moyen de changer l'aspect de leurs programmes. C'est l'habillage. Les applications grand public connaissent l'habillage et Windows permet depuis longtemps de personnaliser les couleurs et les polices de ses divers éléments d'UI ...Toutefois, le monde Microsoft Exchange Server présente une lacune : on ne peut pas facilement habiller Microsoft Outlook Web Access (OWA). Personnaliser l'aspect d'OWA peut sembler insignifiant dans le panorama général, pourtant beaucoup de clients Microsoft souhaitent qu'OWA ait la même allure que leurs autres sites Web d'entreprise. En particulier, les sociétés qui offrent des services Exchange hébergés comme les fournisseurs de télécommunications et les fournisseurs d'accès (ISP), ont demandé avec insistance un moyen de distinguer OWA avec leurs propres logos et schémas de couleur, de préférence à  ceux de Microsoft.
L'équipe Exchange de Microsoft a réagi à  ces demandes. Exchange Server 2003 vous permet de créer et d'appliquer des thèmes personnalisés qui déterminent l'aspect d'OWA. Quand vous créez un nouveau thème, il est mis à  disposition des utilisateurs par l'intermédiaire du bouton Options d'OWA. Vous pouvez aussi indiquer un thème particulier comme thème par défaut pour de nouveaux utilisateurs.

Lire l'article