Core development technology of. NET Architecture

Source: Internet
Author: User

It is undeniable that the development of application software is going through a huge change, which will ultimately increase the productivity of developers and open the door to an application with a new concept.

The new development model is gradually being promoted. The transformation of the distribution software into a service requires the joint efforts of all developers, but the Internet will completely change the development model and configuration of the application.

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 applications.

Today, developers are largely free from the limitations of this model and are committed to building a complex n-layer system, this system can integrate a large number of applications across the network and greatly increase the value of applications. In this way, developers can focus on the unique commercial value of software, instead of having to worry about how to build the basic structure day and night. The exciting situation will emerge: The time for putting software on the market is greatly shortened, the programming efficiency of developers is significantly improved, and the most fundamental thing is to develop high-quality software.

We are entering the next stage of computer development-the Internet-based stage, especially the XML extension markup language based on the core Internet technology. Although multi-tier application development focuses on building large enterprise applications, XML now allows you to create large applications that can be used by anyone, anywhere. It expands the application scope. In this way, software is not something that can only be installed on a CD, but a service-like a call service or a pay-as-you-go TV, which can be reserved through communication media.

All of this is achieved by combining closely connected and efficient n-layer computing technology with message-oriented, loosely connected Web concepts. We call this computing style Web Service. Its appearance marks 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 visually display functions on the Internet and on the enterprise intranet.

We can also regard Web services as Web component programming.

Theoretically, developers integrate Web services into their applications by calling Web application programming interfaces (APIS), just like calling local services. The difference between the two lies in that the former can be sent to a remote system service over the Internet. For example, services such as Microsoft Passport can provide developers with the application identity confirmation function. By programming the Passport Service, developers can use the basic system of the Passport Service to maintain the user database, ensure that the service is enabled and running, and back up correctly.

  ■ Loose connection

The concept of distributed application logic across networks is not a new term, but the concept of distributed application logic across Web and integrated application logic is.

Previously, for example, Microsoft's DCOM (Distributed Component Object Model), the Common Object Request Broker Architecture of Object Management Group, and Sun's RMI (Remote Method Invocation) these distributed object models are called distributed application logic. Using these system structures, even though the service is deployed on a remote system, developers can maintain and enrich the functions of applications as originally programmed locally.

However, this system cannot be extended to the Internet. Because the foundation of this system is the close connection between the client and the server on the server. This means that the two must be homogeneous basic systems, but it often means that such systems are very fragile. If any interface at one end changes, the other end of the program will be interrupted. For example, if the interface of the server application changes, the client will also become invalid.

There is no error in the development that requires a closely connected system, and many applications have been built on these systems. But in the end, this model will not expand over time. Because many companies and enterprises require mutual communication, it is difficult to ensure a unified system, and it is also difficult to ensure that your customer's server will have the exactly consistent system you need, you cannot even guess what operating system it uses, what object model and what programming language it uses.

On the contrary, Web service connections are very loose. This means that you can change the interface at any end of the connection, and the application can work as usual without being affected. Technically, this is mainly because of the use of message-based Asynchronous technologies with stable performance, such as HTTP, SMTP, and other Web standard protocols. And most importantly, XML can help achieve its versatility.

As an ambitious plan, the path to. NET is still long. In the future development, whether IT is rugged or bright, Microsoft will be indispensable in promoting new technologies and the IT industry.

The message system packs the basic communication unit into a self-described package (called a message) that is used in the network communication layer ). The key difference between a message system and a distributed object system is how much the sender needs to know about the recipient's system. When using a Distributed Object System, the sender needs to help the receiver consider many issues, such as how the application will activate and uninstall and what interfaces are called.

On the other hand, the messaging system has reached an agreement on the communication layer. The sender only needs to consider that the receiver can know that the information is being sent. The sender does not need to know how the message will be processed once it is received, nor does it need to take any consideration between the sender and the receiver.

The advantage of reaching an agreement on the communication layer is obvious. For example, a protocol allows the receiver to modify the message at any time without interrupting the sender, as long as the Protocol always understands that the message is the same. The receiver can upgrade and improve without interrupting any current application. Furthermore, the sender can talk to the receiver without requiring any special software. As long as the sender sends formatted Information, the receiver can make a response.

  ■ XML communication basis: SOAP

The key to building a Web service that spans the Web and an asynchronous system is to use a unified data description format, which is XML. Specifically, the Web server requires XML in three aspects: Basic Language, service description, and service discovery.

● SOAP: The system must have a unified language at the underlying layer. In particular, applications need to establish a set of rules for inter-communication to demonstrate how different data types (such as integers and arrays) are represented ), how to represent commands (such as data processing ). At the same time, the application can expand the language as needed. Simple Object Access Protocol (SOAP) is an implementation of XML. It represents a set of rules for expressing and expanding data and commands.

● WDSL (Web Services Description Language): Once an application has basic rules on how to express data and commands, they need to describe specific data and commands that can be received. It is not enough for applications to declare how integers are received. They must declare them in a clear way. For example, you can multiply two integers. WDSL is an XML syntax. Developers and development tools can use it to express the functions of Web Services.

● SOAP Discovery: At last, a set of rules are required to locate the service description-where developers and development tools can find a Web service. The SOAP Discovery specification provides a set of rules for developers and development tools to automatically discover Web service descriptions.

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

  ■. NET Framework: Web service engine

Obviously, many basic structures need to make the above process transparent to developers and users .. The. NET Framework provides this basic structure. From the perspective of the. NET Framework, all components can be Web Services, and Web services are only one component. Actually ,. the NET Framework extracts the essence of the Microsoft Component Object Model (COM) and organically combines them with the essence of loosely connected computing to generate a powerful and efficient Web component system: it simplifies the programmer's "Pipeline" operations, deeply integrates security, and introduces an internet-based operating system to greatly improve the reliability and scalability of applications.

The. NET Framework consists of three main parts: the general Language Runtime Library, a unified hierarchical class library, and an advanced ASP version called ASP +.

Many things related to. NET are impressive, especially Microsoft's willingness to use the Internet as the main technology platform for the future, and its welcome to public standards in some aspects.

. NET does influence everyone's guesses ......

1. General Language Runtime Library

In addition to the literal meaning of the general Language Runtime library, it also plays another role in the development stage and runtime. When a component is running, the Runtime Library is responsible for managing memory allocation, starting and stopping threads and processes, enhancing the security factor, and adjusting the attachment configurations of other components involved in the component. In the development phase, the role of the runtime database changes slightly: because many aspects can be automatically implemented (such as memory management ). Running libraries can make the development process very simple, especially compared with today's COM programming. In particular, features such as Reflection can greatly reduce the amount of code that developers have to write when converting business logic into a reusable component.

The Runtime Library is not new to programming languages. In fact, each programming language already contains a Runtime Library. The Visual Basic development system has the most obvious Runtime Library (the formal name is VBRUN), and Visual C ++ also has a MSVCRT. In addition, such as Visual FoxPro, Jscript, SmallTalk, Perl, Python, and Java .. The key role of the NET framework is that it provides a unified environment across all programming languages.

2. unified programming

The. NET Framework class provides developers with a set of extensible class libraries that can be used in a unified object-oriented, asynchronous, and hierarchical manner. Currently, C ++ users use Microsoft Foundation Classes, Java programmers use Windows Foundation Classes, and Visual Basic users use Visual Basic APIs. Microsoft uses the. NET Framework to unify these different frameworks. As a result, developers do not have to learn multiple frameworks to complete their work. Moreover, by creating a set of universal APIs for cross-programming languages, the. NET Framework can implement cross-language inheritance, error correction, and program debugging. In fact, all programming languages from JScript to C ++ are equivalent to each other for. Net frameworks. developers can freely choose any language they want to use.

. NET is a brand new platform that will affect all existing code. Gates said: "All Microsoft products will be involved.

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.