PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:
.NET framework:
Microsoft.NET Microsoft.NET can be considered from different points of view. As a platform, it consists of the following product groups. Development tools .NET Enterprise server Web services (building block services)
Development tools: A set of languages, including C#, VB.NET, J#, a set of development tools, including Visual Studio.NET (a suite of language-independent developer tools, a set of programming interfaces), .NET Framework (for building web and Windows applications, as well as web services), Common Language Runtime, which is the execution engine for.NET Framework applications
.NET Enterprise servers: A suite of e-business infrastructure applications that run XML web services – SQL Server 2000, Exchange Server 2000, BizTalk Server 2000 and others. These servers are used to store relational data, data exchange and business-to-business (B2B) commerce
Web services (building block services) A set of commercial web services, which includes customer services (.NET MyServices), authentication identification services (.NET Passport) and communication services (.NET Alerts). Developers can use these services to build applications that require knowledge of user identity
.NET device software .NET device software Consisting of Windows XP, Windows Me, Windows CE, Windows Embedded, the.NET Framework .NET Compact Framework, this software enables a new set of.NET- enabled devices – from mobile phones to PDAs and game boxes.
Microsoft.NET Framework The Microsoft.NET Framework consists of three main parts: Common Language Runtime; .NET class library, which is sometimes called "Base Framework"; ASP.NET.
.NET Framework Design Goals: 1. Component Infrastructure 2. Language Integration 3. Internet interoperation 4. Simple Development 5. Simple Deployment 6. Reliability 7. Security
Cont… 1. All classes are ready to be reused at the binary level, similar way to plug-and-play the hardware components. 2. One can’t reuse the COM components written by someone else; you can’t extend a class hosted in the COM component; you can’t catch exception thrown by code in the COM component. Through.NET CTS you can achieve inherit from classes, catch exceptions and take advantage of polymorphism across different languages. These different languages can intermingle with one another. 3. Simple, lightweight protocol for distributed computing. (SOAP=xml+http)
Cont.. 4..NET provides set of framework classes and lets every language use it. Removes the need of learning a new API each time you switch languages. 5. Overcome DLL hell problem : {Stop working of an application if you update a software, it overwrites the old dll.}If you have two versions of dll, both called abc.dll both of them can live and execute on the same system without causing Dll hell. 6. Exception handling work across all.NET compatible languages. Autmatic Garbage Collection for objects that are no longer needed. 7. Protect access to specific parts of executable code, write code in your method to explicitly cause a security check. Make harder to penetrate your applications and system.
The.NET Framework class library The.NET Framework includes classes, interfaces, and value types that are used in the development process and provide access to system functionality. To facilitate interoperability between languages, the.NET Framework types are Common Language Specification (CLS) compliant and can therefore be used from any programming language where the compiler conforms to the CLS.
Cont.. The.NET Framework types are the foundation on which.NET applications, components, and controls are built. The.NET Framework includes types that perform the following functions:
.Net framework function represent base data types and exceptions; encapsulate data structures; perform I/O operations; access information about loaded types via reflections; invoke.NET Framework security checks; provide data access, rich client-side GUI, and server-controlled, client-side GUI.
Common Language Runtime The Common Language Runtime is the execution engine for.NET Framework applications. It provides a number of services, including the following: code management – loading and execution; application memory isolation; verification of type safety; conversion of IL (platform-independent code generated by compilers) to native, platform-dependent code; access to metadata, which is enhanced type information;
Cont.. managing memory for managed objects; enforcement of code access security; exception handling, including cross-language exceptions; interoperation between managed code, COM objects, and pre-existing DLLs (unmanaged code and data); automation of object layout; support for developer services – profiling, debugging, and so on.
Cont…
Class Loader This component provides metadata management and loads classes. This is part of the execution process and involves the metadata stored within the executable file. Class Loader uses Code Manager to assign memory for the objects and data. It computes the layout of classes in memory and each method receives an entry in the methods table. Later, when the Just-In-Time compiler converts the MSIL code (see next point) to native code, the entry in the methods table is replaced with the pointer to the native code.
Microsoft Intermediate Language Microsoft Intermediate Language (MSIL) to native compilers. This component converts code in Microsoft intermediate language to native code. This can be done through either Just-in- Time (JIT) compiling or native generation using the NGEN tool that comes as part of the Microsoft.NET Framework SDK.
Code Manager This component manages code execution and is used by the Class Loader to assign memory for the objects and data.
Garbage collector This component manages the allocation and release of memory for the application, and automatically reclaims unused memory. Its optimizing engine determines the best time to perform a collection in order to free some memory based on the allocations being made. When the garbage collector performs a collection, it checks for objects in the managed heap that are no longer being used by the application and performs the necessary operations to reclaim their memory. The System.GC class can be used to control the system garbage collector.