2010-06-11 1 views

Répondre

18

Je prévois d'utiliser ServiceStack sur mon système, je l'ai trouvé très cool, très impressionnant dans la façon dont elle met en œuvre des modèles et je l'aime son architecture

Il existe des différences dans la façon dont vous avez l'intention des services .. Cependant, les cadres pourraient être utilisés sont les suivants: (il est clair que cela dépend de situations)

  • Agatha-rrsl qui met en œuvre un modèle de rrsl, il permet d'utiliser le service dans un ServerAndClient dans le même processus ou un exemple de l'environnement distribuyes. application web qui utilisent des services externes (utiliser Agatha WCF pour les services externes)
  • OpenRasta un cadre puissant qui peut être utilisé pour construire une application entière ou simplement REST
  • NServiceBus qui met en œuvre un service complet architecture de bus, et pourrait être utilisé dans un ServerAndClient dans le même processus ou d'une manière distribuyes qui est le meilleur pour ce cadre
  • MassTransit similaire à NServiceBus (personnellement, je préfère NServiceBUs)
  • SimpleServiceBus similaire à NServiceBus mais plus simple, cool
  • RhinoServiceBus, une sorte de fourche sur NServiceBus très très cool

Il est très important de comprendre la différence entre un cadre de service comme Agatha vs un bus de service comme NServiceBus. Un bon point pourrait être le grand billet de blog Davy Brion sur cet argument http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/

Peut-être que si je me souviens quelque chose d'autre je vais mettre à jour plus tard Hope it helps

+0

http : //trac.caffeine-it.com/openrasta pas trouvé, erreur 404 pour moi – Kiquenet

+0

@Kiquenet lien fixe! – Hoghweed

21

Je suis heureux de vous entendre :) envisagez ServiceStack C'est un framework en cours de développement ces dernières années, né des frustrations et des frictions engendrées par la rigidité du framework .asmx et WCF SOAP de .NET .NET. Je n'ai trouvé aucun des cadres existants promu une approche conventionnelle qui suit les meilleures pratiques de Martin Fowlers Data Transfer Object Pattern qui, selon moi, est essentielle pour développer des services Web bien définis, moins bavards, cachables et réutilisables.

Il est principaux objectifs sont:

  • Promouvoir les meilleures pratiques C# développement - faiblement couplés, les services testable (point final/format agnostique).
  • Bonnes pratiques Développement de services Web - Votre contrat de service Web est l'interface la plus importante que vous êtes susceptible de créer. Il doit donc être codé en premier, typé et bien défini.
  • Réutilisable, architecture pilotée par modèle - Notez que vos services héritent d'un IService [de T] sans dépôt qui peut également être réutilisé dans les services Message Queue.
  • Multiplateforme - Prend en charge Windows (.NET)/Linux/OSX (MONO)
  • Performance - Temps d'exécution sans réflexion et utilise seulement le plus rapide.Cacheability - La mise en cache est une partie importante des services évolutifs haute performance. Il est parfois important d'avoir un contrôle précis de votre mise en cache, de pouvoir mettre en cache le résultat optimal (c.-à-d. réponse gzippée) et ont un variety of caching providers. Voir Northwind example.
+9

et ce n'est plus gratuit ... – Soren

4

Jetez un oeil sur Nelibur, avantages

  • suit de transfert de données modèle d'objet
  • services web petits et réutilisables
  • pleine puissance de la WCF
  • c'est gratuit
Questions connexes