Web services 您在Web服务中添加了什么内容?

Web services 您在Web服务中添加了什么内容?,web-services,architecture,Web Services,Architecture,我有一个网站(ASP.NET)和一些winforms(.NET2.0)用于一个项目(用C#编写)。我使用webservice(IIS6)来完成这两项任务,比如在企业内部发送电子邮件 我认为Web服务很不错,但我想从您的经验中了解一下Web服务中应该包含哪些内容,不应该包含哪些内容?听起来您的面向服务的体系结构很有限(至少,我认为您是这样理解的),根据Gartner的说法,这意味着您很快就会变得富有。:) 我发现SOA对我的好处实际上可以归结为所涉及的系统的异构性(听起来你的系统不符合这里的条件,

我有一个网站(ASP.NET)和一些winforms(.NET2.0)用于一个项目(用C#编写)。我使用webservice(IIS6)来完成这两项任务,比如在企业内部发送电子邮件


我认为Web服务很不错,但我想从您的经验中了解一下Web服务中应该包含哪些内容,不应该包含哪些内容?

听起来您的面向服务的体系结构很有限(至少,我认为您是这样理解的),根据Gartner的说法,这意味着您很快就会变得富有。:)

我发现SOA对我的好处实际上可以归结为所涉及的系统的异构性(听起来你的系统不符合这里的条件,因为它都是.NET),而SOA的负面影响主要是因为XML的冗长性。没错,SOA不需要XML,但它是目前的主流,IMHO

但是,如果您不关心带宽/解析惩罚,谁会在乎呢?也许你不是一分钟打10000个服务电话。有了这种实现风格,您就遵循了WS,而不是sub,并且遵循了一个本质上与多个系统兼容的标准

还有更糟糕的方法。

在我看来:

Web服务应该为以下代码保留:

  • 你要么不能,要么不想分发;或者
  • 需要认真扩展的代码
  • 一个例子是多个应用程序需要访问的自定义业务逻辑

    您不想放入web服务的代码包括:

  • 基于性能的代码
  • 仅适用于相关应用程序的代码

  • web服务/SOA的新趋势似乎是或多或少地公开主机应用程序可以使用的轻量级中间层。面向SOA的应用程序没有通过服务公开单个方法调用(如您的示例中所示),而是具有广泛的数据/操作契约,充当“传统”中间层程序集。

    尽可能少,同时仍然有用

    默认情况下,不要将返回对象的每个字段都放在返回数据中,也不要公开现有类的每个方法


    也请阅读…

    我不确定您所说的“对于发送电子邮件等两者都需要的任务”是什么意思,这取决于您的应用程序的用途。你想让我们告诉你你的应用程序应该做什么吗?你是说web服务器吗?IIS6是一个web服务器。由IIS托管的web服务…问题是一般性的,不是为了解决我遇到的问题。我想知道其他开发者对webservice的使用情况。谢谢你的澄清。我想这是你不想发布的代码。