} What is .NET Framework?
◦ CLR, IL & multiplatform
◦ Multi-language support
◦ Common API
} Enterprise Applications
◦ J2EE – specs and Application Servers
◦ .NET - Windows OS + .NET Servers
◦ Tools to develop (IDE)
◦ Visual Studio.NET
◦ Compare with Java (Netbeans, Eclipse,… etc.)
.NET Framework
What is .NET Framework?
} “Everything” needed to build and deploy “.NET Applications”
} “Everything” - Runtime environment, Classes, API’s, Tools, etc.
} The .NET Framework is required to build and run any .NET application and is available today as a download via Windows Update or directly from the Microsoft .NET Web site
(http://www.microsoft.com/net).
.NET Framework
} A major and important component of .NET Framework is the runtime environment
} What is a runtime environment?
◦ This is what an application sees!
◦ What is an application?
◦ Application is synonymous to Program = set of instructions to do something
} Runtime environment understands the instructions and executes them
CLR
} The runtime environment in .NET Framework is called the Common Language Runtime (CLR)
} A .NET Application is compiled into Intermediate Language (IL), also known as Microsoft Intermediate Language (MSIL) or managed code.
} CLR compiles IL code and executes it.
Why not use OS’s runtime?
} Operating System (OS) provides a runtime environment.
◦ Not standard across different OSs
} Portability!!!
◦ Compile once, run anywhere
.NET Languages
} Multiple languages (syntaxes) are supported in .NET Framework to build .NET Applications
} E.g. C#, Visual Basic.NET etc.
Assembly
} In .NET, applications (multiple classes etc.) are compiled into a single assembly (usually taking the form of EXE or DLL).
} Every assembly contains metadata that describes it, dependencies on other assemblies, and version information
} Assemblies have the ability to make cross-references to other assemblies with information stored in metadata
API
} In .NET Framework provides a comprehensive a standard class library, called .NET Framework Class Library, which assist to develop .NET applications in any .NET language.
Enterprise Applications
} Enterprise Applications require a lot of features including:
◦ security,
◦ messaging,
◦ transactions,
◦ logging,
Etc.
Enterprise Applications: .NET Approach
} No Application Server
} Services/features distributed across various parts of the Operating System
} .NET Framework APIs and services provide many features/services
} In addition to OS, a range of products are available aimed for the enterprise:
} Application Center
} BizTalk Server
} Commerce Server
} Content Management Server
} Exchange Server
} Host Integration Server
} SharePoint Portal Server
} SQL Server
Deploying .NET Applications
Three alternatives exist for deploying a .NET Application:
} Run as a Windows Service
Windows Services are system-level processes that run on the machine independent of the user who is logged in. Typical services include functions of the operating system, schedulers, virus scanners, database engines, and network components. Using templates supplied with Visual Studio .NET, it is possible to take a .NET assembly and run it as a service.
} Host through IIS
One way of hosting an assembly is to take advantage of IIS features. IIS allows an assembly to be deployed and will handle incoming connections, protocols, pooling, and security via a configuration file located with the assembly.
} Use Component Services
Component Services also known as COM+ Services, enable you to include functionalities such as recycling, state, transactions, method-level security, logging, impersonation, for hosted components through either an administration tool or the use of attributes.
Tools
} IDEs play a key role for developer productivity in either platforms
} In .NET, Visual Studio.NET is the predominately used IDE
} In Java, a range of tools exists from different vendors: Eclipse, NetBeans, Sun ONE Studio, etc.