2009-04-23 5 views
1

Nous envisageons une application à deux niveaux. Cependant, plus tard, nous pouvons vouloir convertir cela en application à trois niveaux. Y a-t-il un modèle/cadre/technologie de conception utile? Les principales raisons de considérer deux niveaux sont:Application à deux niveaux plus tard modifiable à l'application à trois niveaux

1) Un ordinateur de bureau bas de gamme est disponible pour exécuter l'application.

2) Un seul utilisateur actuellement.

3) L'application doit être exécutée sur des sites distants où il n'y a pas de connectivité réseau.

Notre idée est de déployer l'application à deux niveaux là où il n'y a pas de connectivité et de l'utiliser à trois niveaux là où il y a de la connectivité.

+0

Une option qui me vient à l'esprit est d'utiliser Silverlight/WPF + .NET (ADO.NET). Exécutez-le en tant qu'application autonome ou déployé sur le serveur. Y a-t-il des limites à ces approches? (Je suis fondamentalement une personne Java, pas très familier avec les technologies .NET) –

Répondre

1

Vous ne l'avez pas dit ce que votre plate-forme de développement est, donc je vais prendre .NET, ce qui me permet de répondre à cela avec ma propre expérience :-)

J'ai eu la même expérience, que je résolu grâce à la flexibilité de .NET remoting.

Lors de la création de l'application, prenez en compte les parties de l'application que vous souhaitez placer sur le serveur, si elles ont été théoriquement implémentées en tant qu'application client-serveur. Placez toutes ces classes dans une bibliothèque séparée et liez simplement votre application cliente directement à cette bibliothèque. Lorsque vous souhaitez basculer sur client-serveur, vous pouvez faire en sorte que cette bibliothèque soit hébergée par un serveur Windows et configurer le client et les serveurs de manière appropriée. Bien sûr, je laisse ici énormément de détails (objets MarshalByRef, objets sérialisables, les nombreuses façons de configurer la communication), et je parle peut-être de fonctionnalités déjà redondantes par WCF. Mais il est tout à fait possible d'isoler la couche de logique applicative/d'accès aux données dans une DLL séparée hébergée par l'application cliente, puis de passer au serveur client.

+0

Je suis ouvert à toute plate-forme de développement (pile Micorsoft - Silverlight/WPF /. NET, Flex/AIR, Swing/J2EE) –

+0

Une autre préférence est de lancer le application à trois niveaux en tant que client Web plutôt que client lourd. –

Questions connexes