Differences between WCF, WebService, WPF, and Silverlight

Source: Internet
Author: User
Tags msmq

Differences between WCF, WebService, WPF, and Silverlight

In Windows Service call Quartz.net to Implement Message scheduling, ASP. NET Web Service

// WebServiceSoapClient client = new WebServiceSoapClient (new BasicHttpBinding (), new EndpointAddress (URL ));
// Client. Shake ();

The effect is always not very good, so Google queries it. This article is a usual accumulation.

I. ASP. NET Web Service

Web Service: strictly speaking, it is an industry standard, that is, the Web Service Specification, also known as the WS-* specification. It is neither a framework nor a technology.

It has a set of standardized system standards, and is continuously updated and improved. It uses XML extension markup language to represent data (this is the key to the exaggerated language and platform ).

Microsoft's Web Service implementation is called ASP. NET Web Service. It uses the Simple Object Access Protocol Soap to implement data interaction between applications in a distributed environment. Description of the service interface. In addition, Web services can be registered to the UDDI Center for customers to find and use. Later, Microsoft implemented ASP. NET Web Service Security, performance, data encryption, decryption, hosting host and other aspects of the extension, called the WSE series, this is an over-product, up to WSE3.0. later is the WCF era.

Ii. WCF

WCF: a distributed application development framework, which belongs to a specific technology or platform. It is neither a standard nor a standard.

To some extent, WCF is ASP. NET Web Service, because it supports the industry standard and Core Protocol of Web Service, ASP. NET Web Service and WSE can do almost all the things they can do. cross-platform and language are not a problem (data also supports XML formatting and provides their own formatter ). However, as a communication component or platform promoted by Microsoft, WCF aims not only to support and integrate Web Services, because it is also compatible with and has many features of Microsoft's early technology.

According to Microsoft's official explanation, WCF (formerly called "Indigo") is a unified framework for building and running Service-Oriented applications using managed code. It enables developers to build a secure, trusted, and transactional solution across platforms, and to be compatible with existing systems.

WCF is a set of developers for Microsoft Distributed Application Development. It integrates. net platform, such as Enterprise Sevices (COM + ). net Remoting, Web Service (ASMX), WSE3.0, and MSMQ message queues. In terms of the scope of communication (Communiation), it can be cross-process, cross-machine, cross-subnet, enterprise network, or Internet; in terms of host programs, it can be ASP. NET, EXE, WPF, Windows Forms, NT Service, COM + as the Host (Host ). The protocols supported by WCF include TCP, HTTP, cross-process, and custom. Security modes include SAML, Kerberos, X509, user/password, and custom. That is to say, it is easy to develop a SOA-based Distributed System under the WCF framework. Microsoft includes all the technical elements related to this, and has mastered the concept, it is equivalent to mastering the key to open the SOA door.

WCF can establish a secure, trusted, and transactional solution across platforms. It is a collection of WebService,. Net Remoting, Enterprise Service, WSE, and MSMQ. The classic comparison figure is as follows:

Comparison between WCF and other distributed Technologies

  

Iii. WPF, Silverlight, and WinForm

In Windows, functions such as form drawing are implemented by GDI and placed in the operating system kernel. Windows Forms uses GDI + at the underlying layer. GDI + is the "Object-Oriented packaging" of GDI, which is implemented in C ++.

. The GDI + used in the NET Windows Forms Application is actually another layer of the unmanaged code implemented in C ++, so that we can use a hosting programming language such as C # To call the GDI + function drawing. The underlying layer of WPF is DirectX, which is usually used for game development. WPF has nothing to do with Windows Forms. According to Microsoft's intention, WPF is used to replace Windows Form, so the latest Visual Studio uses the WPF development interface, which is a clear signal. Of course, for compatibility purposes, Windows Forms and WPF will coexist for a long time and can be viewed as two sets of independent interface technologies. Silverlight can be seen as a subset of WPF at the API layer, but in fact, Silverlight and WPF have no connection except this. Because the Silverlight application does not depend on. NET Framework, as long as the user's computer (or mobile machine) has installed the Silverlight runtime environment (for example, the user adds the Silverlight plug-in to the browser through the Internet), you can run the Silverlight application, users are not required to install large.. NET Framework. The Silverlight runtime environment can also be viewed as a standard at the API level.. NET Framework, but it is completely rewritten and independent from the standard. to facilitate application development, Microsoft strives to maintain API-level consistency between the two, but does not rule out that the Silverlight runtime environment will have a new one in the future. is not available in the standard environment. Windows Forms, WPF, and Silverlight are actually three independent technical fields, but for the convenience of development, Microsoft, it is intended to make Silverlight and WPF highly consistent in the application-level development experience (or even most of the application-layer code. From the perspective of development, Windows Forms has a long history and is highly mature. It has a large number of third-party controls and other resources. If you develop Windows applications of the "standard" and "general" interface types, using it can achieve high development efficiency and good running performance. The strength of WPF is that it can develop very "personalized" Windows applications, and you can implement various user interfaces that you can "dream" without any restrictions, besides, in animation and other multimedia aspects, WPF is better than Windows Forms. Besides, WPF's data binding mechanism is more powerful and flexible than Windows Forms. The shortcoming of WPF is that it has high requirements on computer hardware. For computers with low hardware configurations, its running performance is inferior to that of Windows Forms. For now, Windows 7 is the best platform for WPF. Windows Forms and WPF are mainly used to develop desktop applications. Silverlight is mainly used to develop Internet applications for RIA, or applications running on smart mobile devices such as mobile phones. In this case, WPF can be used to develop a Silverlight application without too much effort. The two are too similar, especially for interface-Layer Code because both use XAML, this makes it easier for us to develop "desktop edition", "mobile edition", and "browser edition" for an application at the same time, the user interfaces of these three versions have the same appearance and user experience. Here's a reference to bitfan blog (http://blog.csdn.net/bitfan/article/details/6128391)
Relationship between silverlight, wcf, and wpf

Reference birdbrother's answer

Supplement:
Silverlight usually interacts with wcf, which is also a data-layer interaction, which is the main way for data communication between silverilght applications.

Wcf can publish services as windows Services and tcp services. Therefore, there are many interactions with wpf, such as Microsoft's msmq, and device interaction.

What is the future of WCF and WPF? Is the company mostly engaged in WPF or WCF? Analyze the current market

There is no comparability between different things. WPF is the display Layer Technology and UI Layer. While WCF is the communication framework for developing distributed programs, the functions of the two are completely different. In general, the application of WCF is wider, and the system scale reaches a certain level. distributed is an inevitable solution, and WCF is the best choice for Distributed Systems on the. net platform. From the difficulty level, WCF is more difficult to master than WPF. It is definitely not something that beginners can use easily by reading a few books. It requires a lot of practical programming experience to control it. Let's start from the basics and from simple projects.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.