Author: Chen Binghong
December 2004
SMART Client Introduction
From the traditional architecture of the past large host and terminal machine, what kind of software development mode will there be in the future in recent years? The answer is Smart Client. Whether it is a Microsoft launched Office System, or it is expected that the LONGHORN launched in 2006, we can see that Microsoft is only more and more powerful, and the functions are more powerful, and these software are common. It is a variety of features with Smart Client. In fact, use these software unconsciously, we have enjoyed the benefits of the SMART Client. As early as 2002, Gartner, a well-known market research consultant, has already proposed a research report. In 2005, it will have a software that uses .NET developed by up to 60% ratio, using Smart Client's application architecture, details Please refer to: http://www3.gartner.com/5_about/press_releases/2002_04/pr20020402a.jsp
This article mainly explores the architecture composition of Smart Client and its design principles, the advantages and disadvantages of the Thin Client / Fat Client / Smart Client, the five major features of Smart Client, and how to use this five major features, how to use it when developing. How to use. NET platform and tool development Smart Client, and SMART Client's related resource introduction, etc.
Thin Client / Fat Client / SMART CLIENT
Figure 1 THIN Client / Fat Client / Smart Client
Note that the SMART Client mainly constitutes the architecture and the components, and the three are different from the THIN Client / Fat Client / Smart Client. Most of the software we use can distinguish between Thin Client, Fat Client, the so-called Fat Client can imagine a table-top software, which has some features, such as rich user interface, easy to develop, fast response time Etc. The biggest disadvantage of FAT Client is that the functionality of the software must be executed in the client, so there is a big difficulty in a large deployment, plus the software itself has a large piece of functionality needs to be attached to the client, so that the future will be updated Difficulties. When using VB / VC to develop such software, it is often the DLL hell problem that causes a headache.
The most common Thin Client is a commonly used browser. This software features that the functionality of the software exists in the server side, and the client does not need to make any installation and deployment work, so it has easy deployment, easy to manage With the update, the execution environment will not be attached to the client environment. However, Thin Client has some congenital restrictions. If you have to execute the functionality of the network, it is possible to limit the use of the user's user interface, as well as the difficulty of development due to architectural factors.
Therefore, the concept of Smart Client is born, and it can be clear from Figure 1 to see the Smart Client across Thin Client and Fat Client, which integrates the advantages and disadvantages of the Fat Client / Thin Client to remove the prostitute, and target the The features that need to be provided have some design architectural guidelines that allow developers to refer to these instructions to design a new generation of software. The following functions need to be developed with the features of the SMART Client with the features they need, and the concepts and methods they need to develop such software are described. Smart Client Architecture
Figure 2 SMART Client Architecture
The Smart Client can fully use the resources of the Internet and Web Services to access a variety of external systems, this and the Thin Client of the browser is very similar to the software that relies on the network resources. SMART Client and common table software can use all resources of the machine computer to give full play to client computers. It can therefore be said that the Smart Client is a combination of Thin Client and Fat Client's advantages, and a new software mode is integrated, however SMART Client does not be simply classified as a single-specific Thin Client / Fat Client.
In this way, the reader may think that the Smart Client is the function of Win Form in the window environment. Of course, this is also one of the SMART Client, but the real Smart Client also has traditional Win Form's lack of functions. In addition to WIN FORMs in the window environment, Microsoft also provides many related soft harders available to develop Smart Client, such as Office System, Tablet PC, Mobile Device, .NET Compact Framework, etc. If the hardware column listed above uses the Smart Client architecture to develop application software, it has the ability to exchange heterogeneous system information through network access, as well as the operational capacity provided by its own hardware resources.
Developing the design of SMART Client on these soft hardware has great elasticity, allowing developers to achieve software that best suits the Smart Client architecture based on hardware devices and software characteristics. Since the Smart Client uses many network resources, such as access to external system data, deployment, and update software, this article will introduce the design issues of the servo-side and clients when developing Smart Client, and uses suitable in both parties. The development method and deployment mode can only play the biggest benefits of Smart Client.
SMART Client and browser will use many network resources, and you can also leave the application of the network, but the SMART Client has several features that make them very different from the browser:
Separation of business logic and user interfaces can also place part of the business logic on the client, allowing clients to use so-called offline access data features, while using client machine operational resources, let users More efficient in the interface is placed on the management and quick-taking mechanism of state maintenance in the client, so that the status data and quick-taking information of each client is used, and the information is taken to pass the information. Time data can be stored on the client to reduce the resources spending the server maintenance client status information
Through Figure 2, the overall architecture of Smart Client, which contains the Smart Client containing hardware devices such as PC, Notebook, Tablet PC, Mobile Devices, which all have web services through the intermediate layer, access rear end servers The functions of various services provided, such as common weather inquiry, stock price query, etc. Through Visual Studio.net development tools and Smart Client design architectural principles, we can develop a Smart Client that provides the best software experiences for users in a short period of time. Smart Client Core Features
Figure 3 SMART Client core features
Before the development of Smart Client, the first thing to understand is the overall architecture of Smart Client, and the features they have, after these concepts, we can make the system that best playing a Smart Client feature.
There will be many factors in real cases, but the overall Smart Client has some advantages and features that integrate Thin Client / Fat Client, which can be seen in Figure 3 is architectural. Net Be realized on the platform:
Make full use of the operation of the unit of the unit and the offline function to use the Web Services access network resource smart software deployment and automatic update to provide various device platform development
Hereinafter, the features and development methods provided in the Smart Client architecture will be described below:
Make full use of the computing function of this unit
This unit is supplied to Smart Client to two categories: hardware and software.
In the hardware level, Smart Client fully uses the client's hardware calculation capabilities. For example, in addition to the powerful computing function of the personal computer, we can also perform voice input through an external microphone and built-in sound card, which further achieve the function of speech recognition, and use the webcam camera to dynamically capture images and provide video streams. Or use the functions provided by the bar code card, the RFID card reader, etc., which are all the resources that cannot be enjoyed using the browser this Thin Client.
Since software developed using the Smart Client architecture can access the functions provided by these native resources, there is a lot of elasticity when developing software, and it is not possible to use the browser to access the browser. Lost many capabilities that use local hardware resources.
If you want to fully use your own hardware resources, there are some things that you must pay attention to:
Safety Consideration - The client must have enough permissions to access the native resources. If the user does not have the ability to access the resources on this machine, the Smart Client will not use the functions provided by these hardware will result in many design. Good features cannot be used for deployment - Smart Client should have the ability to detect their hardware devices, and assist users to install and download the drive-related drives when appropriate, and to be hard-working After the operation, the Smart Client will give full play to the functions provided by the hardware.
As far as the software level, the Smart Client should be able to cooperate with existing software, and can add the functions of the Smart Client on these software, and the commonly used software contains everyday we are familiar with the Office, with The company is internally used in various software on business processes.
In addition to the function of using these software, it is also necessary to allow these software to communicate with other systems or other devices, so that they can exchange data and cooperate with cooperation, so that the effect of 1 1 = 3! Since these software have its responsible functions, it is necessary to fully consider the characteristics and use categories of each software when integrating these software development related Smart Client. When developing these software, it is also necessary to have the ability to access external system services through the network, not just a simple function of the set software itself. In addition to using the function of the software itself, Services and other methods use the services provided by the external system to fully exert the function of the software itself and integrate resources of other systems.
For example, Word itself does not have a translation function, but we can use the "Reference" in the work pane through "Translate", access the translation service provided by the WordLingo website. We can also develop our web services, such as accessing daily stock prices and integrating hub analysis in Excel to develop stock charts that meet demand.
Therefore, the reader can understand the software with the Smart Client function, which should be capable of using both software, such as data analysis, chart drawing, etc., because these software can sufficiently carry out the computing power of the unit, therefore The operation of the data is very efficient, thereby matches the additional service functions provided by the external web services to develop these Smart Clients to play infinite imagination, integrating a wide variety of materials and resources together to play Maximum utility of software.
Reference service example
Through an example of an actual stock price query service, it can more appreciate the soft function of the smart client. First connect to http://office.microsoft.com/zh-tw/marketplace/CE063644961028.ASPX, there are several reference services developed by Taiwan Microsoft and manufacturers in Taiwan:
Tourism Reference Service: Tourism - Travel Information Service for Microsoft Office Online News Reference Services: Joint Knowledge Base UDNDATA.com Wealth Management Reference: Sun Sheng Finance - Instant Quotation
Choose an instant offer using Yinsheng Financial, will connect to http://www.jihsunbank.com.tw/office/main.htm, here there are some installation steps, first turn on Work pane in Word (Ctrl F1) , Select the reference material, and click the "Reference Library Options ..." at the bottom, open as shown in Figure 4, click "Add Service", will open the picture as shown in FIG. Copy URL http://office11.jihsun.com.tw/jsresearch/registration.asmx Adjusted into "Address", press the OK button again, and finally see the picture of Figure 6, Sunda financial finance The service has appeared in the reference library. After installing this reference service, you will finally need to install the SmartTAG, so that the keywords that appear in Word have smarttag perceived features, readers can connect to http://www.jihsunbank.com.tw/office/jihsunst.msi
Figure 4 Reference Service Options
Figure 5 Add to Reference Service Web Services Address
Figure 6 Reference service options after new day Sheng Finance
After performing the above steps, please turn off the Word and re-open so that SmartTAG can work normally. Enter a company name to query the share price, here is a case in TSM, and after the input is turned over and prescribed, it will see the red dotted line below the TSM. A drop-down square option appears on Word. You will have an instant quote related to this company, instant news options, instant news, etc., we can select the function you want to use, Word will call the relevant web services and open a new window display. The screen of the function is shown in Figure 7. Through this example, you can see the original Word software, integrate the stock related functional query provided by the external resource, and can use the original software that does not have the function of the original software, in addition to the operation of Excel, Access software in the originally familiar office operating environment. Function, database processing capabilities, can also dynamically draw charts and integrate external system data to produce information that meet the needs, and because of using Web Services dynamic capture information, it is guaranteed to be the latest information.
Understand the use of reference materials, the future will continue to describe the operation mode of reference materials, constituent components, architectural descriptions, and how to use the Research Services SDK with Web Services to become your own reference service.
Figure 7 Using SmartTAG query Taiwan Power IT
MICROSOFT Office System with Smart Client
After the version of Office XP, the SMARTTAG (Smart Tag) is provided, so-called SmartTag is a smart XML tag feature. If we can enter a person's name in Word, there will be a word above the name. The small square, there is a drop-down menu in order to provide a number of functions, and for example, from Outlook query the user's email, or send mail to the user, you don't have to leave the Word screen. In addition, through the network linkage, enter a company name in Excel, you can connect to this company's website, or connect to the MSN Money Central to obtain the application of this company's stock information.
The function of smart document (smart file) in Office 2003, smart file uses Microsoft Office XP Wisdom Tags, and uses file-based ways to simplify and enhance user experience. Expand the function of the smart label.
Developers can use smart document technology to create powerful XML files in Microsoft Office Word 2003 with Microsoft Office Excel 2003 for deployment, and subsequent self-servers updates (when the user is open, when the user is turned on, when the user is turned on, it is good Exude.
The benefit of smart documents is to communicate related information and action using intuition work panes, and will refer to Figure 8 based on the location of the user, the content of the work pane, the content of the work pane, the relevant architecture.
Figure 8 SMART Document architecture diagram
In the 2004/5 TECHED meeting, Microsoft has proposed a set of INFORMATION Bridge Framework (IBF). Information Bridge Framework provides tools and resources needed to develop people, which will reduce the development cost of Microsoft Office type information integration scheme, and Increase the elasticity, management capabilities, safety and expandability of these programs.
Information Bridge Framework is a group of software components, tools, and guidance information that allows developers to establish a solution to connect Microsoft Office Application with Web Services or Communication Execute Environment (CLR) services (for specific business (LOB) services), Such as accounting, supply chain management and resource plan application. With this system, users can interact directly from Microsoft Office Word 2003, Microsoft Office, Microsoft Office Outlook® 2003, to interact directly with specific services, and related architecture, please refer to FIG. 9.
Figure 9 Information Bridge Framework Architecture
From the above software features, you can see that Microsoft Office has been placed from past instruments, trial table functions, and advances to the future and more other backend system integration, connecting network services, and Its central concept is to use the Smart Client architecture.
Through the use of familiar Office Software Engine, with Smart Document, Research Library, Information Bridge Framework, users can use Office to integrate all required external resources, greatly improve their work efficiency.
In the future, it will be described in the development of SmartTag, Smart Document, Information Bridge Framework and other topics, which will be described in detail and examples of explanation.
Microsoft Visual Studio Tools for Office
Tradition must use Visual Basic for Application (VBA) in the development of Office 2003, and Microsoft adds a set of Visual Studio Tools for Office (hereinafter referred to as VSTO) to assist developers. Program design.
With assistance through VSTO, program developers can use VS.NET and .NET Framework to write Office's program without having to use traditional VBA ways. At present, VSTO provides Word / Excel's model for developers for use. Due to the use of .NET Framework components, development methods and WIN FORM, Web Form are similar, and we can directly vs.net and methods provided by .NET, also You can write and call Web Services directly in VSTO, and call the database through the ADO.NET call. The Office rear end code developed using VSTO will be managed by .NET, the security of its security will also be included in the entire .NET Framework control, VSTO-related architecture, please refer to Figure 10.
Understand the basic concepts of VSTO, will continue to introduce VSTO operation mode, constituent components, architectural descriptions, and how to use VSTO with Web Services to develop their own Office solutions.
Figure 10 Visual Studio Tools for Office Architecture
Support connection and offline function
Network connection capability
Smart Client and stand-alone programs are there to have network connection capabilities and can call the Web Services provided by the external system. Through the use of Web Services, Smart Client can access other system of commercial logic, information, service, and other computing capabilities of the stand-alone software itself, Smart Client can sufficiently use software to integrate external information, providing users more valuable information. . SMART Client will provide the latest services and materials to access Web Services when there is a connection-like environment where the WIAN is loose. Web Services is the international common standard, through Web Services Interoperability (WS-I) Basic Profile, there is no need to worry about the troubles that cross-platform, cross-devices, and cross-language. Since the SMART Client is different from the browser, it will store the current state of the operation software in the client, and the SMART Client detects the data to be dynamic through the quick taking mechanism. Call Web Services return information, so it can effectively reduce the bandwidth of network delivery data.
Usually when the network is connected, the Smart Client must wait for the Web Services to process the data and return the information, the client can continue other operations, such as providing users more efficient user operating interface, In developing systems, you can consider using Asynchronous Call Pattern, related resources for reference: http://msdn.microsoft.com/smartclient/windowsForms/Default.aspx? Pull = / library / en-us / dnwinforms / html / sacp_winforms. ASP
When developing and using the Web Services required for Smart Client, you can also consider using so-called Service Agent Pattern, through the agent's assistance, even in cross-platform, cross-language heterogeneous systems, without understanding the other system It is also possible to directly use the services provided directly, and the method of using the agent in VS.NET is simple, as long as the WSDL URL provided by Web References is added to the WSDL URL provided by Web References, the resources are available: http: // msdn .microsoft.com / library / en-us / DNPAG / HTML / JDNI_CH06.ASP
In the future, it will be described in more detail and examples of this subject and Asynchronous Call Pattern, Service Agent Pattern.
Offline function
In addition to the latest information on the Internet, the SMART Client itself needs to be used when using its services. We can use offline features to browse Internet Explorer offline, or such as Microsoft Exchange Server email account, Outlook offline work can continue to use this type of copy of this unit. Offline access materials in the SMART Client need to pay attention to two points:
Data Capable - In the case of online connection, the Smart Client will pick up the latest information through the network call Web Services, and will save a copy of the data in this unit. Once the network is interrupted, the Smart Client can continue to use. Store a copy of this machine to operate, when the network is connected, synchronize and update the data library for the server-side. The conflict and synchronization of the data may have other users in the Internet, and the Smart Client may also perform the processing of offline data at the same time. Once the network recovery When the line, the SMART Client and the server may have an abnormal process in which the data synchronization can occur, so it is necessary to take into account these conditions when designing the data access function of the SMART Client. When processing information from offline, there is also a need to consider several factors:
The Smart Client must have the function of detecting the network, allowing it to automatically change its access data when the network is connected or online interrupt, which will continue to process the original in the case of not affecting the user. The job does not affect its efficiency. It is necessary to consider the needs of the user and the nature of the material itself. If it belongs to the usual update, such as customer information, etc., consider using this type of time when using this type of information in Smart Client, once it is detected When the customer information of the servo is used as an asynchronous, the update to this machine once again lets the Smart Client. If it belongs to the usual data, if the order processing situation, the Smart Client must have the ability to call the Web Services to access the remote database. If the data is handled for quick access, it is necessary to recover the connection. Synchronize with the database.
Referring to Figure 11, you can see the offline power distribution map of various devices, from the leftmost forever connected large host, to the rightmost mobile phone that is always offline, the device of various different line capacity is processed when the network connection data is processed. Will have different considerations.
Forever connection - This type of device is represented by a traditional large host, which must 24 * 7 uninterrupted connectivity to serve many of the other clients - this type of device is mainly based on the personal computer, but sometimes it may touch The status of the ADSL / CABLE MODEM network disconnection occasionally - this type of device is mainly Notebook / Tablet PC, which can be connected through the wireless network card and wireless AP connection, but once there is no wireless network support will lose the network The function of the connection - This type of device is represented by the mobile phone GPRS. You can use GPRS when needed, you can connect your mobile phone to connect to the information. The disadvantage is that the cost is expensive forever - old mobile phone, PDA may not have GPR Or online connection devices such as wireless network cards, this type of device is currently more rare, which can only use itself to communicate with the outside world.
Figure 11 connection capability of different devices
When designing data access functions for these devices with different connection capabilities, two conditions are required:
The application software within the device needs to have functions when offline. For example, Mobile Device may require data input of the goods inventory on the ground, wait until offline, and the synchronization device of the main unit is used in the mainframe. Different devices will have different connection methods, from large-scale dedicated lines, personal computers ADSL, wireless networks to notebooks, or mobile GPRS, and various connection-wide speeds and prices. When we design the Smart Client of these devices, we need to consider these situations in order to design software that is most in line with the network.
Use Web Services to access network resources
Smart Client data access method
Design such a Smart Client that needs to provide offline function and access database program, usually divided into two ways: Data Guide Mode Service Guide Mode
Data-oriented mode
Figure 12 Data Guide Mode
Referring to Figure 12 Data-oriented mode, the system uses this method is mostly the past multilayer architecture (N-Tier), mainly divided into customer layer, commercial logic, data access, and backend database. Through this architecture, the client's Smart Client can directly use the data access component to acquire the backend database, because such architectures have been developing for a long time, and each software vendor has a complete solution, such as SQL Server Data copying and other functions, so most systems choose to use this way to develop access databases.
Although the data guide mode is clearly cut into different levels in the system, such an architecture has some defects:
The deployment of the client is closely coupled to the server side, and this is extremely small devices such as Mobile Device. For example, development of mobile software that needs to access the database program is usually written to the component independently of the program code of the access database. Even so, the program code of the interface and the database portion of the software itself is still attached to the Mobile Device itself, and once the program is changed, all programs must be redeployed to the relevant Mobile Device. Imagine that if there is a hundred Pocket PC, how much time is needed to redeploy? Since the data sheet existing in the client, the data sheet definition is unsolute, whether it is the structural definition of the data sheet, the change of business logic, and the information inventory will be very difficult. Once these are changed, the client's program must be re-written in or on the method of consolidation, update, and delete data, and redeploy the updated program to the client.
Service-directed mode
Figure 13 Service Guide Mode
Referring to Figure 13 Service Guide Mode, the client is most important to communicate with the web services and back-end server systems, and the time is mainly exchanged through the SOAP message through the XML format. Usually in this architecture, the client will have a softbaster information and state in this unit. Once it is needed, it will issue the requirements for the access database for Web Services, and all of the data on the data is all The Web Services is handled.
With the benefits of service orientation mode Web Services and Service Oriented Architecture (SOA), so the overall architecture is loosely coupled, as long as it is necessary to ensure that the client and server-side service interfaces are not changed, they can modify the program of the server access database when needed. Code, not affecting the deployment and software function of the client.
Pay attention to the case of using service orientation mode:
Data Domain Synchronization - Usually there will be native quick-gap information in Smart Client, when the client requires the server to update the reconciliation data, it may encounter this unit and the remote database. Asynchronous problems, therefore when designing a service-oriented architecture, it is necessary to take special treatment of this situation. Non-synchronous call information - Since the Smart Client is required to call Web Services through the network, the client is usually unable to perform any other action before waiting for the information processing. For this problem, it can use the non-synchronous access data mode. Treatment so that the client can perform other operations during the period of WEB SERVICES return information. This topic will be specifically illustrated by the complicated design method for non-synchronous access data modes. Offline Application Block
Figure 14 OFFLINE APPLICATION block
Microsoft's Patterns & Practices Library proposed a Smart Client Offline Application Block White Paper (Offline Application Module) (hereinafter referred to as OAB), and provides a real example of the example-of-order. The so-called OAB is mainly suitable for the use of the Smart Client developed by the service-oriented architecture on the offline condition, which provides components that process software status, data, offline conditions, and can switch the required functions at any time, or expand the required components.
Figure 14 can see OAB overall architectural diagrams, because it is designed with a service-oriented architecture, it can be seen in the SMART Client and OAB internal encapsulated service Agent, Connection State, Reference Data and other components are loosely coupled, and can be pumped at any time In exchange for the required components, if you are interested in OAB, you can refer to http://msdn.microsoft.com/library/en-us/dnpag/html/offline.asp, there is a complete white paper PDF and model components Download. A complete architectural description and example introduction will be provided later.
Software deployment and automatic update
Deployment
There are two factors that need to be considered when deploying Smart Client, one is how to detect and install suitable .NET Framework, another is the deployment of the Smart Client application itself.
Deploy .NET Framework
In theory, Smart Client can use any system and any language, and in Microsoft's environment is the most important to build the entire .NET platform, it is mainly to discuss .NET Framework to deploy to the client.
A complete Smart Client must have the ability to detect client environments. Once it finds that the client does not .NET Framework, you should provide the relevant options to allow the user to install, so that the Smart Client can work properly:
Microsoft Windows Update - After Windows 2000 SP2 and XP / 2003, the WINDOWS UPDATE function is equipped with the Background Intelligent Transfer Service (Bits) in "Services", and the job system can be connected in the connection state. The specified time is installed in the background installed update, since the .NET Framework is also in Microsoft's recommended update component list, the vast majority of Windows platforms will automatically install .NET Framework MSI (Microsoft Windows) if they open Auto Update INSTALLER) - The developer can package the Smart Client into the MSI installation file through the VS.NET installation, and the entire .NET Framework Runtime component and Smart Client are packaged together through the .NET Framework Runtime component and Smart Client packages. Customer installation, if the client's environment is not installed .NET Framework, this MSI installation will automatically install .NET Framework, Details: http://www.microsoft.com/downloads/details.aspx?familyId = 66350891-d15b-446b-bd69-f7f849224a00 & displaylang = en http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/redistdeploy1_1.asp Microsoft Systems Management Server (SMS - Systems managers can deploy a large number of client-based clients through SMS, so if there are many computer environments, it is possible to consider deploying .NET Framework to save MIS human expenditure and network bandwidth in Microsoft Windows. Server 2003, Longhorn - In Windows Server 2003 and Longhorn jobs have been built with .NET Framework, if there is an updated version of .NET Framework, Users can still deploy the latest .NET Framework deployment app over three ways - Windows Update, MSI, SMS, etc.
After developing the Smart Client, you will need to deploy software to the client, usually there will be the following ways:
Xcopy - Due to the application of the .NET Framework development, the components and security management of the components and security are being responsible by the .NET platform, so as long as there are the same .NET Framework, through the XCOPY command The instructions can be done directly to the entire application to be required, without having to install the installation process. Generally, use XCOPY / E Source Destination to copy the entire source directory structure to the destination directory. Detailed usage can perform XCopy /? Reference description MSI - If the application is more complicated, including some write The login file, the action of access the database, the way to use XCOPY may not meet the needs of the user, then consider packing the entire application project into a MSI installation file, and place all the information needed by the application on the installation In the setting file, you can subsequently provide the MSI to the user installation, or deploy SMS through the group principle - if there are many different client job systems, you can use SMART Client, while The benefits of SMS are deployed by traditional SETUP installations or new generation Windows Installer, and because SMS will be responsible for monitoring the entire domain environment, the client does not need to use SMS directly. The deployed program NO-TOUCH Deployment - Zero deployment contacts NTD, the developer after the application is completed, simply placing the application and its setting file on the web server, then set the relevant security, the user can Directly use the browser point to select the application link, will automatically download the application component and place the client application to quickly take the block. Later, the client can directly execute this app whippey and longhorn: Clickonce - ClickonCe will be directly built In the deployment feature of the next generation of Visual Studio .NET 2005, through the ClickOnce's assistance, the future developers can enjoy the benefits of NTD from the future through the publication of these. The full instructions and examples of deployment methods are described so that you can learn more about how to use.
Update method
After deploying the Smart Client, the future application may appear updated, the traditional way is required to download the update file and manually install it. In addition, once the new version of the software is installed, the old version is installed. It will be completely covered and cannot be restored.
Several software updates are recommended in the Smart Client architecture:
Push Technology
In the environment within the near-end network, all clients are controlled by the server. At this time, the new version of the software can be "push" to the client by the monitoring function of the server, using this The advantage of ways is to deploy a lot of new version of software without having to manually download and install, generally with the group principles of domain directory services, and SMS can be used, readers can evaluate internal environmental requirements, and refer to Windows Server related file settings.
If it is in an open online environment, there is no way to control all client information, and you must notify the user to download the new version of the software to download and install. Generally speaking, there are several practices:
NO-Touch Deployment
Users can browse the web and use the new version of the software through the NO-TOUCH Deployment (NTD) feature, through the .NET Framework assistance, the software detects the user-ended component version and automatically downloads the new version. Components needed, please refer to Figure 15Updater Application Block
The Smart Client using this method will install Application Stub on the client. The so-called Application Stub can imagine the agent program. For example, the common Windows Update is through this way, and the Background Intelligent Transfer Service (BITS) in the service. Reach the functionality of automatically installing updates in the background. Through Windows Update Time Settings and Bits Services, the client will poll the server at the specified time zone. Once the update, you will tell the user to download the update, or automatically download and install directly on the background. The user is set to the set value in Windows Update.
Smart Client Updater Application Block provides a SMART Client Updater Application Block in Microsoft, which provides architectural introductions and implementation components for software that requires automatic update features. Use this method to quickly and eas The function is added to the software you designed, and the program development will also be more modified, and the related architecture can be referred to FIG.
Figure 15 NO-TOUCH Deployment
Figure 15 is a mode of operation of NO-TOUCH Deployment. First, the client will selection the software connection URL of the first step to the web server. Once the server receives the client requirements, the application itself and the relevant setting file will be , Component and other information are provided to the client, and then the client will put the downloaded components in the download of the download and comparison with the original application setting file and the components. If the downloaded file belongs to a newer The version, the application will automatically use the new version of the settings and components.
In this process, the client only needs to click on the software link on the web page, and the rest of the operations are automatically executed by the system. Since the latest version of the program is stored on the server, the client can use NTD when needed. The function can use the new version of the application directly.
Figure 16 UPDATER Application Block
Figure 16 is a mode of operation of the Updater Application Block, which can be seen in the figure, which is equivalent to the APPLICATION STUB, and the client automatically checks and verifies the application settings and components stored in the server through the UPDATER component. To measure the new version of the application will download the associated components to the client. Since this approach does not usually use the new version of the component to cover the old version of the component, so the client can save a lot of versions. Software and select the version they want to use when needed.
The introduction of the implementation and examples will be described later in the above two ways, allowing the reader to understand the actual use method and development method.
Cross-device platform
The SMART Client features that it can fully utilize the .NET Framework .NET Compact Framework, so it can not only develop Smart Client using Win Form, but also can implement these features provided by Smart Client in Mobile Device Application.
In recent years, the rise of wireless devices and wireless networks makes more and more industries, will gradually introduce the application of wireless handheld devices, such as medical industries, financial industries, etc., and the characteristics of wireless devices are that they can easily carry and can Access data is connected through a network, however, in most cases these devices are in offline conditions. When designing these devices, the aforementioned design methods can be integrated, such as quick-tap functions, offline functions, and the like to design the Mobile Device Application to be more smart. Since the .NET Compact Framework on the wireless device is not as complete .NET Framework has all features, it is also necessary to consider the features of the wireless device and the components provided by the wireless device, such as in .NET Compact Framework. There is no security setting. At this time, the web services enhancements (WSE) can be integrated, allowing Mobile Device Application to be more secure when accessing data through the network.
Usually the Mobile Device calculation capacity is not as general PC, so different practices may be considered when handling a large amount of data or requires a precision computing, in order to provide an application that best conforms to the user needs.
Smart Client Design Consideration
Figure 17 SMART Client of different platforms
The above describes the features and development deployment methods of Smart Client, and finally introduces some factors that need to be considered at the time of Smart Client development:
Different device platforms
The application software provided by Microsoft in several different platforms is listed in Figure 17, such as the application of traditional table, Offic System application, and wireless device software. The concept of Smart Client can be used to develop software on these platforms, and the focus is to consider the functionality that can be provided to the software in each platform.
Usually Smart Client uses the service provided by the web services to access the remote system, and these platforms are also small in use, so in addition to using Web Services, the best power that can give full play to the Smart Client is to take advantage of this The features of the platform and the features provided, while the soft hardware platform provided by Microsoft is most mainly divided into three categories: PC, Office System, Mobile Device.
The PC features its most powerful computing capacity and storage space. Due to the popularity of the network, most of the PCs are in the long-term connection environment, so it will have the greatest elasticity in the design of the PC Smart Client. Office system is the most popular industry in use, in addition to the basic instrumentation and coupling functions, future development will be integrated with each other's collaborative cooperation and backend system business process, so in design Office Smart Client's consideration should be considered in these directions. Mobile Device is a popular industry in the future. Its features can be used with you, but they cannot have a long-term connection to access data and computing capacity, which are noticed in design Mobile Smart Client.
Integrate with old system
Figure 18 integration with the old system
In addition to the design principles of Smart Client, the SMART Client is also integrated with the old system with the old system in the existing suit software, which is represented by Microsoft Office System, in this regard.
Since Office can be said to be a software used by people on Windows, this software is installed on most computers, and because of its long development, most users are very familiar with the use of software, and they don't need to be re-needed. Take time to learn a new software. If the SMART Client's expansion can be performed on the existing Office platform, it is possible to make full use of the features of the Office itself, plus the features of the Smart Client, which will vary the traditional Office application. In addition, if the auxiliary cooperation software such as BizTalk, SharePoint Portal Server, the user can be integrated with the backend system with the backend system through the Office of the Office, which greatly enhances the efficiency of enterprise operations.
Integrated software
Figure 19 Integration Smart Client
Using the Smart Client Design Principle Development Software, consider the user's usage habits and workflows, and fully integrate the functions required by the user into a soft body such as Office System, you can play the maximum utility of the Smart Client. Referring to Figure 19, there are many hosted apps in a Host Environment, providing different functions, such as access network services, access materials, etc., and integrate these different hosted apps in single host environment, and open each other The interface allows it to communicate with each other, providing a single-screen user using all the required functions.
For example, in a customer service personnel, he may use many software at the same time at daytime, such as using the Clarify record report, using the Office software input file and send mail, use the entry Website query information, etc. If you can query the user, enter the information These commonly used functions are integrated into the Smart Client, the user does not need to waste the time switching software to use the features they need, and because of the single soft interface, users only need to be familiar with a soft body Can you.
Refer to the Call Center Smart Client of Figure 20, which provides customer service staff contact information, sending mail, query information, making a call and other functions. Customer service staff can complete the vast majority of work, for its efficiency His promotion is a lot of help.
Figure 20 Call Center Smart Client
Conclusion
This article explores the overall SMART Client's overall architecture, constituent components, design patterns, features, and some matter to design, SMART Client has a lot of elasticity, readers can refer to the components needed and integrated into their own systems and Application to give full play to the power of Smart Client. In the future, it will make more in-depth instructions and examples of these topics in the future, so that readers will understand the development process of Smart Client through practice.
Reference resource
Smart Client: http: //msdn.microsoft.com/smartclient/ Patterns & Practices: http: //www.microsoft.com/resources/practices/default.mspx Mobile and Embedded Applications: http: //msdn.microsoft.com / mobility / office: http://msdn.microsoft.com/office/web services: http://msdn.microsoft.com/webservices/