标签: soa

我应该在每次服务调用后打开和关闭我的 WCF 客户端吗?

我开发了一个 WCF 服务,用于在组织的以太网中使用。
该服务当前托管在 Windows 服务上并使用net.tcp绑定。服务中定义了
2 个operation contracts
连接到此服务的客户端是一个长时间运行的 Windows 桌面应用程序。
员工(> 30,000)通常让这个客户端从周一早上到周五晚上连续运行一周。

在此生命周期内,可能会根据主桌面客户端上的特定用户操作对相关 wcf 服务进行多次调用。让我们假设主桌面应用程序上每 3 个操作中的 1 个将触发对我们服务的调用。

现在我们计划在每个员工的桌面上部署这个窗口服务,
我也使用 `autofac` 作为依赖解析器容器。
我的 WCF 服务实例上下文是 `PerSession`,但理想情况下,我们在同一个桌面上运行客户端和服务(目前),所以我计划使用 `autofac` 容器为每个新会话注入相同的服务实例。
现在不会更改服务实现上的“InstanceContext”属性,因为将来我可能会在不同的托管环境中部署相同的服务,我希望每个会话都有一个新的服务对象实例。

就像前面提到的,客户端是一个长时间运行的桌面应用程序,我已经读过,为每个调用“打开”和“关闭”代理是一个很好的做法,但如果我将服务保留为 PerSession,它将创建一个新的服务实例对于每个调用,鉴于服务和客户端具有 1-1 映射,这可能不需要。
另一个论点是我计划在这个环境中为每个会话注入相同的实例,所以每个服务调用的打开和关闭应该无关紧要?
那么我应该采用哪种方法,为每次调用创建服务“单例”并打开关闭,或者在桌面应用程序加载/第一次服务调用时打开客户端代理,然后仅在桌面应用程序关闭时关闭它?

wcf soa windows-services autofac

4
推荐指数
1
解决办法
3812
查看次数

如何将WCF推广给非技术人员?

您如何描述和推广WCF作为非技术客户/经理/ CEO /等的技术?

他们可能提出的竞争解决方案或想法是什么(例如他们在杂志上宣传的新技术)?

什么是WCF 对你看到人们试图将其变成了什么并不好?

-亚当

.net c# wcf soa web-services

3
推荐指数
1
解决办法
389
查看次数

Async Messaging(特别是发布/子样式消息传递)是否可用作域服务体系结构,还是仅在以SOA为中心的环境中?

我一直在研究异步消息传递,我喜欢它优雅地处理某些领域内的一些问题的方式以及它如何使领域概念更加明确.但它是一种可行的通用域驱动开发模式(至少在服务/应用程序/控制器层),还是设计开销,应该限制在基于SOA的场景,如远程服务和分布式处理?

messaging soa

3
推荐指数
1
解决办法
571
查看次数

如何绘制应用程序架构图

我想知道是什么人用来制作你的应用程序/服务架构图?

我想制作代表整个应用程序的不同层的图表,并使某些部分更深入(类级别)

architecture diagram soa uml visio

3
推荐指数
2
解决办法
6462
查看次数

是否使用企业库?

我正在使用基于多层SOA的企业应用程序来处理所有复杂的业务逻辑.许多业务验证需要来自数据库的大量支持数据,这会降低性能.并发用户的数量大约是1000.客户端是多层的WinForms.

我们正在考虑几乎所有的企业库块.

  • 缓存应用程序块
  • 数据访问应用程序块
  • 异常处理应用程序块
  • 记录应用程序块
  • 策略注入应用程序块
  • 安全应用程序块
  • Unity应用程序块
  • 验证应用程序块

    1. 企业库是正确的方法吗?
    2. 请建议您认为更好的库/框架,但要考虑说明它们更好.
    3. 将企业库与其他库混合是不好的做法?例如,我们考虑使用log4net进行日志记录.

architecture soa frameworks enterprise-library soap-client

3
推荐指数
1
解决办法
1892
查看次数

WCF数据服务与WCF RIA服务

我需要评估WCF数据服务WCF RIA服务之间的SOA架构.以下是我的一些参数:

  1. 多客户端(HTML5/iOS/Android/Windows 8 Metro/Windows Phone 7)
  2. 断开连接和离线操作
  3. 验证引擎
  4. 性能
  5. 网络数据压缩
  6. 支持云环境

谁能帮我收集一些数据供我评估.此外,SOA实现是否还有其他好的选择.

我知道DevForce.

wcf soa wcf-data-services wcf-ria-services devforce

3
推荐指数
1
解决办法
2525
查看次数

在SOA体系结构中使用SPDY

在过去的几年里,我有很多经验,他们使用和设计依赖于HTTP相互通信的SOA系统.我想知道利用SPDY的SOA架构会是什么样子.我不是网络专家,但在我看来,SPDY的性能增强对于服务到服务通信以及浏览器通信非常有用.

1)一般来说,将SPDY用于SOA有什么意义?

2)使用SPDY调整现有的Web应用程序框架(如Rails或Grails)会涉及哪些内容?它会像配置SPDY的网络服务器一样简单吗?

rest soa grails ruby-on-rails-3 spdy

3
推荐指数
1
解决办法
482
查看次数

WSO2:代理服务与业务流程(BPEL)

我在WSO2栈很新,不知道何时应使用WSO2 ESB代理服务,当 - 通过BPEL创建业务流程?

我认为他们正在做同样的事情 - 通过服务组合和一些调解来执行任务.

soa wso2 bpel wso2esb

3
推荐指数
1
解决办法
881
查看次数

NServiceBus传奇无法正常工作

我有一个看起来像这样的处理程序:

public class CreateNewUserHandler :
    Saga<UncorroboratedCreateNewUser>,
    IAmStartedByMessages<CreateNewUser>,
    IHandleMessages<FoundUser>
{

    [Dependency]
    public IBus Bus { get; set; }


    public override void ConfigureHowToFindSaga()
    {        
        ConfigureMapping<CreateNewUser>(saga => saga.CorrelationId, req => req.CorrelationId);
        ConfigureMapping<FoundUser>(saga => saga.CorrelationId, foundUser => foundUser.CorrelationId); //CorrelationId is of type Guid here
    }

    public void Handle(CreateNewUser message)
    {
        Mapper.DynamicMap(message, Data, typeof(CreateNewUser), typeof(UncorroboratedCreateNewUser));
        Data.CorrelationId = message.CorrelationId;
        Bus.Send(new FindUserByUserName { CorrelationId = Data.CorrelationId, UserName = message.UserName });
    }


    public void Handle(FoundUser message)
    {
        //**THIS BLOCK WAS NEVER HIT**
    }
}
Run Code Online (Sandbox Code Playgroud)

现在应该回复的另一个处理程序FoundUser是这样的:

public …
Run Code Online (Sandbox Code Playgroud)

.net c# soa nservicebus azure

3
推荐指数
1
解决办法
1988
查看次数

OSGi即服务是否存在?

有没有提供OSGi容器作为服务的Java PaaS解决方案?

  • Google App Engine - >有自己的GAE服务器,它是经过修改的Jetty
  • CloudBees - >有自己的RUN @ Cloud容器,它是经过修改的Tomcat
  • OpenShift - >使用JBoss/Wildfly
  • ??? - >使用,比如说,Karaf或Equinox

If not a full-blown PaaS, just a clusterable/scalable OSGi host. Google turned up nothing, so I'm assuming there isn't anything like this. Thanks in advance!

java soa osgi paas apache-karaf

3
推荐指数
1
解决办法
1310
查看次数