![]() |
Building Windows-Based Applications for the Internet Age
October 1998
Introduction
IntroductionBoth small and large companies have been building robust applications for personal computers that continue to be more powerful and available at a lower cost. While these applications are being used by millions of users each day, new forces are having a profound effect on the way in which software developers build applications today and the platforms on which they develop and deploy their applications. The increased presence of Internet technologies enables global sharing of information between small and large businesses and individuals as well. The Internet has sparked a new creativity, resulting in new businesses popping up overnight, running 24 hours a day, seven days a week. Competition and the increased pace of change are putting increasing demands for an application platform that enables application developers to build and rapidly deploy highly adaptive applications to gain strategic advantage. It is now possible to think of these new Internet applications as needing to handle literally millions of users—a feat difficult to imagine just a few years ago. As a result, applications need to deal with user volumes of this scale, be capable of reliable 24-hour-a-day operation and be flexible enough to meet changing business needs. The platform that underlies these types of applications must also provide a coherent model along with a set of infrastructure and prebuilt services for enabling development and management. The Microsoft® application platform consists of a multitiered model called Windows Distributed interNet Applications (Windows DNA) (Figure 1) and a comprehensive set of infrastructure and application services. Windows DNA
Given the proper underlying infrastructure, the multitier model of presentation, business logic and data can physically distribute processing over many computers. However, the core abstractions that have worked for single- and two-tier models in the past—high-level programming languages, database management systems and graphical user interfaces—do not fully address the requirements of a multitier application development. A different level of abstraction is needed to develop scalable, manageable and maintainable multiuser applications, and Microsoft believes this abstraction is cooperating components. Cooperating Components
The Windows DNA strategy rests on Microsoft's vision of cooperating components, which are built based on the binary standard called the Component Object Model (COM). COM COM enables software developers to build applications from binary software components that can be deployed at any tier of the application model. These components provide support for packaging, partitioning and distributed application functionality. COM enables applications to be developed with components by encapsulating any type of code or application functionality, such as a user interface control or line of business object. A component may have one or more interfaces; each exposes a set of methods and properties that can be queried and set by other components and applications. For example, a customer component might expose various properties such as name, address and telephone number. With the Microsoft Windows DNA model, components eliminate the complexity of building multitier applications. Applications based on components and the Windows DNA model rely on a common set of infrastructure and networking services provided in the Windows® operating system platform. The Windows NT® operating system security service, for example, provides access control to Internet Information Server (IIS) software, as well as transaction and message queuing services. Other common services include systems management, directory services, networking and hardware support. Client Environments and Presentation TierToday many application developers using cooperating components target the development of their applications to the Windows platform to take full advantage of its rich user interface. Likewise, customers have come to expect a rich, highly functional user interface from their applications. The extended reach of information and services to customers enabled by the Internet has created a new challenge for the application developer. Application developers must develop a user interface that is distributable, available on Windows and non-Windows-based platforms and supports a wide range of client environments, from handheld wireless devices to high-end workstations. Yet, applications must be rich with features to stay competitive and maintain the functionality that customers have come to expect. Figure 2 shows that Windows DNA offers a broad range of presentation services, giving application developers a choice for developing the best solution. Windows DNA permits developers to choose the appropriate Windows-based components and Internet technologies to support the richest possible interface and range of client environments, from handheld wireless devices to high-end workstations. To maintain broad reach to a wide range of client environments while achieving the greatest compatibility with all browsers, application developers will generally use standard HTML in developing their browser-neutral applications. Microsoft tools and application services support the current generation of standard HTML. The compromise in using static HTML is the reduced functionality and richness in an application's user interface that customers expect. This is fine for some applications because they require broad reach and browser neutrality. There is a class of applications that doesn't have a browser-neutrality requirement. The reality is that many corporations standardize on a single browser. In addition, application developers who want to provide more functionality in their application than they can achieve with standard HTML write code to determine the browser being used. These browser-enhanced applications are written to take advantage of the technologies inherent in the browser to gain maximum functionality and richness. With technologies like Dynamic HTML and scripting, application developers can create actions with functional Web-based interfaces for data entry or reporting without using custom controls or applets. Dynamic HTML is based on the W3C-standard Document Object Model, which makes all Web page elements programmable objects. Dynamic HTML can be likened to a "programmable" HTML. Contents of the HTML document, including style and positioning information, can be modified dynamically by script code embedded in the page. Thus scripts can change the style, content and structure of a Web page without having to refresh the Web page from the Web server. By doing so, the client does not have to repeatedly return to the Web server for changes in display, resulting in increased network performance. Unlike Java applets or ActiveX® Controls, Dynamic HTML has no dependencies on the underlying virtual machine or operating system. For clients without Dynamic HTML support, the content appears in a gracefully degraded form. There are times when Dynamic HTML with scripting is not enough. Segments of applications need to utilize the operating system and underlying machine upon which it is hosted, while still maintaining an active connection to the Internet for data or additional services. In such instances the application developer can take advantage of the components and Internet services provided by Windows to build more robust applications. Unlike page-based applications that are run within the context of a browser, these applications are full-fledged Windows Executables with full access to the broad range of services provided by the Windows client. These applications generally use a combination of HTML, Dynamic HTML, scripting, and ActiveX Controls to provide rich integration with the client system as well as full connectivity to remote services on the Internet. Applications written using the Win32® API offer the most functionality but are limited to application platforms that support the Win32 API. Through the use of cooperating components, developers can access Internet technologies in the Windows application platform from within a Win32-based application. Some common examples are Microsoft Office 97 and the Visual Studio® 98 development system. These applications support unified browsing by embedding hyperlinks from within the application, host the browser for the display of documentation written in Dynamic HTML and provide the capability to download updates to the products over the Internet seamlessly. Application ServicesThe business logic tier is where the application-specific processing and business rules are maintained. Business logic placed in components bridges the client environments and the data tiers. The Windows DNA application platform has been developed through years of innovation around supporting high-volume, transactional, large-scale application deployments and provides a powerful run-time environment for hosting business logic components. Figure 3 shows that the application platform for developing Windows DNA-based applications includes Web services, messaging services and component services. Web Services
Integrated with Microsoft's application platform is a high-performance gateway to the presentation tier. Microsoft's Internet Information Server (IIS) Active Server Pages (ASP), an Internet Information Server technology, is the language-neutral, compile-free, server-side scripting environment used to create and run dynamic, interactive Web server applications. By combining Dynamic HTML, scripting and components, ASP enables application developers to create dynamic interactive Web content and powerful Web-based applications. With the trend toward distributed computing in enterprise environments, it is important to have flexible and reliable communication among applications. Businesses often require independent applications that are running on different systems to communicate with each other and exchange messages even though the applications may not be running at the same time. Applications built using a combination of Active Server Pages scripts communicating with cooperating components can interoperate with existing systems, applications and data. Component ServicesIn the early 1990s, componentization was the underlying concept that facilitated interoperability; the underlying technology that enabled interoperability was Microsoft's Component Object Model (COM). Componentization is a great way to achieve interoperability and design and develop software in general. So in the mid-1990s, Microsoft broadened COM's applicability beyond the desktop application to also include distributed applications by introducing Microsoft Transaction Server (MTS) technology. MTS was an extension to the COM programming model that provided services for the development, deployment and management of component-based distributed applications. MTS was a foundation of application platform services that facilitated the development of distributed applications for the Windows platform more simply and cost-effectively than other alternatives. The COM+ services to be delivered in Windows 2000 are the next evolutionary step of COM and MTS. The consolidation of these two programming models makes it easier to develop distributed applications by unifying the development, deployment, debugging and maintenance of an application that relies on COM for certain services and MTS for others. The benefit to application developers is making it faster, easier and ultimately cheaper to develop distributed applications by reducing the amount of code required to utilize underlying system services. To continue to broaden the COM services offered today, COM+ services include both new and enhanced features for the application platform, including the following:
Interoperating with Existing Systems, Applications and DataAs companies extend to embrace the Internet, offering new services and making information more readily available to its customers, partners and employees, application architectures should provide the necessary means to extend inside the corporation to existing applications and data. Some software vendors have advocated that by wrapping existing applications and data in a common component model in one language that runs all platforms, interoperability between applications and data can be achieved. These lofty goals that the industry has been promised over the past 30 years have failed to materialize. Microsoft's approach has been to reach out to existing applications and data on other platforms without disturbing the platform on which the application or data resides. Microsoft's application platform enables application developers to interoperate with applications and data through the use of messaging services, the COM Transaction Integrator and through a framework called Universal Data Access. Messaging ServicesMicrosoft Message Queue Server (MSMQ) Extending to the Mainframe Transaction Processing WorldUsing Microsoft's COM Transaction Integrator (TI), application developers can extend and expose Customer Information Control System (CICS) and Information Management System (IMS) transaction programs through the use of COM components. COM Transaction Integrator consists of a set of development tools and run-time services that automatically "wrap" IBM mainframe transaction and business logic as COM components that run in a Windows DNA environment. All COM TI processing is done on a Windows NT Server; host communication is accomplished through the SNA Server Microsoft Application Server TechnologiesApplication servers contain common features such as support for building Web-based applications, support for transactions and message queuing, a unifying component model, database connection pooling, and load balancing. These building blocks of Microsoft Windows DNA are supported by the Microsoft Windows NT Server. Application server technologies support the creation of robust, scalable server applications, which are accessible from browser and nonbrowser clients, and include the following:
The Microsoft application server provides these benefits:
Universal Data AccessUniversal Data Access Universal Data Access does not require expensive and time-consuming movement of data into a single data store or commitment to a single vendor's products. Universal Data Access is based on open industry specifications with broad industry support and works with all major established database platforms. Figure 4 shows how the Universal Data Access-based framework operates at two levels. At the systems level, OLE DB defines a component-based architecture specified as a set of COM-based interfaces that encapsulate various database management system services. The OLE DB ConclusionThe Microsoft Windows DNA architecture and the Windows NT platform offer many distinct advantages to customers and ISVs:
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This document is for informational purposes only. Microsoft makes no warranties, express or implied, in this document.
|
|
© 1999 Microsoft Corporation. All rights reserved. Terms of Use. |