2010-06-11 6 views

Respuesta

18

tengo la intención de utilizar ServiceStack en mi sistema, me pareció muy fresco, muy impresionante en la forma en que se implementa algunos patrones y me gusta su arquitectura

Hay diferencias en la forma en que la intención servicios .. Sin embargo, los marcos se podrían utilizar son: (está claro que depende de las situaciones)

  • Agatha-rrsl que implementa un patrón rrsl, que permite utilizar el servicio en un ServerAndClient en el mismo proceso o en un entorno Distribuida por ejemplo. aplicación web que utilizan servicios externos (Agatha utilizar WCF para servicios externos)
  • OpenRasta un marco de gran alcance que se puede utilizar para construir una aplicación completa o simplemente descansar servicios
  • NServiceBus que implementa una arquitectura completa del servicio de autobús, y podría ser utilizado en un ServerAndClient en el mismo proceso o de una manera Distribuida que es el mejor para ese marco
  • MassTransit similar a NServiceBus (personalmente prefiero NServiceBUs)
  • SimpleServiceBus similar a NServiceBus pero más simple, fresco
  • RhinoServiceBus, una especie de tenedor en NServiceBus muy muy fresco

Es muy importante entender la diferencia entre un marco de servicio como Agatha vs un bus de servicio como NServiceBus. Un buen punto podría ser la gran entrada de blog Davy Brion en ese argumento http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/

Tal vez si recuerdo algo más voy a actualizar más adelante creo que sirve

+0

http : //trac.caffeine-it.com/openrasta no encontrado, error 404 para mí – Kiquenet

+0

@Kiquenet link corregido! – Hoghweed

21

Me alegra saber que usted está considerando ServiceStack :) , Es un marco que se ha estado desarrollando durante los últimos años, nacido de las frustraciones y fricciones causadas por la rigidez del .ASmx existente de .NET y el marco de servicios web WCAP SOAP. Encontré que ninguno de los marcos existentes promovía un enfoque convencional basado en código que sigue las mejores prácticas de Martin Fowler Data Transfer Object Pattern que creo que es instrumental para poder desarrollar servicios web bien definidos, menos habladores, caché y reutilizables.

Es primordial objetivos son:

  • La promoción de las mejores prácticas de desarrollo C# - débilmente acoplados, comprobable (criterio de valoración/formato agnóstico) servicios.
  • Desarrollo de servicios web de mejores prácticas: su contrato de servicio web es la interfaz más importante que probablemente tenga que realizar, por lo tanto, debe ser primero de código, fuerte y bien definido.
  • , arquitectura
  • reutilizable basado en modelos - Tenga en cuenta sus servicios heredan de un lanzamiento de dep IService [del T], que puede también ser re-utilizado en los servicios de Message Queue.
  • multiplataforma: admite Windows (.NET)/Linux/OSX (MONO)
  • Rendimiento: sin tiempo de reflexión y utiliza solo el más rápido.Componentes de NET para todas sus características
  • Cacheabilidad: el almacenamiento en caché es una parte importante de los servicios de alto rendimiento y escalables, ya que a veces es importante tener un control preciso sobre el almacenamiento en caché y almacenar el resultado más óptimo (es decir, respuesta gzipped) y tiene un variety of caching providers. Ver Northwind example.
+9

y ya no es gratis ... – Soren

4

Tome una mirada en Nelibur, ventajas

  • sigue transferencia de datos modelo objeto
  • servicios web pequeños y reutilizables
  • toda la potencia del WCF
  • está libre
Cuestiones relacionadas