Core development technology of. Net Architecture

Source: Internet
Author: User
[Author: Jin Zhili posted from: China Software network]

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. Our entire strategy is centered around this platform ."

3. ASP +

ASP + is built using a class library provided by the. NET Framework. It provides a web application model consisting of a group 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 various common small components (such as text boxes and drop-down menus) used in the HTML user interface ). In fact, these controls run on the Web server. They convert the user interface into HTML format and then send it to the browser. On the server, the control is responsible for presenting the object-oriented programming model to Web developers. This programming model can provide rich functions of object-oriented programming technology. ASP + also provides some basic structure services (such as session State management and process loops), which further reduce the amount of code that developers need to write, and greatly improve the application reliability. ASP + also allows developers to transmit software as a service. By using ASP + web service functions, ASP + developers only need to perform simple business logic programming, and the basic structure of ASP + is responsible for transmitting services through soap.

Although ASP + has not yet been officially released, it has created an incredible miracle in improving application functions: performance has been optimized by three times based on the existing ASP-based application performance, even more exciting is the rise in production efficiency.

■ Core part of the. NET Framework
The. NET Framework has several elements worth mentioning. The first is its security system and Configuration System. These two systems work together to effectively curb the possibility of running Insecure code and greatly reduce the challenges faced by the so-called "DLL hell" When configuring applications.

A security system is a highly refined, fact-based system that gives developers and administrators a variety of code processing permissions (not just "on" or "Off "). In the future, the above permissions will be implemented based on the core elements of the code.

For example, when a. NET Framework application is downloaded to a system, it applies for a set of permissions (such as write permissions for temporary directories ). The runtime collects factual information about the application (for example, where it is downloaded, whether a valid signature is used, or even the accuracy of its access to the system ), and decide whether to allow the application to run according to the management policy. At runtime, you can even tell the application that it cannot grant all the permissions applied for, and allow the application to decide whether to continue running.

With this security system, many application configuration problems can be solved. One of the greatest challenges developers and administrators (end users) face is version management. If everything is paralyzed after you install a new application, and the system has been running very well before that, the biggest possibility is that the newly installed application overwrites some shared libraries and is very likely to correct the program errors that are being used by the existing application. This situation occurs frequently, so that people call it "DLL hell ".

The. NET Framework has several advanced functions to completely eliminate the "DLL hell" phenomenon. First, it has a very powerful internal naming system, which can effectively prevent the two databases from being mistakenly identified as the other database because of their duplicate names. In addition, it provides a new feature called "side by side" configuration. If the newly installed application in the repository does overwrite the shared library, the existing application can fix the library. When an existing application is started again, it checks all the shared files. If the file is changed and these changes are incompatible, it can request the runtime to extract a version that it can use. Thanks to a powerful security system, you can perform this operation securely during runtime, so that the application can complete its own repair work.

■ Editor's note
People are always fond of posting statements such as "The Internet has changed everything. Similarly, when talking about the impact of the Internet on humanity, we can't help but use advertisement-style exaggerated words to express our respect for the Internet. However, the Internet has indeed completely changed the application development mode and configuration method. The evolution of distribution software into a service is still waiting for the joint efforts of people. XML is an important means to realize this dream .. Net Framework is the core content of Microsoft's developer strategy. It aims to help developers easily build, configure, and run Web Services.

In short, the first beneficiaries of. net will be our developers .. Net still has a long way to go. In the future development, whether it is rugged or bright, Microsoft is indispensable in promoting new technologies and the IT industry.

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.