托管服务导向架构

问题描述:

在采访中,有人问起soa。请看下面。托管服务导向架构

我需要开发一个应该作为windows服务,web服务,桌面应用程序或web客户端所需的托管应用程序。你如何设计和方法

我说,WCF试图实现相同的方式。但他问,如果WCF不在那里。我会尝试在业务逻辑之上公开服务层,以便它可以被任何消费者使用。我知道这并不令人满意。

或者我是否需要使用任何托管API来做到这一点。但它们可以在不更改任何代码的情况下进行配置。

请分享您的观点?

+0

@Sanjeev:我正在寻找一些关于这个话题的更多可能的答案,因为这是一个有争议的话题。这是延迟的原因 – sveerap 2011-03-22 00:38:39

我仍然坚持你的回答,特别是如果我在采访中,采用以下方式。这取决于面试官如何推动对话,但我想,遵循思维过程是可行的。

可以说WCF不在那里,那么我必须自己构建一个迷你WCF来解决这个问题,怎么样? WCF提供什么?

  1. 它为通道,托管,身份验证等提供了一堆工厂。含义WCF是一种域专用语言来编写服务。
  2. 它为验证,记录,序列化所需的代码(您的代码)和管道提供一定程度的隔离。

因此,对于一个给定的业务领域,如果我建立上述一整套服务(可能不会像健壮的,可靠的,或可配置为WCF),但解决了业务问题,我可能使你的代码托管在所有可能的托管环境。对于每个环境,我可能不得不实施几个基本的管道,如激活,渠道启用,我可以支持任何未来的托管方案。

无论是否使用WCF,如果我支持的托管问题和协议种类有限,成本差异不会很大。因为编写服务业务逻辑,数据访问,应用程序接口的成本是相同的,只是管道被拿走了。

再想一想,我可以问面试官是否可用remoting?如果那么多的WCF管道已经在那里。

再次回顾一下,可以说如果我们没有任何当前的技术堆栈,那么它就证明投资公司定制堆栈的成本是合理的,因为它有机会创建如此强大的平台,并创建白色空间中的标准。

我不确定采访者试图找到什么,我问过类似的问题,看看这个人是否可以通过构建商业案例来推动技术进步,而不会因为限制而陷入困境。

其中一些技术完全不同于其他技术。你不能写一个既是好的Windows服务又是GUI应用程序的东西。 Windows服务按定义没有GUI。你需要向客户解释他们正在浪费他们的钱,试图在同一时间做出一切。

给你一个具体的例子:同一辆车不能既是一个好雪犁,也不是一个好的赛车。你可以做出既是两件事,也不是两份工作都很差,或者非常昂贵。

+0

对于记录,你谈论的汽车将很有可能在这两个工作都很差,而且非常非常昂贵:) – 2011-03-11 11:15:05

+0

它是一个有效的问题,相同的车不能既是一个好的雪犁,也不是一个好的赛车。但是,相同的变速箱,轮胎或汽车座椅可以用于各种类型的汽车,这就是在这里所要求的。同一段代码/服务需要从不同的托管模型中调用(托管出于任何原因)。 – 2011-03-12 09:33:07

介绍 - >服务 - >业务 - >数据访问 - >数据

该服务允许企业,数据访问和数据而不考虑的演示是如何构建的配置。