托管服务导向架构
在采访中,有人问起soa。请看下面。托管服务导向架构
我需要开发一个应该作为windows服务,web服务,桌面应用程序或web客户端所需的托管应用程序。你如何设计和方法
我说,WCF试图实现相同的方式。但他问,如果WCF不在那里。我会尝试在业务逻辑之上公开服务层,以便它可以被任何消费者使用。我知道这并不令人满意。
或者我是否需要使用任何托管API来做到这一点。但它们可以在不更改任何代码的情况下进行配置。
请分享您的观点?
我仍然坚持你的回答,特别是如果我在采访中,采用以下方式。这取决于面试官如何推动对话,但我想,遵循思维过程是可行的。
可以说WCF不在那里,那么我必须自己构建一个迷你WCF来解决这个问题,怎么样? WCF提供什么?
- 它为通道,托管,身份验证等提供了一堆工厂。含义WCF是一种域专用语言来编写服务。
- 它为验证,记录,序列化所需的代码(您的代码)和管道提供一定程度的隔离。
因此,对于一个给定的业务领域,如果我建立上述一整套服务(可能不会像健壮的,可靠的,或可配置为WCF),但解决了业务问题,我可能使你的代码托管在所有可能的托管环境。对于每个环境,我可能不得不实施几个基本的管道,如激活,渠道启用,我可以支持任何未来的托管方案。
无论是否使用WCF,如果我支持的托管问题和协议种类有限,成本差异不会很大。因为编写服务业务逻辑,数据访问,应用程序接口的成本是相同的,只是管道被拿走了。
再想一想,我可以问面试官是否可用remoting
?如果那么多的WCF管道已经在那里。
再次回顾一下,可以说如果我们没有任何当前的技术堆栈,那么它就证明投资公司定制堆栈的成本是合理的,因为它有机会创建如此强大的平台,并创建白色空间中的标准。
我不确定采访者试图找到什么,我问过类似的问题,看看这个人是否可以通过构建商业案例来推动技术进步,而不会因为限制而陷入困境。
其中一些技术完全不同于其他技术。你不能写一个既是好的Windows服务又是GUI应用程序的东西。 Windows服务按定义没有GUI。你需要向客户解释他们正在浪费他们的钱,试图在同一时间做出一切。
给你一个具体的例子:同一辆车不能既是一个好雪犁,也不是一个好的赛车。你可以做出既是两件事,也不是两份工作都很差,或者非常昂贵。
对于记录,你谈论的汽车将很有可能在这两个工作都很差,而且非常非常昂贵:) – 2011-03-11 11:15:05
它是一个有效的问题,相同的车不能既是一个好的雪犁,也不是一个好的赛车。但是,相同的变速箱,轮胎或汽车座椅可以用于各种类型的汽车,这就是在这里所要求的。同一段代码/服务需要从不同的托管模型中调用(托管出于任何原因)。 – 2011-03-12 09:33:07
介绍 - >服务 - >业务 - >数据访问 - >数据
该服务允许企业,数据访问和数据而不考虑的演示是如何构建的配置。
@Sanjeev:我正在寻找一些关于这个话题的更多可能的答案,因为这是一个有争议的话题。这是延迟的原因 – sveerap 2011-03-22 00:38:39