. The core development technology of NET architecture

Source: Internet
Author: User
Tags soap join object model requires web services client
Architecture undeniably, the development of application software is undergoing a great change-ultimately enhancing the productivity of developers and opening the door to an application that leads to new concepts.

New development patterns are being promoted, and the distribution of software into a service has yet to be worked out by all developers, and the Internet will radically change the way applications are developed and configured.

Traditionally, software developers develop applications by integrating local system services. This model gives developers the right to use a rich set of development resources to precisely control the performance of their applications.

Today, developers have largely freed themselves from this pattern and are committed to building N-tier systems with complex structures that integrate numerous applications throughout the network and greatly enhance the value of the application. This allows developers to focus on discovering the unique business value of the software without having to worry about how to build the infrastructure day and night. The joyful situation will come into being: the time that the software puts on the market is shortened greatly, the programmer's programming efficiency is obviously improved, the most fundamental is to develop the quality software.

We are entering the next phase of computer development-an internet-based phase, especially--xml Extensible Markup language based on the core technology of the Internet. While multi-tier application development focuses on building large enterprise applications, XML now enables the creation of large applications that can be used by anyone, anywhere. It expands the scope of application usage. In this way, the software is not something that can only be installed from a CD, but rather a service--like a call service or a billing TV--that can be booked through the communications media.

All this is achieved by combining tightly coupled, highly efficient n-tier computing with a message-oriented, loosely connected web concept. We call this computational style Web service (Web services), and its emergence marks the beginning of a new era in application development technology. A Web service is an application that uses standard Internet protocols, such as Hypertext Transfer Protocol (HTTP) and XML, to be functionally programmatic in the Internet and intranet.

We can also view Web services as component programming on the Web.

In theory, developers integrate Web services into their applications by invoking the Web application Programming Interface (API) as if they were calling a local service. The difference is that the former can be sent over the Internet to a service on a remote system. For example, a service such as Microsoft Passport can provide developers with the ability to identify applications. By programming the Passport Services, developers can use the basic system of Passport services to maintain user databases, ensure that services are turned on and running, and that backups are done properly.

Loose joins

The concept of distributed application logic across the network is not a term, but the concept of distributing and integrating application logic across the Web is.

Previously, like Microsoft's DCOM (Distributed Component object Model), Object Management Group Corporation's CORBA (Common object Request Broker architectu RE), and the Sun's RMI (Remote method invocation), these distributed object models are called Distributed Application logic. Using these system architectures, while the services are placed on remote systems, developers can still maintain and enrich the functionality of the application as they originally did native programming.

However, the problem with this system is that it cannot be extended to the Internet. Because the system is based on the server's client and the close connection of the server. This means that the two must be homogeneous infrastructures, but it often means that the system is very fragile, and if any one end of the interface changes, the other end of the program will inevitably be interrupted. For example, if the interface of the server application changes, the client will also fail.

Development requires a tightly connected system that is not wrong in itself, and many applications have been built on these systems. But in the end, as time goes on, this model does not expand. Because many companies want to communicate with each other, it's hard to guarantee a unified system, and it's also hard to guarantee that your client's server will have exactly the same system you need, and you can't even imagine what operating system, object model, or programming language it's using.

On the contrary, the join of the Web service is very loose. This means that you can arbitrarily change the interface at any end of the join, and the application will work as usual without any impact. Technically, this is mainly due to the use of solid performance of the message based asynchronous technology, such as HTTP, SMTP and other Web standard protocols. And most importantly, XML can help achieve its versatility.

As a grand plan,. NET's road is still very long. The development of the future, whether bumpy or a bright, in the new technology and IT industry, the promotion of Microsoft is not the work.

The messaging system packs the basic unit of communication into a self-describing package (called a message) that is shipped to the network communication layer. The key difference between a messaging system and a distributed object system is how much the sender needs to know about the recipient's system. With a distributed object system, the sender needs to help the receiver consider many issues, such as how the application will activate and uninstall, what interfaces it invokes, and so on.

On the other hand, the messaging system reached an agreement on the communication layer. The sender only needs to consider that the receiver is able to know that the information is being sent. The sender does not need to know what to do with the message once it is received, nor does it need to be considered between the sender and the receiver.

The advantage of reaching agreement on the communication floor is obvious. For example, a protocol can make the receiver modify at any time without interrupting the sender, as long as the agreement is always understood to be the same message. The receiver is free to upgrade and improve without interrupting any current applications. Further, the sender does not require any special software to talk to the receiver, as long as he sends the information in a format that the receiver can respond to.

The communication basics of XML: SOAP

The key to building a working and asynchronous system for Web services across the Web is to use a unified data description format, which is XML. Specifically, the Web server requires XML in three ways: Basic language, service description, and service discovery.

SOAP: The system needs to have a unified language at the bottom, especially when the application communicates with each other to establish a set of rules that show how different data types (such as integers and arrays) are represented, and how to represent commands such as data processing. At the same time, the application can expand the language when it is needed. The Simple Object Access Protocol soap (easy objects Access Protocol) is an implementation of XML that represents a set of rules that represent and augment data and commands.

WDSL (Web Services Description Language): Once an application has the basic rules of how to represent data and commands, they need to describe how specific data and commands can be received. It is not enough for an application simply to declare how to receive integers, they must be declared with a clear method. If you give you two integers, multiply them. WDSL is an XML syntax that developers and development tools can use to represent the functionality of a Web service.

SOAP Discovery: Finally, a set of rules is needed to locate the description of the service-where a Web service can be found for developers and development tools. The SOAP Discovery specification provides a set of rules for developers and development tools to automatically discover Web service descriptions.

Once these are ready, developers can easily discover Web services, integrate them into their applications as an object, and make applications and Web services communicate with each other.

.net framework: Web Service engine

Clearly, many basic structures need to be transparent to developers and users of these processes. NET Framework (. NET Framework) provides this basic structure. From the. NET Framework perspective, all components can be Web services, and Web services are only one component. As a matter of fact. NET Framework extracts the essence of the Microsoft Component Object Model (COM), combining them organically with the essence of loosely coupled computing, generating powerful and efficient Web Component systems: Simplifying the programmer's "pipe" operations, deeply integrating security, and introducing an internet-based operating system, Greatly improve the reliability and scalability of your applications.

. The NET Framework consists of three main components: the common language runtime, a set of hierarchical unified class libraries, and an advanced ASP version called asp+.

About. NET is impressive, especially as Microsoft has fully communicated its endorsement of the Internet as a major technology platform for the future and, in some respects, welcomed the open standards.

. NET really affects everyone's guess ...

1. Common Language runtime

In addition to the literal meaning of the common language runtime, it plays another role during the development phase and during the run. While the component is running, the runtime is responsible for managing memory allocations, starting and aborting threads and processes, hardening the safety factor, and adjusting the attachment configuration of any other components involved in the component. In the development phase, the role of the runtime is slightly different: there are many aspects that can be implemented automatically (such as memory management, etc.). The runtime can make the development process very simple, especially when compared to today's COM programming. Typically, features such as reflection can greatly reduce the amount of code that developers have to write to translate business logic into a reusable component.

The runtime is not something new to the programming language. Virtually every programming language already contains a run-time library. The Visual Basic development system has the most obvious runtime (the regular name is VBRun), and Visual C + + has a msvcrt, in addition, like Visual FoxPro, Jscript, SmallTalk, Perl, This is true of Python and Java, and so on. The key role of the NET Framework is that it provides a unified environment across all programming languages.

2. Unified Programming Class

. NET Framework class provides developers with a unified set of object-oriented, asynchronous, hierarchical, extensible class libraries that can be used. Now, users of C + + use the Visual basic APIs using the Windows Foundation classes,visual Basic user with the Microsoft Foundation Classes,java programmer. Microsoft use. NET Framework unifies these different frameworks. As a result, developers do not have to learn multiple frameworks to do their job. And, by creating a common API for cross programming languages,. NET Framework enables Cross-language inheritance, error correction processing, and program debugging. In fact, all programming languages, from JScript to C + +, are for. NET Frameworks are mutually equivalent, and developers are free to choose any language they want to use.

. NET is a new platform that will have an impact on all existing code. "All of Microsoft's products will be involved," Gates said. Our entire strategy revolves around this platform. ”

3.asp+

Asp+ is used. NET Framework, which provides a Web application model that consists of a set of controls and a basic structure. With it, the construction of Web applications becomes very easy. Developers can directly use the asp+ control set, which encapsulates a common set of widgets for the Hypertext Identification Language (HTML) user interface (such as text boxes, Drop-down menus, and so on). In fact, these controls run on the Web server, which converts the user interface into HTML format before sending it to the browser. On the server, the control is responsible for presenting the Object-oriented programming model to Web developers, which provides the rich functionality of object-oriented programming technology. Asp+ also provides basic infrastructure services, such as session state management and process loops, that further reduce the amount of code that developers want to write and increase the reliability of their applications significantly. The asp+ also allows developers to transfer software as a service. By using the Asp+ Web Services feature, asp+ developers need only simple business logic programming, and the asp+ infrastructure is responsible for delivering services through SOAP.

Although asp+ has not yet been officially released, it has created an incredible miracle in improving application functionality: The performance of existing ASP based application performance is optimized by three times times, and more exciting is productivity climbing again.

The core part of the .net framework

. NET Framework has several elements worth mentioning. The first is its security system and configuration system. The two systems work together to effectively deter the possibility of running unsafe code and drastically reduce the challenges that the so-called DLL Hell faces when configuring applications.

The security system is a highly granular, factual system that gives developers and administrators a variety of code processing rights (not just "on" or "off"). In the future, you will also decide how to implement these permissions based on the core elements of the code itself.

For example, when a. NET Framework application is downloaded to a system, it requests a set of permissions, such as write access to the temporary directory. The runtime collects factual information about the application, such as where it was downloaded, whether it was used with a valid signature, or even how accurate it is to access the system, and determines whether the application is allowed to run by administrative policy. The runtime can even tell the application that it cannot authorize all permissions requested and allow the application to decide whether to continue running.

With this security system, many application configuration problems can be solved. One of the biggest challenges for developers and administrators (and ultimately users) is versioning issues. If everything is paralyzed after you have installed an application, and the system has been running very well before, the biggest possibility is that the newly installed application rewrites some shared libraries and most likely fixes the program errors that are being used by existing applications. This happens so frequently that people call it a "DLL Hell."

. NET Framework has several advanced features that can completely eliminate the "DLL Hell" phenomenon. First, it has a very powerful internal naming system that can effectively prevent two of libraries from being wrongly named for each other. In addition, it provides a new feature called the "Side by side" configuration. If the newly installed application in the precedent does rewrite the shared library, the existing application can fix the library. When an existing application starts again, it checks all shared files. If a file is found to be changed and the changes are incompatible, it can request the runtime to extract a version that it can use. Thanks to a powerful security system, the runtime can safely perform this operation, so the application completes its own repair work.

Editor's language

People always like to be tired of making statements like "the Internet has changed everything." Similarly, when talking about the impact of the Internet on human beings, it is always tempting to use advertising hyperbole to express the admiration of the Internet. However, the Internet does radically change the way applications are developed and configured. Turning the distribution software into a service has yet to be shared, and XML is an important means of achieving this dream. NET Framework is a core component of the Microsoft Developer strategy, designed to help developers easily build, configure, and run Web services.

Anyway. NET's first beneficiaries, will be our developers ... NET of the road is still very long, the future development, whether bumpy or a bright, in the new technology and IT industry, the promotion of Microsoft is not the work.




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.