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

VB.NET Discussion :

Application client/serveur vb.net permettant de relier 2 lieux différents


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Par défaut Application client/serveur vb.net permettant de relier 2 lieux différents
    Bonjour a tous,

    Voila je suis actuellement en stage dans une entreprise qui m'as demandé de developper une application informatique pour elle. Cette entreprise ne veut pas d'un site internet pour ces traitements car elle aimerai par la suite pouvoir les installés ses postes.

    L'entreprise possède 2 lieux situé à quelques kilomètres de distances, il faudrait que j'arrive à relier ces deux lieux sachant que chaque sites travaille sur la même base de données par exemple le service gestion est sur un site différent du service commercial d'ou mon problème.

    J'aimerais proposé une multitude de solutions pour l'entreprise et donc avoir votre avis , j'ai pensé à utiliser un serveur dédié ou l'application travaillerait directement dessus ce qui règlerait le problème d'accès à la même base ou sinon que l'entreprise monte son propre serveur afin de pouvoir avoir une certaine exclusivité par la suite?

    Bref, j'aimerai avoir vos impressions ainsi que quelques pistes dans la mesure du possible de tutoriels ou explications pour la méthode de developpement parce que la j'avoue que je sèche...

    Cordialement et merci d'avance,
    Zilien!

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Citation Envoyé par zilien974 Voir le message
    j'ai pensé à utiliser un serveur dédié ou l'application travaillerait directement dessus ce qui règlerait le problème d'accès à la même base ou sinon que l'entreprise monte son propre serveur afin de pouvoir avoir une certaine exclusivité par la suite?
    Tu dois être confus dans les termes: Un serveur dédiés est un serveur pour lequel on ne l'utilise que pour une tache précise. Ce qui n'est pas a mettre en opposition avec le fait qu'il possède ou non le serveur physiquement.

    Par serveur dédiés, tu pensais peut être loué un serveur dont l'accès se fait à distance chez un prestataire... bref

    Il y a une multitude de solutions a ta problématique.

    La plus facile je dirai, c'est d'avoir en effet un serveur dans ton entreprise en local, sur lequel il y a aura une BDD etc...

    Installer un vpn enter tes deux sites (ça se fait très facilement avec des routeurs ou des logiciels)

    Après tu pourras développer ton appli pour les postes clients qui se connecteront à la BDD sans avoir rien a gérer (grâce au vpn).

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si tu veux une base de données unique, il faut un serveur, qui doit être soit sur un site de l'entreprise, soit chez un hébergeur (dedibox, ikoula, ovh et autres par exemple)
    si vous avez un site qui a assez de débit (montant surtout), tu peux y mettre la base de données, sinon un hébergeur avec une grosse bande passante peut etre utile (mais payant)

    ensuite si tu as un routeur ou un serveur sur chaque site, le vpn est quand même pratique, ca sécurise et ca simplifie le lien, mais ce n'est pas obligatoire

    le serveur ayant la base de données doit etre accessible depuis tous les sites, il faut ouvrir les ports nécessaires et faire des passerelles si nécessaire

    après un .exe peut se connecter à une base de données (une vraie, pas access ) via son adresse ip donc il n'y a rien de plus compliqué que ne d'avoir un seul site

    si tu ne veux pas accéder à la base directement tu peux utiliser wcf ou .net remoting, dans un exe ou un web service et faire transiter les données ainsi, mais je ne suis pas sur que ca apporte quelque chose

    il faut aussi penser que la liaison peut être coupée, dans ce cas une réplication de la base sur un serveur local permet de continuer à bosser, ca n'est pas forcément simple à mettre en place


    donc proposer plusieurs solutions ca n'est pas évident, ou alors avec plusieurs solutions inutiles ...
    éventuellement l'autre solution c'est de faire du bureau à distance sur un serveur, mais le prix n'est pas le même du tout !! et la coupure de la connexion est obligatoirement bloquante pour les utilisateurs ... et puis c'est pas le même confort avec une faible connexion

    s'ils veulent plusieurs solutions pour voir que tu y as réfléchis tu peux alors exposer les différentes solutions et pourquoi tu ne les retiens pas (cout, risques ...)

    après il y a plein d'autres questions qui peuvent se poser, dimensionnement du serveur, débit nécessaires ...

    nb : il te faudra éxecuter les requetes sur un autre thread que le thread principal
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Par défaut
    Salut a tous,

    Merci pour vos réponses, je pense que le plus simple est de faire appel a un hébergeur me fournissant un serveur. Le souci est que certains partenaire se connecteront aussi à cette base de données via une application quelque peu différente. Spécifié l'adresse IP et hop je pense que c'est beaucoup plus simple.

    La solution du VPN est je pense beaucoup plus difficile à mettre en oeuvre car le problème est que pour chaque partenaire il faudra configurer le VPN afin qu'il y soit intégré dans le réseau, de plus en termes de coupa voir son propre serveur pour l'entreprise implique une maintenance, un entretien et une sécurisation. J'ai peur que cela ne deviennent trop compliqué pour moi!

    j'ai vu que sur ce que propose certains hébergeurs il a une possibilité d'utilise Sql Server qui je pense comme SGBDR est mieux pour un developpement En VB.net?

    Qu'entends-tu aussi par la possibilité de ne pas accéder directement à la base de données? par WCF ou .net remoting??

    Ensuite le problème de la connexion j'y ai également pensé, mais si je fais appel à un hébergeur, je ne dois gérer le problème que coté client en principe non? car les hébergeurs m'assure un certains minimum matériel il me semble.

    Bref énormément d'interrogation que je me pose c'est pas forcément évident! lol

    En tout cas je vous remercie de vos réponses c'est déjà une bonne base pour faire mon choix et trouver la solution la plus simple pour moi et l'entreprise concernée!

    Cordialement,
    Zilien!

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    sql server c'est très bien oui

    .net remoting et wcf sont des technologies de transfert de données (d'instance de classes par exemple) par tcp/ip, donc tu peux faire un programme à côte de la base de données qui lui utilise la base de données, et auquel les clients se connectent
    une des utilités pourrait être des notifications de changement pouvant rafraichir l'application d'un client quand un autre fait une modif


    un hébergement ca a un cout, et la maintenance aussi !
    on a testé ovh et dedibox au boulot (les 2 vers 100€ HT par mois)
    ovh, pas de performances ... les gens qui te prennent un peu pour un con
    dedibox, pc puissant, super débit, pas de sav, le server qui tombe en panne souvent (5 dd en un an), et la réponse "démerde toi avec linux pour réparer ton windows" (ou éventuellement windows PE, m'enfin dans les 2 cas après 3 heures de lignes de commandes infructueuses pour réparer un raid logiciel on fini par cliquer sur réinstaller windows et on perd tout ...)
    au final on a acheté un serveur, et quand windows plante, on peut aller voir pourquoi sur l'écran dans la minute qui suit !
    et puis même si le serveur répond tout le temps, tu peux perdre une connexion adsl sur un de tes sites, et si tu as 10 personnes qui bossent dessus, les 10 vont gueuler ...

    après si tu as besoin de 4Mb symétriques sur ton site avec le server, il y a des solutions sdsl ou fibre pas trop cher (le prix dépend de la localisation)
    une adresse ip fixe est aussi recommandé comme ca tu peux l'intégrer dans le soft (ou un nom de domaine, ca permet de changer d'ip sans soucis)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre expérimenté
    Avatar de Proteus91
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 150
    Par défaut
    Pol. Les Services Azure de Microsoft ca ne pourrai pas être intéressant ? Tu as testé ?

  7. #7
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Par défaut
    Merci de partager ton expérience c'est toujours bon à prendre, mais j'ai peur que cela deviennent trop lourd a supporté pour un jeune débutant comme moi!

    Mais j'approfondirais mes recherches pour en tout cas OVH je le bannis déjà.
    J'ai contacté ASP serveur ils ont l'air pas mal, déjà le service commercial est accueillant comparé a d'autre dont je ne citerais pas de nom!

    Si j'ai bien compris le WCF c'est une sorte de technologie qui permet en faite de gérer le transfert des requêtes et données entre le serveur et l'application c'est bien cela?

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    azure doit être une piste à creuser, mais je ne connais pas spécialement ...


    wcf pour simplifier tu fais une dll qui dit que telle méthode de telle classe est partagée (enfin tu définis tous les membres utilisables à distance)
    coté serveur tu as le code qui exécuté par chaque membre, comme des classes normales, et coté client tu n'as que la structure en gros
    l'appel coté client d'une méthode appelle la méthode coté serveur
    donc si tu fais une fonction qui retourne une collection, le serveur exécuté la fonction suite à un appel d'un client et le client obtient la collection qui est transférée par tcp/ip

    en fait à l'origine quand on faisait du tcp/ip, on pouvait envoyer des octets ... et il fallait se farcir le codage du transfert, et le codage d'une norme de tranfert
    wcf et .net remoting permettent de faire abstraction des transferts d'octets et de ne se concentrer que sur la partie POO
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    En premier lieu vérifier s'il y a un WAN reliant les sites ou s'il faut passer par le nuage (comprendre Internet).

    Ensuite savoir si l'on désire ou non s'occuper de la partie administrative de la base de donnée (Serveur, backup, disponibilité). Savoir que dans ce cas il y a un certains nombre de paramètre qui rentre en compte (sécurité de ces données, compétance disponible à l'interne, la volumétrie des bases et bien sur le budget).

    Après pour les prestataires d'hébergement surtout s'il ne s'agit uniquement de la base de donnée, il peut être interessant de passer par SQL Azur mais niveau cout je sais pas trop quoi en penser.

    Vu que l'interet premier de SQL Azur c'est la proximité avec les applications Azur (Avoir dans le cloud donnée + application tout en ayant une connection ultrarapide entre les deux).

Discussions similaires

  1. Problème de connexion application clients/serveur sur le net
    Par zpico dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 15/04/2012, 15h30
  2. [Débutant] application client serveur vb.NET
    Par mimi_ dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 14/03/2012, 18h18
  3. application client/serveur en vb.net
    Par hajarussa dans le forum VB.NET
    Réponses: 6
    Dernier message: 31/07/2007, 13h49
  4. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46

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