. NET architecture core development technology
God http://www.shenwang.com/ 2001-01-19 China Software Network
It is undeniable that the development of application software is experiencing a giant change - will eventually enhance the productive forces of developers and open a gate to the new concept.
The new development model is gradually being promoted, and the distribution software has evolved into a service and needs to work together with all developers, but the Internet will thoroughly change the development model and configuration of the application.
Traditionally, software developers develop applications by integrating local system services. This model enables developers to have the right to use a wide range of developments to accurately control the performance of the application.
Today, developers have a large extent of this model, which is committed to constructing N-layer systems with complex structures, which integrates many applications in the network and greatly enhances the application. The value of the program. In this way, developers can focus on excavating software unique business value, without having to build basic structural injuries in day and night. Available in the extensive situation: the time of the software launch market is greatly shortened, the programming efficiency of developers is significantly improved, and the most fundamentally developed software.
We are entering the next stage of computer development - based on Internet-based stages, especially based on Internet core technology --XML expansion markings. Although multi-layer application development focuses focus on building large enterprise applications, now XML is now able to create large applications available for anyone, any place. It expands the scope of use of the application. In this way, software is not only a thing that can only be installed from the CD, but a service - just like a call service or a billboard, it can be booked through a communication medium.
All of this is achieved by combining the tightly coupled, efficient N-layer computing technology with the message-oriented, loosely coupled web concept. We refer to this computing style as a Web Service (Web service), which marks a new era of human beings that have entered the application development technology. Web services are an application that uses standard Internet protocols, like hypertext transport protocols (HTTPs), and XML, which reflects the programming of the Internet and intranet.
We can also treat web services as component programming on the Web.
In theory, developers integrate web services into their applications by calling the Web Application Programming Interface (API), just like calling local services. The difference between the former can be sent to a remote system via the Internet. For example, services like Microsoft Passports can provide developers with application identity confirmation. By programming the passport service, developers can use the infrastructure of passport services to implement the maintenance user database, the confident service on, and run, and correctly backed up.
■ Loose connection
The concept of distributed application logic across the network is not a new name, but the concept of distribution and integrated application logic across the Web is.
Previously, like Microsoft's DCOM (Distributed Component Object Model), Object Management Group's CORBA (Common Object Request Broker Architecture), and SUN's RMI (Remote Method Invocation) distributed object models are called distributed application logic. With these system structures, while services are placed on remote systems, developers can still maintain and enrich the application of the application as originally programmed.
But the problem with this system cannot be extended to the Internet. Because the basis of this system is the close connection between the client and the server on the server. This means that both must be homogeneous, but often means that this system is very fragile. If there is any end interface, the other end program will inevitably be interrupted. For example, if the interface of the server application changes, the client will also be invalid. It is required to have a closely coupled system in development, and many applications have always been built on these systems. But ultimately, this model will not expand over time. Because many company companies require mutual communication, it is difficult to guarantee that there is a unified system, and it is also difficult to guarantee that your client's server will have the exact system you need, you can even guess it. What operating system, what object model and what programming language.
Instead, the connection of web services is very loose. This is the meaning you can change the interface any of the ends of the join, and the application can work unusually as usual. As a result, this is mainly due to the use of messaging-based asynchronous techniques with stable performance, such as WEB standard protocols such as HTTP, SMTP. And most importantly, XML can help achieve its versatility.
As a magnificent plan, .NET's road is still very long. In the future, whether it is rugged and bumpy or a bright, in the promotion of new technologies and IT industries, Microsoft is not possible.
The message system packed the basic unit of the communication to the network communication layer (called a message). The key difference between the message system and the distributed object system is that the sender needs to know how much to the recipient's system. Using a distributed object system, the sender needs to help the recipient consider many problems, such as how the application will activate and uninstall, what interfaces are called, and so on.
On the other hand, the message system reaches an agreement on the communication layer. The sender only needs to consider that the recipient can know that the information is being sent. The sender does not need to know how to handle once the message is received, and does not require any consideration between the sender and the recipient.
The advantage of reaching an agreement on the communication layer is obvious. For example, the protocol can make the recipient to modify without interrupt sender, as long as the protocol is always apparent to the same message. The recipient does not have any current application to freely upgrade and improve. Furthermore, the sender does not require any special software to talk to the recipient, as long as he sends a format, the receiver can make a response.
■ Communication foundation for XML: SOAP
The key to constructing a web service of the web service and the key system is to use a unified data description format, which is XML. In particular, the web server requires XML in three aspects: basic language, service description, and service discovery.
● SOAP: The system needs to have a unified language in the underlying, in particular, the application needs to establish a set of rules to explain how to represent different data types (such as integers and arrays), how to represent commands (such as data processing). At the same time, the application can expand this language when needed. Simple object access protocol SOAP (Simple Object Access Protocol), this is an implementation of XML, which represents a set of rule sets that represent and expand data and commands.
● WDSL (Web Services Description Language): Once the application has the basic rules of how to express data and commands, they need to describe specific data and commands that can be received. The application only declares how to receive an integer is not enough, they must declare with a clear method. If you give you two integers, multiply them. WDSL is an XML syntax, developers and development tools to use it to represent web services.
● SOAP Discovery: Finally, a set of rules is required to locate the service's description - where developers and development tools can discover a web service. The SOAP Discovery specification provides a set of rules to make developers and development tools to automatically discover a description of Web services. Once these are ready, developers can easily discover the web service, integrate it into their applications as an object, and make applications and web services communicate with each other.
■ .NET Framework: Web Service Engine
Obviously, many basic structures need to implement the above process to transparency of developers and users. The .NET Framework (.NET Framework) provides this basic structure. From the .NET framework perspective, all components can be a web service, and the web service is only one component. In fact, the .NET framework extracts the essence of the Microsoft Component Object Model (COM), combining them with the essence of loose coupling calculation, has a powerful, efficient Web component system: simplifying programmers "pipe" operation , In-depth integration of safety, introducing the Internet-based operating system, greatly improving the reliability and scalability of the application.
The .NET framework consists of three main parts: a universal language runtime, a hierarchical unified class library and a high-level ASP version called ASP .
Many things related to .NET are impressive, especially Microsoft's full conveyance of the Internet as the first hospital for future main technical platforms, and in certain aspects of public standards.
.NET does affect everyone's guess ...
1. Universal Language Runture
In addition to the literal meaning of the general language runtime, it also plays another role during the development phase and the run. At the component run, the runtime is responsible for managing memory allocation, launch, and aborting threads and processes, strengthening the safety factor, and adjusting any parts of other components involved in any component. In the development phase, the role of the running library changes slightly: because many aspects can be automatically implemented (eg, memory management, etc.). Runners can make the development process very simple, especially compared to today's COM programming. It is particularly typically that characteristics such as Reflection can greatly reduce the number of codes that developers convert business logic into a reusable component and have to write.
Renar is not fresh for programming languages. In fact, each programming language already contains a runtime. The Visual Basic development system has the most obvious running library (regular names VBRUN), Visual C also has a MSVCRT, in addition, all like Visual FoxPro, JScript, SmallTalk, Perl, Python, and Java, 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 class
The .NET Framework class provides developers with a set of unified object-oriented, asynchronous, hierarchical scalable libraries. Now, C users use Microsoft Foundation Classes, Java programmers use Windows Foundation Classes, Visual Basic users using Visual Basic APIs. Microsoft is unified with the .NET framework. As a result, developers don't have to learn from multiple frameworks to complete their work. Moreover, by creating a universal API across programming languages, .NET framework can implement cross-language inheritance, error correction processing, and program debugging. In fact, from JScript to C , all programming languages are comparable to each other, developers can freely select any language they want to use.
.NET is a new platform that will affect existing code. Gates said: "All products in Microsoft will be involved. Our entire strategy is to expand around this platform."
3.asp
ASP is built using the class library provided by the .NET framework, which provides a web application model that consists of a set of controls and a basic structure. With it, the construction of the web application is very easy. Developers can use the ASP control set directly, which encapsulates public, various widgets (such as text boxes, drop-down menu, etc.) for hypertext identification language (HTML) user interfaces. In fact, these controls run on a web server, which transfers the user interface to the HTML format and sends it to the browser. On the server, the control is responsible for rendering object-oriented programming models to web developers, which provides rich features with object-oriented programming technology. ASP also provides some basic structural services (such as session status management and process loops), which further reduces the amount of code to be written by developers, and has greatly improved the application's reliability. ASP also allows developers to transmit software as a service. By using the ASP web service function, ASP developers only need to make simple business logic programming, and the ASP basic structure is responsible for passing the SOAP delivery service. Although the ASP has not yet been issued, it has created an incredible miracle in improving application function: based on the existing ASP-based application performance, performance optimizes three times more, more exciting The production efficiency is again rising.
■ The core part of the .NET framework
There are several elements of the .NET framework worth mentioning. The first is its security system and configuration system. These two systems work together, which have strongly curb the possibility of running unsafe codes, and greatly reduces the challenges faced by the application of "DLL Hell".
The security system is a highly refined, real-based system, which gives developers and administrators to process permissions (not just "on" or "OFF"). In the future, it will also determine how to implement the above permissions according to the core elements of the code itself.
For example, when the .NET Framework application is downloaded to a system, it applies for a set of permissions (such as write permission to the temporary directory). Running the fact information about the application is collected (such as: it is downloaded from the download, whether it uses a valid signature, even it accesses the exact degree of the system), and decides whether the application is allowed to run according to the management policy. When running, the application can also be invited to authorize all permissions for the application and allow the application to decide whether to continue to run.
With this security system, many application configuration issues will be solved. One of the biggest challenges faced by developers and administrators (ultimately users) is the management problem of the version. If everything is fell into a state after you have installed an application, but before this, the system has been working very well, then the biggest possible is a new installed application to renovate some shared libraries, and it is very possible to fix it. Program errors are using existing applications. This situation has high frequencies, so people call it: "DLL Hell".
Several advanced features with the .NET framework can completely eliminate the "DLL Hell" phenomenon. First, it has a very powerful internal nomenclature that effectively prevents the two libraries from being renowned to each other as the other party. In addition, it also provides a new feature called "Side By Side" configuration. If the newly installed application in the previous example does override the shared library, existing applications can fix the library. When an existing application starts again, it checks all shared files. If the discovery file is changed, these changes are not compatible, it can request the run to extract a version it can use. Thanks to the powerful security system, it can be safely executed safely, so that the application completed its own repair work.
■ Editor's language
People always like to express their words, such as "Internet change everything". Similarly, when talking about the influence of the Internet, it is always impossible to use the advertising exaggeration to express the advice on the Internet. However, the Internet has completely changed the development model and configuration of the application. Evolution of distribution software into a service is also waiting for people to work together, XML is an important means of achieving this dream. The .NET framework is the core content of the Microsoft Developer's Strategy, which is designed to help developers easily build, configure, and run web services. In short, .NET's first beneficiary will be our developer. The road of .NET is still very long, the future development is rugged and a bright, in the promotion of new technologies and IT industry, Microsoft is unable to work.