
Pas prêt pour une solution antispam?
par Joseph Neubauer - Mis en ligne le 19/10/2005 - Publié en Septembre 2004
Le flot commence doucement : un courriel, puis un autre, et encore un
autre. Des personnes se plaignent au Help desk de recevoir des courriels publicitaires
qui ne leur sont pas adressés, et les utilisateurs se plaignent de recevoir
des annonces scabreuses, voire pornographiques. Vous passez des heures
à scruter les fichiers log et à suivre les messages et, finalement, parvenez à la
conclusion qu'une solution antispam s'impose. Il est clair qu'elle serait bénéfique
pour la société, mais les décideurs refusent quand même.

Configurer et administrer WebSphere
par Don Denoncourt - Mis en ligne le 14/09/2005 - Publié en Décembre 2004
Quand WebSphere est devenu disponible sur l'iSeries pour la première fois,
les sites utilisateurs étaient rares et espacés. Mais, dès lors que le logiciel applicatif
Web propre à l'iSeries se multiplie, WebSphere Express devient un produit iSeries
incontournable. Les applications Web les plus marquantes sont iSeries Access for
Web (iAW), Host Access Transformation Services (HATS) et WebFacing ...Mais beaucoup
d'entreprises ne tirent pas profit de ces produits tout simplement parce que
l'installation et la configuration d'un serveur WebSphere les effraient. Qu'ils se rassurent
: WebSphere Express est d'utilisation facile. Cet article est un tutoriel sur la
configuration et l'administration d'un serveur WebSphere. Il s'adresse précisément
à un administrateur ou à un opérateur iSeries qui n'est expert ni en réseau ni en
Java.

Pagination côté serveur avec SQL Server
par Andrew Rosca - Mis en ligne le 6/07/2005 - Publié en Octobre 2004
Une procédure stockée simple vous permet de contrôler les flux de données et
d'accéder à des millions d'enregistrements
Les applications Web utilisent fréquemment la pagination d'enregistrements
afin de présenter de très grandes quantités de données aux utilisateurs. Par
exemple, il n'est pas rare qu'un moteur de recherche Internet retourne des dizaines
de milliers de résultats en réponse à une requête d'un utilisateur. Si le
moteur renvoyait l'ensemble des résultats en une seule fois, le système destinataire
serait complètement saturé. C'est pourquoi la pagination décompose
les données en blocs de taille fixe rendant possible la gestion des résultats et
réduisant la quantité d'informations transférées en une seule fois du serveur
vers le client ...L'application ne propose que quelques enregistrements à la fois
aux utilisateurs, en commençant de préférence par les informations les plus
pertinentes. Non seulement la pagination facilite la compréhension et la
consultation des données, mais elle améliore également les performances de
l'application, car la récupération et l'affichage de volumes élevés d'informations
créent une charge inutile qui peut ralentir votre système. Si ce dernier pagine
les enregistrements correctement, les utilisateurs d'un moteur de recherche
n'auront vraisemblablement pas besoin de consulter plus d'une ou
deux pages de résultats.
Malheureusement, de nombreux programmeurs n'ont pas conscience de
certains aspects importants de la pagination sur le plan des performances.
Dans un environnement IIS et SQL Server classique, la méthode la plus fréquente
de mise en oeuvre de la pagination
consiste à utiliser les fonctionnalités
de pagination de l'objet ADO Recordset
standard, notamment les propriétés
AbsolutePage, PageSize et PageCount.
Pour les volumes de données relativement
faibles (entre quelques dizaines et
quelques centaines d'enregistrements),
ces fonctionnalités sont parfaitement appropriées
et la charge qu'elles génèrent
n'affecte pas sensiblement les performances.
Toutefois, à mesure que le
nombre d'enregistrements augmente, cette technique perd en efficacité et entraîne
une baisse sensible des performances de l'application.
Dans les applications gérant des volumes importants de données, par
exemple une application d'approvisionnement qui affiche des nombres élevés
de commandes, un site de rencontres gérant des milliers d'utilisateurs ou un
site de commerce électronique qui affiche des centaines de produits en réponse
à une recherche d'un utilisateur, vous avez besoin de techniques de pagination côté serveur sophistiquées.
Cet article présente un exemple simple
de technique de codage que j'utilise
pour des tables contenant plusieurs
millions d'enregistrements.

Création d’un mauvais exemple
Mis en ligne le 23/11/2005 - Publié en Décembre 2004
Lorsque vous écrivez un exemple de code afin de reproduire
une violation de la sécurité, l'un des défis à relever réside
dans le fait qu'un tel code, par définition, intègre de mauvaises
pratiques. En lisant les exemples de code de l'article
principal, vous pouvez être amené à effectuer des commentaires
du type « Je ne ferais pas... » ou « Cela ne poserait pas
de problème de... ». Toutefois, le rôle d'un exemple susceptible
de soulever les critiques des lecteurs est de montrer
toute l'utilité de certaines bonnes pratiques.

YUKON : une mine d’or
par Michael Otey - Mis en ligne le 10/10/2005 - Publié en Octobre 2004
Yukon, dont la livraison est prévue en 2005, est la dernière version de
Microsoft SQL Server. Il marque la fin d'un cycle de développement de 5 ans
pour Microsoft. La firme a ajouté tellement de nouvelles fonctions à Yukon
qu'il est impossible de les énumérer toutes dans un seul article. Voici donc 13
pépites d'or que l'on risque fort de trouver dans la prochaine release notable
de SQL Server.

Outils Web pour programmeurs iSeries : tous les détails
par Phil Coulthard et George Farr - Mis en ligne le 07/09/2005 - Publié en Novembre 2004
Nous poursuivons ici l'itinéraire entamé en octobre 2003. Jusqu'ici, nous
avons couvert les outils RPG et Cobol qui constituent l'étape Meilleurs Outils,
ainsi que l'outil IBM WebFacing et l'outil IBM Host Access Transformation pour
l'étape Meilleure Interface Utilisateur. Nous nous sommes intéressés à l'étape
Meilleure Architecture pour construire des applications Web dans les règles de
l'art, avec la logique de gestion RPG ou Cobol, et nous avons présenté le framework
Struts open-source qui peut servir de point de départ de votre nouvelle
application Web. Ici, nous approfondissons
les outils Web présents dans WDSc (WebSphere Development
Studio Client) pour en montrer les détails. Nous commençons par voir comment
créer un projet Web à partir de zéro puis nous montrons comment
mettre en place l'information de configuration iSeries. Nous concluons par le
diagramme de page qui vous aidera à créer visuellement des applications
iSeries basées Struts.

Les files d’attente
par Sameer Dandage - Mis en ligne le 6/07/2005 - Publié en Octobre 2004
Si une légère attente n'est pas critique, la solution de réplication TRQU est faite
pour vous
Aujourd'hui, de plus en plus d'entreprises doivent rendre leurs données disponibles
sur de multiples serveurs et sur des sites distants, en préservant une synchronisation
la plus étroite possible entre les données de chacun des sites. Dès
lors qu'il existe plusieurs copies des données stratégiques, la disponibilité de ces
dernières s'en trouve améliorée. Par exemple, en cas de défaillance d'un site, vous
pouvez dévier le trafic vers un autre site ou serveur ...Par ailleurs, les administrateurs
de base de données (DBA) peuvent répartir la charge sur plusieurs serveurs,
afin d'éviter la surcharge de l'un deux et améliorer les temps de réponse aux requêtes
des utilisateurs, en particulier si le serveur est situé à proximité de ceux-ci.
Envisageons quelques instants un scénario illustrant les besoins de failover et
de répartition de la charge pour un système de base de données qui inclut une application
à trois niveaux sur deux sites géographiquement
distincts. Chaque site utilise un
serveur Web, un serveur d'applications et un
serveur de base de données. Lorsque le fonctionnement
du système est optimum, le serveur
Web et le serveur d'applications de
chaque site distribuent leurs requêtes utilisateur
entre les deux serveurs de base de données
afin qu'ils puissent se répartir la charge
de travail. Toutefois, en cas d'indisponibilité
d'un des deux serveurs de base de données ou
d'une des bases de données, les serveurs Web
et d'applications peuvent basculer toutes leurs requêtes vers le serveur de base de
données de l'autre site. Dès que le premier serveur de base de données est de
nouveau opérationnel, le processus de répartition des requêtes utilisateur entre
les deux est rétabli.
Lorsqu'une organisation utilise un site actif et maintient l'autre en lecture
seule, les tâches du DBA sont relativement simples. En revanche, son travail devient
très vite complexe si l'organisation décide de placer plusieurs sites en mode
actif et de synchroniser les données entre eux. Pour répondre à ce cas de figure,
SQL Server propose une option : la réplication transactionnelle. L'objet de cet article
n'étant pas d'expliquer les fondements de ce mécanisme, vous trouverez plus
d'informations sur le sujet en lisant la rubrique « Réplication transactionnelle » de
la documentation en ligne de SQL Server.
SQL Server 2000 propose deux options de réplication transactionnelle permettant
d'actualiser les données au niveau de l'abonné (Subscriber). Pour la première,
intitulée « Réplication transactionnelle avec mise à jour immédiate des
Subscribers », SQL Server utilise une validation à deux phases afin de mettre à jour
simultanément dans la même transaction l'éditeur (Publisher) et le Subscriber. La
validation à deux phases verrouille la ligne concernée sur tous les sites participant à la réplication lorsqu'une mise à jour est effectuée sur l'un
d'eux. Ce mécanisme de verrouillage élimine toute latence
entre le moment où un Subscriber est mis à jour et le moment
où le Publisher reflète la mise à jour en question. Pour
que cette option fonctionne, le Publisher et le Subscriber
doivent toutefois être en cours d'exécution et connectés en
permanence, faute de quoi les utilisateurs ne peuvent pas effectuer
de mises à jour sur le Subscriber.
La deuxième option est la « Réplication transactionnelle
avec mises à jour en file d'attente », que j'abrégerai en TRQU
(Transactional Replication with Queued Updates) dans cet
article. A la différence de la première option, la solution
TRQU requiert une certaine latence entre le moment d'une
mise à jour sur le Subscriber et le moment où celle-ci est répercutée
sur le Publisher. Mais cette approche présente un
inconvénient : une ligne peut être mise à jour avec des données
différentes sur plusieurs sites simultanément et la cohérence
des données entre les sites ne sera pas assurée tant
qu'un mécanisme de résolution des conflits n'aura pas
éliminé cette incohérence. Vous définissez des règles de
résolution, telles que « l'éditeur gagne » (Publisher wins) ou
« l'abonné gagne » (Subscriber wins), dans la configuration
TRQU. En conséquence de quoi, les mises à jour sur un site
peuvent remplacer celles effectuées sur un autre. L'approche
TRQU présente l'avantage suivant : le Publisher et le
Subscriber ne doivent pas être connectés en permanence
et le Publisher peut être arrêté pendant la mise à jour d'un
Subscriber. Par conséquent, la réplication TRQU garantit aux
utilisateurs une disponibilité plus élevée d

Comment éviter les attaques par injection de code SQL
par William Sheldon - Mis en ligne le 23/11/2005 - Publié en Décembre 2004
Au moment de définir votre infrastructure de sécurité, la protection des
données de votre organisation constitue votre principal objectif. SQL Server, en tant
que référentiel de données, devient le centre de votre univers axé sur la sécurité.
Pour sécuriser vos données, vous avez exécuté l'outil MBSA (Microsoft Baseline
Security Analyzer), limité les communications avec la base de données, mis en
oeuvre le protocole IPSec (Internet
Protocol Security) afin de crypter vos communications
et peut-être même ajouté un
pare-feu séparé. Malgré tout, il reste un
moyen pour les intrus d'attaquer votre
base de données : par le biais des applications
qu'elle prend en charge. Toute stratégie
de sécurité comporte un maillon
faible et, du point de la conception, l'élément
le plus faible de votre stratégie sera
l'application Web car elle constitue le principal
point d'entrée pour les intrus, les autres chemins d'accès possibles ayant normalement
été verrouillés. Toutefois, une gestion incorrecte de ce point d'entrée
peut rendre vos données vulnérables à l'attaque potentiellement dévastatrice
qu'est l'injection de code SQL. Ce type d'attaque est extrêmement dommageable
car elle permet aux intrus d'exécuter des commandes directement sur votre base
de données.

Bibliothèque Patterns and Practices
par Michael Otey - Mis en ligne le 10/10/2005 - Publié en Octobre 2004
A mesure que les solutions Microsoft gagnent en richesse fonctionnelle, elles
deviennent également plus complexes à mettre en oeuvre. Mais une véritable mine
d'informations en ligne peu connue, située sur le site de Microsoft et intitulée
« Microsoft Patterns and Practices Library », peut vous aider. Cette collection d'ouvrages
écrits par le personnel du Support technique
de Microsoft, des consultants Microsoft
et des membres des équipes produits contient
les meilleures pratiques de Microsoft et des
conseils qui ont fait leurs preuves dans la mise
en oeuvre de technologies clé, allant de la planification
d'Active Directory à l'architecture
des applications en passant par des exemples
de code. Vous pouvez télécharger l'ensemble
des ouvrages de la section « Patterns and
Practices Library » gratuitement sous forme de
fichiers PDF ou les acheter en versions CDROM
ou imprimée à l'adresse http://www.microsoft.com/patterns. Vous trouverez
ci-après mes cinq guides favoris traitant des bases de données

Commandes DBBC
par Michael Otey - Mis en ligne le 14/09/2005 - Publié en Octobre 2004
Les commandes DBCC (Database Consistency Checker) peuvent fournir de précieuses
informations sur le fonctionnement interne de votre système SQL Server. Elles comportent
toute une série de fonctions documentées puissantes, mais aussi de nombreuses
possibilités non documentées, dont vous n'avez peut-être pas connaissance. Pour en
savoir plus sur ces dernières, utilisez la commande DBCC HELP avec l'indicateur de
trace 2520 activé. Voici sept commandes DBCC non documentées qui vous donneront
un aperçu de votre système SQL Server. Pour les employer, commencez par activer l'indicateur
de trace 3604 à l'aide de la commande DBCC TRACEON (3604).

Sécuriser les flux de messagerie avec ISA 2004
par Pascal Creusot - Mis en ligne le 29/06/2005 - Publié en Septembre 2004
La publication vers Internet d'un serveur Exchange au travers du firewall ISA
de Microsoft se simplifie au fil des évolutions et des versions de ce produit au point
que ces deux produits en deviennent complémentaires. Avec la première version
de ISA 2000, il était possible de configurer manuellement la publication d'un serveur
Exchange pour permettre un accès avec Outlook Web Access depuis Internet.
Ce mode de fonctionnement avait été intégré au sein du service Pack 1 de ISA
2000. ISA 2004 va encore plus loin avec les assistants dédiés à la publication du serveur
de messagerie Exchange ...

Conseils de coding pour accélérer les applications SQL
par Paul Conte - Mis en ligne le 16/11/2005 - Publié en Février 2005
SQL s'impose chaque jour comme un langage de programmation
que tout programmeur iSeries digne de ce nom
doit maîtriser. Pas seulement pour des requêtes et des rapports
ponctuels, mais aussi pour les applications au coeur de
l'activité de l'entreprise. C'est pourquoi il est aujourd'hui
tout aussi important de connaître toutes les astuces permettant
d'écrire du code rapide avec SQL, qu'avec ILE RPG ou
Cobol. Le manuel iSeries DB2 Universal Database for iSeries
Database Performance and Query Optimization couvre bon
nombre des « meilleures pratiques » de programmation SQL
et sa lecture s'impose. Mais, comme le manuel n'est pas exhaustif,
je me propose dans cet article de présenter plusieurs
techniques peu connues permettant d'accélérer le code
SQL.

Windows Firewall
par Mark Minasi - Mis en ligne le 10/10/2005 - Publié en Septembre 2004
Dans la foulée des vers Blaster
de l'année dernière, Microsoft a
décidé de différer Windows XP
Service Pack 2 (SP2) jusqu'à ce que la
firme ait accru la sécurité du pack de
service. Une décision concernant
SP2 a consisté à activer automatiquement
Windows Firewall de XP (précédemment
Internet Connection
Firewall - ICF) pour tous les NIC.

Comment renforcer la sécurité de SQL Server
par Michael Otey - Mis en ligne le 14/09/2005 - Publié en Octobre 2004
La sécurité demeure un sujet brûlant dans le monde informatique. Internet et des
protocoles tels que SOAP (Simple Object Access Protocol) et XML poussent encore plus les
utilisateurs à rester connectés en permanence. Par ailleurs à mesure que les nouvelles
technologies rendent vos systèmes plus accessibles, la menace des virus et des pirates n'a
jamais été aussi grande. Les sept étapes suivantes vous aideront à renforcer la sécurité
de vos systèmes SQL Server.

Matérialisez vos vues
par Michelle A. Poolet - Mis en ligne le 22/06/2005 - Publié en Octobre 2004
Si vous êtes prêt à mettre le prix, les vues indexées peuvent dynamiser vos requêtes
SQL Server 2005, la prochaine version du système de base de données de
Microsoft, inclura de nombreuses fonctions et extensions destinées à accroître
votre productivité, en particulier si vous développez des applications Web
orientées base de données. Toutefois, Microsoft a retardé la sortie de la version
définitive du produit jusqu'au premier semestre de l'année prochaine et
il faudra encore attendre au moins un an après le lancement pour voir de nombreux
services de production migrer vers cette nouvelle mouture. Entre
temps, vous pouvez faire beaucoup en vue d'optimiser vos bases de données
SQL Server 2000 ...En tant que modéliseur de données et architecte de conception, mon instinct
me pousse à examiner et optimiser le schéma des tables. Vous savez que
je plaide en faveur d'une normalisation poussée des tables, une démarche essentielle
pour préserver l'intégrité des données au cours des activités d'insertion
et de gestion. Les avantages de la normalisation sont supérieurs au surcroît
de travail généré par les jointures
multitables nécessaires à l'extraction
des données. Il est néanmoins possible
de réduire sensiblement le temps système
consacré à la création d'une jointure
entre quatre ou cinq tables en vue
d'extraire des données d'une base de
données fortement normalisée ou lié à
l'agrégation de quantités importantes
de données dans un rapport récapitulatif.
Pour cela, vous pouvez créer une
vue et, au lieu de laisser au moteur SQL Server le soin de la reconstruire dynamiquement
chaque fois qu'elle est utilisée dans une requête, vous pouvez
la « matérialiser ». Dans ce cas, il ne s'agit plus d'une table virtuelle, mais d'une
table physique.
Une vue constitue assurément une table virtuelle dérivée. Son objet est
d'améliorer la visibilité des données en les présentant dans un contexte plus informatif et de contrôler l'accès auxdites données en empêchant
les utilisateurs non concernés de visualiser celles
ayant un caractère critique ou sensible. SQL Server « matérialise
» ou rend réel une vue en créant un index ordonné en
clusters unique sur celle-ci. C'est pourquoi ce type de vue est
parfois appelé vues indexées. Comme pour un index ordonné
en clusters, des données sont associées à une vue matérialisée.
Les vues matérialisées ne constituent pas une nouveauté
dans le monde des bases de données. Même si les vues indexées
faisaient figure de nouveauté dans SQL Server 2000,
elles existent depuis des années dans d'autres systèmes de
gestion de base de données (SGBD), notamment dans les
systèmes Oracle et DB2 d'IBM. Les fournisseurs de SGBD
destinés aux grandes plates-formes ont développé les vues
matérialisées en vue d'améliorer leurs systèmes de data warehousing.
Un data warehouse regroupe dans un même référentiel
de grande taille des données techniques que vous
avez intégrées à partir de sources multiples.
Ce référentiel peut héberger des
données détaillées d'applications opérationnelles,
des données récapitulatives
de systèmes d'aide à la décision
ou une combinaison des deux. Dans
un data warehouse, les données sont
généralement synthétisées selon plusieurs
dimensions (par ex., date, emplacement,
produit), puis stockées
pour les interrogations agrégées par
OLAP et les applications d'aide à la décision.
Nous allons maintenant examiner
l'utilité d'une vue matérialisée
dans d'autres environnements que les
data warehouse.

Maîtriser les modules : 2e partie
par Bryan Meyers - Mis en ligne le 16/11/2005 - Publié en Février 2005
Dans la 1ère partie de cet article (iSeries News décembre 2004 ou www.itpro.
fr Club Abonnés), j'ai expliqué comment construire un programme modulaire
à l'aide de procédures, comment compiler et lier le code source, et
comment gérer les modules. L'étape suivante consiste à organiser ces modules
et programmes de service qui contiennent le code que l'on réutilisera parmi
de nombreux programmes. L'un des outils qu'ILE fournit à cet effet est le binding
directory.
Nous allons donc voir quelques principes essentiels du binding directory,
comment utiliser le langage de liaison et comment convertir des membres
/COPY, des sous-routines et des programmes appelés, en procédures. Vous serez
alors prêts à créer vos propres applications modulaires.

Trucs & Astuces : table SQL, accès RPG, Cobol et CL
Les trucs & astuces de la semaine du 10 au 16 Octobre 2005
Lire l'article
Le filtre de Pourriel d’Outlook 2003
par Tony Redmond - Mis en ligne le 14/09/2005 - Publié en Juillet/Août 2004
Le spam est un fléau qui continue à empoisonner l'existence des administrateurs
système. Même si les gouvernements des Etats-Unis et d'ailleurs tentent de
régler le problème par la loi, les spammers contourneront probablement l'obstacle
en déplaçant tout simplement leurs activités hors de la juridiction concernée.
Pour illustrer la gravité du spam dans les
grands comptes, des hôtes bastions HP déployés
autour du réseau pour scruter tous les
messages parvenant à hp.com, ont rejeté jusqu'à
30 % des messages en 2002 parce qu'ils
pouvaient être jugés immédiatement suspects,
peut-être parce qu'ils contenaient des
attachements « bien connus » ou infectés par
des virus. Aujourd'hui, le même hôte rejette
70 % des messages - environ 21 millions par
mois. L'essor du spam explique l'augmentation
des messages abandonnés et toute entreprise
qui héberge un serveur de courrier électronique est désormais la cible potentielle
des spammers, quel que soit le serveur de courriel utilisé.

Des richesses insoupçonnées à portée de la main
par Brian Lawton - Mis en ligne le 22/06/2005 - Publié en Octobre 2004
SQL Server 2000 est en service depuis déjà 4 ans. Avec cette version, Microsoft a
apporté un ensemble d'outils puissant, mais souvent sous-employé. Réfléchissez
quelques instants à votre environnement d'entreprise. Votre logiciel SQL Server sert-il
à d'autres tâches plus créatives que des sauvegardes occasionnelles ou encore des
opérations basiques de lecture et d'écriture de données ? Selon Microsoft, la prochaine
version majeure de SQL Server ne devrait pas être commercialisée avant le milieu de
l'année 2005. Si l'on ajoute à ce retard le temps de latence fréquent nécessaire aux
clients avant qu'ils adoptent le nouveau produit, SQL Server 2000 a encore de beaux
jours devant lui, au moins jusqu'en 2007. En attendant la prochaine version, examinons
donc sept fonctionnalités souvent ignorées proposées par SQL Server 2000 et la
manière dont elles peuvent vous aider dans vos tâches d'administration et de développement,
afin d'accroître le retour sur vos investissements logiciels existants ...

Services Web : des outils pour programmeurs iSeries
par Phil Coulthard et George Farr - Mis en ligne le 08/11/2005 - Publié en Février 2005
Nous sommes heureux de vous retrouver dans notre série d'articles suivant
l'itinéraire des développeurs iSeries (voir ibm.com/iseries/roadmap). Nous en
sommes à l'étape 3, une meilleure architecture, dans laquelle le but est de participer
pleinement au monde des interfaces utilisateur Web et des services Web, tout
en continuant à utiliser RPG ou Cobol pour
la logique de gestion. Les articles précédents
s'intéressaient aux outils de WDSc
(WebSphere Development Studio Client)
pour iSeries, pour développer de nouvelles
applications d'interface utilisateur Web (voir
l'encadré « Articles sur www.itpro.fr » ci-après).
Ce mois-ci, nous nous concentrons
sur les outils servant à créer des services
Web, en utilisant une fois encore la logique
de gestion RPG ou Cobol. Certaines des
fonctions évoquées n'existent que dans l'Advanced Edition de WDSc, que nous
vous conseillons fortement de consulter au fil de l'itinéraire. Elle offre des fonctions
améliorées, particulièrement pour les outils WebFacing et iSeries Web.
Les plus consultés sur iTPro.fr
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
- Comment le Quarter Plan permet d’aligner IT et Métiers pour délivrer
- Explosion des attaques d’ingénierie sociale en 2025
- SI sous pression : 3 signes que vos flux sont mal orientés
