When was .net introduced




















Note - ASP. NET includes a number of things to help developers create Web applications. Given the popularity of Web applications, ASP. NET probably impacts more developers than any other part of the. Chapter 5 provides more detail on this key component of the.

NET lets applications work with stored data. NET Framework data provider, written as managed code. They allow a client application to issue commands against the DBMS and examine any results those commands return. Applications that need only read the result a row at a time can do this by using a DataReader object to march through the result one record at a time. Applications that need to do more complex things with a query result, such as send it to a browser, update information, or store that information on disk, can instead have the query's result packaged inside a DataSet object.

As Figure illustrates, a DataSet can contain one or more tables. Each table can hold the result of a different query, so a single DataSet might potentially contain the results of two or more queries, perhaps from different DBMS. In effect, a DataSet acts as an in-memory cache for data. NET Framework data provider.

NET allows accessing it directly. While not all. NET for data access, a large percentage surely will. NET is described in more detail in Chapter 6. Running the. NET Framework - The. NET Framework is meant to be the foundation for most Windows applications going forward. Given that it was released many years after these versions of Windows, this shouldn't be surprising.

NET Framework also supports an option called side-by-side execution. This allows simultaneous execution of not just multiple versions of the same application, but also multiple versions of the.

NET Framework itself. For example, a single machine might have both version 1. This lets organizations move forward with new versions of the. NET Framework without touching existing applications that run on earlier releases. Building Distributed Applications Creating software that communicates with other software is a standard part of modern application development. Yet different applications have different communication requirements.

To meet these diverse needs, the. NET Framework class library includes three distinct technologies for creating distributed applications. Figure illustrates these choices. Services, allows applications to communicate using Web services. Since it's part of ASP. NET, this technology lets developers use a similar model for creating distributed software. As Figure shows, applications that expose methods as Web services can be built from files with the extension. Clients make requests using the standard Web services protocol SOAP 2 , and the correct page is loaded and executed.

Because this technology is part of ASP. Communication via Web services is especially useful for interoperating with software built on platforms other than the. NET Framework, such as the Java environment. But it's not always the right solution. In some situations, the technology known as. NET Remoting, defined in the System. Remoting namespace, is a better choice. Unlike ASP. NET Web Services,. NET Remoting focuses on direct communication between applications built on the.

While it does support a version of SOAP, this technology also provides a binary protocol along with the ability to add extensions using any other protocol a developer needs. NET Remoting isn't the most common choice for communication, but it can be important for some kinds of applications.

Note -. NET Remoting focuses on communication between. NET Framework-based applications. NET Framework are compiled to a processor-independent form-MSIL-and shield themselves from the vagaries of a specific operating system by writing to the.

This is much like the Java world, where applications are compiled to bytecode and can rely on standard Java libraries rather than making direct calls to a specific operating system. Java was expressly designed to work on multiple processors and operating systems.

Is the same thing true for. To some extent, the answer is clearly yes. Theoretically, the. NET Framework could become a cross-platform solution on a wide range of systems. Yet some technical issues remain. While MSIL is clearly platform independent, some parts of the.

NET Framework class library just as clearly are not. Other parts of the class library also betray their Windows origins in more or less obvious ways.

Just as important, Microsoft would face challenges in making customers believe that it's serious about long-term support of the. NET Framework on non-Windows systems. The company's laser-like focus on its own operating systems has been a hallmark of its business, as well as a primary factor in its success. If Microsoft wished to make the. NET Framework a true multiplatform rival for Java, the technical potential is there.

But so far, at least,. NET is fundamentally a Windows technology. In fact, today's most visible non-Windows implementation of.

NET, the Mono project, hasn't attracted much commercial attention. Some enterprises looking to build. NET applications had hoped that Mono would provide them with a safe, non-Microsoft alternative should they need one.

In practice, though, this option hasn't been appealing to many organizations. Like it or not, the great majority of people who build software on the. NET Framework should expect to run that code on some version of Windows.

The third option for creating distributed applications using the. Defined in the System. EnterpriseServices namespace, it provides applications with services such as distributed transactions and more.

Figure illustrates this, showing a server application accessing two databases. If a single transaction included updates to both of these databases, Enterprise Services might well be the right choice for the application that used this transaction.

NET application to use Enterprise Services when necessary. All three options make sense in different situations, and having a basic understanding of all three is useful. For a more detailed look at each of them, see Chapter 7. Visual Studio is by far the most popular tool for creating. NET applications today. The current version, Visual Studio , is the successor to Visual Studio.

NET, which was itself the first version of this tool to support creating managed code. Both tools provide a very large set of services for developers, including all of the bells and whistles of a modern IDE.

Figure shows how Visual Studio looks to the creator of a simple. NET Framework application. Different windows show different aspects of the project, including the code itself and, in the lower right corner, any properties that may have been set.

If you've never used a modern software development tool, don't be fooled by this very basic picture: Visual Studio is actually a complex and powerful IDE, one that's used by millions of developers today. Visual Studio is actually a family of products, each aimed at a particular kind of developer. This family includes Visual Studio Express Edition, aimed at beginning developers and hobbyists, Visual Studio Standard Edition, aimed at more serious developers, and Visual Studio Professional Edition, intended for hard-core software professionals building scalable distributed applications.

Another important member of this family, one that's described in a bit more detail later in this chapter, is Visual Studio Team System, which provides a set of interrelated tools specialized for various roles in a development group.

This new version of Microsoft's flagship development tool also adds several other interesting new features, including the following:. As already described, several different programming languages can be used to create. The version of the tool also adds support for using domain-specific languages DSLs , an idea that's described later in this chapter.

The main focus of Visual Studio, however, is helping developers create applications using general purpose CLR-based programming languages, and so the next section takes a brief look at this area. Perspective: The Fate of Pre-. NET Framework without at least some modification. This is a problem for the many organizations that have invested in these applications. But just how big a problem is it?

The answer depends on what kind of application we're talking about and what kind of organization is responsible for it. For example, think about a VB6 application built by a typical enterprise that solves a specific business problem. Installing the. NET Framework on the same machine that runs this app won't break the application, and since these older apps will happily run on newer versions of Windows, there's no requirement to change.

If the application still meets the business need effectively, why invest the time and resources to rewrite it using. True, the rewritten app would likely be better in some technical ways, but the benefits to its users-the people who ultimately pay for it-aren't likely to be large enough to justify the cost. But suppose this VB6 application needs to be modified in some way. It's always possible to just keep on using an older version of Visual Studio, one that unlike Visual Studio supports VB6.

But Microsoft's support for these older development environments is fading away, and many organizations feel uncomfortable relying on unsupported tools. In this case, the application may need to be rewritten solely to avoid this fate. What about applications written by independent software vendors ISV? For example, many ISVs including Microsoft have a large investment in applications written using pre-.

Perhaps the hardest problem is that faced by ISVs or enterprises with a substantial investment in a VB6 application that still has many years of use ahead of it. An application like this is likely to need substantial change over time, yet creating new functionality in VB6 means freezing ever more work into a legacy technology.

One option is to create new code in the. NET version of VB, then connect these additions to what already exists. To make this possible, the CLR has built-in support that allows managed code to call existing DLLs, access and be accessed by COM objects, and interoperate in other ways with the previous generation of Windows software. The big challenge here is the problem just mentioned: Versions of Visual Studio that support VB6 are falling out of support although the VB runtime itself is still supported.

In this case, it might be worth the investment to rebuild the entire application on. NET, especially if significant new functionality can be added at the same time. Yet another challenge of transitioning to a wholly new development environment is the cost of retraining developers. In the long run, avoiding the. NET Framework isn't possible for Windows-oriented organizations, so ponying up the cash for developer education is unavoidable.

It's not cheap, and time will be lost as developers come up to speed on this new technology. NET Framework really is substantially better than its predecessors, however, so most organizations are likely to see productivity gains once developers have internalized this new environment.

Yet while the way those languages behave often has a good deal in common, a developer can still choose the language that feels most natural to her. All of these languages use at least some of the services provided by the CLR, and some expose virtually everything the CLR has to offer. Instead, every application is compiled into MSIL and so requires the. NET Framework to execute.

F is a programming language that makes it easy to write succinct, robust, and performant code. Visual Basic is an approachable language with a simple syntax for building type-safe, object-oriented apps. NET Languages. NET is a cross-platform. NET Framework supports websites, services, desktop apps, and more on Windows. NET implementation for running apps on all the major mobile operating systems. One consistent API. Libraries To extend functionality, Microsoft and others maintain a healthy package ecosystem built on.

Application models You can build many types of apps with. Desktop Create beautiful and compelling desktop apps for Windows and macOS. Microservices Create independently deployable microservices that run on Docker containers. Cloud Consume existing cloud services, or create and deploy your own.

Machine Learning Add vision algorithms, speech processing, predictive models, and more to your apps. Game Development Develop 2D and 3D games for the most popular desktops, phones, and consoles. The remaining Non-Microsoft Languages are supported by.

NET Framework but not designed and developed by Microsoft. NET VB. NET J. NET F. NET Framework. It is the run-time environment in the. NET Framework that runs the codes and helps in making the development process easier by providing various services such as remoting, thread management, type-safety, memory management, robustness, etc.. Basically, it is responsible for managing the execution of.

NET programs regardless of any. NET programming language. Defense Department to consider ways information could still be disseminated even after a nuclear attack. In response to this, other networks were created to provide information sharing. January 1, is considered the official birthday of the Internet. Prior to this, the various computer networks did not have a standard way to communicate with each other.



0コメント

  • 1000 / 1000