Develop a cooperation Microsoft .NET solution
Michael Hermanec3 Enterprise Consulting CompeteCy CenterSmicrosoft Corporation
October 2000
Summary: This article explores the Microsoft .NET platform and focuses on how to build, design, and establish a cooperation web service using .NET platform, Exchange 2000 Server and Microsoft Web storage system.
table of Contents
Introduction Microsoft .NET Platform Microsoft Web Storage System Web Storage System and .NET Platform Joint Web Service Model Outlook Conclusion
Introduction
Microsoft is committed to developing a new generation of software, which is through innovative new methods (to provide developers and end users, improve other aspects of the Web and calculation), and integrate web computing and communication to One. We call this technology as Microsoft .NET.
Through Microsoft .NET will create a real distributed web service, which will integrate free services and work together with these services, making today's dreams come true. The basic idea of Microsoft .NET is to transfer attention from a separate Web site and a variety of devices connected to the Internet to the architecture of various computers, equipment, and service collaborative works, providing a broader, functionality involving the face. More comprehensive solutions. People will be able to control the ways and time to provide information to these computers, equipment, and services, and what information is provided. Computers, devices and services will be able to work with each other, and no longer interpolase, can only work together through web surf. The company provides users and suppliers to seamlessly embed these products and services in their own business process and daily electronic architecture.
Has 5 components in the Microsoft .NET platform:
Microsoft Windows® Operating System Services Platform .NET Framework .Net Building Block Service .Net Orchestration Microsoft .NET Enterprise Server Series
In the .NET Enterprise Server family, Exchange 2000 Server is a reliable, easy-to-manage messaging and cooperative solution that combines users and all aspects of knowledge and information.
This article will explain the Microsoft .NET platform and focus on how to build, design, and establish a cooperation web service using the .NET platform, Exchange 2000 Server and Microsoft Web storage system. At the same time, it also describes the major development capabilities of Microsoft .NET distributed web structure and the Microsoft Web storage system.
In addition, we will introduce how Web storage systems and .NET Framework work together, and build high-value cooperative web services. We will take a travel agency's schedule as an example, elaborate as a Web designer and developer, need to consider the practical infrastructure and design factors. Finally, we will see the Exchange 2000 Server Development Group plans to add .NET feature in the next few issues of the Microsoft Web storage system.
Xml
Microsoft .NET will help promote changes on the Internet, people will see that HTML-based display effect is greatly improved by adopting programmable XML information. XML is a widely supported industry standard defined by the World Wide Web Consortium, which is the standard for the organization created a web browser. XML provides methods that distinguish between actual data to distinguish between the presentation view of the data. This approach distributes data to various digital devices, allowing the Web site to operate with XML-based Web services based on their choices. As a platform established on the basis of the standard integration structure of XML and Internet protocols, the Microsoft .NET platform is a innovative approach to developing advanced new generation software. Obviously, the design concept of Microsoft .NET is to allow any resource group on the integration or coordination of the Internet within a cooperative solution architecture. Currently, such integration is extremely complicated and cost is high. Microsoft .NET will make these types of cooperative Web solutions, implementation, implementation, and deployment easier, simpler.
Web service
The loose combination, XML-based Microsoft .NET platform introduces the concept of XML-based web services. Given the way today's WEB site or manual maintenance, it is unable to work with other sites, and the Microsoft .NET platform provides inherent mechanisms, allowing any Web site or service to seamless with other sites. jobs.
The simplest definition of web services is, a programmable application component that can be accessed by standard web protocol.
Four web services will be available to the Internet:
Public .NET Web Services .Net Building Block Web Services is ready to use web services to use web services customized Web services
Public Web services will appear on the Internet and can be easily integrated into new and existing Web solutions. Some services will be provided free of charge, while some other services will require support for different commercial models. Web services that require commercial model support are called commercial Building Block Web services and will be provided by the Application Service Provider (ASP), and Microsoft. Passport is the first Building block service of Microsoft, providing a single check-in feature (allowing users to use a single name and password on multiple Web sites). The later Passport Building Block service will include e-wallets and public personal information services. Please visit the Microsoft Passport Web site (English) for details.
Through the .NET platform, developers can fully utilize the ready-to-use Web services provided by Microsoft and other software companies in their own cooperative solutions.
Customized Web services include Web services developed by company developers and solution partners for the company's internal Web services.
Developers will be able to take advantage of and customize various Microsoft .Net Building Block services in their own applications and services, reducing the workload required to create competitive solutions. These core Microsoft .Net Building Block services correspond to Microsoft's in-depth research, and various developers can benefit from it. Microsoft is committed to unifying these developer components to provide highly dispersible, programmable services, which can be performed on a separate machine, in the company data center and the Internet.
By choosing these ready-made core .NET Building block services, they can decide "Is Buying or Creation" for developers who want to use the development resource. Some people may choose to create basic service functions, and some people may more incline with a good packaging solution with powerful development tools, which is like many developers who don't write printer drivers or window systems. Put the main resources to its unique high-value solution. Web services have the following features:
You can request a site to explain the Web service provided by a site. The web service is defined in the format and sequence of messages supported by these services. Web service users use XML to send and receive messages. All of these features are established using the disclosed Internet protocol.
Distributed web services created through the Microsoft .NET platform can be used online or offline. The service can be called on a stand-alone machine that is not connected to the Internet, which can be provided by the local server running in the company or can be accessed via Internet. Different services can work harmonically and exchange information as a combined process, so that the organization can decide whether to run its own infrastructure without affecting the control and access of the service, or introduced from the outside. For example, the company directory service can be combined with other directory web services running on the Internet.
Microsoft .Net Building Block service can be used on any platform that supports XML. Windows, Exchange 2000 Server, Microsoft Web Storage Systems, and Visual Studio® will provide the best environment to create and provide a cooperative Web solution.
Web user experience
Although the web service makes developers easily show the functionality of an application so that other servers and client applications can be connected to them, many applications need to show this through the web user interface (UI). All or part of the function.
In addition, through Microsoft .NET, solutions running on PCs and devices can be used closely with information and functions on the Internet of Internet, including work online and offline, and serving using local or remote applications and services. Between transparent conversion.
Microsoft .NET will affect the Web user experience from three aspects:
New improvements in innovation in creating new web user interfaces. The transparent display of the user interface is on various devices. The way we work and games.
From a user interface perspective, Microsoft .NET will provide users and developers with the following user interface technologies:
Nature interface: A collection of technologies used to achieve next generation human machine interaction, including voice, image, handwriting, and natural language input through the new "Type" box. General Template: An XML composite information architecture that integrates browsing, communication, and documentation into a unified environment, enabling users to synthesize information in a unified manner and interact with information. The general template is based on the XML architecture, which can convert the Internet from a read-only environment to readable / write platforms, allowing users to create, browse, edit, comment, and analyze information in interactive. Because the basic information is XML format, universal templates can bring together multiple information sources from around the world together. Information Agent: Manage your identity and personal information on the Internet and better control the WEB site and service to interact with you. Unlike today's Internet, you can control your personal information and determine who can access this information. With information agents, you only need to create your own personal preferences, then allow any Web site or service to use these preferences. SmartTags: expand IntelliSense technology to web content, allowing your PC and devices to intelligently control information from Internet. The scalable infrastructure allows each user to create an adaptive user experience and data handler. IntelliSense technology can automate repetitive tasks by actually embedded to each Microsoft application, simplify complex tasks, making software more personalization, making it easier to use in products. To support the Web UI on any type of device (including the latest Internet Explorer and browser with HTML 3.2 compatible browser), the .NET platform introduces ASP , the next-generation Microsoft Active Server Page (ASP) technology. For web designers and developers, design and develop Web UIs will easier while using existing development ASP application experience. For web executives, deployment, and manage web applications and services will be easier, and scalability, security, and reliability are improved.
The main technique used here is the ASP server control, the new Visual Studio .NET designer fully supports the technology. The development model is identical to the common model used by the Visual Basic developers today: Select a control from the toolbox, draw it on the web form, double-click to add code to respond to user events, then compile your project. Forms and code are automatically compiled and deployed to your development web server. In this server, the ASP server control automatically detects the user's browser type and generates pure DHTML or HTML 3.2 compatible with the browser type. Several scalable and modified ASP server controls will be provided with Visual Studio .NET. These control types include inherent controls (corresponding to the corresponding HTML controls), data-aware list controls, feature calendar, and advertising rotation controls, forms, and field validation controls.
By combining the .NET platform's web services with various Web UI functions, we can significantly change our way we work and games in the Internet. For example, when you plan to travel, you usually have to collect the following information: preferred travel time, travel destination, special dietary precautions, smoking, preferred car rental agencies, preferred airplane seats, frequent guest reward accounts, Preferences, payment information, etc. A travel agency may have already mastered some or all of the information described above, but is this information about the latest information? Or do you have a number of travel agencies?
Why do you have to collect these information each time? It is better to simply travel out in the Outlook® calendar, allowing the information proxy on the Exchange server to automatically contact the Web service running on the travel agency's Web site. The call to the web service should include preferred travel time and destination information. If the travel agency needs other information related to your travel preference, why travel agency does not simply call the web service provided by your Exchange server, so that the web service provides information that you have authorized to share with the travel agency? Once Travel Agency finally sets your holiday plan, you will contact Web services on your Exchange server to update the original calendar information. This date can be automatically synchronized with calendar in your Pocket PC, or you can get this information immediately by wireless Pocket PC. You can get more information about your vacation anytime, anywhere.
This is a new partner Web service implemented by Microsoft .NET, Exchange 2000 Server, Web Storage System, and Visual Studio. This article explains the cooperative schedule in the travel agency cooperation schedule example.
Microsoft .NET platform
The main features of applications and Web services created for .NET platform include:
They provide themselves as a web service and have a web ui. They use the disclosed Internet protocol. They support a wealth web user experience suitable for smart clients and devices.
For designers and developers, it is also possible to quickly develop and deploy .NET applications and web services, and can be easily integrated with other Web services and existing applications.
Figure 1. Microsoft .NET platform
Windows operating system service
The Microsoft .NET platform is based on scalability, reliability, security, and manageability of Windows 2000 Server Series. For Windows-based .NET servers, Windows 2000 Server provides high-performance operating system services, including:
Safety (including encryption and full public key infrastructure). Complete, high performance, standard XML subsystem. There is a very high bandwidth I / O between the disk and the memory and any TCP / IP connection. Allows multiple versions of applications to be running simultaneously for continuous deployment. Efficient threads and fiber support. Content indexing, search, and retrieve. Memory cache. Process schedule. WINDOWS streaming media support for audio and video coordinates.
Windows 2000 Professional, Windows NT® Workstation and Windows Normal User Edition (Windows 98 and Windows Me) will continue to come with Internet Explorer to provide the most aberration of the most colorful web user experience and XML support. In addition, Windows CE will provide a variety of operating system functions required to run on a small and medium-sized device to support online, offline, and wireless solutions.
.NET ORCHESTRATION
BizTalk Server 2000 is a new .NET Enterprise Server, offers a variety of design tools and runtime environments to coordinate with Web services between any business process group and organizations. .NET Orchestration is the second component of .NET Framework, used to integrate WEB storage system workflows and extend it to scalable cooperative workflow solution structures.
.NET Orchestration solves one of the most common business problems, how to quickly advance the business process and combine it with customers and business partners, and solve technical problems caused by these processes, because these process is distributed in more A hardware platform (running on multiple clients, partners, and service provider locations). The .NET ORCHESTRATION solution for solving these problems is to separate the process definition from its basic implementation. Business process experts have created and managed the development of business processes, and developers will focus on the basic services required to support the development of business processes. The .NET Orchestration visualizer (including in BizTalk Server) provides a coordination point between the process design and the integration of external Web services and messaging systems.
One way to use .NET Orchestration is to integrate separate Web storage system workflow into a larger partner workflow solution structure and expand it.
.NET Enterprise Server
.NET Enterprise Server is one of the comprehensive server series of Microsoft so that you can quickly build and manage integrated, web-capable enterprise systems. By emphasizing scalability in the design, the .NET Enterprise Servers use the latest Internet Web and data criteria from beginning to implement interoperability.
The seven cores of .NET Enterprise Server include:
SQL Server ™ 2000 Internet Security and Acceleration (ISA) Server 2000 (formerly Proxy Server) Host Integration Server 2000 (formerly SNA Server) Exchange 2000 Server and Exchange 2000 Conferencing Server Commerce Server 2000 BizTalk Server 2000 Application Center 2000
Exchange 2000 Server
In the .NET Enterprise Server series, Exchange 2000 Server is a reliable, easy-managed messaging and cooperative solution that combines users and all aspects of knowledge information. Exchange 2000 Conferencing Server provides real-time chat, data, audio, video, and application sharing, use it as convenient as you book through Outlook bookings.
One of the main innovations in the Exchange 2000 Server release is its distributed web logical structure. In fact, according to the number of extended users, the intermediate layer processing capacity or backend processing needs and storage requirements, the front-end service running on its own actual server is separated from the rear end Exchange service and the Web storage system area.
Please click here to view the full image.
Figure 2. Exchange 2000 Server Distributed Web Architecture
The front-end protocol service uses a large number of Internet protocols to support client applications and servers to servers. Client protocol services include HTML / HTTP, POP3, IMAP4, NNTP, and WebDAV (HTTP-based XML), FrontPage and Office Server Extensions protocol, H.323 Audio / Video Conference and T.120 Data Conference Transfer. Server to Server (and Server to Internet) protocol services include SMTP, NNTP, and X.400.
In addition, front-end protocol service supports Outlook Web Access for Exchange 2000 Server (OWA 2000), which can provide Outlook 2000 function as a web ui based on HTML / HTTP Web components, so it is used for Internet information queries, roam users and family access. Very ideal. OWA 2000 can be used as a complete email client, you can access email, calendar dating, and contacts, and you can also access all information stored in your personal and public folders. In addition, developers can also automatically provide feature comprehensive calendars, contact lists, emails, and topics in each component of the OWA 2000 Web UI. Exchange Services implement core messaging and collaboration services, including support for front-end protocol service layer, system management, and server-to-server replication.
The web storage system uses a security hierarchical folder model for storing any type of content without specific structural or semi-structured content (email, document, file, executable), and through a large number of APIs, Internet protocols, one Support for synchronous and asynchronous event models and a workflow engine, add support to access and updating these contents. The latter allows the web storage system to automate the service process, powerful cooperative web platforms.
ADO 2.5 is a strategic Web storage system object model for accessing information related to the items contained in the folder and folders, as well as a single project itself. ADO 2.5 With Windows 2000, ADO is included with the new web storage system OLE DB provider. The most important advantage is that the only, easy to identify URL identifies each item in the Web storage system. In addition, ADO 2.5 is an object model that can be traversed in web storage systems and projects in web storage systems.
A new ADO 2.5 object (ie, ADO record) is used to retrieve the properties of a single folder or project and create a new folder and item. The new stream object provides an attachment to a project (eg Office and XML document) and an effective access to audio and video streams. The traditional ADO record set is used to retrieve information related to the item collection.
The new Web Storage System Cooperation Data Object (CDO) library series is based on the ADO and OLE DB, providing higher levels of projects and management functions in Web storage systems and Exchange 2000 Server, object-oriented access. (If the Web Storage System CDO is implemented on the basis of ADO and OLE DB, further emphasizing the important role in ADO when data accesses across Microsoft platforms).
To compatibility with existing email clients (including all versions of Outlook and Outlook Web Access for Exchange Server 5.5), the Web storage system also supports MAPI and CDO 1.2 APIs.
To be compatible with the simplest desktop applications, the Web storage system also provides an Installation File System (IFS) driver to store the web storage system hierarchical folder to the hierarchical file system in the Windows Explorer. Tips or to open and store the standard file system dialog box. The IFS driver folder can also be shared like a normal file system folder and use the traditional server message block (SMB) network file sharing protocol access.
This collection of a large number of web storage systems API and Internet protocols will enable new collaboration services provided in "Tahoe" to implement, "Tahoe" is the second Web storage system-based collaborative server product. In addition, future Office versions will come with a version of Web storage system, which will run on local client PCs and support Active Server Page and direct synchronization and caches with web storage-based products on the server. .NET Building Block Service
The Building Block Web Service is a commercial web service provided by Microsoft and other Internet service providers, and developers will be able to make full use of these services in applications and web services developed by Microsoft. The core Microsoft .Net Building block Web service will include:
Identification Notification and Message Transfer Personalized Storage Calendar Directory and Search Dynamic Transport
The "Identification" service is based on the PASSPORT service described earlier. Notifications and messaging are unified services that integrate instant messaging, email, fax, voicemail, and other forms of notifications. Personalized service controls the ways and time of notification and messages, and how to coordinate information on multiple devices. The .NET Storage service is a digital storage service on the Internet, which is equivalent to the current bank's safe service. The user will keep the key and control the access.
The calendar is a comprehensive service that covers your work, social and home calendar, which combines with the data provided by real-time, so that other web services can determine your current situation. By directory and search, you can find services and personnel. In addition, developers and applications will be able to use architectural queries to ask questions related to these services. Dynamic Transfer Services allows Microsoft, ISV, Solutions Partners, and other developers to add more levels of features and provide reliable automatic upgrades as required without user installation and configuration.
General Description, Discovery and Integration (UDDI) is developed by Microsoft, IBM, and Ariba, UDDI is a specifications and benchmark tool for web services, XML-based distributed information registrations. UDDI registration allows you to describe and discover web services provided by an organization. Each UDDI registration project includes a description of services and technical information related to services provided. Please visit the UDDI Web site (English) to get more details.
.NET Framework
.NET Framework includes five basic components that developers will program them:
Public language runtime .NET base class data and XML transmission Web service Web UI
Please click here to view the full image.
Figure 3. .NET FRAMEWORK: Application provides web services and Web UI
Public language operation
The design goal of the public language runtime (CLR) is:
Greatly simplify the development of applications. Provide a secure and reliable execution environment. Support multiple programming languages. Simplify development and management.
All programming languages allow for all programming languages to get the same functionality and actively participate in the .NET development environment. This means that in the .NET Framework, you can run a powerful Microsoft .NET language such as C ®, Visual Basic, C #TM and JScript®, but also Microsoft partners can run more than 20 other languages on the .NET Framework.
This development work should be used in two key features. First, compile all languages into an intermediate language (IL). Similar to the concept of pseudo code or Java byte code, all languages are actually compiled into a meta language. The CLR then compiles IL (or in advance) at any time to run on any environment and any CPU. In addition, all language execution tools that support the CLR will automatically inherit all features of Visual Studio .NET, including compose, debug, compile, object model, and new server resource manager feature, and also to its own runtime,. The NET base library and third-party debugging procedures, horizontal full regulators, code effective zone analyzers, and document tools are improved. In addition, CLR avoids many unnecessary work, such as component registration, GUID, IDL file, HRESULT, IUNKNOWN, ADDREF / Release, and CocreateInstance. All CLR languages are object-oriented languages and fully support inheritance of various languages, including inheritance of previously considered non-OO languages (such as Visual Basic and COBOL). This includes classes that are written in a language written in a superclass written in the second or third CLR language. Finally, all .NET objects are automatically collected by new multi-generation markers and compress useless information collection programs.
Base class
In order to replace various class libraries and application frameworks existing on a typical desktop computer or server, the .NET base class has been developed to provide a single, public runtime collection for all .NET CLR languages, and take full advantage of Various functions of the CLR and .NET platforms.
The top base class hierarchy includes:
System.Web.Services System.web.ui system.xml system.data.ado system.data.sql system.winforms system.security system.io system.Runtime
Data and XML
The .NET Framework data and XML components involve the way information between new and existing components, web services, and applications.
ADO is key .NET innovation, also represents a significant improvement to ADO (ActiveX® data objects). ADO is a standard programming model for creating distributed data sharing applications. The core of this technology is an ADO dataset that can store multiple database tables and table relationships in memory. The ADO table can be used as XMLDATADOCUMENT and the relational table and the XML DOM object (different from ADO , the ADO data set is more than a single table, and only limited XML support).
The dataset is a view disconnected with XML or database data (means that the data is set in memory, but there is no effective connection to the underlying data server). They can be stored in the cache of the local data server, and can also extend an extension to any layer of your solution architecture. If you need to store the dataset for a disconnected offline solution, XML can be used as a transmission format or as a reserved format.
In addition to supporting data extends to the cache of the intermediate or client, ADO has coordinated all modifications to the underlying data server, including table creation, architecture modification, relationship, and restriction management, parallel management, and transactions. Other ADO modifications include adding, select, editing, deleting, and removing data from a table or XMLDATADOCUMENT.
The interface or adapter between the ADO data set and the underlying data storage is called a managed provider. The .NET platform will include a managed provider for SQL Server, XML, and ADO. The consolidated provider of the Web storage system will soon be available.
Extension in the current technology
Although the .NET platform is a new platform for creating an integrated collaborative solution, it is based on the existing technology, and strives to simplify its design, implementation, deployment, and management. The typical .NET server or server model is described below. Please click here to view the full image.
Figure 4. .NET server model architecture
This model architecture is a widely used architecture in most Windows servers. However, the .NET platform makes it easier to display data, XML, Web Ui, and Web services. .NET public language runtime and base classes provide all CLR programming languages universal to manage memory environments, making it easier and more easily create more powerful components, subsystems, and applications. ADO is created based on ADO, providing scalable dataset cache and permanent storage models to manage disconnected online conditions and disconnected data. The .NET application provides web ui and web services that communicate with users so that developers can more easily display the application's functionality so that other servers and client applications can be connected thereto.
Microsoft Web Storage System
The web storage system uses a hierarchical folder model for storing any type of content or semi-structural content (email, document, file, executable), and through a large number of APIs, Internet protocols, one Support for synchronous and asynchronous event models and a workflow engine, add support to access and updating these contents.
The web storage system supports the following APIs and Internet protocols:
Data Access API: ADO 2.5 and Web Storage System CDO Client Access Protocol: MAPI, HTTP, POP3, IMAP4 and WebDAV, and FrontPage and Office Server Extensions Protocols Install file system (IFS) driver, allowed as M: drive installation Layered file system Access the folder, subfolders, and projects in the web storage system hierarchical folder storage
In addition, Exchange 2000 Server, Exchange 2000 Conferencing Server and Active DirectoryTM support the following APIs and Internet protocols:
Server Transfer Protocol: SMTP, NNTP, and X.400 Real-Time Cooperation: H.323 Audio / Video Conference, T.120 Data Conference Transfer, Exchange Instant Messenger, and Exchange Chat Directory Protocol and API: LDAP and ADSI
Please click here to view the full image.
Figure 5. Web Storage System: API and Internet Protocol
Through this group of APIs and Internet protocols, Exchange 2000 Server and Microsoft Web storage systems have become a powerful cooperative solution platform that provides automatic business solutions.
Hierarchical object storage
Folders in the Web storage system can be regarded as:
Database table with dynamically expanded and flexible architecture. Layered file system. Hierarchical object storage.
It is understood that the key to understanding these different aspects is to understand the basics of folders, subfolders, projects, and attributes. For most users, their understanding of the Web storage system concept of folders and projects is based on lists and forms provided by Outlook 2000 or similar personal information manager. It is important to understand that these concepts are more basic.
The hierarchy of the folder (the top layer folder starting to the hierarchy) is called the top hierarchy (TLH) in the web storage system. The web storage system folder is used in the storage item collection. The project has a set of properties related to it. The attribute is a simple name = value pair, where the value can be a single value, or a multi-value. The name of the attribute is limited by the XML namespaces thereafter, such as DAV: or URN: Content-Classes. The list of items and its properties can be retrieved as an ADO data set or a WebDAV XML document. This is why the Web storage system file is formed closely to the database table. In addition, each item in the folder does not have to be exactly the same as the properties set of other items in the folder. A property can be dynamically added to any separate project, and other items in the folder are completely independent.
Please click here to view the full image.
Figure 6. Web storage system: folders, projects and properties
Some properties have special, definition clear meaning and importance. A primary property is Boolean properties DAV: IsFolder. The IsFolder property determines a single project or a collection of more items (or subfolders). The hierarchical folder storage of the Web storage system is implemented by this property. That is, the ISFolder attribute value of some of the items in the folder is true, indicating that the item is a logical subfolder. Then, the ADO GetChildren method can be called on the recording object of the item to return a list of each item in the subfolder.
Each item in the Web storage system has unique, user-friendly URL, can be used to identify and access the project. For items in your personal mailbox, the URL format is:
http://server/exchange/userid/folder/.../subject.suffix
For items under TLH, the format is:
http://server/tlhname/folder/.../subject.suffix
Items can also be any document, including email letters, calendar dating, contacts, any Office document, HTML page, ASP page, XML document, or audio or video stream. Here are some examples of more recent real life.
The URL of the email in my personal inbox is similar to the following form:
Http://ec3-tor-11/exchange/mherman/exchange 2000 development.eml
The URL of the contact item in the public folder is similar to the following form:
Http: //ec3-pfs-04/public/ec3/shared/contacts/michael herman.eml
Project and content classes for web storage objects available for use
Another major project attribute is DAV: ContentClass. For most applications and services established on Exchange 2000 Server and Web storage systems, they use a project's content class properties to determine the type of object represented by the project. For example, the content class value of URN: Content-Classes: Message indicates that the item is an email letter and should select its properties from those suitable for email letters. Other important content classes include: URN: Content-Classes: Appointment, URN: Content-Classes: Person and URN: Schemas-Microsoft-COM: Exchange: WorkflowProcessDefinition. Person is a content class value for contact items. The web storage system provides architecture and attribute definitions of more than 30 common object content classes. Similar to the attribute name, the content class name is also the XML name space it belongs (or a certain inherent web storage system name space, or is for your own custom application or organization namespace) .
Mapi applications (such as Outlook 2000) support similar project properties called Pr_Message_Class (formally introduced in http://schemas.microsoft.com/exchange/outlookmessageclass (English)). Client applications can use the content class properties to determine how to display a project (and its property list) to the user. If the content class is Person, OWA 2000 uses HTML to provide the item as a contact, while Outlook 2000 will use a built-in Outlook contact form to display the properties of the item. In Outlook 2000 example, the equivalent pr_message_class value is ipm.contact. To make the OWA 2000 and Outlook 2000 forms are properly used for the same contact item set, the content class and pr_message_class attribute values must be set correctly. On Exchange 2000 Server and Web Storage Systems, the content of the folder is the list of projects - a list of each project and its related properties. In addition, some items may set the IsFolder property to TRUE, indicating that they are subfolders of other projects.
To avoid confusion, the content class name can also be used to name XML-based architecture items (called content class definition). Content class definitions are defined for a list of specific object classes in the folder storage. The client application selection is fully suitable for the application (and standard usage conventions). The content class attribute of a project is just the name of the object class of the project.
You can also export a new content class architecture for the solution from the inherent content class, or create a new content class from the beginning. As you may guess, architecture and attribute definitions are just a project with its own special content class (URN: Content-Classes: ContentClassdef and URN: Content-Classes: Propertydef).
According to expectations, most applications can create their own architectural folders that are globally based on instances of this particular solution.
ADO or WebDAV? Select by you
In addition to using the URL directly accessing items or objects in the web storage system, you can also store the execution query. Whether you are choosing to use ADO or a WebDAV protocol, all of the same basic query processors can process. Most Windows developers are familiar with ADO, but the Exchange 2000 Server version of the web storage system is not familiar. It has such a limit that can only be applied by a client or server that is running on the same computer as a web storage system. The program is used, so the Web storage system OLE DB provider is not natural to access it.
For developers who are familiar with ADO, you can use a provider called OLE DB Provider for Internet Publishing (MSDAIPP) that runs on the top floor of WebDAV (and FrontPage Wec protocol) that supports remote ADO connection. You can read the OLE DB Provider for Internet Publishing Guide (English) for details.
Note: CDO's Web storage system version cannot be remotely accessed via Web storage system or MADAIPP OLE DB.
WebDAV is an extension to HTTP, which can be remotely accessed by defining, and the parameter format of the extended request is an XML document. After the query processor stores the folder stores the query, it returns the results of the XML document form to the issued application. For ADO and WebDAV queries, you can use the familiar SQL query language syntax. Support Select *, Like, WHERE, ORDER BY, GROUP BY, Contains, Fretext, and column name, but not support JOIN and MAX, MIN, SUM, etc. In addition, the SCOPE option of the FROM clause can be used to specify only the current folder (excluding subfolders) or search for the current folder and all of its subfolders. The former is called Shallow search, and the latter is called a deep search. Here is an example of search:
Select Name, Workphone ('Deep Traversal of "
Expanding web storage system features
Many types of solutions can be developed through the data access methods described earlier. However, this usually needs to expand the functionality of the web storage system. The function can be expanded by two mechanisms:
Traditional intermediate layer components (in this article refer to the front-end web service component) event-driven backend components
Front End Web Service Components: See Figure 4, intermediate or front-end web service components are used to place any natural or custom object into folder storage by additional functions; for web services, usually used for classes or classes The function is provided as a .NET web service.
Event-driven backend components: Although intermediate layer components can be used to enforce business rules, they only apply to those applications that actually call intermediate layer components. A more effective method is to use the rear end assembly that is driven as shown in Figure 4.
Any changes to the project in the Web storage system, whether the project is a simple project or a folder, can inspire an event, causing some custom code. The executed code is called an event pool. In the Exchange 2000 Server version of the Web Storage System, the event pool is executed as a COM or scriptized component.
When the event pool is registered as a specific event in a specific folder, the web storage system passes the event information structure, including the ADO record of the project created, changed, or deleted. In addition, the event pool registration specified relative to the changes made to the project, the pool is synchronous or asynchronous.
Web storage object support workflow
In addition to developing the above-described storage level event pool, Exchange 2000 Server Workflow Engine and Workflow Designer For Exchange 2000 Server can work together to perform a higher level of workflow event service set.
Workflow engine
In the Exchange 2000 Server version of the Web Storage System, the workflow engine is implemented as a COM component. In addition to running the performance and easy management advantages in COM , the web storage system fully utilizes the role-based COM security model to determine who can activate the Web storage system object in a particular folder through the workflow.
The workflow engine uses a low-level storage event pool interface to call the engine as long as you have changed in a folder that supports the workflow. At the same time, the workflow engine provides a set of higher levels of workflow events for Workflow Designer.
Workflow Designer for Exchange 2000 Server
Workflow Designer for Exchange 2000 Server is a visual designer for activating web storage system folders and projects through a workflow. It is provided as part of the Microsoft Office 2000 Developer version 1.5. The design level is used to draw a status conversion diagram representing the business process. The node represents the status of a particular item or document at the specified time. If the perspective of the business process is required, an arrow should be drawn between two states. The arrow indicates that the arrow is switched from one state to another. Conversion is limited by a certain condition, which allows for a project to be changed from the current state to a new state. Typically, the condition will test one or more properties of the ADO record object of the changed item, which is automatically provided when the workflow event is thrown. As part of the conversion process from the current state to the next state, the Visual Basic Script operation script can be performed to access certain external functions, such as sending an email notification or integration with the BizTalk Server .NET Orchestration process integration. Use a web storage system in a mobile device or offline solution
Currently, the Web storage system is only available as server-side technology comes with Exchange 2000 Server, but will be available in the Tahoe release, Tahoe is a Microsoft's web storage-based cooperative server product.
The future Office version will also include a web storage system for the client, which will support the automatic cache for the server's web storage system content, and also supports universal web content. In addition, the local Web storage system will also support the reservation to copy the server content to the local storage. In addition, the local Web storage system can fully dynamically retain the Web site by supporting the Active Server Page (ASP) on the client. With this feature, new categories that can be utilized using many fully operable, dynamic, unconnected mobile devices or offline solutions.
illustrate
The figure below describes how three types of client applications can access and update the properties of a project.
Please click here to view the full image.
Figure 7A. Client function picture description
Take Outlook 2000 as an example, the MAPI client can create a new project, update the properties of the existing project, or delete separate items or project properties. Similarly, by using a large number of APIs and Internet protocol sets, traditional Visual Basic, and web server applications, the traditional Visual Basic, and web server applications can be interactively operated and the instance can be interactively operated.
In addition, project changes made by these client applications can trigger event-driven backend logic instructions, including workflow processes performed in the Exchange 2000 Server Workflow Engine. Workflow Designer for Exchange 2000 is used to create and update business processes saved in the Workflow Definition (WFD) file. The WFD file can be stored in a folder that supports workflow, or stored in a public application folder (similar to shared content class architecture project). The following figure describes how the back-end workflow logic instructions of event-driven devices can respond to events that create new projects or change existing projects.
Please click here to view the full image.
Figure 7b. Picture description of the backend event drive
When the user doubles or indicates that when they want to open a project, the application first checks the content class (ie, pr_message_class) and browser parameters to determine the properties of the selected item using the appropriate Web UI or form.
Web storage system and .net platform
The figure below describes how the web storage system meets the needs of today's .NET Framework. In the next part foreground lookout, some new .NET features are introduced, which is expected to be provided by the Exchange Development Team in the next few issues of the Web storage system. Please click here to view the full image.
Figure 8. Web storage system and .NET architecture
Web service
SOAP Toolkit for Visual Studio 6 can now quickly develop custom web services for Web storage systems. Located in http://msdn.microsoft.com/exchange/ (English) and http://msdn.microsoft.com/xml/general/toolkit_intro.asp (English) Exchange Server download is excellent resources. Although SOAP Toolkit makes it easier to develop Web services and connect to Web services, the SOAP protocol standard series does not require a specific toolkit or platform to implement all kinds of Web services.
Inside the SOAP Toolkit, the infrastructure required to provide the SOAP web service is included on the Windows operating system, which is also required to use these services through Visual Studio 6.0. SOAP Toolkit makes all critical steps required to create a Web service.
If there is an already COM component, SOAP Toolkit can easily convert the component into a web service and is used in applications (e.g., Visual Basic). SOAP Toolkit includes tools that extract type libraries from existing COM components and convert them into a SOAP Protocol Language (SCL) protocol (representative of the function, such as interface, method, and attribute). It will also generate various documents necessary to implement the services used by other applications. You can also generate this protocol manually.
Once you have a protocol, the toolkit will include extensions to Visual Studio, automatically convert the protocol into a proxy, you can program the agent like a local COM component. The kit also includes a SOAP listener that receives SOAP calls and transfer them to the appropriate service.
The most common is to use the traditional SOAP remote method call protocol to call the web service. The following XML-based standards support SOAP: XML Architecture Data Type (XSD), SOAP Discovery Protocol, Service Protocol Language (SCL), and Simple Object Access Protocol (SOAP) protocol itself. In addition, data remote web services use XML / HTTP protocol, such as WebDAV. See "Data and XML" section for details.
Web ui
In order to support the rapid development of Web UI, the web storage system includes three main technologies:
Web storage system forms, including the Forms Registry and the Exwform Web Storage System Forms Form Generator. Outlook Web Access for Exchange 2000 Server Web Components. Outlook and Instant Messenger View controls.
The form registration attribute is stored in a separate item or object called "Form Registration". The form registration property determines the web ui to use by the project property based on the content class and various other conditions (including the user's browser type, request type, query string parameter, etc.). The Web UI to use can be identified by a traditional URL or a custom form generator DLL of a custom form generator DLL of the URL or Web Storage System server. Custom form single generator DLL acts as an extension of the ISAPI application, indicating that they are executable and are scalable. Outlook Web Access for Exchange 2000 Server is executed as one of the DLLs. Inherent or custom form providers can access the HTTP request header collection, and ADO records for project properties requested by the user browser. The Web Storage System is included with an inherent form provider EXWFORM Web Storage System Forms. Developers create a web storage system form that is the same as the ASP page or web page that is created using DHTML dynamic data. The EXWForm form provides a set of shortcuts to reduce or avoid the need to use any actual script code on the page. All web storage system form providers (inherent or custom) are executed on the server.
Finally, OWA 2000 uses most Outlook 2000 client functions as a web component-based Web UI. OWA 2000 can be used as a complete email client, you can access email, calendar dating and contacts, and you can also access all your personal and public folders. In addition, developers can also automatically provide feature comprehensive calendars, contact lists, emails, and topics in each component of the OWA 2000 Web UI.
Data and XML
To support relational data and XML transmission through .NET Framework, the Web storage system needs to support ADO 2.5, WebDAV, and Web services.
ADO provides a server-side data access object model that most Visual Basic and ASP developers are familiar with. WebDAV (W3C Distributed Writing and Publishing Protocol) supports remote access data using XML-based HTTP requests and response protocols. The data returned by the WebDAV request can be accessed via the XML Document Object Model (DOM) or through OLE DB Provider for Internet Publishing (MSDAIPP) (sometimes called "Rosebud") as a remote ADO recordset. For more information, see the "Tabi Object Storage" section of this article.
Finally, the application can use XML / HTTP-based SOAP protocol suite to perform method calls to perform method calls running on the remote web server, and the result is returned as the XML document in the SOAP format.
Component runtime environment
For the Exchange 2000 Server version of the Web storage system, the supported component runtime environment is COM .
Base class
Do not include servers to server transfer protocols, support six base classes in the Exchange 2000 Server version of the Web storage system:
Customer Access Protocol and API Data Access Mountable File System (IFS) Driver Collaboration Data Object (CDO) Real-time Cooperation Event
Details of the APIs and protocols belonging to each group can be found in the "Microsoft Web Storage System" section of this article.
Visual Studio and Office
To shorten the development cycle of the application, improve the work efficiency of developers, and powerful tools and platforms are essential. Currently, it is to establish .NET application and service, Visual Studio 6.0 and Office 2000 Developer Edition (including Outlook 2000, FrontPage 2000 and Workflow Designer for Exchange 2000 Server) are the main tools. Joint Web Service Model
There are two main ways to establish a cooperative solution through Web services: simple and union. The simple Web service is implemented on a single web server and only provides a single web service. In Figure 9, server X, server Y, and Travel Broker Web sites provide simple web services and applications, directly calling methods provided by these web services.
With the development of web services, specialization is achieved in the form of a particular server with a specific server from a functional or horizontal development angle, or from a reliability perspective. The following figure takes the server x and server Y as an example. However, when the web service goes from one server to the second server or the third server, this situation will make the situation complicate for developers, operators, and Web services using applications. "Good Drugs" that relieve this trouble is a joint web service and UDDI.
The joint web service is advertised on a single, well-known front-end web server (called the main web server), and the web service component can be executed on any number of intermediate layer servers. Applications that want to connect to the web service only need to access the SOAP protocol on the main web server, and the remote method call will automatically execute the corresponding intermediate layer server. Excellent options for many types of users' main web servers will be the Exchange front-end message transfer and cooperation server. With the development of the web service, UDDI registration will become the option to advertise the business and technical information about business and technical information about an organization's Web service.
The joint web service notified on the Exchange server can include:
Locally, you can immediately put into use of the EXCHANGE Web service local custom web service comes from any number of internal or external .NET servers
This is described in Figure 9.
Please click here to view the full image.
Figure 9. Multi-United Web Service Model
The last case described in Figure 9 is assignment call. Assignment calls occur when a Web service represents another web service representative of the original homemade application. In Figure 9, the Exchange server provides a joint web service called by Outlook. If the operation requested by the Outlook user is an outgoing travel subscription request, the Exchange server assigns the call to the web service running on the travel agency's Web site.
In addition, the Web service is allowed to organize the organization whether to run your own infrastructure or an infrastructure from the outside without impairing its control or accessing Web service capabilities.
Travel agency cooperation schedule example
Let us first look at the outgoing travel bookings introduced in the "Web User Experience" section. An Outlook user wants to plan a trip. In theory, the following or all information may be required to complete the travel agency's subscription process:
Parents travel time travel destination preferred hotel car rental special dietary precautions to smoke preference rental car company preferred airplane seat Changke reward account payment information
Travel agencies may already have the above or all information. However, this information is not necessarily the latest information, or the person may make a reservation by travel agencies who never handle personal travel businesses. We will first see the design examples of the joint web service, then look at another method of low efficiency.
Multi-average web service example
In the above multi-federated service model, Outlook users have an Outlook dating form or web form that has been customized for personal travel. First, the form will need to be registered with a new content class (ie urn: content-classes: VacationBooking). It also needs to be set correctly Outlook OutlookMessageClass. The architecture of this content class may contain an attribute for each information in the above list, but why should we be so cumbersome? For most travel travel, only the top three or four information is unique. When will we start? where are we going? Where is we want to stay? Do we want to rent a car? These properties are required to be part of the content class architecture as an outgoing travel. However, if you go out that the travel subscription content class is exported from the date content class, you only need to add destinations, hotels and car attributes to the new architecture and new outgoing travel bookings.
When adding a new item to the calendar of the Outlook user, the event pool in the workflow engine is executed, and the value of the content class of the new project is checked for an outgoing trip through a condition. If this value is an outgoing travel subscription, the workflow of the project will be converted to the next state in the business process and perform an operation script associated with the conversion. The operation script will start the assignment call process, assign the call to the web service provided by the travel agency's Web site, and send four information collected by the outgoing travel booking form.
Any good travel agency will ask about your other preferences and ask your payment method. How is this implementation? If a travel agency calls or sends an email, the information is also entered on the original outgoing travel booking form. However, the actual implementation is that the travel agency's application performs its own remote approach or data access call on the second web service of the Outlook user's Exchange server. This service provides users' personal preference information to authorized users (such as travel agencies). Personal preference information is stored in one position as a project in the personal folder of Outlook users. This information is always the latest and secure.
Web service architecture in efficiency
In order to emphasize the advantages of the above method, you can take a look at the Web service architecture of low efficiency in the same outgoing travel booler described in Figure 10. In this case, there is no workflow, it is impossible to assign calls to the travel agency's web service, and there is no callback Web service for providing personal preference information on the Exchange server.
Please click here to view the full image.
Figure 10. WEB service architecture with low efficiency
In this case, the additional client code will bring all the required information to a large remote method call to the web service of the travel agency. If you need any other personal preferences, where should the travel agency's application call to call? According to estiminal, the application should call the outgoing travel subscription code executed within the Outlook client. However, it is more likely that the travel agency sends an email or calls to request this information, and the Outlook user gets this information from the project from its personal folder, thus causing waste and delays in time.
These two protocols have highlighted the role of the .NET platform and the framework and focused on the value of the web service.
Look forward to
It is expected that in the next few releases of the Web storage system will provide other support for each component of the .NET Framework.
From the web ui point of view, the web storage system form will continue to be developed through integration with ASP . The implementation of the Forms Registry and Outlook Web Access for Exchange 2000 Server Web UI will also continue to improve.
From the data and XML transmission perspectives, the Exchange managed provider will provide support for the ADO data set, including supporting data outward to a solution architecture in any layer in any layer. Cache and permanent storage. Data in the ADO table can be used as a relational table (similar to the ADO data set), ADO XML data document, or as a traditional XML DOM object access. In addition, it is expected that the integration of the Web storage system and the .NET public language is more closely.
in conclusion
The Microsoft .NET platform is the first platform that best uses calculations and communication advantages, which will greatly advance the revolution of calculation and communication technology in the first decade of the 21st century. It will promote the rise of new Internet services, and thousands of developers can create revolutionary software for online services and services. It will allow you to control or better control your privacy, digital identity, and data.
The Exchange 2000 Server product team is very wonderful to know feedback from your Microsoft .NET policy for Exchange 2000 Server. Please send your comments to e2knet@microsoft.com.
For more information:
http://www.microsoft.com/china/exchange/ (Chinese)
Http://msdn.microsoft.com/exchange/ (English)
http://msdn.microsoft.com/wss/ (English)
Microsoft Outlook and Exchange Programming, Second Edition (English)
Thank you
In the Exchange 2000 Server product team, Gordon Mangione, Alex Hopmann, Brent Ingraham, Harry Katz, Keith McCall, Chris Vandenberg, Thomas Rizzo, Lyle Curry, Jeff Wierer, Kevin Hunter, Bill Skilton and Microsoft EC3 Enterprise Consulting Competency Centers Group Acknowledgments Without their strong support, encouragement and care, this article is impossible to presen in front of you.
Legal information
This document is just initially elaborating the author's point of view and may make greater modifications before it is used for commercial publishing. This document is only used to provide information, and Microsoft does not make any promises or suggestions for the information in this article. Information in this document is subject to change without notice. All risks and consequences using this document are borne by the user. The company, organization, product, person, and event examples cited herein are fictitious. There should be no association with any real company, organization, product, person or event, should not be intentionally or speculated. Users have a responsibility to comply with all applicable copyright laws. Not limited to the authority specified by the copyright law, no part of the retrieved system, store or introduce any part of this document without Microsoft Corporation, or in any form or means (electronic, mechanical, photocopy) , Recording, etc.) perform propagation.
Microsoft has patent rights, patent application rights, trademark rights, copyright or other related intellectual property rights. The content provided in this document does not mean that you have licensed that you have these patents, trademarks, copyrights, or other intellectual property rights.
Works are not published. © 2000 Microsoft Corporation. all rights reserved.
Microsoft, Exchange, Outlook and Windows are registered trademarks or trademarks of Microsoft Corporation in the US and / or other countries (regions).
The real companies and product names mentioned here may be the trademark of their respective owners.