Application Server: Frequently Asked Questions

Published: January 3, 2006
**
**

This page includes answers to frequently asked questions about application server technology in the Microsoft Windows family of operating systems. Click a question to view its answer. To view all the answers at one time, select the View all answers check box.

On This Page
What is an Application Server?What is an Application Server?
The Microsoft Application ServerThe Microsoft Application Server
Application Interoperability Application Interoperability
 Deployment and Management of Application Servers Deployment and Management of Application Servers

What is an Application Server?

Q.What is an application server?
A.

We define the category of application server as the “system software that underlies the server-based execution of shared business applications.” Just as a file server delivers files to many users, an application server makes applications—often custom-built applications—available to multiple concurrent users.

Q.What are the benefits of application server technology?
A.

Using application server technology, an organization can develop, run, and manage custom or off-the-shelf applications in a way that is security-enhanced and reliable, while maintaining high levels of performance for multiple concurrent users. Application servers can host applications that respond to requests, perform business logic, and coordinate updates to shared data. Concurrent user requests are ensured fairness as well as accuracy in reading and updating system-of-record data.

Q.How does application server technology relate to Web services?
A.

Web services provide a standards-based mechanism for multiple applications to intercommunicate. Application server technology can provide the infrastructure for hosting server-based systems that connect out, or accept connections in, by way of Web services. Web service clients, including smart clients built on the Microsoft Office System, can communicate with Web service providers running within application servers.

Q.How does application server technology relate to smart clients?
A.

Application server technology is a natural complement to smart client technology. Smart clients are client-side applications that are easily deployed and managed and that provide an adaptive, responsive, and rich interactive experience by leveraging local resources and intelligently connecting to distributed application and data sources. Web services provide an optimal mechanism to connect smart clients to custom or prepackaged applications running on application servers.

Q.How does application server technology relate to service-oriented architectures?
A.

Many companies are reorganizing information technology systems into a service-oriented architecture (SOA), allowing applications to be more maintainable, more cost-effective, and more aligned with business goals. Solid application server infrastructure plays a central role in enabling SOA for information-centric organizations.

Q.What is the functionality a typical application server provides?
A.

A typical application server provides a ‘host’ process or container for business components or services. These components or services may be purchased as packaged software, or written by programmers in an IT department. An application server also provides:

Life-cycle management and scheduling, which allows an administrator to specify when an application should start and/or stop—in other words, to specify what time periods to make an application available.

A security-enhanced model, which includes a way to authenticate user requests or identify, in a security-enhanced manner, the users making those requests; and also a way to make authorization decisions based on that user identity.

Performance management and optimization, which comes frequently in the form of object pooling, just-in-time activation, throttling, and similar techniques.

Concurrency management, which relates to serving multiple users concurrently.

Distributed transaction capabilities.

A programming framework and model to access external systems and databases.

Management features for all of the above capabilities.

Q.
A.

The Microsoft Application Server

Q.Does Microsoft offer an application server?
A.

Microsoft Windows Server 2003 includes the integrated capability for building, running, deploying, and managing high-performance connected applications, using the following technologies:

Internet Information Services (IIS)—a high-performance Web engine

The .NET Framework—an easy-to-use yet highly capable framework for developers of applications, including a rich class library, and an execution model

ASP.NET—a subset of the .NET Framework focused on providing a runtime environment for high-performance Web-based applications and web services

The Microsoft Distributed Transaction Coordinator—used for managing distributed unit-of-work semantics across transactional resources including databases and message queues

Authorization Manager—a subsystem enabling applications to encode authorization rules for arbitrary resources

This functionality is complemented by other elements of the Windows platform, such as:

Microsoft Message Queue—a transactional asynchronous message queue

Performance Monitor—a mechanism for monitoring the performance and throughput of custom applications

Enterprise UDDI Services—a repository for Web services endpoints and schema

Active Directory Application Mode (ADAM)—a directory and security-related server optimized for use within custom applications

The Windows Event Log—a record to enable security-enhanced logging and auditing of application events

Network Load Balancing—a way to connect multiple servers into a “farm” of machines that share load and deliver reliable failover in the event of machine or application failure

Q.Do I need a special edition of Windows Server to use it as an application server?
A.

With a few exceptions, the integrated application server capability in Windows Server 2003 is available across the line of Windows Server product editions. For more on the features supported by each edition of Windows Server, please see http://www.microsoft.com/windowsserver2003/evaluation/features/compareeditions.mspx.

Q.What types of applications does the Windows Server application server infrastructure support?
A.

Windows Server can run applications that span a broad range of capability and performance. At the low end of complexity, Windows Server can run simple Web applications that deliver mostly static content, such as keeping logs of access. At the other end of the spectrum, Windows Server can support highest-performance, large-scale transactional systems, with the most rigorous security-related and reliability requirements. Windows Server can scale up or down as needed. Windows supports “daemon” or “agent” applications that are always on and always running, as well as applications that respond to incoming requests from clients. Included in this latter category would be Web applications and Web services. Server-side applications may be simple, single-threaded designs, deployed on a single server; or may be highly concurrent, and distributed across a reliable array of server machines. The application server infrastructure in Windows Server is flexible enough to handle applications that span the full range of connected applications.

Q.What types of applications can connect to applications running under the Windows Server application server infrastructure?
A.

Windows Server can handle requests from a variety of endpoints that run on any operating system or hardware platform. The only requirement is that the requesting application must be able to connect to the application server over a network. The application server infrastructure in Windows Server supports many communication options in order to work with your existing infrastructure.

Q.Can arbitrary Web site clients connect to applications running under the Windows Server application server infrastructure?
A.

Yes, any Web browser that supports HTML 3.2 or HTML 4.0 can connect to Windows-based Web applications. A variety of mobile devices can also connect.

Q.Can smart clients use applications running under the Windows Server application server infrastructure?
A.

Yes, "smart clients" based on the Microsoft Office System can use Web services protocols to connect to applications running on Windows Server.

Q.Can "rich clients" use applications running under the Windows Server application server infrastructure?
A.

Yes. So-called "rich client" applications, even those that do not use the Microsoft Office System or Microsoft Windows as an underlying infrastructure, can connect to applications running on Windows Server.

Q.Can remote server-based applications connect to the Windows Server application server infrastructure?
A.

Yes; if they use Web services protocols, bare sockets protocols, or third-party middleware that runs on Windows Server, remote server-based applications can connect to applications running on Windows Server.

Q.Does Windows Server support the Asynchronous JavaScript and XML (AJAX) and Representational State Transfer (REST) application models?
A.

Yes, Windows Server can host AJAX or REST applications. AJAX is a model that allows Web browsers to become unbound from the model where each communication exchange results in a new browser page. REST is a model in which XML documents are exchanged between client and server.

Q.What are the licensing and pricing implications of deploying Windows Server as an application server?
A.

Use of Windows Server as an application server is covered under the standard pricing and licensing terms for Windows Server 2003. For more details see http://www.microsoft.com/windowsserver2003/howtobuy/licensing/pricing.mspx.

Q.
A.

Application Interoperability

Q.What interoperability options does Windows Server deliver?
A.

Windows Server and the integrated application server infrastructure supports a wide variety of protocol and data format standards. For Web applications and Web services, the relevant standards include HTTP, HTTPS, HTML, XML, FTP, SMTP, CSS, SOAP, XML-DSIG, XSL, and DOM. For the security area, the standards include X.509, Kerberos, LDAP, AES, DES, RSA, DSA, MD5, and SHA. In management, the standards include CIM, WBEM, and SNMP. And beyond de jure standards, the Windows application platform also supports de facto vendor-specific protocols and systems like LU6.2, MQSeries, Netegrity, IIOP, Tibco RV, SAP ERP, R/3, and others. Applications written with the .NET Framework can connect to SQL Server, but also Oracle, IBM DB2, Sybase, and many other databases. What all of this alphabet soup means is that applications deployed on Windows Server can interoperate with whatever else you have deployed in your network.

Q.Can an application running on Windows Server interconnect with IBM systems?
A.

There are a variety of options for interconnecting applications running on Windows Server with applications running on IBM systems, including CICS, IMS, DB2, Lotus, and Tivoli systems. Applications running on Windows can connect to many of these systems without additional infrastructure software. In some cases, additional capability is desired, for example two-phased commit transactions with mainframe resources. In these cases, Microsoft Host Integration Server can provide additional capability. It is also possible to use other integration middleware (IBM’s MQSeries provides one such option). Custom applications written for the Microsoft application server can take advantage of transactional store-and-forward messaging with MQSeries to interconnect with many IBM systems. There are many other interconnect options based on either standard protocols, such as Web services and SOAP, or IBM-specific protocols such as LU6.2 and DRDA. Most enterprise customers have the need to interconnect heterogeneous systems, either their own networks or systems that span the networks of partner organizations. The Microsoft application server can support those requirements.

Q.Can an application running on Windows Server interconnect with Java-based systems?
A.

The standard Web services protocols supported by Windows Server and the .NET Framework mean that .NET-based applications can interconnect with any other system—running on any platform and written in any language—that supports those same protocols. There are many Java-based Web services libraries that allow interoperability and intercommunication between Java-based systems and .NET-based systems running on Windows Server. For more information, see the Java Interop site.

Q.Can applications running on Windows Server interconnect with heterogeneous databases?
A.

Microsoft introduced ODBC as a database interoperability layer in 1991, and since then has continued to improve and extend the ability of Windows-based applications to connect to any database system. Today, by way of the ADO.NET subset of the .NET Framework, Windows applications can connect with high performance to Oracle, DB2, Sybase, and Informix, as well as many other less-common systems. And, Windows Server can connect over the network to databases running on non-Microsoft platforms and deliver great performance while doing it. For more information, see the ADO.NET overview.

Q.What security-related interoperability options are available?
A.

Based on security protocol and data encryption standards such as X.509, Kerberos, and RSA, DSA, MD5, SHA, and AES, applications written in .NET and running on the application server infrastructure contained within Windows Server can interoperate in a security-enhanced manner with applications running on other platforms. The Microsoft platform supports WS-Security; any Web service client that runs on any platform supporting WS-Security will be able to engage in a security-enhanced Web services connection with Web services applications on the Microsoft platform. In the area of identity interoperability, Active Directory Federation Services (ADFS) is a new feature in Windows Server 2003 R2 that makes it possible for organizations to share a user's identity information in a security-enhanced way over federation trusts. For example, via ADFS a .NET application may authenticate a user against an identity store maintained by an IBM directory or a Netegrity store. For more on ADFS, see the ADFS Overview.

Q.
A.

Deployment and Management of Application Servers

Q.Where can I find information on setting up Windows Server as an application server?
A.

Windows Server 2003 allows the administrator to configure the server into one or more roles, including the role of application server. For more information on this, see Server Roles: The Application Server.

Q.What tools are available to manage the application server in Windows Server?
A.

Windows Server includes management interfaces for all aspects of the infrastructure that requirement management. This includes management scripting APIs for automated management tasks, as well as graphical management interfaces. For example, using either programmatic or graphical interfaces, administrators can add queues, set up clusters and load balancing, enable or disable distributed transaction support, or adjust security levels on Web sites. In addition to these built-in tools, there are third-party add-on tools that aid in managing Windows servers.

Q.How can an administrator monitor the performance and behavior of applications running on Windows Server?
A.

There are programmatic as well as graphical ways to monitor the performance of Windows-based applications. For example, administrators can observe the rate of transaction throughput on an application, or on the entire server computer, using the built-in Windows performance monitor tools. Administrators can also monitor and observe the usage of various machine-specific resources, such as CPU, memory, or I/O. Using extended management tools such as Microsoft Operations Manager, administrators can set alerts and be notified or perform other scripted tasks when specific parameters exceed a configured threshold.

Q.
A.
Top of pageTop of page