My Blogger Panel

Introduction to Microsoft .NET ________________________________________ Microsoft .NET is Microsoft's new Internet strategy. .NET was originally called NGWS. ________________________________________ NGWS - Next Generation Windows Services Before the official announcement of .NET, the term NGWS was used for Microsoft's plans for producing an "Internet-based platform of Next Generation Windows Services". Steve Ballmer quote January 2000: "Delivering an Internet-based platform of Next Generation Windows Services is the top priority of our company. The breakthroughs we’re talking about here include changes to the programming model, to the user interface, to the application integration model, the file system, new XML schema....." ________________________________________ Microsoft. NET The Microsoft. NET strategy was presented by Microsoft officials to the rest of the world in June 2000: • .NET is Microsoft's new Internet and Web strategy • .NET is NOT a new operating system • .NET is a new Internet and Web based infrastructure • .NET delivers software as Web Services • .NET is a framework for universal services • .NET is a server centric computing model • .NET will run in any browser on any platform • .NET is based on the newest Web standards ________________________________________ .NET Internet Standards .NET is built on the following Internet standards: • HTTP, the communication protocol between Internet Applications • XML, the format for exchanging data between Internet Applications • SOAP, the standard format for requesting Web Services • UDDI, the standard to search and discover Web Services ________________________________________ .NET Framework The .NET Framework is the infrastructure for the new Microsoft .NET Platform. The .NET Framework is a common environment for building, deploying, and running Web Services and Web Applications. The .NET Framework contains common class libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced standard services that can be integrated into a variety of computer systems. The .NET Framework is language neutral. Currently it supports C++, C#, Visual Basic, JScript (The Microsoft version of JavaScript) and COBOL. Third-party languages - like Eiffel, Perl, Python, Smalltalk, and others - will also be available for building future .NET Framework applications. The new Visual Studio.NET is a common development environment for the new .NET Framework. It provides a feature-rich application execution environment, simplified development and easy integration between a number of different development languages. ________________________________________ Additional Information • The .NET plan includes a new version of the Windows operating system, a new version of Office, and a variety of new development software for programmers to build Web-based applications. • The background for .NET is part of Microsoft's new strategy to keep Windows the dominant operating system in the market, as computing begins to move away from desktop computers toward Internet enabled devices, such as hand-held computers and cell phones. • The most visual components of the new .NET framework are the new Internet Information Server 6.0, with ASP.NET and ADO.NET support, Visual Studio.NET software tools to build Web-based software, and new XML support in the SQL Server 2000 database. • Bill Gates is supervising the .NET project. NET Building Blocks ________________________________________ .NET Building Blocks is a set of core Internet Services. ________________________________________ Web Services Web Services provide data and services to other applications. Future applications will access Web Services via standard Web Formats (HTTP, HTML, XML, and SOAP), with no need to know how the Web Service itself is implemented. Web Services are main building blocks in the Microsoft .NET programming model. ________________________________________ Standard Communication Official Web standards (XML, UDDI, SOAP) will be used to describe what Internet data is, and to describe what Web Services can do. Future Web applications will be built on flexible services that can interact and exchange data, without the loss of integrity. Internet Storages .NET offers secure and addressable places to store data and applications on the Web. Allowing all types of Internet devices (PCs, Palmtops, Phones) to access data and applications. These Web Services are built on Microsoft's existing NTFS, SQL Server, and Exchange technologies. ________________________________________ Internet Dynamic Delivery Reliable automatic upgrades by demand and installation independent applications. .NET will support rapid development of applications that can be dynamically reconfigured. ________________________________________ Internet Identity .NET supports many different levels of authentication services like passwords, wallets, and smart cards. These services are built on existing Microsoft Passport and Windows Authentication technologies. ________________________________________ Internet Messaging .NET supports integration of messaging, e-mail, voice-mail, and fax into one unified Internet Service, targeted for all kinds of PCs or smart Internet devices. These services are built on existing Hotmail, Exchange and Instant Messenger technologies. ________________________________________ Internet Calendar .NET supports Internet integration of work, social, and private home calendars. Allowing all types of Internet devices (PCs, Palmtops, Phones) to access the data. These services are built on existing Outlook and Hotmail technologies. ________________________________________ Internet Directory Services .NET supports a new kind of directory services that can answer XML based questions about Internet Services, far more exactly than search engines and yellow pages. These services are built on the UDDI standard. .NET Software________________________________________ .NET is a mix of technologies, standards and development tools ________________________________________ Windows.NET Today, Windows 2000 and Windows XP form the backbone of .NET. In the future, the .NET infrastructure will be integrated into all Microsoft's operating systems, desktop and server products. Windows.NET is the next generation Windows. It will provide support for all the .NET building blocks and .NET digital media. Windows.NET will be self-supporting with updates via Internet as users need them. ________________________________________ Office.NET A new version of Microsoft Office - Office.NET - will have a new .NET architecture based on Internet clients and Web Services. With Office.NET, browsing, communication, document handling and authoring will be integrated within a XML-based environment which allow users to store their documents on the Internet. ________________________________________ ASP.NET ASP.NET is the latest version of ASP. It includes Web Services to link applications, services and devices using HTTP, HTML, XML and SOAP. New in ASP.NET: • New Language Support • Programmable Controls • Event Driven Programming • XML Based Components • User Authentication • User Accounts and Roles • High Scalability • Compiled Code • Easy Configuration • Easy Deployment • Not ASP Compatible • Includes ADO.NET You can read more about ASP.NET and ADO.NET in our ASP.NET Tutorial. Visual Studio.NET The latest version of Visual Studio - Visual Studio.NET - incorporates ASP.NET, ADO.NET, Web Services, Web Forms, and language innovations for Visual Basic. The development tools have deep XML support, an XML-based programming model and new object-oriented programming capabilities. ________________________________________ Visual Basic.NET Visual Basic.NET has added language enhancements, making it a full object-oriented programming language. ________________________________________ SQL Server 2000 SQL Server 2000 is a fully web-enabled database. SQL Server 2000 has strong support for XML and HTTP which are two of the main infrastructure technologies for .NET. Some of the most important new SQL Server features are direct access to the database from a browser, query of relational data with results returned as XML, as well as storage of XML in relational formats. ________________________________________ Internet Information Services 6.0 IIS 6.0 has strong support for more programming to take place on the server, to allow the new Web Applications to run in any browser on any platform. ________________________________________ .NET Web Services ________________________________________ Web services are small units of code built to handle a limited task. ________________________________________ What are Web Services? • Web services are small units of code • Web services are designed to handle a limited set of tasks • Web services use XML based communicating protocols • Web services are independent of operating systems • Web services are independent of programming languages • Web services connect people, systems and devices Small Units of Code Web services are small units of code designed to handle a limited set of tasks. An example of a web service can be a small program designed to supply other applications with the latest stock exchange prices. Another example can be a small program designed to handle credit card payment. ________________________________________ XML Based Web Protocols Web services use the standard web protocols HTTP, XML, SOAP, WSDL, and UDDI. HTTP HTTP (Hypertext Transfer Protocol) is the World Wide Web standard for communication over the Internet. HTTP is standardized by the World Wide Web Consortium (W3C). XML XML (eXtensible Markup Language) is a well known standard for storing, carrying, and exchanging data. XML is standardized by the W3C. You can read more about XML in our XML tutorial. SOAP SOAP (Simple Object Access Protocol) is a lightweight platform and language neutral communication protocol that allows programs to communicate via standard Internet HTTP. SOAP is standardized by the W3C. You can read more about SOAP in our SOAP tutorial. WSDL WSDL (Web Services Description Language) is an XML-based language used to define web services and to describe how to access them. WSDL is a suggestion by Ariba, IBM and Microsoft for describing services for the W3C XML Activity on XML Protocols. You can read more about WSDL in our WSDL tutorial. UDDI UDDI (Universal Description, Discovery and Integration) is a directory service where businesses can register and search for web services. UDDI is a public registry, where one can publish and inquire about web services. Independent of Operating Systems Since web services use XML based protocols to communicate with other systems, web services are independent of both operating systems and programming languages. An application calling a web service will always send its requests using XML, and get its answer returned as XML. The calling application will never be concerned about the operating system or the programming language running on the other computer. ________________________________________ Benefits of Web Services • Easier to communicate between applications • Easier to reuse existing services • Easier to distribute information to more consumers • Rapid development Web services make it easier to communicate between different applications. They also make it possible for developers to reuse existing web services instead of writing new ones. Web services can create new possibilities for many businesses because it provides an easy way to distribute information to a large number of consumers. One example could be flight schedules and ticket reservation systems. Client and Server Standards ________________________________________ The paragraphs below describes W3Schools' vision about future Internet Distributed Applications. ________________________________________ Executables, C++ (and Java too) must die Neither C++ nor Java can ever create standard components that can run on all computers. There is no room for these languages in future distributed applications. Executables are not standard. COM objects are not standard, DLL-files are not standard. Registry settings are not standard. INI-files are not standard. None of these components must be allowed to destroy your dream of a standard distributed application that will run on almost any computer in the world. ________________________________________ Clients must be Standard Internet Browsers Application clients must be standard clients without any additional components. No part of the applications must be stored on client computers. The application must never use, or rely on, any components, dll- or ini-files, registry settings or any other non standard settings or files stored on the client computer. (Then you can start calling it a Thin Client). Our best suggestion is to let all clients use standard Internet browsers like Internet Explorer, Netscape, or Firefox running on Windows or Mac computers. Servers must be Standard Internet Servers Application servers must be standard Internet servers running standard software without any additional components. The application must never use, or rely on, any components, dll- or ini-files, registry settings or any other non standard settings or files stored on the server. Our best suggestion is to use a standard Internet server like Internet Information Services (IIS), with a standard request-handler like Active Server Pages (ASP), and a standard database connector like Active Data Objects (ADO). As your data-store you should use a standard SQL based database like Oracle or Microsoft's SQL Server. ________________________________________ Applications must use Internet Communication Application clients and servers must not be allowed to communicate via any proprietary protocol. Clients must request servers via a standard Internet protocol and servers must respond via the same protocol. Clients must be able to use any service without having to maintain a permanent connection to the server. Our best suggestion is to let servers be requested with standard stateless Internet HTTP requests. Servers should respond with a standard stateless Internet HTTP response. Applications must be Services ________________________________________ The paragraphs below describes W3Schools' vision about future Internet Distributed Applications. ________________________________________ Applications must be a Set of Services Applications can no longer be allowed to contain large masses of compiled executable code. Applications must be broken down into a number of smaller individual services that are easier to create and easier to maintain. Individual services should be developed and maintained by smaller groups of people. Services are not the same as executables, or components, or DLL's. Services should be answers to submitted requests. Services should be returned as data. Our best suggestion is to develop services as a number of server-side HTML and/or XML pages. ________________________________________ Services must not be Purpose Built Our history is full of applications that were purpose built for a single task. Many of these applications died before they were introduced, because they could not manage new changes in the requirements. This is a terrible waste of money and time. We (and the people that pay for our applications) want to create flexible applications that are so generalized that they can gracefully support future changes. Future - not even thought about - changes should easily hook into our application without crumbling or destroying it. Our best suggestion is to create flexible standard services that can be used to serve a lot of different requests. ________________________________________ Services must be easy to Create and Edit Services should not be coded if it can be avoided. If a service has to be coded, our best suggestion is to use scripts. Services should never be compiled into executables. That makes services too hard to access and to edit. Any pre-compiled component used in an application will threaten the possibility of creating an application that can move, scale and gracefully support future extensions or changes. Services should be created and modified by editing their properties and methods, not by changing their executable code. Our best suggestion is to use an XML editor to create and edit services, and to use a standard service engine to provide services by executing the service description. The service descriptions should be stored in a data store like a database or in an XML/HTML file. ________________________________________ Services and data must be Self Describing Application clients must be able to query a server for a service and to ask for the current server functions. Clients and servers must also be able to exchange data in a way so that both understand each element in the data. Our best suggestion is to use an XML based information vocabulary with a DTD (Document Type Definition) to exchange server functions, and to use XML to exchange data. Future Proof Applications ________________________________________ The paragraphs below describes W3Schools' vision about future Internet Distributed Applications. ________________________________________ Applications must Support Future Changes Applications must be aware of future changes and gracefully adjust to changes in either the amount of services or in the exchange format. The application and the data exchange format must support both extensions, removed elements and version controls. Our best suggestion is to use XML with an XML Schema. ________________________________________ Applications must Scale and Relocate Applications must be able to scale from supporting a few to many thousand requests per day. Server services must be able to spread from one server to many, or to move from one server to another without breaking the application. Our best suggestion is to make server services independent of physical server, and to use standard Internet Uniform Resource Locators (URL) or a directory service to locate the services. ________________________________________ Applications must Support other Applications Applications should be able to cooperate with other applications. Our best suggestion is create all applications with the same rules, and to link applications together with standard Internet links. ________________________________________ Applications must Support Future Internet Standards Applications should be made ready to support the new Internet Standards as they emerge from W3C. Niranjan Singh Njiffy the complete solution