Auteur de questions
Problème d'architecture produit

Discussion générale
-
Bonjour à tous,
Je développe une application pour la société dans laquelle je travaille. Je me pose différentes questions sur la façon dont mon équipe et moi allons créer la structure du projet. Nous devons développer :
- Une application Web ASP.Net MVC pour la gestion et l’exploitation des données ;
- Un service Windows qui récupère des données sur le réseau du client (c'est données se trouvent sur les postes clients) ;
- Des applications mobiles (Windows Phone, Android et IPhone) (avec peut-être Xamarin);
Nous exposons nos données SQL via OData (v4) qui est une obligation.
Actuellement, la solution Visual Studio est conçue comme suit :
- Projet ASP.Net MVC (interface graphique, authentification,…) ;
- Projet ASP.Net Web API (OData, WCF pour la communication entre le service Windows et le site web, sécurité des données,…) ;
- Projet Service Windows ;
- ...
Mon problème est le suivant : nous avons séparé le projet Web et la partie OData dans 2 projets distincts et nous nous demandons si ça ne va pas nous compliquer le développement ? Devrait-on plutôt réunir c’est 2 projets dans 1 seul projet Web ASP.Net MVC ?
Avez-vous des solutions à m’apporter ? Merci d’avance pour vos réponses.- Type modifié Aurel Bera jeudi 10 juillet 2014 12:56 disc
Toutes les réponses
-
Bonjour,
Etant donnée que vos données doivent être explosée publiquement à cause des terminaux mobiles, vous avez la possibilité de mettre les services web et le code MVC dans le même projet ASP .NET...
Si vous deviez exposer potentiellement vos services web dans un réseau interne uniquement, il faudrait dans ce cas faire plustôt 2 projets.
De manière générale, découpez vos applications de manière SIMPLE ! C'est à dire que rien ne vous empêche de mettre tout votre code dans un même et unique projet (bien évidemment pour les terminaux mobiles cela ne pourra pas être possible). Il faut juste respecter le découpage des classes à l'intérieur de ce projet...
Plus-tard, il sera facile de découper votre projet en plusieurs autre projets lorsque le besoin s'en fera ressentir (réutilisabilité de code dans d'autres projets ou projet qui devient trop grand...).Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCSA : SQL Server 2012
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure -
Bonsoir,
Merci pour la réponse, je vais donc partir sur 2 projets (Pour la partie Web). Pour le WCF, je me pose encore des question sur cette partie car ce n'est pas compatible avec WP. J'avais également pensé à utiliser SignalR.
Avez-vous d'autres solution de remplacement ? -
Bonjour
WCF c'est bien compatible avec Windows Phone.
How to connect to a local web service from the Windows Phone 8 Emulator
Bien cordialement,
Aurel BERA, MSFT
MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution. -
-
Bonjour,
Dans ce cas misez plustôt sur les WebAPI d'ASP .NET qui sont relativement simple d'utilisation...
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCSA : SQL Server 2012
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure -
Il y a déjà plusieurs astuces que vous pouvez les trouver même dans le lien que vous proposez (notamment REST API).
Bien cordialement,
Aurel BERA, MSFT
MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.- Modifié Aurel Bera mardi 8 juillet 2014 06:55
-
Bonjour,
Merci pour toutes ces réponses. Je précise que le but d'utiliser le WCF dans mon projet était de permettre une communication en dual binding : pour l'envoi d'ordre sur le service Windows mais aussi le suivi temps réelle de la progression du travail demandé (avec le callback). Je ne pense pas que les Web API me permettent de faire ça ?
Cordialement.