A Reference Architecture for Web Servers
建筑的含义英文作文

建筑的含义英文作文Architecture is the art of creating spaces that not only serve a practical purpose but also evoke emotions and inspire awe. It is a form of expression that reflects the culture, values, and aspirations of a society.The beauty of architecture lies in its ability to blend form and function seamlessly. From towering skyscrapers to humble cottages, each structure tells a unique story and leaves a lasting impression on those who encounter it.Architecture has the power to shape our experiences and influence our behavior. The design of a building can affect our mood, productivity, and even our sense of belonging. It has the ability to create a sense of place and foster a connection to our surroundings.Architectural marvels such as the Taj Mahal, the Eiffel Tower, and the Sydney Opera House stand as testaments to human ingenuity and creativity. They symbolize the triumphof the human spirit and serve as reminders of what is possible when we dare to dream big.Beyond its aesthetic appeal, architecture also plays a crucial role in addressing societal challenges such as urbanization, sustainability, and accessibility. It has the potential to create inclusive and equitable spaces that cater to the needs of all individuals.In essence, architecture is not just about constructing buildings; it is about shaping the world around us and leaving a legacy that will endure for generations to come. It is a celebration of human achievement and a testament to our capacity for innovation and imagination.。
智慧病房系统英文建设方案

01
03 02
Project Timeline
• Conduct rigorous testing to ensure system reliability and security
Project Timeline
01
Iterate on the design based on user feedback
Better utilization of hospital resources
Increased patient satisfaction and engagement
Benefits and Applications
Applications Remote patient monitoring Early warning systems for critical conditions
02
Collect feedback and make necessary adjustments
03
Phase 4: Full Rollout and Ongoing Support (Months 9-12)
Project Timeline
01
Roll out the system to all wards
Project Timeline
Develop the system components, including hardware and software Phase 2: Development and Testing (Months 36)
四种方式调用webservice

四种客户端调用WEBSERVICE 王凡Woshiwangfan@Wf141732@2009-08-22目录1.文档概述 (2)1.1.相关文档 (2)2.SERVER端 (3)2.1.代码 (3)2.2.SERVER端生成Wsdl (4)2.3.服务端安全性设置 (6)3.VB调用 (13)3.1.准备 (13)调用 (16)4.1.实现过程 (16)5.Axis2调用 (17)5.1.Axis2的安装 (17)5.2.Axis2调用过程 (17)6.Weblogic调用 (21)6.1.Weblogic (21)7.已解决及未解决的问题 ........................................................... 错误!未定义书签。
7.1.未解决的问题.................................................................... 错误!未定义书签。
7.2.已解决的问题.................................................................... 错误!未定义书签。
1.文档概述1.1.相关文档《Web Services开发教程.doc》2.SERVER端这个主要是用weblogic的workshop开发,用weblogic开发webservice具体可见沈辉的《Web Services开发教程.doc》,这里主要是讲客户端调用,所以服务端只作罗列。
2.1.代码在weblogic中构建webservice可以见《Web Services开发教程.doc》,用于本次测试的Server代码如下:Model:package .tsingtao.logistics.model;import java.io.Serializable;public class test implements Serializable {private static final long serialVersionUID = 1L;private String NAME;private int AGE;public void setNAME(String name){NAME=name;}public void setAGE(int age){AGE=age;}public String getNAME(){return NAME;}public int getAGE(){return AGE;}}Service代码如下:public .tsingtao.logistics.model.test[] hello(String NAME,int AGE) {.tsingtao.logistics.model.test[] t=new.tsingtao.logistics.model.test[10];for(int i=0;i<10;i++){t[i] = new .tsingtao.logistics.model.test();t[i].setNAME(NAME+i);t[i].setAGE(AGE+i);}return t;}2.2.SERVER端生成Wsdl在Server端生成的wsd如下:<?xml version='1.0' encoding='UTF-8'?><s0:definitions name="testServiceDefinitions"targetNamespace="http://cn/com/tsingtao/logistics/service" xmlns=""xmlns:s0="/wsdl/"xmlns:s1="http://cn/com/tsingtao/logistics/service"xmlns:s2="/wsdl/soap/"><s0:types><xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"targetNamespace="java:.tsingtao.logistics.model"xmlns:s0="/wsdl/"xmlns:s1="http://cn/com/tsingtao/logistics/service"xmlns:s2="/wsdl/soap/"xmlns:xs="/2001/XMLSchema"><xs:complexType name="test"><xs:sequence><xs:element minOccurs="1" name="AGE" nillable="false" type="xs:int"/><xs:element minOccurs="1" name="NAME" nillable="true" type="xs:string"/></xs:sequence></xs:complexType><xs:complexType name="ArrayOftest_literal"><xs:sequence><xs:element maxOccurs="unbounded" minOccurs="0" name="test"nillable="true" type="java:test" xmlns:java="java:.tsingtao.logistics.model"/></xs:sequence></xs:complexType><xs:element name="ArrayOftest_literal" type="java:ArrayOftest_literal"xmlns:java="java:.tsingtao.logistics.model"/></xs:schema><xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://cn/com/tsingtao/logistics/service"xmlns:s0="/wsdl/"xmlns:s1="http://cn/com/tsingtao/logistics/service"xmlns:s2="/wsdl/soap/"xmlns:xs="/2001/XMLSchema"><xs:import namespace="java:.tsingtao.logistics.model"/><xs:element name="hello"><xs:complexType><xs:sequence><xs:element name="NAME" type="xs:string"/><xs:element name="AGE" type="xs:int"/></xs:sequence></xs:complexType></xs:element><xs:element name="helloResponse"><xs:complexType><xs:sequence><xs:element name="return" type="java:ArrayOftest_literal"xmlns:java="java:.tsingtao.logistics.model"/></xs:sequence></xs:complexType></xs:element></xs:schema></s0:types><s0:message name="hello"><s0:part element="s1:hello" name="parameters"/></s0:message><s0:message name="helloResponse"><s0:part element="s1:helloResponse" name="parameters"/></s0:message><s0:portType name="test"><s0:operation name="hello" parameterOrder="parameters"><s0:input message="s1:hello"/><s0:output message="s1:helloResponse"/></s0:operation></s0:portType><s0:binding name="testServiceSoapBinding" type="s1:test"><s2:binding style="document"transport="/soap/http"/><s0:operation name="hello"><s2:operation style="document"/><s0:input><s2:body parts="parameters" use="literal"/></s0:input><s0:output><s2:body parts="parameters" use="literal"/></s0:output></s0:operation></s0:binding><s0:service name="testService"><s0:port binding="s1:testServiceSoapBinding" name="testSoapPort"><s2:address location="http://localhost:7001/BSM/test"/></s0:port></s0:service></s0:definitions>2.3.服务端安全性设置这个是根据沈辉的《Web Services开发教程.doc》设置的,不作详细说明,只作罗列2.3.1.在weblogic中新建用户和用户组2.3.2.在webapp中配置安全性在web-info\web.xml中添加红色部分<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4"xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"><display-name>BSM</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><security-role><role-name>wsuser</role-name></security-role><security-constraint><web-resource-collection><web-resource-name>Secure Area</web-resource-name><url-pattern>/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method></web-resource-collection><auth-constraint><role-name>wsuser</role-name></auth-constraint></security-constraint><login-config><auth-method>BASIC</auth-method><realm-name>myrealm</realm-name></login-config></web-app>在web-info\weblogic.xml中添加红色部分<?xml version="1.0" encoding="UTF-8"?><wls:weblogic-web-appxmlns:wls="/ns/weblogic/weblogic-web-app"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd/ns/weblogic/weblogic-web-app/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"><wls:weblogic-version>10.3</wls:weblogic-version><wls:context-root>BSM</wls:context-root><security-role-assignment><role-name>wsuser</role-name><principal-name>wsgroup</principal-name></security-role-assignment></wls:weblogic-web-app>重新发布后在浏览器中就可以看到了3.VB调用3.1.准备使用vb6.0调用webservice需要用到SOAP Toolkit,我们选用的是SOAP Toolkit3.0版本。
特殊的发明英语作文

In the realm of innovation,there are inventions that stand out for their uniqueness and the impact they have on society.One such special invention is the creation of the World Wide Web by Sir Tim BernersLee.This invention revolutionized the way we access and share information,connecting people across the globe in ways previously unimaginable.The World Wide Web,often abbreviated as the Web,is a system of interlinked hypertext documents accessed via the Internet.It was invented in1989by BernersLee,a British computer scientist,while working at CERN,the European Organization for Nuclear Research.The Web was initially conceived as a way to facilitate communication and information sharing among scientists,but it quickly expanded beyond that scope to become a universal platform for communication,commerce,and education.The Webs design is based on a few key principles,including decentralization, interoperability,and accessibility.It uses a clientserver model,where web servers host websites and web clients,such as browsers,request and display content from these servers.The primary language of the Web is HTML HyperText Markup Language,which allows for the creation of structured documents with embedded links to other documents. One of the most significant aspects of the Web is its use of the Uniform Resource Locator URL system,which provides a unique address for every resource on the Web.This system enables users to navigate to any web page or file by simply typing or clicking on a URL.Another crucial component of the Web is the Hypertext Transfer Protocol HTTP,which is the foundation for data communication between web clients and servers.HTTP defines how messages are formatted and transmitted,and how web servers respond to client requests.The invention of the Web has had a profound impact on various aspects of life.It has transformed education by providing access to a wealth of information and resources, enabling distance learning,and facilitating collaboration among students and educators. In the business world,the Web has enabled the growth of ecommerce,allowing businesses to reach a global audience and streamline their operations.Moreover,the Web has democratized access to information,giving people the power to research,learn,and express themselves freely.It has also played a crucial role in social movements and political activism,providing a platform for individuals to organize,share ideas,and mobilize support.In addition to its practical applications,the Web has also inspired a wave of creativity and innovation.It has given rise to new forms of art,such as digital art and web design,and has facilitated the development of interactive and immersive experiences,like online games and virtual reality.In conclusion,the invention of the World Wide Web is a prime example of a special invention that has had a transformative impact on society.Its unique design principles, coupled with its ability to connect people and information,have made it an indispensable tool in the modern world.As we continue to innovate and develop new technologies,it is essential to remember the importance of creating systems that are accessible, interoperable,and designed for the benefit of all.。
Highlights

BETTER COMMUNICATION | GREATER VALUEHIGHLIGHTS |China-Germany working group on standardization strategyholds virtual meetingTian Shihong, Vice-Minister of SAMR and Administrator of SAC, attended the video conference of the China-Germany Working Group on Standardization Strategy taking place on March 1, 2021.The German participants include Ole Janssen, Deputy Director General of Innovation and T echnology Policy, Federal Ministry for Economic Affairs and Energy (BMWi), Christoph Winterhalter, Chairman of the Executive Board of DIN, as well as Michael T eigeler, Managing Director of DKE.The two sides held in-depth discussions on key topics including ISO Strategy 2030, IEC strategic plan, and machine- readable standards, and set the direction for future cooperation, for example expanding cooperation in artificial intelligence and circular economy. The working group will continue to serve as an important platform for the two sides to deepen cooperation in standardization strategies.China and UK exchange on international standards for sustainable development of small and medium-sized citiesThe Sub-Institute of Public Safety Standardization of CNIS undertakes “the pilot project on international standards for sustainable development of small and medium-sized cities” supported by China Prosperity Strategic Programme Fund (SPF) under the China-UK standardization cooperation framework. The project was officially launched in October 2020 and was expected to be completed by the end of 2021. A series of international standards on urban sustainable development have been implemented in four pilot cities in China.BSI project managers and evaluation specialists visited CNIS on April 1. The two sides exchanged views on issues of common interests such as project arrangement, latest progress, and expectations. Project leader Dr. Yang Feng introduced the advance of the pilot project. The project group successfully organized a number of China-UK working meetings online, despite the influence of COVID-19.The two sides agreed to enhance communication and cooperation on sustainable development and discussed the plan to encourage more Chinese cities to implement relevant international standards.Chinese version of renewable energy related IEC standard publishedProviding quality assurance in distance learning during pandemicThe Chinese version of IEC/TS 62257-9-8: 2020, Renewable energy and hybrid systems for rural electrification—Part 9-8: Integrated systems—Requirements for stand-alone renewable energy products with power ratings less than or equal to 350 W , was officially published on March 23, 2021.It is the second Chinese version of the IEC standards on renewable energy, following the Chinese version of IEC/TS 62257-9-5: 2018, which was published in October 2019.The standard defines the fundamental requirements in the aspects such as quality, durability and advertising authenticity of stand-alone renewable energy products.It enables Chinese enterprises to make products in conformity with international standards in a faster and better way, maintain a stable annual market scale of international stand-alone renewable energy products for USD 1.75 billion, and safeguard the rights of 420 million consumers across the globe, contributing to the realization of UN Sustainable Development Goals.The two standards will help further promote the application of IEC standards in China, improve the quality of Chinese products, and facilitate their access to global markets.ISO published a new standard on distance learning onApril 20, making up for the lack of guidance in the area.Experts from the Sub-Institute of Service Standardizationof CNIS served as the convenor and project leader ofcorresponding working group, contributing greatly to theinternational guidance that ensures agreed levels of qualityand transparency of distance learning.Due to the influence of COVID-19, more than 1.6 billionpeople have to receive education through online classes,according to the data from UNESCO, the UN culturalorganization. ISO 29994:2021, Education and learning services— Requirements for distance learning , creates a globally agreedmodel of distance learning, and provides a solution to thesurging demand for distance learning during the pandemic.Expanding use of IoT-based FintechA major step forward in compliance managementChina’s Wuxi IoT Research Institute has begun toexplore the application of Internet of Things (IoT) in thefinancial sector since 2012. It started the research onIoT and sensor network (SN) technologies that supportchattel asset monitoring and tracking in February 2017,and led the proposal for the first IoT-based Fintechstandard in the world in 2018.The standard ISO/IEC 30163, Internet of Things(IoT)—System requirements of IoT and sensor networktechnology-based integrated platform for chattel assetmonitoring , was recently published by IEC. It is applicable to the design and development of IoT/SN system for chattel asset monitoring supporting financial services.While developing standards, Wuxi IoT Research Institute has taken the lead in the application of IoT theory in the financial sector, helping financial institutions manage risks and manufacturers (esp. small and medium-sized enterprises) resolve financing difficulties.ISO 37301:2021, Compliance management systems—Requirements with guidance for use , officially published on April 13, is the first international standard developed by ISO/TC 309 (governance of organizations) since its inception in 2016.This document specifies requirements and provides guidelines for establishing, implementing, maintaining and improving a compliance management system within an organization. It is applicable to all types of organizations regardless of their size and nature.The standard was developed by the working group on compliance management systems (ISO/TC 309/WG4). Its convenor is Martin Tolar from Australia, co-convenor is undertaken by Wang Yiyi, head of Sub-Institute of Standardization Theory and Strategy, CNIS, and Wang Gengjie, assistant research fellow from CNIS serves as IS, mirroring ISO/TC 309, organized many domestic experts to participate in the development of ISO 37301.HIGHLIGHTS |BETTER COMMUNICATION | GREATER VALUEBreakthrough in blockchain technology applied in e-invoice businessIndustrial Internet clearly definedIEEE Standards Association recently published the first international standard on e-invoice business using blockchain technology. The standard was completed with the leading effort of Shenzhen Taxation Bureau and T encent, a leading internet company founded in Shenzhen, China.IEEE 2142.1-2021, Recommended Practice for E-Invoice Business Using Blockchain Technology , describes the blockchain-based application reference architecture of e-invoice business, including roles of participants, typical business scenarios, platform frameworks, and security requirements.Tencent has been exploring the applications of blockchain technology since 2015 and has expanded its use in e-invoicing, supply chain finance, digital protection, product traceability and anti-counterfeiting, etc. The first e-invoice using blockchain technology in China was generated in Shenzhen in August 2018. T encent led the proposal of IEEE 2142.1 in May 2019.The document provides a foundation for the blockchain-based implementation solutions of e-invoice business, which will help optimize user experience and business efficiency.The International T elecommunication Union Bureauof Standardization (ITU-T) recently approved the draftITU-T Y.2623, Requirements and framework of IndustrialInternet networking based on future packet-based networkevolution , at the plenary session of the 13th StudyGroup (future network and cloud). China Academyof Information and Communication Technology(CAICT) led the development of the first internationalstandard in the field of industrial internet network,the key to transformation and upgrading of the globalmanufacturing industry.CAICT proposed the standard project in the 22ndQuestion Group “Upcoming network technologies for IMT-2020 & Future Networks” in June 2019. ITU-T Y.2623 clearly defines industrial internet for the first time as well as industrial internet network framework. It specifies requirementsfor general networking technologies and main functional parts for the interconnectivity of networks and data.。
HP Color LaserJet Enterprise MFP M776用户指南说明书

Legal informationCopyright and License© Copyright 2019 HP Development Company, L.P.Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowedunder the copyright laws.The information contained herein is subject to change without notice.The only warranties for HP products and services are set forth in the express warranty statementsaccompanying such products and services. Nothing herein should be construed as constituting anadditional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.Edition 1, 10/2019Trademark CreditsAdobe®, Adobe Photoshop®, Acrobat®, and PostScript® are trademarks of Adobe Systems Incorporated.Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries.macOS is a trademark of Apple Inc., registered in the U.S. and other countries.AirPrint is a trademark of Apple Inc., registered in the U.S. and other countries.Google™ is a trademark of Google Inc.Microsoft®, Windows®, Windows® XP, and Windows Vista® are U.S. registered trademarks of MicrosoftCorporation.UNIX® is a registered trademark of The Open Group.iiiT able of contents1 Printer overview (1)Warning icons (1)Potential shock hazard (2)Printer views (2)Printer front view (2)Printer back view (4)Interface ports (4)Control-panel view (5)How to use the touchscreen control panel (7)Printer specifications (8)T echnical specifications (8)Supported operating systems (11)Mobile printing solutions (12)Printer dimensions (13)Power consumption, electrical specifications, and acoustic emissions (15)Operating-environment range (15)Printer hardware setup and software installation (16)2 Paper trays (17)Introduction (17)Load paper to Tray 1 (multipurpose tray) (17)Load Tray 1 (multipurpose tray) (18)Tray 1 paper orientation (19)Use alternative letterhead mode (24)Enable Alternative Letterhead Mode by using the printer control-panel menus (24)Load paper to Tray 2 (24)Load Tray 2 (24)Tray 2 paper orientation (26)Use alternative letterhead mode (29)Enable Alternative Letterhead Mode by using the printer control-panel menus (29)Load paper to the 550-sheet paper tray (30)Load paper to the 550-sheet paper tray (30)550-sheet paper tray paper orientation (32)Use alternative letterhead mode (35)Enable Alternative Letterhead Mode by using the printer control-panel menus (35)ivLoad paper to the 2 x 550-sheet paper trays (36)Load paper to the 2 x 550-sheet paper trays (36)2 x 550-sheet paper tray paper orientation (38)Use alternative letterhead mode (41)Enable Alternative Letterhead Mode by using the printer control-panel menus (41)Load paper to the 2,700-sheet high-capacity input paper trays (41)Load paper to the 2,700-sheet high-capacity input paper trays (41)2,700-sheet HCI paper tray paper orientation (43)Use alternative letterhead mode (45)Enable Alternative Letterhead Mode by using the printer control-panel menus (45)Load and print envelopes (46)Print envelopes (46)Envelope orientation (46)Load and print labels (47)Manually feed labels (47)Label orientation (48)3 Supplies, accessories, and parts (49)Order supplies, accessories, and parts (49)Ordering (49)Supplies and accessories (50)Maintenance/long-life consumables (51)Customer self-repair parts (51)Dynamic security (52)Configure the HP toner-cartridge-protection supply settings (53)Introduction (53)Enable or disable the Cartridge Policy feature (53)Use the printer control panel to enable the Cartridge Policy feature (54)Use the printer control panel to disable the Cartridge Policy feature (54)Use the HP Embedded Web Server (EWS) to enable the Cartridge Policy feature (54)Use the HP Embedded Web Server (EWS) to disable the Cartridge Policy feature (55)Troubleshoot Cartridge Policy control panel error messages (55)Enable or disable the Cartridge Protection feature (55)Use the printer control panel to enable the Cartridge Protection feature (56)Use the printer control panel to disable the Cartridge Protection feature (56)Use the HP Embedded Web Server (EWS) to enable the Cartridge Protection feature (56)Use the HP Embedded Web Server (EWS) to disable the Cartridge Protection feature (57)Troubleshoot Cartridge Protection control panel error messages (57)Replace the toner cartridges (58)T oner-cartridge information (58)Remove and replace the cartridges (59)Replace the imaging drums (62)Imaging drum information (62)Remove and replace the imaging drums (63)Replace the toner-collection unit (66)T oner-collection unit information (66)vRemove and replace the toner-collection unit (67)Replace the staple cartridge (M776zs model only) (70)Staple cartridge information (70)Remove and replace the staple cartridge (71)4 Print (73)Print tasks (Windows) (73)How to print (Windows) (73)Automatically print on both sides (Windows) (74)Manually print on both sides (Windows) (74)Print multiple pages per sheet (Windows) (75)Select the paper type (Windows) (75)Additional print tasks (76)Print tasks (macOS) (77)How to print (macOS) (77)Automatically print on both sides (macOS) (77)Manually print on both sides (macOS) (77)Print multiple pages per sheet (macOS) (78)Select the paper type (macOS) (78)Additional print tasks (79)Store print jobs on the printer to print later or print privately (79)Introduction (79)Create a stored job (Windows) (79)Create a stored job (macOS) (80)Print a stored job (81)Delete a stored job (81)Delete a job that is stored on the printer (81)Change the job storage limit (82)Information sent to printer for Job Accounting purposes (82)Mobile printing (82)Introduction (82)Wi-Fi, Wi-Fi Direct Print, NFC, and BLE printing (82)Enable wireless printing (83)Change the Wi-Fi Direct name (83)HP ePrint via email (83)AirPrint (84)Android embedded printing (85)Print from a USB flash drive (85)Enable the USB port for printing (85)Method one: Enable the USB port from the printer control panel (85)Method two: Enable the USB port from the HP Embedded Web Server (network-connectedprinters only) (85)Print USB documents (86)Print using high-speed USB 2.0 port (wired) (86)Method one: Enable the high-speed USB 2.0 port from the printer control panel menus (86)Method two: Enable the high-speed USB 2.0 port from the HP Embedded Web Server (network-connected printers only) (87)vi5 Copy (88)Make a copy (88)Copy on both sides (duplex) (90)Additional copy tasks (92)6 Scan (93)Set up Scan to Email (93)Introduction (93)Before you begin (93)Step one: Access the HP Embedded Web Server (EWS) (94)Step two: Configure the Network Identification settings (95)Step three: Configure the Send to Email feature (96)Method one: Basic configuration using the Email Setup Wizard (96)Method two: Advanced configuration using the Email Setup (100)Step four: Configure the Quick Sets (optional) (104)Step five: Set up Send to Email to use Office 365 Outlook (optional) (105)Introduction (105)Configure the outgoing email server (SMTP) to send an email from an Office 365 Outlookaccount (105)Set up Scan to Network Folder (108)Introduction (108)Before you begin (108)Step one: Access the HP Embedded Web Server (EWS) (108)Step two: Set up Scan to Network Folder (109)Method one: Use the Scan to Network Folder Wizard (109)Method two: Use Scan to Network Folder Setup (110)Step one: Begin the configuration (110)Step two: Configure the Scan to Network Folder settings (111)Step three: Complete the configuration (118)Set up Scan to SharePoint (118)Introduction (118)Before you begin (118)Step one: Access the HP Embedded Web Server (EWS) (118)Step two: Enable Scan to SharePoint and create a Scan to SharePoint Quick Set (119)Scan a file directly to a SharePoint site (121)Quick Set scan settings and options for Scan to SharePoint (122)Set up Scan to USB Drive (123)Introduction (124)Step one: Access the HP Embedded Web Server (EWS) (124)Step two: Enable Scan to USB Drive (124)Step three: Configure the Quick Sets (optional) (125)Default scan settings for Scan to USB Drive setup (126)Default file settings for Save to USB setup (126)Scan to email (127)Introduction (127)Scan to email (127)Scan to job storage (129)viiIntroduction (129)Scan to job storage on the printer (130)Print from job storage on the printer (132)Scan to network folder (132)Introduction (132)Scan to network folder (132)Scan to SharePoint (134)Introduction (134)Scan to SharePoint (134)Scan to USB drive (136)Introduction (136)Scan to USB drive (136)Use HP JetAdvantage business solutions (138)Additional scan tasks (138)7 Fax (140)Set up fax (140)Introduction (140)Set up fax by using the printer control panel (140)Change fax configurations (141)Fax dialing settings (141)General fax send settings (142)Fax receive settings (143)Send a fax (144)Additional fax tasks (146)8 Manage the printer (147)Advanced configuration with the HP Embedded Web Server (EWS) (147)Introduction (147)How to access the HP Embedded Web Server (EWS) (148)HP Embedded Web Server features (149)Information tab (149)General tab (149)Copy/Print tab (150)Scan/Digital Send tab (151)Fax tab (152)Supplies tab (153)Troubleshooting tab (153)Security tab (153)HP Web Services tab (154)Networking tab (154)Other Links list (156)Configure IP network settings (157)Printer sharing disclaimer (157)View or change network settings (157)Rename the printer on a network (157)viiiManually configure IPv4 TCP/IP parameters from the control panel (158)Manually configure IPv6 TCP/IP parameters from the control panel (158)Link speed and duplex settings (159)Printer security features (160)Introduction (160)Security statements (160)Assign an administrator password (160)Use the HP Embedded Web Server (EWS) to set the password (160)Provide user access credentials at the printer control panel (161)IP Security (161)Encryption support: HP High Performance Secure Hard Disks (161)Lock the formatter (161)Energy-conservation settings (161)Set the sleep timer and configure the printer to use 1 watt or less of power (161)Set the sleep schedule (162)Set the idle settings (162)HP Web Jetadmin (163)Software and firmware updates (163)9 Solve problems (164)Customer support (164)Control panel help system (165)Reset factory settings (165)Introduction (165)Method one: Reset factory settings from the printer control panel (165)Method two: Reset factory settings from the HP Embedded Web Server (network-connectedprinters only) (166)A “Cartridge is low” or “Cartridge is very low” message displays on the printer control panel (166)Change the “Very Low” settings (166)Change the “Very Low” settings at the control panel (166)For printers with fax capability (167)Order supplies (167)Printer does not pick up paper or misfeeds (167)Introduction (167)The printer does not pick up paper (167)The printer picks up multiple sheets of paper (171)The document feeder jams, skews, or picks up multiple sheets of paper (174)Clear paper jams (174)Introduction (174)Paper jam locations (174)Auto-navigation for clearing paper jams (175)Experiencing frequent or recurring paper jams? (175)Clear paper jams in the document feeder - 31.13.yz (176)Clear paper jams in Tray 1 (13.A1) (177)Clear paper jams in Tray 2 (13.A2) (182)Clear paper jams in the fuser (13.B9, 13.B2, 13.FF) (188)ixClear paper jams in the duplex area (13.D3) (194)Clear paper jams in the 550-sheet trays (13.A3, 13.A4) (199)Clear paper jams in the 2 x 550 paper trays (13.A4, 13.A5) (206)Clear paper jams in the 2,700-sheet high-capacity input paper trays (13.A3, 13.A4, 13.A5, 13.A7) (213)Resolving color print quality problems (220)Introduction (220)Troubleshoot print quality (221)Update the printer firmware (221)Print from a different software program (221)Check the paper-type setting for the print job (221)Check the paper type setting on the printer (221)Check the paper type setting (Windows) (221)Check the paper type setting (macOS) (222)Check toner-cartridge status (222)Step one: Print the Supplies Status Page (222)Step two: Check supplies status (222)Print a cleaning page (222)Visually inspect the toner cartridge or cartridges (223)Check paper and the printing environment (223)Step one: Use paper that meets HP specifications (223)Step two: Check the environment (223)Step three: Set the individual tray alignment (224)Try a different print driver (224)Troubleshoot color quality (225)Calibrate the printer to align the colors (225)Troubleshoot image defects (225)Improve copy image quality (233)Check the scanner glass for dirt and smudges (233)Calibrate the scanner (234)Check the paper settings (235)Check the paper selection options (235)Check the image-adjustment settings (235)Optimize copy quality for text or pictures (236)Edge-to-edge copying (236)Improve scan image quality (236)Check the scanner glass for dirt and smudges (237)Check the resolution settings (238)Check the color settings (238)Check the image-adjustment settings (239)Optimize scan quality for text or pictures (239)Check the output-quality settings (240)Improve fax image quality (240)Check the scanner glass for dirt and smudges (240)Check the send-fax resolution settings (242)Check the image-adjustment settings (242)Optimize fax quality for text or pictures (242)Check the error-correction setting (243)xSend to a different fax machine (243)Check the sender's fax machine (243)Solve wired network problems (244)Introduction (244)Poor physical connection (244)The computer is unable to communicate with the printer (244)The printer is using incorrect link and duplex settings for the network (245)New software programs might be causing compatibility problems (245)The computer or workstation might be set up incorrectly (245)The printer is disabled, or other network settings are incorrect (245)Solve wireless network problems (245)Introduction (245)Wireless connectivity checklist (245)The printer does not print after the wireless configuration completes (246)The printer does not print, and the computer has a third-party firewall installed (246)The wireless connection does not work after moving the wireless router or printer (247)Cannot connect more computers to the wireless printer (247)The wireless printer loses communication when connected to a VPN (247)The network does not appear in the wireless networks list (247)The wireless network is not functioning (247)Reduce interference on a wireless network (248)Solve fax problems (248)Checklist for solving fax problems (248)What type of phone line are you using? (249)Are you using a surge-protection device? (249)Are you using a phone company voice-messaging service or an answering machine? (249)Does your phone line have a call-waiting feature? (249)Check fax accessory status (249)General fax problems (250)The fax failed to send (250)No fax address book button displays (250)Not able to locate the Fax settings in HP Web Jetadmin (250)The header is appended to the top of the page when the overlay option is enabled (251)A mix of names and numbers is in the recipients box (251)A one-page fax prints as two pages (251)A document stops in the document feeder in the middle of faxing (251)The volume for sounds coming from the fax accessory is too high or too low (251)Index (252)xiPrinter overview1Review the location of features on the printer, the physical and technical specifications of the printer,and where to locate setup information.For video assistance, see /videos/LaserJet.The following information is correct at the time of publication. For current information, see /support/colorljM776MFP.For more information:HP's all-inclusive help for the printer includes the following information:●Install and configure●Learn and use●Solve problems●Download software and firmware updates●Join support forums●Find warranty and regulatory informationWarning iconsUse caution if you see a warning icon on your HP printer, as indicated in the icon definitions.●Caution: Electric shock●Caution: Hot surface●Caution: Keep body parts away from moving partsPrinter overview1●Caution: Sharp edge in close proximity●WarningPotential shock hazardReview this important safety information.●Read and understand these safety statements to avoid an electrical shock hazard.●Always follow basic safety precautions when using this product to reduce risk of injury from fire orelectric shock.●Read and understand all instructions in the user guide.●Observe all warnings and instructions marked on the product.●Use only a grounded electrical outlet when connecting the product to a power source. If you do notknow whether the outlet is grounded, check with a qualified electrician.●Do not touch the contacts on any of the sockets on the product. Replace damaged cordsimmediately.●Unplug this product from wall outlets before cleaning.●Do not install or use this product near water or when you are wet.●Install the product securely on a stable surface.●Install the product in a protected location where no one can step on or trip over the power cord.Printer viewsIdentify certain parts of the printer and the control panel.Printer front viewLocate features on the front of the printer.2Chapter 1 Printer overviewPrinter front view3Printer back viewLocate features on the back of the printer.Interface portsLocate the interface ports on the printer formatter. 4Chapter 1 Printer overviewControl-panel viewThe control panel provides access to the printer features and indicates the current status of the printer.NOTE:Tilt the control panel for easier viewing.The Home screen provides access to the printer features and indicates the current status of the printer.screens.NOTE:The features that appear on the Home screen can vary, depending on the printerconfiguration.Control-panel view5Figure 1-1Control-panel view?i 12:42 PM6Chapter 1 Printer overviewHow to use the touchscreen control panelPerform the following actions to use the printer touchscreen control panel.T ouchT ouch an item on the screen to select that item or open that menu. Also, when scrolling T ouch the Settings icon to open the Settings app.How to use the touchscreen control panel 7SwipeT ouch the screen and then move your finger horizontally to scroll the screen sideways.Swipe until the Settings app displays.Printer specificationsDetermine the specifications for your printer model.IMPORTANT:The following specifications are correct at the time of publication, but they are subject to change. For current information, see /support/colorljM776MFP .T echnical specificationsReview the printer technical specifications.Product numbers for each model ●M776dn - #T3U55A ●Flow M776z - #3WT91A ●Flow M776zs - #T3U56APaper handling specificationsPaper handling features Tray 1 (100-sheet capacity)Included Included Included Tray 2 (550-sheet capacity)IncludedIncludedIncluded8Chapter 1 Printer overview550-sheet paper trayOptional Included Not included NOTE:The M776dn models accept one optional550-sheet tray.Optional Included Included2 x 550-sheet paper tray and standNOTE:The M776dn models accept one optional550-sheet tray that may be installed on top of thestand.Optional Not included Not included2,700-sheet high-capacity input (HCI) paper trayand standNOTE:The M776dn models accept one optional550-sheet tray that may be installed on top of theoptional printer stand.Printer standOptional Not included Not included NOTE:The M776dn models accept one optional550-sheet tray that may be installed on top of theoptional printer stand.Inner finisher accessory Not included Not included Included Automatic duplex printing Included IncludedIncludedIncluded Included Included10/100/1000 Ethernet LAN connection with IPv4and IPv6Hi-Speed USB 2.0Included Included IncludedIncluded Included IncludedEasy-access USB port for printing from a USBflash drive or upgrading the firmwareIncluded Included Included Hardware Integration Pocket for connectingaccessory and third-party devicesHP Internal USB Ports Optional Optional OptionalOptional Optional OptionalHP Jetdirect 2900nw Print Server accessory forWi-Fi connectivity and an additional Ethernet portOptional IncludedIncludedHP Jetdirect 3100w accessory for Wi-Fi, BLE, NFC,and proximity badge readingPrints 45 pages per minute (ppm) on Letter-sizepaper and 46 ppm on A4-size paperEasy-access USB printing for printing from a USBIncluded Included Includedflash driveT echnical specifications9Included Included Included Store jobs in the printer memory to print later orprint privatelyScans 100 pages per minute (ppm) on A4 andIncluded Included Included letter-size paper one-sidedIncluded Included Included 200-page document feeder with dual-headscanning for single-pass duplex copying andscanningNot included Included Included HP EveryPage T echnologies including ultrasonicmulti-feed detectionNot included Included Included Embedded optical character recognition (OCR)provides the ability to convert printed pages intotext that can be edited or searched using acomputerIncluded Included Included SMART Label feature provides paper-edgedetection for automatic page croppingIncluded Included Included Automatic page orientation for pages that haveat least 100 characters of textIncluded Automatic tone adjustment sets contrast,Included Includedbrightness, and background removal for eachpageIncluded Included Includedfolders on a networkIncludedSend documents to SharePoint®Included IncludedIncluded Included Included NOTE:Memory reported on the configurationpage will change from 2.5 GB to 3 GB with theoptional 1 GB SODIMM installed.Mass storage: 500 GB hard disk drive Included Included IncludedSecurity: HP Trusted Platform Module (TPM)Included Included IncludedT ouchscreen control panel Included Included IncludedRetractable keyboard Not included Included Included 10Chapter 1 Printer overviewFax Optional Included IncludedSupported operating systemsUse the following information to ensure printer compatibility with your computer operating system.Linux: For information and print drivers for Linux, go to /go/linuxprinting.UNIX: For information and print drivers for UNIX®, go to /go/unixmodelscripts.The following information applies to the printer-specific Windows HP PCL 6 print drivers, HP print driversfor macOS, and to the software installer.Windows: Download HP Easy Start from /LaserJet to install the HP print driver. Or, go tothe printer-support website for this printer: /support/colorljM776MFP to download the printdriver or the software installer to install the HP print driver.macOS: Mac computers are supported with this printer. Download HP Easy Start either from /LaserJet or from the Printer Support page, and then use HP Easy Start to install the HP print driver.1.Go to /LaserJet.2.Follow the steps provided to download the printer software.Windows 7, 32-bit and 64-bit The “HP PCL 6” printer-specific print driver is installed for this operating system aspart of the software installation.Windows 8.1, 32-bit and 64-bit The “HP PCL-6” V4 printer-specific print driver is installed for this operating systemas part of the software installation.Windows 10, 32-bit and 64-bit The “HP PCL-6” V4 printer-specific print driver is installed for this operating systemas part of the software installation.Windows Server 2008 R2, SP 1, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2012, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2012 R2, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2016, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2019, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Supported operating systems11macOS 10.13 High Sierra, macOS 10.14 MojaveDownload HP Easy Start from /LaserJet , and then use it to install the print driver.NOTE:Supported operating systems can change.NOTE:For a current list of supported operating systems and HP’s all-inclusive help for the printer, go to /support/colorljM776MFP .NOTE:For details on client and server operating systems and for HP UPD driver support for this printer, go to /go/upd . Under Additional information , click Specifications .●Internet connection●Dedicated USB 1.1 or 2.0 connection or a network connection● 2 GB of available hard-disk space ●1 GB RAM (32-bit) or2 GB RAM (64-bit)●Internet connection●Dedicated USB 1.1 or 2.0 connection or a network connection●1.5 GB of available hard-disk spaceNOTE:The Windows software installer installs the HP Smart Device Agent Base service. The file size is less than 100 kb. Its only function is to check for printers connected via USB hourly. No data is collected. If a USB printer is found, it then tries to locate a JetAdvantage Management Connector (JAMc) instance on the network. If a JAMc is found, the HP Smart Device Agent Base is securelyupgraded to a full Smart Device Agent from JAMc, which will then allow printed pages to be accounted for in a Managed Print Services (MPS) account. The driver-only web packs downloaded from for the printer and installed through the Add Printer wizard do not install this service.T o uninstall the service, open the Control Panel , select Programs or Programs and Features , and then select Add/Remove Programs or Uninstall a Programto remove the service. The file name isHPSmartDeviceAgentBase.Mobile printing solutionsHP offers multiple mobile printing solutions to enable easy printing to an HP printer from a laptop, tablet, smartphone, or other mobile device.T o see the full list and to determine the best choice, go to /go/MobilePrinting .NOTE:Update the printer firmware to ensure all mobile printing capabilities are supported.●Wi-Fi Direct (wireless models only, with HP Jetdirect 3100w BLE/NFC/Wireless accessory installed)●HP ePrint via email (Requires HP Web Services to be enabled and the printer to be registered with HP Connected)●HP Smart app ●Google Cloud Print12Chapter 1 Printer overview。
计算机组成原理英文缩写

计算机组成原理英文缩写Computer Organization and Design (COD) is a fundamental concept in computer science that deals with the architecture, organization, and implementation of computer systems. It focuses on how the hardware and software components work together to perform various tasks and execute programs efficiently. In this article, we will explore the key aspects of computer organization and design, as well as some related reference materials.1. Instruction Set Architecture (ISA)The ISA defines the set of instructions and data formats that a computer can execute. It specifies the layout of the registers, memory organization, and the instruction formats. A popular reference for ISA is "Computer Architecture: A Quantitative Approach" by John L. Hennessy and David A. Patterson.2. Central Processing Unit (CPU)The CPU is the heart of a computer system that performs all the arithmetic, logical, control, and input/output operations. It consists of various components, including the Arithmetic Logic Unit (ALU), control unit, and registers. For comprehensive information about CPU design, the book "Computer Organization and Design: The Hardware/Software Interface" by David A. Patterson and John L. Hennessy is a widely recognized reference.3. Memory HierarchyMemory hierarchy refers to the different levels of memory in a computer system, from the fastest and smallest cache memory to the slowest and largest main memory. The design and organization of the memory hierarchy significantly impact the performance of acomputer system. "Modern Operating Systems" by Andrew S. Tanenbaum and Herbert Bos is a valuable reference for understanding memory management.4. Input/Output (I/O) DevicesI/O devices allow computers to communicate with the external world. These devices include keyboards, mice, monitors, printers, and network interfaces. The book "Principles of Computer System Design: An Introduction" by Jerome H. Saltzer, M. Frans Kaashoek, and David P. Reed provides detailed information about the design and implementation of I/O systems.5. MicroarchitectureMicroarchitecture refers to the implementation details of a specific processor, including the organization of the pipeline, cache hierarchy, and branch prediction mechanisms. "Computer Architecture: Concepts and Evolution" by Gerrit A. Blaauw and Frederick P. Brooks Jr. is a comprehensive reference for microarchitecture.6. Parallel ProcessingParallel processing involves running multiple instructions or tasks simultaneously to improve overall system performance. "Computer Architecture: A Quantitative Approach" by John L. Hennessy and David A. Patterson provides in-depth information about parallel processing techniques, including multi-core processors and parallel programming models.7. PipeliningPipelining is a technique used to increase instruction throughput bydividing the execution of instructions into a series of overlapping stages. This technique enables concurrent execution of multiple instructions. "Computer Organization and Design: The Hardware/Software Interface" by David A. Patterson and John L. Hennessy extensively covers pipelining concepts and its impact on computer performance.8. Distributed SystemsDistributed systems involve multiple interconnected computers that work together to achieve a common goal. Designing efficient and reliable distributed systems requires knowledge of computer organization principles. "Distributed Systems: Concepts and Design" by George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair is a popular reference for understanding distributed systems.In conclusion, computer organization and design are crucial areas in computer science that involve various aspects, including instruction set architecture, CPU design, memory hierarchy, I/O devices, microarchitecture, parallel processing, pipelining, and distributed systems. The aforementioned references provide comprehensive information on these subjects and serve as valuable resources for anyone interested in learning more about computer organization and design.。
webservice简单实例

首先,我们必须了解什么是webservice.就概念上来说,可能比较复杂,不过我们可以有个宏观的了解:webservice就是个对外的接口,里面有函数可供外部客户调用(注意:里面同样有客户不可调用的函数).假若我们是服务端,我们写好了个webservice,然后把它给了客户(同时我们给了他们调用规则),客户就可以在从服务端获取信息时处于一个相对透明的状态.即是客户不了解(也不需要)其过程,他们只获取数据.webservice传递的数据只能是序列化的数据,典型的就是xml数据,这里我们也只讨论xml数据的传输.有了一些对xml webservice的初步了解后,我们将切入正题,即是用一个具体的webservice事例的形式来讲解具体的webservice用法,用具体的事例来讲解一个概念我想怎么也要比单纯的说理能让人容易理解吧.这里,我们将以一个简单的分布式课件搜索系统为例来讲解.使用VS2003为编译环境,C#为语言,SqlServcer2000为数据库.(这个例子来源于一位网上朋友的文章的启发,觉得很能代表webservice的特点,就按那个想法做了这么个系统来示例了)首先,明确我们要做什么.我们需要一个对客户的接口,也就是个站点,我们把它称做ServiceGatherSite,它是何种形式都无所谓,甚至它本身并不需要数据库,它只是提供给用户一个查询的接口,真正的服务,普通用户是不接触到的.然后,这里我们还需要若干个提供服务的站点,我们可以称它们为资源站,这里为简单起见,假设有两个资源站,分别叫WebSiteA,WebSiteB,它们可以是不对外公布的,只是为了丰富查询数据而存在.最后,是我们最需要关注的东西---资源站提供给ServiceGatherSite的服务.两个资源站,就有两个服务,我们称为SiteAService和SiteBService.两个服务间没有任何关系,内部提供的方法也完全没关联,只是需要把方法如何使用告诉ServiceGatherSite,意思是,服务只提供查询接口,返回的数据如何处理,服务本身并不管,全由使用服务的站点分配.写了这么多,算是简要的介绍了下有关xml webservice的概念和我们这个例子的结构,下篇文章,我们将开始真正进入代码的设计阶段.上篇文章介绍了些webservice的基本特性和我们例子的结构,这篇文章我们将开始具体的代码编写工作.这个专题主要讲述的是webservice,因此这里我们的代码以Webservice相关为主,而其他工程,例如:ServiceGatherSite,WebSiteA等,只将简略介绍.在VS2003中,开发一个webservice并不是件困难的事,首先,我们新建一个webservice 项目(文件->新建->项目->C#->Web服务应用程序)建完这个工程,我们将看到一个叫Service1.asmx的文件,这就是webservice的标准文件,它也有UI的概念,不过我们一般不关注,因此,我们查看其cs代码文件.如果你什么都还没做的话,将看见一个被注释掉的helloworld的WebMethod,把注释去掉,在运行,你就可以得到最简单的webservice运行实例了.点击"helloworld"将执行其方法.显然,这个函数对我们的意义只在于宏观的了解了下web服务的写法.下面,我们将开始具体介绍webservice的写法.在代码文件里,如果我们写了一个函数后,希望此函数成为外部可调用的接口函数,我们必须在函数上面添上一行代码[WebMethod(Description="函数的描述信息")],如果你的函数没有这个申明,它将不能被用户引用.如:[WebMethod(Description="最简单的方法")]public string HelloWorld(){return "Hello World";}这个函数就是外部可调用的接口函数,对用户来说相当于一个API.如果某用户在引用了这个服务后,他调用HelloWorld()方法,他就将获得"HelloWorld"这个返回值.看到这里,我们是不是发现,其实webservice并不是那么的神秘,它也不过只是个接口,对我们而言,侧重点依然是接口函数的编写.下面,我将给出我们的例子所需要的接口函数.[WebMethod(Description="查询以获取需要的课件信息")]public XmlDataDocument GetSiteAData(string AssignName){XmlDataDocument xd=new XmlDataDocument(); //DataSet ds=new DataSet();CStoreProc cp=new CStoreProc("SearchAssign");cp.AddParIn("@keywords",SqlDbType.VarChar,30,AssignName);cp.AddParOut("@res",SqlDbType.Int);if(cp.SelectProc()) //如果执行成功,存储过程{cp.myData.EnforceConstraints=false; //不进行格式严格检查if((int)cp.GetReturnValue("@res")==-1){string xml="<NewDataSet></NewDataSet>";xd.LoadXml(xml);return xd;}xd=new XmlDataDocument(cp.myData);XmlNode root1=xd.DocumentElement;XmlNodeList roots=root1.SelectNodes("list");foreach(XmlNode roota in roots) //为所有元素加上站点名称标记{XmlElement Link=xd.CreateElement("SiteName");Link.InnerText=ConfigurationSettings.AppSettings["SiteName"].ToString();roota.AppendChild(Link);}return xd;}else return null;}这是获取资源站点信息的一个接口函数.里面大部分的代码,我想对于有一定基础的朋友来说,都应该是一看就明白,这里只说明下CStoreProc,这是我封装的一个存储过程类,主要功能是执行各种类型的存储过程.细心的朋友可能会发现这个函数的返回类型似乎比较特殊,是个xml的文档.我们在前面已经说过,webservice只能传输序列化数据,xml显然满足条件,但比如hash表之类的非序列化数据,是不能传输的,xml使用最为广泛,而且考虑到跨平台应用,所以这里我们只以xml 数据的传输来示例.在下篇文章,我们将深入解析webservice的精髓---xml 数据传输.今天不早了,早点睡了:)接上篇文章,我们先简单解释下GetSiteAData(string AssignName)函数.函数功能很简单,只是要返回查询结果,其数据格式是XmlDataDocument.当查询失败时(无匹配查询结果),我们构造一个xml,返回一个空记录.否则,我们把查询后的dataset生成一个XmlDataDocument,接下来,由于该项目的需要,我加入了一个循环,添加dataset里所没有的节点,站点名称.在这之后,算是完成了一个符合我们期望格式的xml数据文档,我们把它返回.好了,webservice的方法函数介绍完了(这里还有个web服务方法,稍后介绍),接下来我们的任务是怎么调用它了.首先把webservice的项目编译完成,假定我们这个服务是针对资源站点A的,我们不妨称其为ServiceA.先单独运行asmx文件,执行GetSiteAData(string AssignName)方法,将提示你输入参数,你输入要搜索的内容,点确认,将返回给你一个xml数据,并在ie上显示出来,这就是你搜索到的内容拉.这里对ServiceA的工作再做点介绍,在我们这个项目里,它是资源站点A提供的服务,意思是,它查询的数据将全来源于站点A,而站点A资源添加在本项目也有专门的工程实现.好了,回到正题.这里我介绍vs调用webservice的方法,其实其他平台的调用方法也是大同小异.首先我们介绍web引用方式,这种方式我强烈建议调试时使用,非常方便.右击引用,点添加web引用,输入你的webservice地址,如:http://localhost/aspxproject/WebServiceSolution/SiteBService/service1.asmx,你必须保证你输入的webservice存在.然后引用即可,注意:web引用名将作为你加入的webservice的名字空间.比如你输入了:SiteA,那服务的实例化将是这样:SiteA.Service1 serviceA=newSiteA.Service1();(Service1是服务的类名).完成了这一步,service的调用似乎变的那么简单,我们已经实现了远程实例化,接下来的远程调用也是一样的容易.下面给出资源采集站ServiceGatherSite的绑定代码(只采集A 站点的信息)//绑定数据public void BindData(){serviceA=new SiteA.Service1();DataSet ds=new DataSet();XmlNode xmlNode1;XmlDataDocument xd=new XmlDataDocument();StringBuilder xmlString1;xmlNode1=serviceA.GetSiteAData(strSearch);if(xmlNode1==null) //--存储过程执行失败return;xmlString1=new StringBuilder(xmlNode1.OuterXml);if(xmlString1.ToString().Equals("<NewDataSet xmlns=\"\"></NewDataSet>"))return ;xd.LoadXml(xmlString1.ToString());ds.ReadXml(new XmlNodeReader(xd));DataGrid1.DataSource=ds.Tables["list"].DefaultView;DataGrid1.DataBind();}此段代码给出了xml转化成dataset的解决方案,虽然这不是必须的,但毕竟在 里,dataset占的作用之重,谁都知道的.其他的请朋友们先看(呵呵,个中高手就免了),在下篇文章中将会有对它的一些解释与及多服务分布调用的解决方案,写了三篇了,发现似乎还是有些朋友看的,那我就献丑继续写下去好了,大家有什么意见也希望提出,在下的理解存在偏驳也再所难免,希望谅解:)好了,时候不早了,休息去了,下次有时间继续:)架设webservice简单实例2009-08-24 19:22具体步骤如下:一、打开VS。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A Reference Architecture for Web ServersAhmed E. Hassan and Richard C. HoltSoftware Architecture Group (SWAG)Dept. of Computer ScienceUniversity of WaterlooWaterloo, Ontario N2L 3G1CANADA+1 (519) 888-4567 x 4671{aeehassa, holt}@plg.uwaterloo.caABSTRACTA reference software architecture for a domain defines the fundamental components of the domain and the relations between them. Research has shown the bene-fits of having a reference architecture for product de-velopment, software reuse, and maintenance. Many mature domains, such as compilers and operating sys-tems, have well-known reference architectures.In this paper, we present a process to derive a reference architecture for a domain. We used this process to de-rive a reference architecture for web servers, which is a relatively new domain. The paper presents the map-ping of this reference architecture to the architectures of three open source web servers: Apache (80KLOC), AOL-Server (164KLOC), and Jigsaw (106KLOC). KeywordsSoftware architecture, reference architecture, domain architecture, web server.1. INTRODUCTIONResearch has shown the importance of having an archi-tecture document during the development of a software system [15,17]. Such a document improves developers' system understanding. It provides a building plan for the system and reduces its maintenance cost. It pro-vides an overview description of the system. It permits the developer to view the major subsystems in the soft-ware system and the relations between them. Unfortu-nately, many software systems do not have an architec-ture document. The cost of manually developing this document increases with the size and the complexity of the software system. Recently, a number of tools have been developed to decrease this cost by helping to ex-tract the architecture of a software system [7, 16, 20, 21]. Using these tools, reverse engineering researchers have developed semi-automated processes to extract the product’s architecture from available artifacts such as the product's source code and any available documenta-tion.The reference architecture [4] for a domain is an archi-tecture template for all the software systems in the do-main. It defines the fundamental components of the domain and the relations between these components. The architecture for a particular product is an instance of the reference architecture. During product develop-ment, the product designer refines and extends the ref-erence architecture, based on the product’s require-ments and constraints. Recently, there has been some work on the derivation of reference architectures for specific domains [6]. For mature domains, the major components and the relations between them have been studied extensively and are well understood [12]. For example, an operating system is understood to have certain major subsystems such as a file system, a mem-ory manager, a process scheduler, a network interface, and an inter-process communication subsystem [19]. Similarly, a compiler is understood to have a scanner, parser, semantic analyzer and a code generator subsys-tem [17]. Many of the relations between such subsys-tems are known and are expected to exist in the archi-tecture of products in the same domain. For example in the architecture of a compiler, the scanner is expected to pass tokens to the parser.Research has shown that a reference architecture en-ables software reuse and reduces the development ef-forts [9]. The different components of the reference architecture provide a template for design and code reuse. Software architecture analysis methods such as SAAM [11] use a reference architecture to evaluate alternative architectures. As new products are devel-oped in new domains, the designers develop new sets of concepts and names. The comparison of architecture alternatives in new domains is hampered by the lack of consistency among concepts and terminology. A refer-ence architecture provides a common nomenclature across all software systems in the same domain, this allows the architectures of a set of products to be de-scribed uniformly. Such uniformity establishes a com-mon level of understanding and assists in comparing the different architectures. The existence of a reference architecture is useful in the reverse engineering of a software system in the domain [18], by providing a set of suggested subsystems and relations between them that can be expected to exist in the investigated system. The web server domain is an emerging domain. The architecture of different web servers has not been stud-ied extensively. Little has been published about the reference architecture for web servers. Luckily, three implementations of a web server are available online under an open source license: Apache [3], AOLServer [2], and Jigsaw [10]. Developed by three different or-ganizations with distinct requirements, built using dif-ferent development techniques, and with their source code available online, these web servers are prime can-didates to study in the derivation of a reference archi-tecture. Using the architecture of these three servers and a modest amount of web server domain knowledge, we developed a reference architecture for web server. We will present this reference architecture and will show how it is mapped to the architecture of each of the three web servers, to validate the derivation process. 2. THE WEB BROWSER DOMAINWeb servers provide access to many features for users such as daily news, email service, etc. A user needs a web browser to access these features. For example, when a user using his or her browser wants to check the daily news, he or she enters the Uniform Resource Lo-cator (URL) for the document that contains the daily news, such as /index.html. Using the HyperText Transfer Protocol (HTTP), the browser in turn requests the daily news from the CNN web server. The CNN web server locates the resource that contains the daily news and sends the daily news back to the browser, which displays it to the user.Figure 1 shows the interaction between the web server software and the rest of the environment. A web server is responsible for providing access to resources that are under control of the operating system. The most prominent web servers include Apache, StrongHold, Netscape's iPlanet, and Microsoft's IIS web server [13]. The web server provides access to resources that range from static documents, such as HTML or text, to more dynamic resources, which are created by executing pro-grams on the web server's machine. Java servlets and Common Gateway Interface (CGI) are some of the types of programs that are executed by web servers. The clients accessing the web server are called brows-ers. Browsers' capabilities range from simple text ori-ented browser to graphically capable browsers. The most prominent browsers include Netscape Navigator, Internet Explorer, and Lynx.Figure 1: Web server in the network environment.A web server can be thought of as the operating sys-tem's portal to the web. It provides a façade to the op-erating systems resources. It encapsulates the operating system and provides the requested resources to the browser using the functionality of the local operating system. Web servers have similar functionality, for example, all web servers can serve simple text files. But each web server may have extra features based on its design goals, for example, not all servers can serve Java servlets. The existence of a common set of fea-tures leads to the existence of a common reference ar-chitecture for web servers.3. DERIVING A REFERENCEARCHITECTUREStarting from the source code of three different web servers and no architecture documentation, we derived a reference architecture for the web server domain. We are not web server domain experts, and we were not able to interview any of the developers of the systems. Instead, we used the defining artifact of these systems: their source code.Kazman [11] describes a method to derive a reference architecture for use in conducting the SAAM analysis. Using a set of scenarios that represent the important usages of the system, a domain expert traces the im-plementation of the scenarios and recovers a subset of the reference architecture. Kazman [1] acknowledges that the derived architecture is an incomplete reference architecture, but it is sufficient for conducting the SAAM analysis. The derived reference architecture is limited by the quality and the quantity of the chosen scenarios.We will now present a process for deriving a reference architecture by a non-domain expert. Given a set of implementations (such as Apache, AOLServer, and Jigsaw), some documentation for each implementation and some domain knowledge, our process for deriving the reference architecture consists of these four steps: Step 1: Derive a conceptual (as-designed) architecture (see Figures 4, 6 & 8) for each implementation, as fol-lows:Step 1a: Propose a conceptual architecture foreach implementation, using domain knowl-edge and available documentation.Step 1b: Refine the conceptual architecture us-ing the concrete (as implemented) architecture. Step 2: Derive a reference architecture (see Figure 3) using the conceptual architectures derived in step 1 as follows:Step 2a: Propose a reference architecture basedon domain knowledge and the common struc-ture between the conceptual architectures.Step 2b: Refine the reference architecture us-ing the conceptual architectures from step 1. Figure 2 depicts the process used for deriving the refer-ence architecture for web servers. Step 1 was per-formed for all three servers, creating their conceptual architecture.Figure 2: Reference architecture derivation process. The conceptual architecture shows the system's subsys-tems and the inter subsystem relations that are mean-ingful to the system's developers. As we were not able to interview the developers, we built the conceptual architecture using available documentation and domain knowledge that we acquired from using web serv-ers/browsers and installing the Apache server. We used the Portable BookShelf (PBS) tool [13] to visualize and validate each conceptual architecture. The PBS tool recovers the concrete architecture of the system from the source code of the software system. The concrete architecture shows the actual relations between the dif-ferent subsystems according to the system's source code. As pointed by Bowman [5], the concrete architecture is likely to have more dependencies than the dependencies in the conceptual architecture. We examined the unex-pected dependency relations and revised our conceptual architectures where appropriate. For example, if the dependency relation was due to developer’s laziness (from code comments) and was not essential, it was not added to our conceptual architecture. We added rela-tions that we missed due to features that were not documented. We did not add relations when we were not able to justify their existence. Using the revised conceptual architecture and the knowledge we gained about the web server domain, we compared the different conceptual architectures to find common components and common relations between components. Based on the commonality analysis, we inferred a reference architecture. Later we validated that each of the architectures of each web servers had a direct mapping back to our reference architecture for web servers.4. WEB SERVER REFERENCEARCHITECTUREFollowing the process presented in the previous section, we derived the web server reference architecture, shown in Figure 3. The reference architecture follows a pipe and filter architecture style, as described by Shaw andGarlan [17]. This reference architecture specifies the data flow and the dependency between the different subsystems. The reference architecture is composed of seven major subsystems that are divided between two layers: a server layer and a support layer. The server layer contains five subsystems that are responsible for implementing the functionality of the web server. We will now discuss the server subsystems:Figure 3: Web server reference architecture.1. The Reception subsystem interprets the re-source request protocol, such as the HTTP pro-tocol. It is responsible for waiting for browserrequests that arrive through the network, pars-ing the requests, and building an internal rep-resentation of the request so the other subsys-tems could operate on the request without anyknowledge of the HTTP protocol. In addition,it determines the capabilities of the browser(such as simple text browser or graphically ca-pable browser) and adjusts the request’s re-sponse to match these capabilities. This sub-system contains the logic and the data struc-tures needed to handle multiple browser re-quests simultaneously.2. The Request Analyzer subsystem operates onthe internal representation of the request, builtby the Reception subsystem. This subsystemtranslates the location of the resource from anetwork location to local file name. For ex-ample, a request for resource ~/index.htmlcould be transformed to local file/usr/httpd/pub/webfiles/index.html. Also, thissubsystem may correct the spelling of the re-quested resource, if it cannot find an appropri-ate resource. For example, if the user mis-typed index.html as indAx.html, the RequestAnalyzer subsystem could correct the typingerror.3. The Access Control subsystem enforces the ac-cess rules employed by the server. It authenti-cates the browsers and authorizes their accessto the requested resources. This is the subsys-tem that requests a username and password toaccess the required resources, if needed.4. The Resource Handler subsystem determinesthe type of the resource requested by thebrowser, executes it and generates the re-sponse. For example, the Resource Handlersubsystem must determine if the requested re-source is a static file that can be sent back di-rectly to the user or if it is a program that mustbe executed to generate the response.5. The Transaction Log subsystem records all therequests and their result.The support layer contains two subsystems that provide functions that are used by the subsystems in the upper server layer:• The Utility subsystem contains functions that are used by all other subsystems. It has func-tions for manipulating strings or URLs andmany commonly used functions.• The Operating System Abstraction Layer (OSAL) encapsulates the operating systemspecific functionality to facilitate the porting ofthe server to different platforms. This layerwill not exist in a server that is designed to runon only one platform.In a later section, we will map the conceptual architec-ture of the each of the three web servers to our derived reference architecture.5. FLEXIBILITY OF THE REFERENCEARCHITECTURETo be useful a reference architecture must be flexible enough to encompass many product architectures. We will now list some of the ways in which our reference architecture is flexible.Resource Mapping FlexibilityA web server controls access to resources that are avail-able through the local operating system. To perform its tasks, it must map resources, which are on the opera-tion system to resources on the web. A designer of a web server can choose different mapping methods, such as online or offline mapping. For online mapping, the mapping rules are applied to the resource as it is being served to the client. For off-line mapping, the rules are applied ahead of time and the results of the mappings are stored in a server cache. The online mapping is efficient for resources that change frequently, but this design has a higher overhead for serving resources, as the mapping operation must be performed every time the resource is requested. By specializing the design of the Resource Handle and Resource Analysis subsys-tems, the designer can create a web server to support these two mapping alternatives. The Apache server uses an online mapping and the Jigsaw server uses an offline mapping.Security FlexibilityWeb server designers have many choices of security models. The security model could range from simple username/password to more sophisticated models based on signed certificates. The reference architecture speci-fies only that an access control scheme exists but the details of the Access Control subsystem is left to the designer’s discretion.Concurrency FlexibilityFor good response, web servers need to handle multiple clients simultaneously. The reference architecture does not specify how to implement this concurrency. The product designer can choose from a number of designs to achieve this concurrency using the reference archi-tecture, by specializing the design of the Reception sub-system. A multi-threaded model (Jigsaw and AOL-Server) or a multi process model (Apache) can be used.6. MAPPING THE CONCEPTUALARCHITECTURES TO THEREFERENCE ARCHITECTUREThe presented reference architecture is based on the common features and functionalities in the three exam-ined web servers. In this section, for each of the three web servers, we provide a brief background about the serve, a conceptual architecture diagram and a concep-tual to reference architecture mapping diagram. The mapping diagram shows how the architecture for thesoftware system can be viewed as an instance of the reference architecture. In the mapping diagram, a rounded-dotted box is a subsystem in the reference ar-chitecture and a square box is a subsystem in the con-ceptual architecture.6.1. ApacheThe Apache server (80KLOC) is the most used webserver in the Internet [13]. Apache's first release wason April 1995. This server is being developed on theInternet as an open source project. Developers are en-couraged to contribute to the development of the server,but a Core group of developers controls the architectureof the server and the features introduced in each re-lease. Apache’s main architect is Robert Thau. Thetop-level architecture of the server has not changed forthe past five years. Apache’s development documenta-tion indicates that no subsystems where added or re-moved since 1995. The main design goals for theserver followed by the Core group are: speed, simplic-ity, support for multiple platforms and ease of distrib-uted development. We examined the source code ofrelease 1.3.4. All the source code of the Apache is writ-ten in C.The conceptual architecture of Apache, shown in Fig-ure 4, has eight major subsystems. Execution of a re-quest starts in the Core subsystem. The browser issuesits request using the HTTP protocol to the machinerunning Apache. The Core subsystem is always waitingfor incoming requests on the machine. The Core main-tains a pool of processes to support answering multiplerequests for different clients. Once the request is re-ceived by the Core subsystem, a Request_rec structureis built. This structure stores the information needed toprocess the request by the other subsystems. This struc-ture is passed to the next subsystem, the Translationsubsystem. The Translation subsystem determines thelocal location of the requested resource. It spell checksthe request and corrects it, if necessary. Next, the Au-thentication subsystem determines if the client request-ing the resource needs to be authenticated. For exam-ple, the Authentication subsystem may ask the user fora username and password. The Request_rec structureis then transferred to the Authorization subsystem,which checks if the client is authorized to access therequested resource. Next, the MIME type subsystemdetermines the type of the requested resource. The re-sponse for the request is generated in the Response sub-system. Finally, the Logging subsystem records therequest and the Core subsystem sends the response back to the browser. During the processing of the request, if any of the subsystems encounter an error, the error is recorded in the Request_rec structure and the structure continues to be passed from subsystem to subsystem.Figure 4: Conceptual architecture of Apache. The Util subsystem contains a regular expression en-gine, and URL and string manipulation libraries. The OS Layer abstracts many functionalities that are operat-ing system dependent. The OS Layer has facilitated the porting of Apache to a multitude of platforms that range from mainframes to personal computers.Figure 5: Conceptual to reference architecture map-ping for Apache.Figure 5 shows the conceptual to reference architecture mapping for Apache. This mapping shows a good fit between the levels of architecture. The conceptual ar-chitecture of Apache has two more major subsystems than the reference architecture. For example, the func-tionality of the reference Access Control subsystem is divided between two subsystems in Apache: the Au-thentication and Authorization subsystems. This de-sign decision may be due to Apache’s need to support distributed development. By providing finer detailed subsystems, the Apache Core group can manage the large number of developers working on the system. 6.2. AOLServerThe AOLServer (164KLOC) is a commercial web server developed by AOL. Originally, the server was developed by NaviSoft, which was bought by AOL. The NS prefix in the server’s subsystem names is an abbreviation for NaviSoft. For example, NSPerm sub-system stands for NaviSoft Permission subsystem. AOLServer's first release was early 1995. The source code of the server was open-sourced in mid-June 1999. We examined the first open source release; release 3.0, which did not contain any contributions from outside sources. The architect of the server isn’t known as the development of the server was closed until recently. The main design goals for the server are to provide powerful support for sites that use databases exten-sively, and to provide extensibility using a maintainable and safe extension language. The AOLServer uses the Tool Command Language (TCL) as the extension lan-guage. We examined the source code of release 3.0. All the source code of AOLServer is written in C, ex-cept 4 KLOC of TCL. We did not extract the TCL part of the server.Figure 6 shows the conceptual architecture of the AOL-Server, which has ten subsystems. The server contains a TCL interpreter embedded in it. As the server is geared towards sites that use databases extensively, the server contains a Database Interface subsystem that provides a façade to different types of databases. The Database Interface subsystem is used by many of the subsystems in the server. For example, the NSPerm subsystem could store access control information in a database.The Communication Driver provides an interface that is communication protocol independent. It supports multiple network protocols such as the Secure Socket Layer (SSL), TCP sockets, and Unix sockets. The Daemon-Core subsystem translates the client’s request into an internal structure, called Conn, that is passed tothe other subsystems. The Daemon subsystem checks if the requested resource is available. Then the NSPerm subsystem checks the permissions on the requested re-source and ensures authorized access to resources on the system. The URL Handle subsystem carries out the request and generates the response. Finally, the NSLog subsystem records the processing of the request.Figure 6: Conceptual architecture of AOLServer.To facilitate the porting of AOLServer, the designers supply a thread library, NSThread, which is platform independent. AOLServer contains a Timer subsystem that permits the developer to schedule events that are executed at different time intervals. The Timer subsys-tem is used to timeout connections to database servers and to signal clean up for the cache structures used by AOLServer.Some of the interesting points in the conceptual to ref-erence architecture mapping for AOLServer, shown in Figure 7, are:• The AOLServer design does not provide aclear separation between the Reception and Request Analysis subsystems.• Support for multiple network protocols is im-portant for the designers. This may be attrib-uted to the commercial customer base of AOL-Server and their needs for a server that can support multiple network protocold, such as the SSL protocol used for secure online com-merce.• The OSAL and Utility subsystems are muchricher than their equivalent in Apache. OSAL provides a portable thread library implementa-tion. Also, the Utility subsystem has a data-base Interface, a Timer and a full TCL lan-guage interpreter.Figure 7: Conceptual to reference architecture map-ping for AOLServer.6.3. JigsawThe Jigsaw server (106KLOC) is an experimental server developed by the World Wide Web Consortium (W3C). Jigsaw's first release was in May 1996. The main architect of Jigsaw is Yves Lafon. The develop-ment documentation of the server indicates that the architecture of the server has not changed for the past two and a half years. The W3C uses the server for ana-lyzing Internet protocols and standards. The server code is open sourced but its development is not as ac-tive as Apache's. We examined the source code of re-lease 2.0.1. All the source code of Jigsaw is written in Java.Figure 8: Conceptual architecture of Jigsaw. The conceptual architecture of Jigsaw, shown in Figure 8, has seven subsystems. The Daemon subsystem sup-ports various protocols used to request resources on the network. It also provides the thread pools needed to handle multiple requests concurrently. As can be seen in Figure 8, Jigsaw contains four types of filter subsys-tems. A browser request passes through two filter sub-systems before the Resource subsystem processes the request and generates the response. The request passes through another pair of filters after the response has been generated. The choice of filters is based on the resource itself and the type of the protocol used to re-quest the resource. Jigsaw provides different levels of filters, such as protocol and resource filters. This em-phasis on filters may be due to the experimental nature of the server. These filter are useful for different types of benchmarking and for experimenting with new phases in the request processing. As with the other servers, there is a Utility subsystem that provides func-tionalities that are used throughout the server.In the conceptual to reference architecture mapping for Jigsaw shown in Figure 9, we notice that an OSAL does not exist. The server is developed in the Java language, which has standard package that provides the needed platform independent layer.Table 1: Statistics for the different web servers.Table 2: Summary of the conceptual to reference architecture mapping.Figure 9: Conceptual to reference architecture map-ping for Jigsaw.6.4. Summary of mappingsTable 1 summarizes the characteristics of the presented web servers. They were designed and developed by separate organizations using various development tech-niques and languages. The diversity of the examined software systems indicates that our derived reference architecture is not biased to any development technique or organization. Examining Table 2 that summarizes the mappings from conceptual to reference architecture for each web server, we notice that the conceptual ar-chitecture of each web server fits well in the reference architecture for web servers. The main differences in structure between the reference and conceptual archi-tectures are some splitting and merging of subsystems and differing numbers of support subsystems.7. CONCLUSIONA reference architecture helps in system understanding. It provides a standard structure to compare different architectures in the same domain. It can be used as a framework to assist in improving system reuse, and it facilitates both forward and reverse engineering of products in the domain.This paper has presented a process for deriving a refer-ence architecture of a domain, by a non-domain expert. Using multiple software systems from the domain, and some domain knowledge, we derived a reference archi-tecture for web servers. We validated the presented reference architecture using three open source systems: Apache, AOLServer, and Jigsaw. Clearly, more valida-tion of the derived reference architecture would be beneficial and is needed. We encourage web server developers to examine our reference architecture and validate it against their servers. Finally, we hope that our presented reference and conceptual architecture for web servers will be helpful in providing a better under-standing for the web server domain. ACKNOWLEDGEMENTSThe concrete and conceptual architecture of the Apache web server is based on early work done by: Octavian Andrei Dragoi, Richard Gregory, Eric Lee, Thomas Parry, Jean Preston, Mark Scott, and Ladan Tahvildari, as part of CS 746G, a graduate computer science course offered at the University of Waterloo. The authors would like to thank Thomas Parry for his help in devel-oping the conceptual and concrete architecture for the Jigsaw web server, and Ivan Bowman for providing a robust Java extractor.References[1] G. Abowd, J. Pitkow, R. Kazman, "AnalyzingDifferences Between Internet Information Sys-tem Software Architectures", Proceedings ofICC '96, Dallas, TX, June 1996.[2] The AOLServer server homepage. Availableonline at [3] The Apache server homepage. Availableonline at /httpd.html [4] J. Bergey, G. Campbell, P. Clements, S.Cohen, L. Jones, R. Krut, L. Northrop, and D.Smith. Second DoD Product Line PracticeWorkshop Report. Technical ReportCMU/SEI-99-TR-015, Carnegie Mellon Uni-versity, October 1999.[5] Ivan T. Bowman, R. C. Holt, and Neil V.Brewster. Linux as a Case Study: Its ExtractedSoftware Architecture. In Proceedings ofICSE’99, Los Angeles, May 1999.[6] W. Eixelsberger, M. Ogris, H. Gall, and B.Bellay. Software architecture recovery of aprogram family. In Proceedings of ICSE '98,Kyoto, Japan, Apr. 1998.[7] P. J. Finnigan, R. C. Holt, I. Kalas, S. Kerr, K.Kontogiannis, H. A. Muller, J. Mylopoulos, S.。