惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
IT之家
IT之家
V
Visual Studio Blog
The Cloudflare Blog
博客园 - 司徒正美
Jina AI
Jina AI
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
S
SegmentFault 最新的问题
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
博客园 - Franky
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 蓝色游骑兵

利用JavaScript实现简单的下拉菜单 大话权限设计 安全系统的设计 ASP.NET 安全问题的思索 自定义验证器的开发 WinForm 开发 MSCRM 的感受 测试驱动开发 异常使用的思考 读UML精髓第三版之感受 使用静态构造函数与使用单件 数据完整性的检查 Acegi安全框架 安全服务的设计思考 ContextAttribute与ContextBoundObject应用开发3 ContextAttribute与ContextBoundObject应用开发2 ContextAttribute与ContextBoundObject应用开发 邮件发送组件的开发完成 验证组件的设计和使用
如何从新开发的程序中提炼服务
蓝色游骑兵 · 2008-03-15 · via 博客园 - 蓝色游骑兵

现在已确写在SOA的开发中也不就是将所有的功能都开发为公开的服务,而只是将与其它软件会发生交互的部分才设计为服务。
通过这样的一种方式,就必须从新开发的程序中提炼出服务。那么这里应当怎么的提炼出来服务呢,提炼出来的服务又与程序中其它的功能是一种什么样的关系呢?
在看SOA的很多介绍中都是将原有系统作为实现SOA服务的一个底层的依赖,根据这一种设想,那么根据以前的分层关系:x.IServices x.IServices.Impls ...就应当在x.IServices层之上建立EnterpriseServices,并且实现这个EnterpriseServices,并且在实现中调用x.IServices层。可以充分的利用已有的软件实现,包装出新的功能。那么也就表示开发新的软件中使用SOA与改造已有软件提供SOA的功能是相同的。而这里的EnterpriseServices只是将x.IServices包装为一个或多个服务而已。而且可能在有的情况之下可能EnterriseServices所提供的功能与x.IServices中的功能相同,并且这样不会有什么问题吗。
还有一种方式就是根据已有程序的功能和数据直接全新建立一个EnterpriseServices与x.IServices这一部分不产生关系,这样做的好处理是,因为x.IServices毕竟不是以实现EnterpriseServices为核心,而是以实现软件自己的功能为核心的,其性能不能够保证。数据实体等肯定需要重新为服务的需求而定义。而如果全新开发一个EnterpriseServices那么就能够为EnterpriseServices专门进行开发。但这里所产生的问题是,EnterpriseServices对x.IService极其实现的数据库数据的依赖关系是客观存在的,并且也不能够充分利用已有的代码。
这两种方式怎样好一点呢,或者说说了这么长时间的SOA,软件出来最后应当是个什么样子呢。是整个系统都是全SOA化呢,还是只是部分SOA化。思考很久不知道答案。