IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

automatiser le CRUD à travers un web service


Sujet :

Services Web

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut automatiser le CRUD à travers un web service
    Bonjour,

    Je voulais développer un web service pour communiquer deux applications existantes sur deux serveurs différents. La première application est développée sous Oracle et située dans un serveur à part. La première application est développée sous SQL Server et située dans un autre serveur.

    Ce web service doit permettre d'automatiser les opérations suivantes:
    - chaque insertion d'une ligne faite sur une table sous SQL Server doit être faite de manière automatique sur la table correspondante sous Oracle et vice vers çà.
    - chaque update d'une ligne faite sur une table sous SQL Server doit être faite de manière automatique sur la table correspondante sous Oracle et vice vers çà.
    - chaque suppression d'une ligne faite sur une table sous SQL Server doit être faite de manière automatique sur la table correspondante sous Oracle et vice vers çà.

    Je me débute le développement des web services.

    Est ce que c'est possible de faire cette automatisation à travers d'un web service ? Si oui, comment je fasse ? Sinon, il y a autres solutions ?

    Merci beaucoup.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    En gros tu cherches a repliquer les donnees entre Oracle et SQL Server. Je ne te conseille pas de faire ca en codant toi-meme car que va-t-il se passer si ton application plante ? Si le reseau tombe ? Si un des serveurs est dispo mais pas l'autre ? etc.

    On ne sait pas quelles version de SQL Server et d'Oracle tu utilises, mais tu peux regarder ceci :
    - Heterogeneous Database Replication (SQL Server en source, Oracle en destination)
    - Replicating Transactions Between Microsoft SQL Server and Oracle Database Using Oracle GoldenGate (Oracle en source, SQL server en destination)

    Il te faudra choisir selon quel est le principal SGBDR. Il existe probablement d'autres outils du genre.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Bonjour,



    Nous avons deux applications différentes(développées avec des technologies différentes) qui s’exécutent et fournissent des résultats.



    La première application (développée en Forms et Reports) travaille sur une base des données oracle 11g et se trouve sur un serveur à part.



    La deuxième application (qui est la nouvelle et riche par rapport la première application) travailles sur une base des données sql server et se trouve sur un autre serveur. Cette application est développée en Asp.net sous Visuel studio C# 2012.



    Il y a certaines tables communes entre les deux applications.



    Actuellement, nous voulons que toute mise à jour (insertion ou modification d'une ligne ou plusieurs lignes) faite sur une table de deuxième application sera faite automatique sur la table correspondante de première application.



    Aussi, nous voulons charger des données d'une table de première application vers la table correspondante de deuxième application. Nous voulons pas copier tout le contenu de la base ou faire de réplication.



    Quelles sont les techniques existantes ou les outils qui permettent d'automatiser tel traitement d’insertion ou mise à jour ?



    C'est possible de faire ceci à travers un web service ? si oui, comment ?



    Merci.

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 656
    Points : 5 211
    Points
    5 211
    Par défaut
    Aussi, nous voulons charger des données d'une table de première application vers la table correspondante de deuxième application. Nous voulons pas copier tout le contenu de la base ou faire de réplication.
    Quelles sont les techniques existantes ou les outils qui permettent d'automatiser tel traitement d’insertion ou mise à jour ?
    C'est possible de faire ceci à travers un web service ? si oui, comment ?
    Oui, c'est possible de mettre à jour les deux bases depuis le même web service.
    Il suffit que tes contrôleurs accèdent aux deux sources de données.
    Et du coup ce sera automatique puisque c'est le code qui changera les deux sources.
    Mais
    - Tu n'est pas à l'abris de plantage pour une raison x ou y pendant la mise à jour de l'une des bases et tu ne sera jamais certain que tu as la même chose des cotés.
    - Cela nécessite que ton services dispose d'un accès à ces deux bases.
    - Si tes bases ne sont pas stockées sur le même serveur que ton application (ce qui est souvent le cas), tu va devoir faire deux envois de flux au lieu d'un, donc
    - tu prends le risque de perdre deux fois plus de données en route
    - tu génères deux fois plus de latence réseau.


    Il existe des outils qui le font et les plus efficaces et les plus fiables, c'est justement ceux dont te parlais DotNetMatt.
    Ce processus est automatique et tu peux le planifier comme ça t'arranges.
    Et tu n'est pas obliger de répliquer tout le contenu de ta base !!!
    L'inconvénient s'est qu'il va y avoir un décalage de données pendant un court laps de temps.

    Mais le meilleur moyen d'être certain que les données sont à jour sur les deux applications, c'est qu'elles attaquent la même source de données.
    Cela implique une troisième source de données pour les données communes.
    Mais lorsque tu fait une modification de structure, tu ne la fait qu'une seule fois.

Discussions similaires

  1. [PHP 5.4] Identification d'un client à travers un web service REST
    Par Rohan21 dans le forum Langage
    Réponses: 0
    Dernier message: 19/08/2013, 01h53
  2. Réponses: 1
    Dernier message: 26/03/2013, 13h35
  3. Réponses: 3
    Dernier message: 28/03/2012, 13h01
  4. web service CRUD restful +ejb
    Par angelica2010 dans le forum REST
    Réponses: 2
    Dernier message: 18/11/2010, 11h09
  5. Réponses: 8
    Dernier message: 30/03/2010, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo