|
Cet article est l'introduction d'une longue suite (4
articles à suivre) qui va nous permettre de mieux comprendre la
réplication sous SQL Server 2000 et CE.
L'environnement " base de données " sous Pocket PC.
Il m'est apparu à ma grande surprise que l'utilisation
d'un Pocket Pc se résumait trop souvent à une synchronisation
d'agenda, changement de sonneries d'alarme
Bref, du gadget. La majeure
partie des applications disponibles qui se fondent sur un minimum de stockage
relève de la consultation de pages off line. Or, nous avons tous
en tête l'envie, à la simple vue de l'appareil, de délocaliser
la saisie de nos chers utilisateurs, en d'autres mots, éviter de
les charger d'une UC sous le bras, l'écran dans la tête et
le groupe électrogène dans la poche !
Le premier réflexe est bien entendu de se tourner
vers une base de données bien connue pour la plupart, Pocket Access
(CEDB).
Les tests sont intéressants, mais Pocket Access
n'a jamais été, n'est pas et ne sera vraisemblablement jamais
un système de gestion de bases de données relationnelles.
Utile pour un simple stockage, il ne devra pourtant jamais être
utilisé si vous espérez envisager une réplication.
Esclave d'ActivSync, il a la grosse lacune de ne pouvoir contenir dans
une clé primaire qu'UN seul champ. Autrement dit, si vous voulez
vous amuser à créer une clé, commencez par créer
vos procédures de concaténations de chaînes
Au niveau performances, no comment, c'est quasiment comparable à
une lecture séquentielle de fichier texte.
Une alternative : SQL Server 2000
Microsoft a mis à notre disposition son artillerie à savoir
SQL Server 2000. SGBDR, il est un concurrent direct d'Oracle. Historiquement,
sachez que le produit est issu d'un travail commun avec Sybase disposant
d'une longue expérience dans le domaine des bases nomades (SQL
Anywhere). SQL Server 2000 possède un module de déportation
sous CE et c'est bien de cela que nous souhaitons parler.
Notons rapidement qu'au niveau coût, Microsoft permet l'achat forfaitaire
de licences clientes. L'ordre d'idée est de 60 000 Frs pour un
nombre illimité de PDA. Sybase et Oracle en revanche ne permettent
pas ce type de facturation et vous demanderont une somme rondelette pour
chaque PDA potentiellement utilisateur
Les outils nécessaires
Logiquement, il vous faudra vous procurer SQL Server 2000. La version
développeur s'installe sous un environnement Windows 2000 et ne
se voit limitée que par le nombre de connexions simultanées
(5). Amplement suffisant pour une plateforme de développement,
visez la version entreprise pour la mise en production.
Le Pocket PC ne disposant pas d'une signature reconnaissable, il sera
impossible à SQL Server 2000 de le gérer sans un passage
via un serveur Web de type IIS par exemple.
SQL Server CE est le module dédié Pocket PC. La version
1.1 (dernière en date) est à installer impérativement.
Sachez que sans cette version, il vous sera impossible d'effectuer des
synchronisations via Craddle (imaginez qu'en développement vous
soyez systématiquement obligé de passer par une connexion
RAS !!!!). C'est aussi SQL Server CE qui vous permettra d'inclure les
contrôles de connexions ADO dans votre environnement eVB.
Sémantique ou comment parler SQL Server 2000
Bon, je ne suis réellement pas fan de sport, mais étant
un journal apolitique et fort populaire, l'Equipe sera le cur de
mon exemple.
Comme tout bon footballeur averti, non satisfait de regarder son match
retour de D1 sur Canal, Maurice souhaite ne pas manquer les commentaires
de jeu parus dans les articles du journal.
Le meilleur moyen, c'est de s'y abonner. L'Equipe est EDITEUR et fait
appel à un DISTRIBUTEUR pour envoyer le journal à Maurice.
L'EDITEUR publie donc des ARTICLES dans son journal, qui sera distribué
à Maurice et ses potes.
A défaut de comprendre les règles du foot, sans le savoir,
vous venez de comprendre la notion de réplication sous SQL Server
2000 que nous aborderons plus tard. Remplacez l'Equipe par votre serveur
SQL, le journal par votre base de données, Maurice par un PDA et
Buuuuuuut !
Fil conducteur
Pour illustrer la série d'articles dédiés à
la réplication entre une base SQL Server 2000 et une base SQL Server
CE, nous allons réaliser un projet complexe regroupant le maximum
de contraintes.
Nous allons apprendre à synchroniser par RTC (ou GSM) une base
SQL Server CE d'un PDA avec une base SQL Server 2000 d'un serveur Applicatif
en passant par un serveur SQL (situé dans une DMZ par exemple).
Ceci nous permettra de créer une réplication
mettant en scène un abonné anonyme (PDA) puis une autre
incluant 2 serveurs SQL. Nous aborderons les notions de filtres verticaux
(choix des tables et champs à synchroniser), filtres horizontaux
(filtres sur les enregistrements eux-mêmes) et tout cela en utilisant
la plus courante, mais plus délicate aussi des réplications,
j'ai nommé la réplication de fusion (merge).
Vous l'avez compris, nous parlerons assez peu du code, il est très
commun et surtout en fin de processus.
Etape 1 - Paramétrage simple de IIS, migration d'une ancienne
base de données avec DTS (Data Transfert Service) et vivisection
de SQL Server 2000.
Etape 2 - Mise en place de la publication entre le serveur applicatif
et le serveur DMZ (Comment préparer les informations destinées
à Maurice et ses potes)
Etape 3 - Mise en place de la publication Serveur DMZ vers PDA (Comment
Maurice va récupérer ses informations et pas celles de ses
potes)
Etape 4 - EVb et SQL Server CE
Des questions sur cet article ? N'hésitez pas à me contacter
en inscrivant dans l'objet du message : Assistance SQL Server 2000 - PPC.
Nicolas
Vesperini
|