.NET Framework Overview - .NET at JKUdotnet.jku.at/buch/CD-DE/DotNetDays/Webfiles/DNRK/N…  ·...

56
.NET Framework Overview

Transcript of .NET Framework Overview - .NET at JKUdotnet.jku.at/buch/CD-DE/DotNetDays/Webfiles/DNRK/N…  ·...

.NET Framework Overview

2 .NET Framework Overview

Objectives and Contents

ObjectivesThis module covers basic concepts and principles of .NET and an overview of the .NET Framework.

What You Will Learn Looking Back .NET Framework Overview Summary Q&A

.NET Framework Overview 3

Section 1: Looking Back

Section 1: Looking BackIn this section we cover:

Challenges for the development organization. Challenges for the corporate customer. Applications and services.

4 .NET Framework Overview

Section 1: Looking Back

Challenges for the Development OrganizationDevelopmentThe developer and/or development organization have historically attacked the production of a solution by first asking, “What is the target platform?” The answer may be one of several possibilities: Microsoft Windows® 95, Windows 98, Windows Millennium Edition, Windows NT®, or Windows 2000; the Apple Macintosh; UNIX (any given flavor); or even a Web browser. With the answer in hand, the development team chooses a language or tool—sometimes the choice of target and development platform is the same! Often the decision is based not on what is best to create the solution but on what is available for the target platform. As you may have experienced for yourself, once you choose the platform and development begins, there is little hope for changing the platform decision at a later date.Delivery

The traditional delivery method for software solutions is predominantly via CD or even floppy disk. Although it is true that electronic delivery of software solutions is an option today, the current means of doing so has drawbacks.

The CD and floppy disk methods require the delivery of a physical medium to the customer. What is wrong with that? To begin with, it costs both the producer and consumer money in several obvious ways: the medium itself, creation of the deliverable, packaging, postage or personal delivery, and so on.

The electronic delivery method is superior in that there are no costs involved in the packaging of the deliverable.

.NET Framework Overview 5

There are no CDs to burn and no CD packaging to design and print, no physical distribution is involved, and printed manuals are optional. However, the process of ordering and downloading software with today’s Internet-based systems requires user intervention, as well as vigilance against malicious code.

StabilityIf you are a computer user, you have certainly experienced DLL compatibility issues, known colloquially as “DLL Hell.” This often happens when the vendor’s software requires certain functionality normally found in a component shipped with the operating system (OS), known as a dynamic-link library (DLL), but the available functionality is not exactly what is required. The current system and development models require the vendor to solve the problem by creating a customized version, which it ships with the software. During installation, the vendor’s version replaces the original DLL.

The problem is that previously installed, running software may not work with the newly installed version. This “bug,” which can be quite an event to fix if the operating system is the software that gets broken, happens all too frequently. Unfortunately, a good solution to this problem, using today’s systems and shared by both developers and consumers, does not exist. DLL compatibility issues also exist outside of the OS area.

MaintenanceMaintenance has proven itself the Achilles’ heel of software, often requiring significant updates to the existing version. Given the current development, production, and delivery methods, a maintenance update to a software solution often requires that nearly an entire version be delivered to the customer. As you may well know, maintenance also reintroduces all the aforementioned headaches.

6 .NET Framework Overview

Section 1: Looking Back

Challenges for the Corporate CustomerDeploymentToday the corporate customer, or more specifically the network administration team, must manually install any software that is required. Doing this requires testing of new software to ensure security and stability, personnel to perform the installations, and license management to ensure compliance.

Stability and security Deployment of software on a corporate network poses a security and stability risk:

From where does the software come? Is it stable? Will its installation create an inadvertent or intentional

breach of security? Will the installation destabilize the system or other

applications?

The answers to these questions are often arrived at through testing, testing, testing, and more testing, which has a high resource cost.

MaintenanceMaintenance is one of the greatest frustrations of corporations. The information technology team spends the time and resources required to properly test and deploy software only to perform the same lengthy and costly process again when another version or service update becomes available!

.NET Framework Overview 7

Section 1: Looking Back

Application and ServicesApplications as the serviceYou are probably aware that today’s software services mostly come in the form of applications, usually running on a Windows desktop or server. .NET and the .NET Framework are intended to introduce an alternative possibility: software solutions as services.

You will be able to develop, install, and use desktop-based solutions that are a combination of today’s application solutions coupled with Web-based services— solution parts that are delivered on demand to the application via the Web. Another form of services will be that of the 100% pure Web service: the application delivered at any time, anywhere, to any device!

Today’s Internet “services” Today’s Internet services are mostly sheep in wolves’ clothing: they appear to be more than they are. What they are, mostly, are portals that offer you services that you cannot use anywhere else. This means typing and retyping the same contact information and personal information in each site. The landscape is beginning to change, as “intermediary” solutions have sprung up, such as Microsoft Passport, but the model does not lend itself easily to the logical, desired goal.

Another big strike against today’s Internet solutions is that they are mostly device dependent. Most Web sites assume that you are accessing the Internet via a personal computer with some minimum screen resolution, 800 by 600 pixels for example. Many sites are even designed for a specific browser version, such as Internet Explorer 5, but few sites are designed with your personal digital assistant (PDA) in mind.

8 .NET Framework Overview

.NET Framework Overview 9

Section 2: .NET Framework Overview

Section 2: .NET Framework OverviewIn this section you will learn about:

.NET Migration paths—from anywhere to .NET The key benefits of .NET

Once each of these topics is covered, you will have the “big picture” of .NET and the .NET Framework. With this, you will undoubtedly see the advantages of .NET and the .NET Framework over the current inadequate development models and delivery infrastructures.

10 .NET Framework Overview

Section 2: .NET Framework Overview

What is .NET?It is the combination of:

.NET Framework Web Services .NET Enterprise Servers

The .NET Framework, as you will learn, comprises three different elements:

The common language runtime Class libraries, organized into easily comprehensible

namespaces ASP.NET

Together, the components of .NET deliver “the means to build the Web the way you want it!”

.NET Framework Overview 11

Section 2: .NET Framework Overview

.NET and the .NET FrameworkThis diagram shows you the “big picture.” You can see that .NET comprises many interrelated components, as you may view each of the parts. This diagram does not precisely show the architecture but instead shows the “interaction” between components. For instance, the .NET Framework partially contains the runtime but, as you will soon see, the truth is that architecturally the runtime is fully contained within the Framework. The Framework consists of runtime, libraries, and services.

12 .NET Framework Overview

Section 2: .NET Framework Overview

.NET FrameworkYou now know that the .NET Framework is composed of: the common language runtime, class libraries, and ASP.NET.

Mentally you may separate the Framework into two parts: the Base Framework and the Framework.

The Base Framework is composed of the common language runtime and the Base Classes. You will learn more about the common language runtime later, but, in brief, it is the component responsible for running your .NET solutions.

The rest of the Framework:

Provides for general input/output (I/O) including file access, XML support, and services.

Exposes Web technology and services from HTTP to HTML.

Provides user interface (UI) elements for building Web pages and/or traditional Windows Forms–based UIs.

Exposes ASP.NET and many other services.

Altogether, the .NET Framework provides the functionality and services you need to build any desktop application or Web service solution you can imagine!

Let us now journey deeper—into the .NET Framework.

.NET Framework Overview 13

Section 2: .NET Framework Overview

Common Language RuntimeHighlightsDespite its name, the common language runtime actually has a role in a component’s development time as well as the run-time experience.

At run time, the common language runtime is responsible for managing memory, starting up and stopping threads and processes, and enforcing security policies, as well as satisfying any dependencies that one component may have on any other component.

Runtimes are nothing new for programming languages—virtually every programming language has one. The Microsoft Visual Basic® development system has a runtime (the aptly named VBRUN), Microsoft Visual C++® has one (MSVCRT), as does Microsoft Visual FoxPro®, JScript®, Smalltalk, Perl, Python, and Java and Tcl/Tk. The critical role of the .NET Framework—and what really sets it apart—is that it provides a unified environment across all programming languages.

Some additional features of the runtime A common type system that provides a programming

language–independent concept of data types, enabling more than a dozen programming languages (at last count) to share data and code on the .NET platform.

A just-in-time (JIT) compiler that translates the Microsoft intermediate language (MSIL) code and optimizes it for a specific target machine. With .NET, code always executes natively on the system processor.

A garbage collector automates memory management, as you will later learn.

14 .NET Framework Overview

The runtime provides extensive security based on policies and permissions that allow the dynamic creation of sandboxed execution environments for dynamically downloaded, mistrusted code. On the other hand, it will grant full access to trusted code.

The runtime has its own exception-handling model that is integrated with the exception model of the underlying operating system and the exception features of the respective programming languages. This enables you to use a consistent exception model across the entire .NET platform.

The runtime also encapsulates and exposes the threading model of the underlying operating system to .NET applications in an object-oriented way. This makes it easy to write applications that take full advantage of the OS features.

Lastly, the runtime provides profiling support for diagnostics, debugging, and optimizing.

.NET Framework Overview 15

Section 2: .NET Framework Overview

Common Language Runtime DiagramIn this diagram, you can see an overview of the features of the runtime that you learned about, plus a few more!

16 .NET Framework Overview

Section 2: .NET Framework Overview

More .NET FrameworkNamespaces and Classes Namespaces are used to organize the Framework classes. A namespace uses a “dot syntax” notation to logically group related classes together.

When classes are organized this way, it is easy to understand the purpose a namespace serves and, thus, what class functionality it will contain.

For example, System.Web.Services clearly conveys that the classes will provide a service for some kind of Web-oriented functionality. Likewise, it is easy to conclude that System.Web.UI might (and in fact does) contain HTML controls.

In addition to logically grouping classes in easily decipherable, unified classes, namespaces are extensible—you can derive your own namespace from an existing one. For example, System.Web.UI.XyzCorp could be derived from System.Web.UI and provide custom UI elements.

The Framework namespaces provide the “system,” or base functionality, and services needed to build and run your solutions.

It is worth noting that in the .NET Framework, everything is an object, and the .NET system uses exactly the same classes it exposes to you!

Interfaces Interfaces define a set of functionalities that a class can implement. You may think of interfaces as the published guarantee of the services that a producer provides—a contract for services. The consumer, perhaps your

.NET Framework Overview 17

application, can query for the published contract of services and then use them.

Thus, interfaces serve as semantically grouped contracts between parties.

TypesEverything in the Framework is an object, including the basic types: Byte, Sbyte, Single, Double, String, Int16, Int32, Int64, and so on.

All types map to the common type system, which specifies how object types are defined. It also acts as a “common type denominator” between different languages.

18 .NET Framework Overview

Section 2: .NET Framework Overview

.NET Unifies Different Programming ModelsAs you might well have imagined by now, .NET and the Framework are designed with a focus on improving the existing development environments and solutions. It certainly achieves this through its unification of the different programming models.

This “unification” empowers you to create solutions that utilize the advantages of a particular programming model and to accomplish this through one consistent API and without language restriction. In other words, you can create a solution modeled on Visual Basic Forms or ASP using a single, unified framework—the .NET Framework—and your language of choice. The ability to do this minimizes the learning curve and simplifies development.

.NET Framework Overview 19

Section 2: .NET Framework Overview

ServicesThe .NET Framework offers a variety of different types of services to you.

.NET and COM+ ServicesIt exposes COM/COM+ functionality to you through the Microsoft.ComServices namespace, enabling you to easily use existing COM-based components and applications. In addition, it facilitates the migration of your existing solutions to the .NET platform.

Although ASP.NET is not specifically the topic of this module, it is part of the Framework and “resides” in the System.Web.Services namespace. Here you will find the WebService class that provides access to the ASP.NET objects and services. Two .NET services worth mentioning are the session and user management, which are accessed from the WebService properties Session and User, respectively. These are examples of the .NET services available.

Building Block ServicesBuilding block services are Web Services. The distinction between the terms is a fine one. You may think of building block services as the supplies to build Web Services. In today’s COM/COM+ development world, they are analogous to COM components. In contrast, you may think of building block services as commercial Web services. We will later delve into Web Services.

Enterprise Servers—more on this later!Built upon the .NET and COM+ services, the Enterprise Servers provide many features and standard functionality that you may use to enhance your applications.

20 .NET Framework Overview

The servers you can expect to see in this space are: Microsoft SQL Server™ 2000, Microsoft Exchange 2000 Server, Microsoft BizTalk® Server 2000, Microsoft Host Integration Server 2000, Microsoft Internet Security and Acceleration Server 2000, Microsoft Application Center 2000, Microsoft Commerce Server 2000, Microsoft Mobile Information 2001 Server, and the Microsoft SharePoint™ Portal Server 2001.

You will learn more about each one later. For now, simply understand that in combination these servers provide management, data delivery, data analysis, and other services.

.NET Framework Overview 21

Section 2: .NET Framework Overview

Web ServicesWhat does “service” mean to you?You have heard a bit about Web Services at this point, but the question remains: What does “service” mean to you?

The “hint”: Think service industry.

Today’s economies are “service oriented,” and the exact type of “service” we are talking about is that of “non-physical” deliverable like information, analysis, processing, storage, security, identity, and so on.

This brings us to the questions:

What are Web Services? What is the business case? How does .NET make them possible?

22 .NET Framework Overview

Section 2: .NET Framework Overview

What Are Web Services?Any service you can think of!Web Services are software solutions delivered via Internet to any device. Today, that means Web browsers on computers, for the most part, but the device-agnostic design of .NET will eliminate this limitation.

Some potential or planned Web ServicesSome potential Web Services are the yellow pages, a dictionary, or an encyclopedia. An example of a planned Web Service is Microsoft Passport.NET. Today we have some of these “services,” but only as portal solutions. There are three limitations:

It’s hard to charge for the service. The service cannot be accessed from any and every

Web site as you browse the Web. You cannot access it with any device, online or offline

—this goes back to device dependencies.

With .NET you will be able to produce and offer Web Services that are deliverable to any device and are portable—you will be able to take the service with you across Web sites.

To understand Web Services, let us take an example. Imagine a Personal Information Management (PIM) Web Service offering calendar and contact features similar to those of Microsoft Outlook®. You are right if you say this exists today on many Web sites, but you also know that each site has its own solution that does not let you share your information with any other site!

.NET Framework Overview 23

Think: “Access Anywhere”Now imagine that you can access the solution from any device—PC browser, Macintosh browser, PalmPilot, Pocket PC, or some future device.

Furthermore, imagine that this Web Service is accessible to you no matter what Web site you are visiting.

Now, that is service!

To learn more about Web Services in depth, look at the “Web Services .NET Readiness” module.

24 .NET Framework Overview

Section 2: .NET Framework Overview

How Does .NET Make Web Services Possible?Now that you know the “what” an introduction to the “how” is appropriate.

.NET is built on the idea of Web ServicesThe entire Web Services idea permeates .NET from concept to architecture.

.NET is built not only with the Internet in mind; it is built on the Internet.

Framework classes are the vehicleThe Framework offers a variety of “Web” classes that provide Web-based and Web Service features and functionality. A few of the namespaces of interest are:

System.Web System.Web.Services System.Web.Services.Description System.Web.Services.Discovery System.Web.Services.Protocols System.Web.Security

Communication through open standardsThe fact that it is built on open, Internet-based standards makes the .NET Framework extensible and enables it to easily communicate with other Web- and non-Web-based solutions.

The predominant standards that .NET employs to make Web Services possible are:

Extensible Markup Language (XML) Simple Object Access Protocol (SOAP)

.NET Framework Overview 25

Hypertext Transfer Protocol (HTTP)

XML, a text-based language much like the ubiquitous HTML, defines rules for creating custom HTML-like tags that describe themselves and the data they contain (metadata).

.NET also employs a newer XML standard formerly known as the Service Description Language (SDL), and now known as Web Services Description Language (WSDL). As the name implies, WSDL is a language designed for describing your Web Service. It is used to create or generate an .sdl file that other services use to determine the functionalities your Web Service offers and how to use them.

SOAP is used as the basic wire format for communicating between objects and solutions. Very much like Remote Procedure Calls (RPC) in functionality, SOAP uses XML to describe its contents. Again, XML makes it simple, humanly interpretable, open, and extensible.

.NET takes advantage of the new Universal Description, Discovery, and Integration (UDDI) specification that is aimed at creating Web Service registries. This will enable companies to register information about their Web Service solutions so that others can find them.

For more information on UDDI, visit http://uddi.microsoft.com or read the white paper http://uddi.microsoft.com/developer/tech_white_paper.doc

Another piece of the puzzle that completes the Web Service picture is HTTP. Used extensively in the Framework itself, .NET also exposes this open communication protocol for you to do with, as you like.

26 .NET Framework Overview

Section 2: .NET Framework Overview

What Is the Business Case?If you are looking at the .NET Framework from the corporate earnings standpoint you may wonder, “What is the business case for it?” Let us explore some cash flow possibilities.

Charge for currently “free” features and functionalitiesIf you have an existing solution, chock-full of features that you built using COM/COM+ or some other technology, you are probably selling it as a desktop application. This means you have to account for the physical delivery mechanism, customer cost of adoption, target platform, and so on. The possibilities of capitalizing on your existing solution are limited…but with .NET things change.

You could develop a Web Service that integrates with your existing solution and deliver it via the Web.

You could write a Web Service that offers a particular feature or a subset of functionality of your solution as a service. For example, you could make just your word processor’s custom Swahili dictionary available via the Web.

Surely, your brain is starting to buzz with the ideas!

Offer different pricing modelsYou ask, “But how does offering new or existing software solutions as Web Services make money?”

The beauty is that this is really up to you. You could offer one of a limitless number of pricing models:

Pay-per-view (or use)—that dictionary, for instance Multiple subscription models—light, normal, and

advanced solution versions

.NET Framework Overview 27

Rental or leasing of your solution—rent a word processor

Create an opportunity from “untapped” functionalityThere may even be a market for those custom COM components that you may have built to solve a problem when building your larger solution—outside of the COM world!

Publish your custom COM component as a pay service Think: “Access Anywhere” = “Opportunity Everywhere”

28 .NET Framework Overview

Section 2: .NET Framework Overview

Orchestration (1/2)What is “orchestration”?Orchestration allows the creation of solutions through integration of disparate services and applications, multiple data streams, and data formats into information-driven workflow diagrams.

What are its benefits?With orchestration you have a flexible tool at hand that allows you to integrate existing enterprise infrastructure and systems easily with .NET-based solutions.

Faced with a steadily accelerating rate of change in inter-company document and data interchange, the ability to integrate systems and share information is increasingly difficult. Using orchestration, however, companies can more easily integrate all their processing resources across platforms and direct the workflow driven data—without the complexity of manual programming.

Business analysts and developers can use an easy-to-understand, graphical language to design XLANG schedule drawings (henceforth referred to as orchestration diagrams) collaboratively. This allows for a rapid reaction to changing business needs, such as the integration of new partners or acquired firms, because all parties speak the same language.

How do we do it?Orchestration is one of the core features of Microsoft BizTalk Server 2000, one of the most important members of the .NET Enterprise Server family.

.NET Framework Overview 29

Section 2: .NET Framework Overview

Orchestration (2/2)Using orchestration, you can tie all of your IT resources easily into a single workflow. Once defined, orchestration diagrams become components that you can use from any .NET application or from other orchestration diagrams.

Orchestration models can communicate with mainframe systems through components that bridge to Microsoft Host Integration Server 2000, can integrate enterprise resource planning (ERP) systems such as SAP R/3 through BizTalk Messaging, or just easily leverage your available array of COM+ business components.

30 .NET Framework Overview

Section 2: .NET Framework Overview

.NET Enterprise ServersThis section presents the .NET Enterprise Servers and their core features on the following slides.

.NET Framework Overview 31

Section 2: .NET Framework Overview

BizTalk Server 2000Microsoft BizTalk Server 2000 is the integration server of the .NET platform. It unifies the different standards of information exchange and enables corporations to tie all processing resources into orchestrated workflows.

OrchestrationBizTalk orchestration links different platforms, applications, and services into workflow diagrams that can be collaboratively designed by business analysts and developers, providing rapid reaction times for Enterprise Application Integration (EAI) tasks.

Messaging—use of open standardsThe BizTalk messaging engine is built entirely on the XML standard and allows the safe exchange of XML information between applications and services within an organization or with any external partners.

BizTalk native support for established standards like ANSI X12 and UN/EDIFACT opens the world of electronic data interchange (EDI) to developers on the Windows platform, enabling them to communicate directly and seamlessly with their EDI-enabled partners.

The transport protocols supported by BizTalk include HTTP, HTTPS, Simple Mail Transfer Protocol (SMTP) and Flat File transfers as well as transport protocols layered on those such as the SOAP protocol, which is supported through special envelopes.

The BizTalk architecture is entirely open and can be extended with custom parsers and serializers for any data format. It allows integrating any type of application through custom transport protocols and application integration components.

32 .NET Framework Overview

Section 2: .NET Framework Overview

SQL Server 2000Reliability and scalabilityBuilt on groundbreaking SQL Server 7.0 technology, Microsoft SQL Server 2000 continues to be the world’s fastest relational database system according to TPC-C benchmarks.

Its reliability, scalability, and ease of deployment and administration have become industry benchmarks.

Data warehousingAnalysis Services (formerly OLAP Services) offers businesses integrated OLAP and data-mining capabilities. OLAP can be used to perform rapid, sophisticated analysis on large and complex data sets using multidimensional storage. Data-mining functionality can be used to reveal patterns and trends otherwise hidden in large amounts of data, allowing organizations to derive maximum value from their data. By efficiently analyzing existing data, this functionality can be used to make predictions about future trends.

The improved capabilities of the English Query feature allow the provision of natural language ad hoc query processing for end-users.

E-commerceWith the XML-enabled relational database engine in SQL Server 2000, XML data can be stored in relational tables and queries can return results in XML format. Moreover, XML support simplifies back-end system integration and allows seamless data transfer, even across firewalls. SQL Server 2000 can also be accessed using HTTP, allowing secure Web connections to your SQL Server 2000

.NET Framework Overview 33

databases and OLAP decision support services with no additional programming.

34 .NET Framework Overview

Section 2: .NET Framework Overview

Exchange 2000 Server Messaging and collaborationMicrosoft Exchange 2000 Server was created to take full advantage of the capabilities of Windows 2000 and is fully integrated with Active Directory™ Services. Exchange 2000 is the first application to offer unified management of all messaging, collaboration, and network capabilities and resources. The result is enhanced reliability, significantly improved performance, and the scalability required to meet the changing needs of your enterprise.

Web storage and native XML supportWith the Microsoft Web Storage System at its core, Exchange 2000 serves as the single place to create, store, access, and share all of the knowledge your company possesses. Built-in support for Web-standard protocols, including XML, HTTP, and Web Distributed Authoring and Versioning (WebDAV), also makes Exchange 2000 the ideal hosting platform for a new generation of applications automating many essential day-to-day business tasks.

Users and developers can add a limitless set of properties to all items stored in the Web Storage System that can automatically index all content in the repository, making high-speed and highly accurate full-text searches possible. The repository integrates with OLE DB and ADO.NET directly for easy application integration.

.NET Framework Overview 35

Section 2: .NET Framework Overview

Integration, Security, and AccelerationHost Integration Server 2000With Microsoft Host Integration Server, you seamlessly connect the worlds of legacy host systems with client/server and Web networks. It features Web-deployable 3270 and 5250 clients, direct Message Queuing (also known as MSMQ) integration with IBM MQSeries, security integration, and support for distributed transactions enlisting IBM customer interface control system (CICS) and information management system (IMS) as well as Microsoft COM+ resources.

Internet Security and Acceleration Server 2000Microsoft Internet Security and Acceleration (ISA) Server 2000 provides secure, fast, and manageable Internet connectivity. It builds on Microsoft Windows 2000 security and directory for policy-based security, acceleration, and management of internetworking.

The product includes an extensible, multi layer enterprise firewall featuring security with packet-, circuit-, and application-level traffic screening, stateful inspection, broad application support, integrated virtual private networking (VPN), system hardening, integrated intrusion detection, smart application filters, transparency for all clients, advanced authentication, secure server publishing, and more.

36 .NET Framework Overview

Section 2: .NET Framework Overview

Applications, Services, and CommerceApplication Center 2000Microsoft Application Center 2000 empowers both developers and administrators to deploy and operate applications while minimizing the in-depth application knowledge requirements. This in turn reduces the complexity and cost of operating a scalable, high-availability application. Software scaling (scaling out) increases the capacity of an application by adding servers. While hardware scaling (scaling up) requires expensive, specialized servers, software scaling can be achieved using standard off-the-shelf servers.

Commerce Server 2000Microsoft Commerce Server 2000 is designed for building tailored, effective e-commerce solutions. By providing the application framework, together with sophisticated feedback mechanisms and analytical capabilities, Commerce Server allows you to quickly develop sites that optimize the customer experience, encouraging repeat business and forging tighter partner relationships.

Mobile Information 2001 Server Microsoft Mobile Information 2001 Server Enterprise Edition is the platform for extending the reach of Microsoft .NET enterprise applications, enterprise data, and intranet content into the realm of the mobile user. It brings the power of the corporate intranet to the latest generation of mobile devices, so users can securely access their e-mail, contacts, calendar, tasks, or any intranet line-of-business application in real time wherever they happen to be.

.NET Framework Overview 37

SharePoint Portal Server 2001Microsoft SharePoint™ Portal Server 2001 is the flexible portal solution of the .NET Enterprise Server family that lets you find, share, and publish information easily. SharePoint Portal Server 2001 delivers an intranet portal, search, and document management solution that enables you to use existing information effectively, and to begin capturing new information in ways that make sense for your business. This includes advanced document management features, such as coordinated locking, versioning, and publishing.

38 .NET Framework Overview

Section 2: .NET Framework Overview

.NET and the .NET Enterprise ServersThe .NET Enterprise Servers are designed to provide additional features and functionality to your .NET solution. The overview diagram illustrates this.

.NET Framework Overview 39

Section 2: .NET Framework Overview

Migration Paths—from Anywhere to .NETWhat isn’t migration?Migration is not: Porting an existing solution to a new platform.

What is migration?Migration is: Creating a bridge to current or future technology.

Migration is: Integrating legacy solutions into new solutions.

.NET facilitates migration

.NET facilitates migration using the readily available, well understood, open standards we have mentioned: XML, SOAP, and HTTP.

COM/COM+ support, as you learned, further facilitates your ability to migrate solutions.

ASP.NET widens the migration road by providing extensive support for existing ASP-based Web sites and solutions. With no-to-minimal effort you can immediately use solutions based on ASP, the most widely used Web-programming model for delivering dynamic Web content to the client. For an in-depth look at ASP.NET and its support for ASP, see the ASP.NET module.

40 .NET Framework Overview

Section 2: .NET Framework Overview

Key Benefits of .NET (1/3)Ease of UseAs you learned, .NET and the .NET Framework are overflowing with features, offering functionality, ease of use, and production capabilities not available today.

We have already learned that in the .NET Framework everything is an object, and that coupled with the layout of the namespaces, the .NET Framework is easier to use than the existing, competing frameworks or class libraries. Ease of use increases productivity.

Freedom to ChooseCertainly, the ability to choose any of the several existing popular languages currently available to the .NET platform makes developing .NET-based solutions more practical, cost efficient, and, dare we say, pleasant! You can choose the language that meets your needs and the tool you know best. Currently, most development languages are tied to a tool and class libraries are tied to the target platform, perhaps to the tool, and certainly to the language. The common type system and common language runtime empower .NET to break this restrictive chain.

.NET is freedom of choice!

.NET Framework Overview 41

Section 2: .NET Framework Overview

Key Benefits of .NET (2/3)StabilityWe learned that the common language runtime’s garbage collector manages memory. How does this improve stability? By automating memory management, it eliminates one of the most common sources of system failures (and of development headaches)—the memory leak. The garbage collector also dramatically simplifies the development process by relieving the developer from the need to manually track memory use.

Not only can you wave “goodbye” to the memory leak, but to DLL compatibility issues as well! In .NET, solutions are packaged and delivered in an assembly. In a nutshell, assemblies are a box into which the software vendor dumps all his components. It is a self-contained, self-documented deployment model that is restricted from interfering with other programs or assemblies. While one assembly can use components or services of another, it cannot replace anything that is not in its own box. Additionally, because the Framework exposes system functionality through its System namespaces and enables you to derive your own specialized version from any other namespace, overwriting operating system–critical libraries is impossible!

SecurityYou may agree that software security is the bane of today. .NET addresses this on two fronts. First, the delegation of memory handling to the garbage collector defends against the illegal memory reference. This makes it virtually impossible for malignant code to reference memory that it does not own.

42 .NET Framework Overview

Second, the .NET Framework offers a comprehensive security model enforced by the runtime. There are two primary security types: code access and role based.

Code-access security is stored with the assembly (that is, within the solution), which is specified by the developer. While the runtime is responsible for verifying security at run time, it does not mean that the developer is guaranteed to receive the requested code rights; the system administrator sets the policies against which any given permission requests are validated.

Role-based security builds on the same permission model but is based on the user and the user’s role or roles in the system. In other words, role-based security is related to user identity.

.NET Framework Overview 43

Section 2: .NET Framework Overview

Key Benefits of .NET (3/3)Deployment and ManagementYou have already learned that solutions are assembled and run securely using the assembly and the common language runtime.

The assembly also makes version maintenance easier for both the development organization and corporate customer: .NET permits “side-by-side” deployment of versions, and versions are self-contained, making updates, service fixes, and upgrades more manageable.

Unified Experience.NET is designed using open standards to facilitate integration of disparate .NET solutions and provides functionality to integrate non-.NET technology and solutions such as COM/COM+. You also learned that there is one single .NET Framework and the same classes used to build the .NET platform are also available to you!

Web ServicesWeb Services provide both a means to produce and consume disparate service solutions and do so using different pricing models.

The Web the Way You Want ItAnywhere, anytime, and on any device

.

44 .NET Framework Overview

Section 3: Summary

SummaryThe .NET Framework provides the means to:

Deliver solutions anywhere, anytime, and on any device.

Orchestrate existing distinct solutions into new ones. Migrate legacy solutions. Develop using the tools and languages of choice. Utilize existing and planned .NET Enterprise Servers. Create open solutions on open standards. Better develop, deliver, and maintain solutions. Produce secure, stable, and manageable solutions. Create and use Web Services. Produce extensible solutions.

.NET Framework Overview 45

Legal Notices

Unpublished work. © 2001 Microsoft Corporation. All rights reserved.

Microsoft, Active Directory, BizTalk, JScript, Outlook, SharePoint, Visual Basic, Visual C++, Visual FoxPro, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.