文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>有关WCF Group杂谈

有关WCF Group杂谈

时间:2008-11-20  来源:WCF_SCUTMS

有关WCF Group杂谈

一.对WCF的认识

1.WCF是什么?

WCF是.NET Framework3.x的一部分,它包含了用于服务定制、发布与运行以及消息传递和处理的运行时环境以及相关类的集合,它提供了在Windows平台下开发和部署服务的SDK。

作为.NET Framework3.x的核心部分之一,它是MS软件产品战略中针对企业级应用的重要产品,以下是.NET Framework3.x的几大核心技术:   

1.WCF:为基础框架搭建面向服务的企业级的应用程序.
2.WF:工作流引擎支撑企业中业务流程的传递与控制.
3.Cardspace和WCF:固有的安全策略保证企业信息的安全.
4.ASP.NET AJAX、WPF和Silverlight技术:丰富客户端界面的绚丽表现.从而改善客户对企业应用程序的体验!   

2.为什么要用WCF?

当前在.Net平台下的分布式系统技术中最主要的是ASMX、WSE、.Net Remoting、企业服务以及MSMQ。那么,这些技术是否存在着什么重大缺陷从而使得微软在新平台下把它们统统换掉呢?答案是没有,惟一的问题就是这些技术太多。

使用ASMX和WSE,可以借助支持跨平台协同操作的Web服务和Web服务客户程序;.Net Remoting是通用语言运行时环境(CLR)集成机制,用于跨应用域边界与对象进行通信,可以提供非常灵活的扩展模型;企业服务提供了在分布式环境下执行相关工作的多方集成事务的功能,拥有丰富的安全模型,而且是建立在成熟、平台集成、安全和快速的传输机制上;利用MSMQ可以获得可扩展、耐用、灵活的队列消息,负责把数据从一个地方可靠地传送到另一个地方。

每一种技术都有它的好处,惟一的问题是你往往要为到底该使用其中的哪项根本性技术进行选择。如果你需要企业服务的任何特性,并且决定使用它,那么你的实现策略会与你使用ASMX时大不相同。如果你需要非常可靠的消息传送功能,并决定通过MSMQ发送消息,而不是通过普通HTTP发送消息,那么你的代码会与通过面向方法的代理调用截然不同,除非你自己添加了一些衔接代码(plumbing code),或者使用企业服务的队列组件(Queued Components)特性。

WCF具有统一性、互操作性、安全与可信赖性以及兼容性等优势。WCF完全可以看作是ASMX、WSE、.Net Remoting、企业服务和MSMQ等技术的并集,它整合了这五种技术的丰富特性。利用WCF,就可以解决包括安全、可信赖、互操作、跨平台通信等需求。

3.怎样去学WCF? 

     “学以致用”,如果仅仅是希望能够在项目中合理地应用WCF,那么对于程序员而言,可以有两种选择,一种是“知其然而不知其所以然”,只要掌握了WCF的基础知识,那么对于一般的应用就足够了。要做到这一点就很容易了,微软秉承了一贯的方式,将WCF这门技术优雅地呈现给开发者,封装了复杂的实现逻辑,提供了易于调用的类库和相关的工具,使得开发者能够快速地完成WCF程序的开发。另外一种方式自然就是深度挖掘WCF的内部实现了,这是对WCF专家提出的要求。如果我们要应用WCF实现SOA解决方案,就会遭遇许多WCF的高级应用,如何合理、有效地应用WCF,并根据项目实际情况对WCF进行扩展,就成为了WCF专家必须解决的难题。

          上面是摘自张逸(注:《Programming WCF Services》的翻译)” WCF基础知识问与答”中的一段话,魏刚也提到,其实我们现阶段的目标就是要达到第一种状态“知其然而不知其所以然”,有了目标,我们也就有了方向:

1.熟悉搭建开发WCF程序的环境(Visual Studio 2008 开发工具的熟悉)

2.了解跟WCF相关的一些基本概念,像Web Services、SOA、SOAP等等(仅仅是了解,暂时不需要深入去学习)

3.学习WCF的基础知识,包括Service contract、Data contract、Message contract、Faults、Security、Concurrency Management等等

至于第二种状态“知其然又要知其所以然”,我想这个只有等到我们达到第一种状态的时候再考虑了。

二.WCF Group存在的问题以及解决方法

1.

问题:

未来的接班人(大一新生)不少,但基本都没有什么编程基础

解决方法:

经过激烈的讨论,我们觉得还是让大一的新生先去学好基础(高数、C++等课程),理由是现在就让他们去学习一些应用技术的话,感觉有点揠苗助长的味道,可能会对他们造成以下方面的伤害:

l        首先,在学习应用技术的过程中不仅要花掉他们很多的时间,影响到其它基础课的学习。

l        其次,由于没什么基础,可能要经过很长的一段时间才能收到见效,可能会消磨了他们对软件开发的热情。

l        最后也是最重要的是,误导了他们,使得他们把一些应用技术凌驾于基础知识之上,本末倒置

     2.

问题:

小组中基本没有人以前接触过WCF,甚至很多人都没怎么接触过.NET的开发

解决方法:

鼓励大家多动手,让他们尝试去做.NET和WCF “helloWorld”程序的开发。

 

     3.

问题:

很难找到合适的技术顾问

解决方法:

全民为师、全民开讲。每个星期,我们分配大家去了解不同的东西,任务不会很重,但每个人一定要将自己的那部分任务完成好,然后开会的时候详细的讲给大家听。这种做法有两个好处:

l        调动Group Member的积极性

l        培养内部技术讲师

 

三.结语

    Although the world is full of suffering, it is full also of the overcoming of it.

这是摘自美国作家 海伦·凯勒的名言,无论是我们WCF Group的开展过程中还是我们每个成员在学习的过程中总是会遇到很多很多困难和挫折,但希望大家都不要放弃,无论是由于什么原因。我相信我们WCF Group会越来越好,我们的成员也能够学得想学的东西的。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载