Web services and .NET allow programs or services to be run remotely across the Internet, using a web browser. First the program, service, or applet that will be run in .NET or as a web service needs to be created. (Throughout the rest of this illustration, we'll refer to the program, service, or applet generically as a "service.") For a web service, the service is frequently written in Java. For .NET, it is generally written using a development platform called Visual Studio .NET, which allows developers to use a variety of languages, including Microsoft's Visual Basic .NET, C++ .NET, and Visual C# .NET. After it is written, it is posted to an application server, which will deliver it when requested. The site hosting the service is commonly called a service provider.