Hello Indigo
Windows Communication Foundation (WCF),formerly code-named “Indigo,” is Microsoft’s platform for Service-Oriented Architecture (SOA),designed for building distributed service-oriented applications for the enterprise and the web.
WCF was released with Windows Vista as part of the .NET Framework 3.0 (.NET 3.0) which includes four core technologies:
Windows Presentation Foundation (WPF),Windows Workflow Foundation (WF),Windows Communication Foundation (WCF),and Windows CardSpace.
As Figure 1-1 illustrates,.NET 3.0 relies on the .NET Framework 2.0 (.NET 2.0) and is supported on Windows XP,Windows Vista,Windows Server 2003, and Windows Server 2008 platforms.
Figure 1-1 Platform support for WCF
Why release yet another technology for building distributed applications? Unlike its predecessors,WCF is a truly service-oriented,loosely coupled,and interoperable platform.
It simplifies service-oriented system design by removing the design dependencies that traditionally exist between how you access business functionality and the actual implementation of that business functionality.
WCF promotes loose coupling not only between services and the functionality they expose,but also for choice of protocol,message encoding formats,and hosting environment.
For example,services can be accessed over a variety of supported protocols,including named pipes,TCP,HTTP,and MSMQ.
WCF also supports all of the core and emerging web service standards,which makes it a highly interoperable platform.
Messages can always be represented in a format consistent with a set of well-adopted standards to communicate with other platforms.
Besides these modern characteristics,what’s even more interesting is that you can now choose a single communication stack to gain access to the system services necessary to build a distributed system.
WCF unifies the disparate programming paradigms you have previously used on the Windows platform to achieve similar goals—namely .NET Remoting,ASP.NET Web Services (ASMX),and Enterprise Services.
WCF provides all of the plumbing for security,transactions,and reliable messaging over any protocol.
Only Enterprise Services came close to providing all of these features in a single stack,but your component design was coupled to the technology and limited to TCP communication (thus, not interoperable).
This chapter will be your introduction to the programming model of WCF.
I’ll start by reviewing the principles of a Service Oriented Architecture and how WCF supports those principles.
I’ll also describe some practical deployment scenarios for WCF in distributed enterprise systems and
then summarize some of the fundamental WCF concepts that will be discussed first in this chapter and then elaborated on throughout this book.
After introducing core WCF concepts,I’ll walk you through labs that exercise certain techniques and features.
Instead of boring you with a bunch of “Hello World”examples,I plan to kick things up just a notch in this introductory chapter by enforcing good practices from the start while I teach you core concepts.
Each of the labs you complete in this chapter will become successively more complex,and each will expose a new layer of detail.
After each lab I will explain the relevant techniques and features you applied,discuss their relevance,and comment on recommended practices.
The labs in this chapter will cover the following topics:
• Manually creating and consuming WCF services without the help of Visual Studio templates and related tools. This will provide you with a picture of the bare necessities you need to create,host,and consume a WCF service so that you
understand the underlying programming model.
• Creating WCF services using various Visual Studio project and service templates, leveraging configuration tools, and generating code to consume services.
• Approaches to assembly allocation and service hosting over various protocols.
• The importance of service metadata for publishing and consuming services.
By the end of this chapter you will be familiar with many core concepts including service contracts,endpoints,bindings,behaviors,hosting,metadata,channels,and proxies.
Of course,throughout this book,the same concepts as well as additional ones will be discussed at length as you dive more deeply into specific WCF features.
Hello Indigo的更多相关文章
- eclipse Juno Indigo Helios Galileo 版本
Galileo Ganymede Europa 这些名字代表eclipse不同的版本 2001年11月7日 ,Eclipse 1.0发布 半年之后,2002年6月27日Eclipse进入了2.0时代 ...
- eclipse Juno Indigo Helios Galileo这几种版本的意思
Eclipse 3.1 版本代号 IO [木卫1,伊奥] Eclipse 3.2, 30-06-2006, Callisto projects, 版本代号 Callisto [木卫四,卡里斯托 ] ...
- Ubuntu14.04安装和配置ROS Indigo(一)
安装ROS 配置Ubuntu的软件源 配置Ubuntu要求允许接受restricted.universe和multiverse的软件源,可以根据下面的链接配置: https://help.ubuntu ...
- ubuntu14.04 and ros indigo install kinect driver--16
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 今日多次测设ros indigo install kinect driver ,提示各种失败,然 ...
- INDIGO STUDIO神器!快速创建WEB、移动应用的交互原型工具【转】
转自:http://www.uisdc.com/indigo-studio-wireframe-interactive-uis 这套最新的设计工具出自Indigo工作室,永久免费,有mac版本和WIN ...
- eclipse Juno Indigo Helios Galileo这几种版本的意思(转)
Galileo Ganymede Europa 这些名字代表eclipse不同的版本 2001年11月7日 ,Eclipse 1.0发布 半年之后,2002年6月27日Eclipse进入了2.0 ...
- ROS Indigo在ubuntu1404上的安装方法
安装配置方法参照 http://wiki.ros.org/indigo/Installation/Ubuntu 以下操作需要保证虚拟机能够正常连接网络. 1.更换源镜像: 将源设置为国内源,我选择的 ...
- 奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示
Orbbec Astra Pro传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示 这款摄像头使用uvc输入彩色信息,需要libuvc和libuvc_ros这样才能在R ...
- ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明
ROS(indigo) 安装和使用更新版本的Gazebo,本文以7为例. Gazebo7支持更多新的功能,如果使用下面命令安装ROS(indigo): ~$ sudo apt-get install ...
随机推荐
- C--指针函数,static
(*p)是固定写法,代表指针的变量P将来是指向函数 void (*p)(); p=test;//指针变量P指向了test函数 函数名test代表函数地址 //同等调用test()函数 (*p)(); ...
- WTL 中CComboBoxEx显示不了的问题
在使用WTL的CComboBoxEx时,InsertItem之后,运行程序,ComboBox显不了问题,其原因如下: I guess you want to place combo box to di ...
- 12个有趣的C语言问答(详解)
本文参照博文<12个有趣的C语言问答>,在原文的基础上增加来对应的知识点的详细介绍. 1 gets()方法 Q:下面的代码有一个被隐藏的问题,你能找到它吗? #include <st ...
- jsoup 对网页中图片解析
Elements article = new Elements(); Elements Img = new Elements(); article = doc.select("div#con ...
- jquery垂直公告滚动实现代码
公告滚动想必大家都有见到过吧,实现方法也有很多,下面为大家介绍使用jquery实现垂直公告滚动,感兴趣的朋友不要错过 复制代码代码如下: <!DOCTYPE html PUBLIC " ...
- JVM 优化问题
jvm 优化问题 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...
- PHPCMS如何实现后台访问限制?
修改phpcms 后台管理路径,可以有效的防止因为程序漏洞,或者是服务器安全问题所带来的 phpcms系统管理权限被黑客获取 文件路径:/caches/config/system.php 修改:'ad ...
- 构造SEH来实现跳转-转载
下面的代码出自CSDN Delphi版的一高人(kiboisme 蓝色光芒) procedure ExceptProc{ExceptionRecord,SEH,Context,DispatcherCo ...
- poj 2342 Anniversary party 树形DP入门
题目链接:http://poj.org/problem?id=2342 题意:一家公司有1 <= N <= 6 000个职工,现要组织一些职工参加晚会,要求每个职工和其顶头上司不能同时参加 ...
- Memcache的部署和使用
一.memcache简介 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. Mem ...