2009-11-04 8 views
1

Je vais développer une application distribuée et je n'ai pas développé l'application distribuée auparavant donc j'ai beaucoup de questions dans ma tête alors pour expliquer cette question je vais utiliser un scénarioComment développer une application distribuée en C#

ma demande sera utilisée dans une ville appelée « rêves »

dans cette ville il y a un bâtiment dans le nord de la ville appelée « a ». ce bâtiment a un serveur et il y a un SGBD installé sur celui-ci disons un Oracle 10g comme exemple

et à l'est et à l'ouest de notre "rêve" ville il y a 2 bâtiments un appelé "B" et l'autre appelé "C" dans ces deux bâtiments il ya beaucoup de conteurs comment utiliser mon application pour stocker et récupérer des informations de notre base de données qui est installée sur le serveur dans le bâtiment "A"

* remarquez que le bâtiment n'est pas connecté ! J'espère trouver de bonnes suggestions et des guides de votre part.

Thanx beaucoup

Répondre

0

Ceci est plus le travail de l'administrateur du système que du programmeur. Il existe deux solutions types:

  • Configurez votre pare-feu sur le bâtiment A avec NAT sur votre serveur de base de données sur un port donné. Ensuite, connectez-vous à l'adresse IP publique ou DNS et au port du bâtiment A à partir des bâtiments B et C.
  • Configurez un VPN.
0

Le développement d'applications distribuées est à peu près identique, sauf si vous utilisez une plate-forme conçue pour le traitement simultané et distribué comme Erlang.

Les principes pour C#, Java et le reste sont les mêmes. Si votre application consiste en une configuration multiniveau avec de nombreuses instances d'applications connectées à une base de données, il n'y a pas grand chose à craindre. La sémantique de verrouillage, les transactions et l'intégrité de l'état sont implémentés dans la base de données, mais vous devez toujours connaître les principes de base. Si vous utilisez une approche personnalisée lorsque vous écrivez le moteur de stockage de données ou le backend (au lieu d'oracle ou d'un autre SGBDR), vous avez besoin de connaître le fonctionnement des systèmes distribués et simultanés. Vous devrez gérer le temps, l'état, le contrôle des accès simultanés, la redondance et plein d'autres choses.

Comme je le dis, si elle est une base de données traditionnelle demande soutenue, vous avez juste besoin de connaître les bases et où des problèmes se poseront dans Oracle lui-même, ce que vous devez verrouiller (le cas échéant) ..

Si vous voulez apprendre les bases, commencez avec du fil et des trucs de programmation asynchrone et faites votre chemin jusqu'aux systèmes distribués en réseau.

Espérons que cela aide d'une manière ou d'une autre