外文文献翻译---基于 Web 的分析系统
文献翻译-系统分析的方法
外文资料翻译The Methodology of Systems AnalysisFor a system analysis to be undertaken,someone must think there is a problem-or at least recognize the possibility that a problem exists.That is,he must be dissatisfied with the current or anticipated state of affairs and want help in discovering how to bring about a change for the better.Systems analysis can almost always provide help,even if it does no more than turn up relevant information or indicate that certain actions offer little hope of bringing about improvement.In most circumstances,the analysis may even discover a course of action that will bring about the desired change,a course that can be recognized as the advantageous and implemented by those with authority to act.Systems analysis can also be used to present factual arguments and reliable information to help win acceptance for a proposed couse of action.In addition,it can help to prevent the chosen course from being rendered ineffective by adverse interests,misinterpretations,or unanticipated problems.Although a system analysis may be carried out without a specific user or set of users in mind,such work is not likely to have much influence other than to inform public debate.Decisionmaker is assumed to be an individual who wants to make decisions as rationally as possible by taking into consideration the probable consequences of each available course of action-selecting the "best"action by balancing its cost against the extent to which it helps to achieve his objectives and possible other benefits.The analyst's basic procedure is to determine what the decisionmaker wants,search out his feasible alternatives,work out the consequences that would follow the decision to adopt each of the alternatives,and then,either rank the alternatives in terms of their consequences according to criteria specified by the decisionmaker,or present the alternatives with their consequences to the decisionmaker for ranking and choice.In reality,the decisionmaking situation is rarely so uncomplicated.Theperson for whom a study is done is ususlly but one of many participants in a decisionmaking process,and he must use the results of the analysis as evidence and argument to bring the others to his point of view before acting.In some cases the decisions cannot be separated from the managerial,organizational,and political situation in which they are made,and the model we are assuming for the decisionmaker(called the rational actor model,or model I by Allison)must be supplemented or modified by bringing in organizational and political considerations.Nevertheless,as Allison remarks,"For solving problems.a model I-style analysis provides the best first cut. Indeed,for analyzing alternatives and distinguishing the preferred proposal,there is no clear alternative to this basic framework."This is the basic,unsophisticated view of the decisionmaking situation.As an example to illustrate the basic procedure,assuming that a legislative committee wants to propose legislation to increase highway safety,it is willing to consider three alternatives:a requirement for devices to make the use of seat belts automatic,lowering the maximum speed limit and enforcing it more strictly,and establishing higher standards for issuing driver's licenses.They ask the legislative analyst to carry out a systems analysis.It is useful to consider aproblem of thes type in terms of these elements: Objectives——what the decisionmaker desires to achieve.In the example,the objective is the problem,the alternatives may be policies,strategies,designs,actions,or whatever it appears might attain the objective.In the example,although the alternatives are limited to three types, within each type there are many possibilities to consider.Consequences——the results that would ensure were the alternatives to be adopted and put into effect.In the highway safety example,if the alternative of a lower maximum speed limit with stricter enforcement were implemented,a positive consequence(abenefit)would be a lower rate of fatal highway accidents;a negative consequence(a cost)would be the need for more police officers to be hired or taken from other tasks.Criteria——rules or standards that specify in terms of consequences(orsome subset of them)how the alternatives are to be ranked in order of desirability.For example,a possible criterion might be to rank the alternatives in decreasing order of the ratio of the reduction in the annual number of fatalities from implementing the alternative to the expenditure of public funds required.Model——an abstraction,a set of assumptions about some aspect of the world,either real or imaginary,intended to clarify our view of an object,process,or problem by retaining only characteristics essential to the purpose we have in mind.It is a simplified conceptual or physical image that may be used to investigate the behavior of a system or the result of an action without altering the system or taking the action.A model is made up of factors relevant to the problem and the relations among them essential to the purpose in mind.A model may take many forms.some common types are a set of tables,a series of mathematical equations,a computer program,or merely a mental image of the situation held by someone contemplating an action.In most systems analyses explicit models are normally used for predicting both the context and environment in which the alternatives are to be implemented and their associated consequences.This is necesary because the factors are usually so numerous and their interrelations so complex that intuition and mental models are not adequate to handle the large number of factors and their intricate relations.Predicting consequences is not the only,or even the first,use of models in a system analysis.It is however,the most prominent use,for such models are likely to be elaborate and programmed for a computer,whereas many other models may be no more than well-thought through concept.In our example many different models are needed to estimate the results for the alternatives,and their consequences are of different types.In our example an early problem for the analysis is to fend a way to turn the vague goal of increased highway safety into something of a more operational character——in other words,to settle on a way to measure it .Onemeasure might be the reduction in annual number of fatalities;another might be the reduction in the annual(monetary)cost of highway accidents to the victims.Another task for the analyst is to check the alternatives for feasibility.It might turn out the alternative of automated seat belts is not feasible owing to public unacceptability.If this alternative were far superior to all the others i n increasing safety,the decisionmaker would probably want to investigate the cost and effectiveness of a campaign to change public opinion.The analyst will also want to search for and examine alternatives not on the original list——such things as better emergency ambulance service,eliminating unguarded railroad crossings,and changed car design——for these alternatives may promise increased highway safety at less cost than those on the original list,and,when presented with supporting calculations,may lead the decisionmakers to expand the list of possibilities they are welling to consider.Indeed,the discovery,invention,or design of new and better alternatives is often the real payoff from systems analysis.In predicting the results associated with the various alternatives,the analyst may have to use radically differing models or methods.A model to show the effect of improved driving skills on the number of fatalities can differ considerably from a model to predict the way a lower speed limit affects fatalities.On the other hand ,predictions for both cases may be obtained statistically from experiences in other jurisdictions with similar driving conditions.In comparing alternatives various future contexts may also have to be considered,with predictions or conjectures made about the effects of,for instance,a petroleum shortage on automobile traffic and other exogenous factors beyond the decisionmakers' control.One run-through of the set of procedures is seldom enough.Several cycles or iterations are almost always necessary to refine the first models and assumptions,and thus increase one's confidence in the outcomes.系统分析的方法进行系统分析时,人们一定认为存在某个问题,或至少应该认识到存在某个问题的可能性。
Spring相关的外文文献和翻译(毕设论文必备)
附录1 外文原文Introducing the Spring FrameworkThe Spring Framework: a popular open source application framework that addresses many of the issues outlined in this book. This chapter will introduce the basic ideas of Spring and dis-cuss the central “bean factory”lightweight Inversion-of-Control (IoC) container in detail.Spring makes it particularly easy to implement lightweight, yet extensible, J2EE archi-tectures. It provides an out-of-the-box implementation of the fundamental architectural building blocks we recommend. Spring provides a consistent way of structuring your applications, and provides numerous middle tier features that can make J2EE development significantly easier and more flexible than in traditional approaches.The basic motivations for Spring are:To address areas not well served by other frameworks. There are numerous good solutions to specific areas of J2EE infrastructure: web frameworks, persistence solutions, remoting tools, and so on. However, integrating these tools into a comprehensive architecture can involve significant effort, and can become a burden. Spring aims to provide an end-to-end solution, integrating spe-cialized frameworks into a coherent overall infrastructure. Spring also addresses some areas that other frameworks don’t. For example, few frameworks address generic transaction management, data access object implementation, and gluing all those things together into an application, while still allowing for best-of-breed choice in each area. Hence we term Spring an application framework, rather than a web framework, IoC or AOP framework, or even middle tier framework.To allow for easy adoption. A framework should be cleanly layered, allowing the use of indi-vidual features without imposing a whole world view on the application. Many Spring features, such as the JDBC abstraction layer or Hibernate integration, can be used in a library style or as part of the Spring end-to-end solution.To deliver ease of use. As we’ve noted, J2EE out of the box is relatively hard to use to solve many common problems. A good infrastructure framework should make simple tasks simple to achieve, without forcing tradeoffs for future complex requirements (like distributed transactions) on the application developer. It should allow developers to leverage J2EE services such as JTA where appropriate, but to avoid dependence on them in cases when they are unnecessarily complex.To make it easier to apply best practices. Spring aims to reduce the cost of adhering to best practices such as programming to interfaces, rather than classes, almost to zero. However, it leaves the choice of architectural style to the developer.Non-invasiveness. Application objects should have minimal dependence on the framework. If leveraging a specific Spring feature, an object should depend only on that particular feature, whether by implementing a callback interface or using the framework as a class library. IoC and AOP are the key enabling technologies for avoiding framework dependence.Consistent configuration. A good infrastructure framework should keep application configuration flexible and consistent, avoiding the need for custom singletons and factories. A single style should be applicable to all configuration needs, from the middle tier to web controllers.Ease of testing. Testing either whole applications or individual application classes in unit tests should be as easy as possible. Replacing resources or application objects with mock objects should be straightforward.To allow for extensibility. Because Spring is itself based on interfaces, rather than classes, it is easy to extend or customize it. Many Spring components use strategy interfaces, allowing easy customization.A Layered Application FrameworkChapter 6 introduced the Spring Framework as a lightweight container, competing with IoC containers such as PicoContainer. While the Spring lightweight container for JavaBeans is a core concept, this is just the foundation for a solution forall middleware layers.Basic Building Blockspring is a full-featured application framework that can be leveraged at many levels. It consists of multi-ple sub-frameworks that are fairly independent but still integrate closely into a one-stop shop, if desired. The key areas are:Bean factory. The Spring lightweight IoC container, capable of configuring and wiring up Java-Beans and most plain Java objects, removing the need for custom singletons and ad hoc configura-tion. Various out-of-the-box implementations include an XML-based bean factory. The lightweight IoC container and its Dependency Injection capabilities will be the main focus of this chapter.Application context. A Spring application context extends the bean factory concept by adding support for message sources and resource loading, and providing hooks into existing environ-ments. Various out-of-the-box implementations include standalone application contexts and an XML-based web application context.AOP framework. The Spring AOP framework provides AOP support for method interception on any class managed by a Spring lightweight container. It supports easy proxying of beans in a bean factory, seamlessly weaving in interceptors and other advice at runtime. Chapter 8 dis-cusses the Spring AOP framework in detail. The main use of the Spring AOP framework is to provide declarative enterprise services for POJOs.Auto-proxying. Spring provides a higher level of abstraction over the AOP framework and low-level services, which offers similar ease-of-use to .NET within a J2EE context. In particular, the provision of declarative enterprise services can be driven by source-level metadata.Transaction management. Spring provides a generic transaction management infrastructure, with pluggable transaction strategies (such as JTA and JDBC) and various means for demarcat-ing transactions in applications. Chapter 9 discusses its rationale and the power and flexibility that it offers.DAO abstraction. Spring defines a set of generic data access exceptions that canbe used for cre-ating generic DAO interfaces that throw meaningful exceptions independent of the underlying persistence mechanism. Chapter 10 illustrates the Spring support for DAOs in more detail, examining JDBC, JDO, and Hibernate as implementation strategies.JDBC support. Spring offers two levels of JDBC abstraction that significantly ease the effort of writing JDBC-based DAOs: the org.springframework.jdbc.core package (a template/callback approach) and the org.springframework.jdbc.object package (modeling RDBMS operations as reusable objects). Using the Spring JDBC packages can deliver much greater pro-ductivity and eliminate the potential for common errors such as leaked connections, compared with direct use of JDBC. The Spring JDBC abstraction integrates with the transaction and DAO abstractions.Integration with O/R mapping tools. Spring provides support classes for O/R Mapping tools like Hibernate, JDO, and iBATIS Database Layer to simplify resource setup, acquisition, and release, and to integrate with the overall transaction and DAO abstractions. These integration packages allow applications to dispense with custom ThreadLocal sessions and native transac-tion handling, regardless of the underlyingO/R mapping approach they work with.Web MVC framework. Spring provides a clean implementation of web MVC, consistent with the JavaBean configuration approach. The Spring web framework enables web controllers to be configured within an IoC container, eliminating the need to write any custom code to access business layer services. It provides a generic DispatcherServlet and out-of-the-box controller classes for command and form handling. Request-to-controller mapping, view resolution, locale resolution and other important services are all pluggable, making the framework highly extensi-ble. The web framework is designed to work not only with JSP, but with any view technology, such as Velocity—without the need for additional bridges. Chapter 13 discusses web tier design and the Spring web MVC framework in detail.Remoting support. Spring provides a thin abstraction layer for accessing remoteservices without hard-coded lookups, and for exposing Spring-managed application beans as remote services. Out-of-the-box support is included for RMI, Caucho’s Hessian and Burlap web service protocols, and WSDL Web Services via JAX-RPC. Chapter 11 discusses lightweight remoting.While Spring addresses areas as diverse as transaction management and web MVC, it uses a consistent approach everywhere. Once you have learned the basic configuration style, you will be able to apply it in many areas. Resources, middle tier objects, and web components are all set up using the same bean configuration mechanism. You can combine your entire configuration in one single bean definition file or split it by application modules or layers; the choice is up to you as the application developer. There is no need for diverse configuration files in a variety of formats, spread out across the application.Spring on J2EEAlthough many parts of Spring can be used in any kind of Java environment, it is primarily a J2EE application framework. For example, there are convenience classes for linking JNDI resources into a bean factory, such as JDBC DataSources and EJBs, and integration with JTA for distributed transaction management. In most cases, application objects do not need to work with J2EE APIs directly, improving reusability and meaning that there is no need to write verbose, hard-to-test, JNDI lookups.Thus Spring allows application code to seamlessly integrate into a J2EE environment without being unnecessarily tied to it. You can build upon J2EE services where it makes sense for your application, and choose lighter-weight solutions if there are no complex requirements. For example, you need to use JTA as transaction strategy only if you face distributed transaction requirements. For a single database, there are alternative strategies that do not depend on a J2EE container. Switching between those transac-tion strategies is merely a matter of configuration; Spring’s consistent abstraction avoids any need to change application code.Spring offers support for accessing EJBs. This is an important feature (andrelevant even in a book on “J2EE without EJB”) because the use of dynamic proxies as codeless client-side business delegates means that Spring can make using a local stateless session EJB an implementation-level, rather than a fundamen-tal architectural, choice. Thus if you want to use EJB, you can within a consistent architecture; however, you do not need to make EJB the cornerstone of your architecture. This Spring feature can make devel-oping EJB applications significantly faster, because there is no need to write custom code in service loca-tors or business delegates. Testing EJB client code is also much easier, because it only depends on the EJB’s Business Methods interface (which is not EJB-specific), not on JNDI or the EJB API.Spring also provides support for implementing EJBs, in the form of convenience superclasses for EJB implementation classes, which load a Spring lightweight container based on an environment variable specified in the ejb-jar.xml deployment descriptor. This is a powerful and convenient way of imple-menting SLSBs or MDBs that are facades for fine-grained POJOs: a best practice if you do choose to implement an EJB application. Using this Spring feature does not conflict with EJB in any way—it merely simplifies following good practice.Introducing the Spring FrameworkThe main aim of Spring is to make J2EE easier to use and promote good programming practice. It does not reinvent the wheel; thus you’ll find no logging packages in Spring, no connection pools, no distributed transaction coordinator. All these features are provided by other open source projects—such as Jakarta Commons Logging (which Spring uses for all its log output), Jakarta Commons DBCP (which can be used as local DataSource), and ObjectWeb JOTM (which can be used as transaction manager)—or by your J2EE application server. For the same reason, Spring doesn’t provide an O/R mapping layer: There are good solutions for this problem area, such as Hibernate and JDO.Spring does aim to make existing technologies easier to use. For example, although Spring is not in the business of low-level transaction coordination, it does provide an abstraction layer over JTA or any other transaction strategy. Spring is alsopopular as middle tier infrastructure for Hibernate, because it provides solutions to many common issues like SessionFactory setup, ThreadLocal sessions, and exception handling. With the Spring HibernateTemplate class, implementation methods of Hibernate DAOs can be reduced to one-liners while properly participating in transactions.The Spring Framework does not aim to replace J2EE middle tier services as a whole. It is an application framework that makes accessing low-level J2EE container ser-vices easier. Furthermore, it offers lightweight alternatives for certain J2EE services in some scenarios, such as a JDBC-based transaction strategy instead of JTA when just working with a single database. Essentially, Spring enables you to write appli-cations that scale down as well as up.Spring for Web ApplicationsA typical usage of Spring in a J2EE environment is to serve as backbone for the logical middle tier of a J2EE web application. Spring provides a web application context concept, a powerful lightweight IoC container that seamlessly adapts to a web environment: It can be accessed from any kind of web tier, whether Struts, WebWork, Tapestry, JSF, Spring web MVC, or a custom solution.The following code shows a typical example of such a web application context. In a typical Spring web app, an applicationContext.xml file will reside in theWEB-INF directory, containing bean defini-tions according to the “spring-beans”DTD. In such a bean definition XML file, business objects and resources are defined, for example, a “myDataSource”bean, a “myInventoryManager”bean, and a “myProductManager”bean. Spring takes care of their configuration, their wiring up, and their lifecycle.<beans><bean id=”myDataSource”class=”org.springframework.jdbc. datasource.DriverManagerDataSource”><property name=”driverClassName”> <value>com.mysql.jdbc.Driver</value></property> <property name=”url”><value>jdbc:mysql:myds</value></property></bean><bean id=”myInventoryManager”class=”ebusiness.DefaultInventoryManager”> <property name=”dataSource”><ref bean=”myDataSource”/> </property></bean><bean id=”myProductManager”class=”ebusiness.DefaultProductManager”><property name=”inventoryManager”><ref bean=”myInventoryManager”/> </property><property name=”retrieveCurrentStock”> <value>true</value></property></bean></beans>By default, all such beans have “singleton”scope: one instance per context. The “myInventoryManager”bean will automatically be wired up with the defined DataSource, while “myProductManager”will in turn receive a reference to the “myInventoryManager”bean. Those objects (traditionally called “beans”in Spring terminology) need to expose only the corresponding bean properties or constructor arguments (as you’ll see later in this chapter); they do not have to perform any custom lookups.A root web application context will be loaded by a ContextLoaderListener that is defined in web.xml as follows:<web-app><listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class></listener>...</web-app>After initialization of the web app, the root web application context will beavailable as a ServletContext attribute to the whole web application, in the usual manner. It can be retrieved from there easily via fetching the corresponding attribute, or via a convenience method in org.springframework.web.context.support.WebApplicationContextUtils. This means that the application context will be available in any web resource with access to the ServletContext, like a Servlet, Filter, JSP, or Struts Action, as follows:WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(servletContext);The Spring web MVC framework allows web controllers to be defined as JavaBeans in child application contexts, one per dispatcher servlet. Such controllers can express dependencies on beans in the root application context via simple bean references. Therefore, typical Spring web MVC applications never need to perform a manual lookup of an application context or bean factory, or do any other form of lookup.Neither do other client objects that are managed by an application context themselves: They can receive collaborating objects as bean references.The Core Bean FactoryIn the previous section, we have seen a typical usage of the Spring IoC container in a web environment: The provided convenience classes allow for seamless integration without having to worry about low-level container details. Nevertheless, it does help to look at the inner workings to understand how Spring manages the container. Therefore, we will now look at the Spring bean container in more detail, starting at the lowest building block: the bean factory. Later, we’ll continue with resource setup and details on the application context concept.One of the main incentives for a lightweight container is to dispense with the multitude of custom facto-ries and singletons often found in J2EE applications. The Spring bean factory provides one consistent way to set up any number of application objects, whether coarse-grained components or fine-grained busi-ness objects. Applying reflection and Dependency Injection, the bean factory can host components that do not need to be aware of Spring at all. Hence we call Spring a non-invasiveapplication framework.Fundamental InterfacesThe fundamental lightweight container interface isorg.springframework.beans.factory.Bean Factory. This is a simple interface, which is easy to implement directly in the unlikely case that none of the implementations provided with Spring suffices. The BeanFactory interface offers two getBean() methods for looking up bean instances by String name, with the option to check for a required type (and throw an exception if there is a type mismatch).public interface BeanFactory {Object getBean(String name) throws BeansException;Object getBean(String name, Class requiredType) throws BeansException;boolean containsBean(String name);boolean isSingleton(String name) throws NoSuchBeanDefinitionException;String[] getAliases(String name) throws NoSuchBeanDefinitionException;}The isSingleton() method allows calling code to check whether the specified name represents a sin-gleton or prototype bean definition. In the case of a singleton bean, all calls to the getBean() method will return the same object instance. In the case of a prototype bean, each call to getBean() returns an inde-pendent object instance, configured identically.The getAliases() method will return alias names defined for the given bean name, if any. This mecha-nism is used to provide more descriptive alternative names for beans than are permitted in certain bean factory storage representations, such as XML id attributes.The methods in most BeanFactory implementations are aware of a hierarchy that the implementation may be part of. If a bean is not found in the current factory, the parent factory will be asked, up until the root factory. From the point of view of a caller, all factories in such a hierarchy will appear to be merged into one. Bean definitions in ancestor contexts are visible to descendant contexts, but not the reverse.All exceptions thrown by the BeanFactory interface and sub-interfaces extend org.springframework. beans.BeansException, and are unchecked. This reflects the fact that low-level configuration prob-lems are not usually recoverable: Hence, application developers can choose to write code to recover from such failures if they wish to, but should not be forced to write code in the majority of cases where config-uration failure is fatal.Most implementations of the BeanFactory interface do not merely provide a registry of objects by name; they provide rich support for configuring those objects using IoC. For example, they manage dependen-cies between managed objects, as well as simple properties. In the next section, we’ll look at how such configuration can be expressed in a simple and intuitive XML structure.The sub-interface org.springframework.beans.factory.ListableBeanFactory supports listing beans in a factory. It provides methods to retrieve the number of beans defined, the names of all beans, and the names of beans that are instances of a given type:public interface ListableBeanFactory extends BeanFactory {int getBeanDefinitionCount();String[] getBeanDefinitionNames();String[] getBeanDefinitionNames(Class type);boolean containsBeanDefinition(String name);Map getBeansOfType(Class type, boolean includePrototypes,boolean includeFactoryBeans) throws BeansException}The ability to obtain such information about the objects managed by a ListableBeanFactory can be used to implement objects that work with a set of other objects known only at runtime.In contrast to the BeanFactory interface, the methods in ListableBeanFactory apply to the current factory instance and do not take account of a hierarchy that the factory may be part of. The org.spring framework.beans.factory.BeanFactoryUtils class provides analogous methods that traverse an entire factory hierarchy.There are various ways to leverage a Spring bean factory, ranging from simple bean configuration to J2EE resource integration and AOP proxy generation. The bean factory is the central, consistent way of setting up any kind of application objects in Spring, whether DAOs, business objects, or web controllers. Note that application objects seldom need to work with the BeanFactory interface directly, but are usu-ally configured and wired by a factory without the need for any Spring-specific code.For standalone usage, the Spring distribution provides a tiny spring-core.jar file that can be embed-ded in any kind of application. Its only third-party dependency beyond J2SE 1.3 (plus JAXP for XML parsing) is the Jakarta Commons Logging API.The bean factory is the core of Spring and the foundation for many other services that the framework offers. Nevertheless, the bean factory can easily be usedstan-dalone if no other Spring services are required.附录2 中文译文Spring框架介绍Spring框架:这是一个流行的开源应用框架,它可以解决很多问题。
MVC设计模式THE-MVC-WEB-DESIGN-PATTERN大学毕业论文外文文献翻译及原文
毕业设计(论文)外文文献翻译文献、资料中文题目:MVC设计模式文献、资料英文题目:THE MVC-WEB DESIGN PATTERN文献、资料来源:文献、资料发表(出版)日期:院(部):专业:班级:姓名:学号:指导教师:翻译日期: 2017.02.14MVC设计模式Ralph F. Grove计算机科学,詹姆斯麦迪逊大学,哈里森堡,美国弗吉尼亚州***************Eray Ozkan计算机科学,詹姆斯麦迪逊大学,哈里森堡,美国弗吉尼亚州*****************关键字:web,web框架,设计模式,模型-视图-控制器模式摘要:模型-视图-控制器模式被引用为许多web开发框架的基础架构。
然而,用于web开发的MVC 版本随着原来的Smalltalk的MVC的演变而发生了一些改变。
本文介绍了对这些变化的分析,并提出了一种独立的Web-MVC模式,用于更准确的描述MVC是如何在web框架中实现的。
1.介绍模型-视图-控制器(Modle-View-Controller,MVC)设计模式被一些web应用框架作为基础架构,例如,Rails,以及Struts。
MVC最初是在施乐帕克研究中心(Goldberg和Robson,1985)开发的Smalltalk编程环境中实现的。
为了适应web框架,MVC已经演变成了另一种方式,最终成为一种不同于其他任何设计模式,也与原始的Smaltalk完全不同的模式的实现。
本文的第一个目标是介绍MVC设计模式,其中包括它的原始形态(第2节)以及现代众所周知的用于web应用框架的变更后的形态(第3节)。
第二个目标是对这个模式演变后发生的变化进行评估,同时呈现演变后版本的有效性(第3节)。
最后,我们提出了一个标准的MVC-Web设计模式的描述,用于反映目前在web框架中模式的使用,同时又能保持原始的MVC中令人满意的特性。
基于MVC的web应用框架的修订版本已经被提出了(Chun, Yanhua, 和Hanhong, 2003) (Barrett和Delaney, 2004)。
网站建设外文文献翻译
On site construction technology1 IntroductionThe development of network technology for today's global information exchange and sharing funding source in the establishment of contacts and provide more channels and possible. Homes will be known world affairs, according few keyboard or a few mouse clicks can be distant friends thousands of miles away exchanges, and online communications, Internet browsing, on-line interactive, e-commerce has become a modern part of people's lives. Internet era, has created the new people's work and lifestyle, the Internet, openness and sharing of information model, breaking the traditional mode of information dissemination many barriers for people with new opportunities. With computers and the advent of the information age, the pace of the advance of human society in gradually accelerated. In recent years the development of web design, fast people occupied.With the development of web design, a colorful online website together one scenic beauty. To design aesthetic and practical web site should be thoroughly master the building techniques. In building site, we analyzed the websites of objectives, contents, functions, structure, the application of more web design technology. 2 the definition of websit How definition of websitesWeb site identified the tasks and objectives, the building site is the most important issue. Why people will come to your website You have a unique service The first people to your website is to what They will come back All these issues must be taken into account when the site definition of the problem. Definition site to, first of all, the entire site must have a clear understanding of what the design should understand in the end, the main purpose of the mission, how to carry out the task of organization and planning. Second, to maintain the high-quality Web site. Many websites in the face of strong competition from high-quality product is the greatest long-term competitive advantage. An excellent Web site should have the following:1 users visit Web site is faster.2 attention to the feedback and updates. To update the content of the website and timely feedback the user's requirements;3 Home design to be reasonable. Home to the first impression left by visitors is important, the design must be attractive in order to have a good visual effect. The contents of the website and functionThe content of the web site is to be a new, fast, all three sides. The content of the website, including the type of static, dynamic, functional and things to deal with. Website content is determined in accordance with the nature of the site, in the design of the site, commercial websites, popular science site, company websites, teaching and exchange websites, the content and style are different. We have established websites with the nature of these types of sites are not the same. The structure website1 site structure;2 definition of navigation;3 Visual Design;4 framework and design pages. 3 Site Design and ImplementationWith increasing demands on design, high style, high-grade design work before gaining popularity. This also to the designers have put forward higher requirements, from this point of view, the plate design is to meet the requirements of the people should be and Health. The rapid development of science and technology, the Internet into millions of households, also produced a new design space, and a new web design an important part of the field of design. Excellent web design, we must have good creative, so that the audience can be difficult to shift attention long time, produce power. Layout is very important, through text, graphics space portfolio, can best express harmony with the United States. If you want to further understand website design, made separately from other web site's homepage, you need to have more like CSS, javascript, CGI, and other web design technology. In building on the site of the CSS, javascript and other web design technology. Application Design website CSS(1)What is CSS CSS is a style sheet stylesheet technology. Some of them called CSS Cascading Stylesheet.2 the combination of CSS and HTML form. Mode 1: The CSS content, as defined in the writing between the labels. Mode 2: CSS will be preserved as a separate text file, and then from labels to call.3 CSS the web site of examples. The web site pages, and increase the following definition so that the pages show with special effects. Application Design website javascriptjavascript and the emergence of making information between users is not only a display and browse the relationship, but to achieve a real-time,dynamic, cross-expression. Thus based on the CGI static HTML pages will be to provide dynamic real-time information, and customer response to the operation of the Web pages replaced. javascript scripting is satisfy this demand arising from the language. It's loved by extensive user. Many scripting language it is in a relatively good. and effectively achieve the combination of the computer network computing and network blueprint.4 Construction on the site ExperienceWith the popularity of the Internet, more and more government departments, companies and individuals aware of the need to have their own independent Web site. Below on the design and production sites on some of their own experience. After conducting systematic analysis End, we should carry out system design. Web page design similar to the development of software design, top-down, bottom-up and continuous updating, and other design methods. The main task is to design the content of the sites, including the website information organization structure, appearance, content block, navigation and links, directory structure design. System design is the site ready before the concrete realization of the website to further the realization of more specific requirements, the overall effect on the website, local details have a clearer idea. This entire process is the key site planning.Next is how to achieve their own Web site design issues. The realization of the site, I think the need to be considered in two parts: the realization website; Web servers can be achieved. In the process of achieving website, technology selection is very important. Former major use HTML language, the stronger the interactive website, the proposed use of ASP, JSP, PHP and other programming to help achieve,the more complex Web site may also have its own database. The latter is based on all kinds of different operating systems used Web server software installation and debugging. This stage is the whole process of the most important and most time-consuming part.When we completed the work, the need for website released. At this stage of the production on the website drawing to a close, the main task is to do a good job in the website release to the network, the web site for final modifications, testing, homepage can guarantee normal operation of the network.Published in the website after website to deal with various aspects of the tests, including the possibility of any different web browsers, different visitors have shown normal, ASP, JSP, PHP normal procedure can work, and so on. This stage is the website of trial operation period,the website at this time should be to make up for various shortcomings, the website will be more perfected.After a period of operation, the site entered the normal operation period, the main task is to update outdated information website, the visitor's message timely feedback to further improve the website, the introduction of new technologies constantly update website, visit web pages more quickly, more aesthetic appearance, Information Resources richer.Above is the establishment of the station to roughly follow the seven steps, seven steps are complementary, but can be the basis of ease of website and complexity of a weakening or strengthening appropriate link. In short, building a successful web site is not an easy task, it needs all-round consideration, the Composite various factors.5 concluding remarksWith the rapid development of Internet technology, in all walks of life have joined the industry to the Internet. Whether from the management side, or from a commercial point of view, the Internet can bring immense vitality. Internet to become a talented designer Shi new world. People will continue to explore, will be the site of the building in the application of new technologies in the web site.网站建设技术1 介绍网络技术的发展,为今天全球性的信息交流与资源共享和交往提供了更多的途径和可能;足不出户便可以知晓天下大事,按几下键盘或点几下鼠标可以与远在千里之外的朋友交流,网上通信、网上浏览、网上交互、网上电子商务已成为现代人们生活的一部分;Internet 时代, 造就了人们新的工作和生活方式,其互联性、开放性和共享信息的模式,打破了传统信息传播方式的重重壁垒,为人们带来了新的机遇;随着计算机和信息时代的到来,人类社会前进的脚步在逐渐加快;近几年网页设计发展,快得让人目不暇接;随着网页设计技术的发展,丰富多彩的网页成为网上一道亮丽的风景线;要想设计美观实用的网页就应该深入掌握网站建设技术;在建立网站时,我们分析了网站建立的目的、内容、功能、结构,应用了更多的网页设计技术;2 网站的定义如何定义网站确定网站的任务和目标,是建设网站所面临的最重要的问题;为什么人们会来到你的网站你有独特的服务吗人们第一次到你的网站是为了什么他们还会再来吗这些问题都是定义网站时必须考虑的问题;要定义网站,首先,必须对整个网站有一个清晰认识,弄清到底要设计什么、主要的目的与任务、如何对任务进行组织与规划;其次,保持网站的高品质;在众多网站的激烈竞争中,高品质的产品是长期竞争的最大优势;一个优秀的网站应具备:1用户访问网站的速度要快;2注意反馈与更新;及时更新网站内容、及时反馈用户的要求; 3首页设计要合理;首页给访问者留下的第一印象很重要,设计务必精美,以求产生良好的视觉效果;网站的内容和功能在网站的内容方面,就是要做到新、快、全三面;网站内容的类型包括静态的、动态的、功能的和事物处理的;确定网站的内容是根据网站的性质决定的,在设计政府网站、商业网站、科普性网站、公司介绍网站、教学交流网站等的内容和风格时各有不同;我们建立的网站同这些类型的网站性质均不相同;网站的结构1网站的结构; 2定义导航; 3可视化设计; 4设计框架和页面;3 网站的设计与实现随着人们对设计的要求越来越高,高格调,高品位的设计作品,才深受人们的欢迎;这也就给设计者们提出了更高的要求,从这个角度说,板式设计正是满足了人们的要求应需而生;科技的飞跃发展, 让Internet 走进了千家万户,也产生出新的设计领域空间,而网页设计成为新的设计领域的重要内容;优秀的网页设计,必须有好的创意,才能使观者视线久久难移,产生震撼力;版面设计是很重要的,通过文字、图形的空间组合,能最佳的表达出和谐与美;如果想进一步认识网页设计,做出有别于一般网站的网页,就需要掌握更多像CSS 、javascript 、CGI 等网页设计技术;在网站的建设中就应用了CSS 、Javascript 等网页设计技术;应用CSS 设计网页1 什么是CSS CSS 是一种样式表stylesheet技术;也有的人称之为层叠样式表 Cascading Stylesheet;2 CSS与HTML的结合方式;方式一:将所定义的CSS内容书写在这一对标签之间;方式二:将CSS内容单独保存为一个文本文件,再由标签来调用;3 CSS在网站中的应用事例;在网站中的页面,增加了以下的定义, 使页面有特殊的显示效果;应用Javascript 设计网页Javascript的出现使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力;从而基于CGI静态的HTML 页面将被可提供动态实时信息,并对客户操作进行反应的Web页面的取代;Javascript脚本正是满足这种需求而产生的语言;它深受广泛用户的喜爱;它是众多脚本语言中较为优秀的一种;与的结合有效地实现了网络计算和网络计算机的蓝图;4 关于网站建设的几点体会随着Internet的普及,越来越多的政府部门、公司和个人意识到需要拥有自己的独立网站;下面就设计和制作网站谈谈自己的一些体会;在进行完系统分析之后,我们就应该进行系统的设计;网页的设计类似于软件开发的设计,有自顶向下、自底向上和不断增补等设计方法;主要任务是网页内容的设计,包括网页的信息组织结构、外观、内容分块、导航与链接、目录结构等设计;系统设计是网站具体实现前的准备,对网页的实现进一步提出更具体的要求,对网页的整体效果、局部细节有更明确的设想;这个过程是整个网站规划中的关键;接下来就是如何将自己设计的网站实现的问题;对于网站的实现,我认为需要考虑两部分:网页的实现;Web服务器的实现;在网站实现的过程中,技术选型很重要;前者主要使用HTML语言,对于交互性较强的网站来说,建议采用ASP、JSP、PHP等编程来辅助实现,更为复杂的网站可能还会有自己的数据库;后者则用到各种基于不同操作系统的Web服务器软件的安装、调试;这个阶段是整个过程中最主要也最耗时的一部分;当我们完成了上述工作后,就需要进行网页发布了;到了这个阶段,网页制作就接近尾声,主要工作是把做好的网页发布到网络上,对网页作最后的修改、测试,保证网页能在网络上正常地运行;在网页发布以后,应对网页进行各个方面各种情况的测试,包括网页能否对任何不同的浏览器、不同的访问者都表现正常,ASP、JSP、PHP程序能否正常工作等等;这个阶段是网页的试运行期,此时应把网页的各种缺陷尽量弥补,使网页更加完善;经过一段时期的运行,网站就进入了正常运行期,主要工作是及时更新网页过时的信息,及时对访问者的留言做出反馈,进一步完善网页,不断采用新的技术更新升级网页,使网页的访问更迅速,外观更美观,信息资源更丰富;以上就是建站要大体遵循的七个步骤,这七个步骤是相辅相成的,但可根据网页的难易程度和复杂度适当增强或减弱某个环节;总之,建设一个成功的网站并非一件容易的事,它需要全方位考虑,综合各方面的因素;5 结束语随着Internet技术的突飞猛进,各行各业都在加入Internet的行业中来;无论从管理方面,还是从商业角度来看,Internet都可以带来无限生机;Internet成为了一个设计人员施才华的新天地;人们将不断探索,将网站建设中的新技术应用在网站中;。
计算机 JSP web 外文翻译 外文文献
计算机 JSP web 外文翻译外文文献12.1 nEffective web n design involves separating business objects。
n。
and object XXX。
Although one individual may handle both roles on a small-scale project。
it is XXX.12.2 JSP ArchitectureIn this chapter。
XXX using JavaServer Pages。
servlets。
XXX of different architectures。
each building upon the us one。
The diagram below outlines this process。
and we will explain each component in detail later in this article.Note: XXX.)When Java Server Pages were introduced by Sun。
some people XXX。
While JSP is a key component of the J2EE n and serves as the preferred request handler and response mechanism。
it is XXX.XXX JSP。
the XXX that JSP is built on top of the servlet API and uses servlet XXX interesting ns。
such as whether we should XXX in our Web-enabled systems。
and if there is a way to combine servlets and JSPs。
外文文献翻译-JSP发展历史中英文
JSP的技术发展历史作者:Kathy Sierra and Bert Bates来源:Servlet&JSPJava Server Pages(JSP)是一种基于web的脚本编程技术,类似于网景公司的服务器端Java 脚本语言—— server—side JavaScript(SSJS)和微软的Active Server Pages(ASP)。
与SSJS和ASP相比,JSP具有更好的可扩展性,并且它不专属于任何一家厂商或某一特定的Web服务器。
尽管JSP规范是由Sun公司制定的,但任何厂商都可以在自己的系统上实现JSP。
在Sun正式发布JSP(Java Server Pages)之后,这种新的Web应用开发技术很快引起了人们的关注。
JSP为创建高度动态的Web应用提供了一个独特的开发环境。
按照Sun的说法,JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85%的服务器产品。
本文将介绍JSP相关的知识,以及JavaBean的相关内容,当然都是比较粗略的介绍其中的基本内容,仅仅起到抛砖引玉的作用,如果读者需要更详细的信息,请参考相应的JSP的书籍。
1。
1 概述JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。
JSP与Microsoft的ASP技术非常相似.两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
下面我们简单的对它进行介绍.JSP页面最终会转换成servlet。
因而,从根本上,JSP页面能够执行的任何任务都可以用servlet 来完成。
然而,这种底层的等同性并不意味着servlet和JSP页面对于所有的情况都等同适用.问题不在于技术的能力,而是二者在便利性、生产率和可维护性上的不同。
毕竟,在特定平台上能够用Java 编程语言完成的事情,同样可以用汇编语言来完成,但是选择哪种语言依旧十分重要.和单独使用servlet相比,JSP提供下述好处:1)JSP中HTML的编写与维护更为简单。
信息系统外文文献翻译---系统的分析与设计
附录1 外文翻译(原文)Systems Analysis and DesignWorking under control of a stored program, a computer processes data into information. Think about that definition for a minute. Any given computer application involves at least three components: hardware, software, and data. Merely writing a program isn't enough; because the program is but one component in a system.A system is a group of components that work together to accomplish an objective. For example, consider a payroll system. Its objective is paying employees. What components are involved? Each day,employees record their hours worked on time cards. At the end of each week, the time cards are collected and delivered to the computer center, where they are read into a payroll program. As it runs, the program accesses data files. Finally, the paychecks are printed and distributed. For the system to work, people, procedures, input and output media, files, hardware, and software must be carefully coordinated. Note that the program is but one component in a system.Computer-based systems are developed because people need information. Those people, called users, generally know what is required, but may lack the expertise to obtain it. Technical professionals, such as programmers, have the expertise, but may lack training in the user's field. To complicate matters, users and programmers often seem to speak different languages, leading to communication problems. A systems analyst is a professional who translates user needs into technical terms, thus serving as a bridge between users and technical professionals.Like an engineer or an architect, a systems analyst solves problems by combining solid technical skills with insight, imagination, and a touch of art. Generally, the analyst follows a well-defined, methodical process that includes at least the following steps;1.Problem definition2.Analysis3.Design4.Implementation5.MaintenanceAt the end of each step, results are documented and shared with both the user and the programmers. The idea is to catch and correct errors and misunderstandings as early as possible. Perhaps the best way to illustrate the process is through example.Picture a small clothing store that purchases merchandise at wholesale, displays this stock, and sells it to customers at retail. On the one hand, too much stock represents an unnecessary expense. On the other hand, a poor selection discourages shoppers. Ideally, a balance can be achieved: enough, but not too much.Complicating matters is the fact that inventory is constantly changing, with customer purchases depleting stock, and returns and reorders adding to it. [1] The owner would like to track inventory levels and reorder and given item just before the store runs out. For a single item, the task is easy-just count the stock-on-hand. Unfortunately, the store has hundreds of different items, and keeping track of each one is impractical. Perhaps a computer might help.2-1 Problem DefinitionThe first step in the systems analysis and design process is problem definition. The analyst's objective is determining what the user (in this case, the store's owner) needs. Note that, as the process begins, the user possesses the critical information, and the analyst must listen and learn. Few users are technical experts. Most see the computer as a "magic box, "and are not concerned with how it works. At this stage, the analyst has no business even thinking about programs, files, and computer hardware, but must communicate with the user on his or her own term.The idea is to ensure that both the user and the analyst are thinking about the same thing-Thus, a clear, written statement expressing the analyst's understanding of the problem is essential. The user should review and correct this written statement. The time to catch misunderstandings and oversights is now, before time, money and effort are wasted.Often, following a preliminary problem definition, the analyst performs a feasibility study. The study a brief capsule version of the entire systems analysis and design process, attempts to answer three questions:1.Can the problem be solved?2.Can it be salved in the user's environment?3.Can it be solved at a reasonable cost?If the answer to any one of these questions is no, the system should not be developed. Given a good problem definition and a positive feasibility study, theanalyst can turn to planning and developing a problem solution.2- 2 AnalysisAs analysis begins, the analyst understands the problem. The next step is determining what must be done to solve it. The user knows what must be done 1 during analysis; this knowledge is extracted and formally documented. Most users think in terms of the functions to be performed and the data elements to be manipulated. The objective is to identify and link these key functions and data elements, yielding a logical system design.Start with the system's basic functions. The key is keeping track of the stock-on-hand for each product in inventory. Inventory changes because customers purchase, exchange, and return products, so the system will have to process customer transactions. The store's owner wants to selectively look at the inventory level for any product in short supply and, if appropriate, order replacement stock, so the system must be able to communicate with management. Finally, following management authorization, the system should generate a reorder ready to send to a supplier.Fig 1Given the system's basic functions, the analyst's next task is gaining a sense of their logical relationship. A good way to start is by describing how data flow between the functions. As the name implies, data flow diagrams are particularly useful for graphically describing these data flows. Four symbols are used (Fig. 1). Data sources and destinations are represented by squares; input data enter the system from a source, and output data flow to a destination. Once in the system, the data are manipulated or change by processes, represented by round-corner rectangles. A process might be a program, a procedure, or anything else that changes or moves data. Data can be held for later processing in data stores, symbolized by open-ended rectangles. A data store might be a disk file, a tape file, a database, written notes, or even a person's memory.Finally, data flow between sources, destinations, processes, end data stores over data flows, which are represented by arrows.Fig 2Figure 2 shows a preliminary data flow diagram for the inventory system. Start with CUSTOMER. Transactions flow from a customer f into the system, where they are handled by Process transaction. A data store, STOCK, holds data on each item in inventory. Process transaction changes the data to reflect the new transaction. Meanwhile, MANAGEMENT accesses the system through Communicate, evaluating the data in STOCK and, if necessary, requesting a reorder. Once, a reorder is authorized. Generate reorder sends necessary data to the SUPPLIER, who ships the items to the store. Note that, because the reorder represents a change in the inventory level of a particular product or products it is handled as a transaction.The data flow diagram describes the logical system. The next step is tracing the data flows. Start with the destination SUPPLIER. Reorders flow to suppliers; for example, the store might want 25 pairs of jeans. To fill the order, the supplier needs the product description and the reorder quantity. Where do these data elements come from? Since they are output by Generate reorder, they must either be Input to or generated by this process. Data flow into Generate reorder for STOCK; thus, product descriptions and reorder quantities must be stored in STOCK.Other data elements, such as the item purchased and the purchase quantity are generated by CUSTOMER. Still others, for example selling price and reorder point, are generated by or needed by MANAGEMENT. The current stock-on-hand for a given item is an example of a data element generated by an algorithm in one of the procedures. Step by step, methodically, the analyst identifies the data elements to be input to .stored by, manipulated by, generated by, or output by the system.To keep track of the data elements, the analyst might list each one in a datadictionary. A simple data dictionary can be set up on index cards, but computerized data dictionaries have become increasingly popular. The data dictionary, a collection of data describing and defining the data, is useful throughout the systems analysis and design process, and is often used to build a database during the implementation stage.The idea of analysis is to define the system's major functions and data elements methodically. Remember that the objective is translating user needs into technical terms. Since the system starts with the user, the first step is defining the user's needs. Users think in terms of functions and data. They do not visualize programs, or files, or hardware .and during this initial, crucial analysis stage it is essential that the analyst think like a user, not like a programmer.Data flow diagrams and data dictionaries are useful tools. They provide a format for recording key information about the proposed system. Also, they jog the analyst's memory) for example, if the analyst doesn't have sufficient information to complete a data dictionary entry, he or she has probably missed something. Perhaps most importantly, the data flow diagram and the data dictionary document the analyst's understanding of the system requirements. By reviewing these documents, the user can correct misunderstandings or oversights. Finally, they represent an excellent starting point the next step, design.2-3 DesignAs we enter the design stage, we know what the system must do, and thus can begin thinking about how to do it. The objective is to develop a strategy for solving the problem. At this stage, we are not interested in writing code or in defining precise data structures; instead, we want to identify, at a black box level, necessary programs, files, procedures, and other components.The data flow diagram defines the system's necessary functions; how might they be implemented? One possibility is writing one program for each process. Another is combining two or more processes in a single program; there are dozens of alternative solutions. Let's focus on one option and document it.A system flowchart uses symbols to represent programs, procedures, hardware devices, and the other components of a physical system (Fig. 3). Our flowchart (.Fig.4) shows that transaction data enter the system through a terminal, are processed by a data collection program, and then are stored on an inventory file. Eventually, the inventory file is processed by a Report and reorder program. Through it, management manipulates the data and authorizes reorders.Fig. 4 on a system flowchart, symbols represent programs, procedures, hardware devices, and the other components of a physical system.Fig 3Look at the system flowchart. It identifies several hardware components, including a computer, a disk drive, a data entry terminal, a printer, and a display terminal. Two programs are needed; Process transaction and Report and reorder. In addition to t he hardware and the programs, we’ll need data structures for the inventory file and for data flaws between the I/O devices and the software. Note that this system flowchart illustrates one possible solution; a good analyst will develop several feasible alternatives before choosing one.Fig 4The flowchart maps the system, highlighting its major physical components. Since the data link the components, the next task is defining the data structures.Consider, for example, the inventory file. It contains all the data elements from the data store STOCK. The data elements are listed in the data dictionary. Using them, the file's data structure can be planned,How should the file be organized? That depends on how it will be accessed. For example, in some applications, data are processed at regular, predictable intervals. Typically, the data are collected over time and processed together, as a batch. If batch processing is acceptable, a sequential file organization is probably best.It is not always possible to wait until a batch of transactions is collected, however. For example, consider an air defense early warning system. If an unidentified aircraft is spotted it must be identified immediately the idea of waiting until 5 _ 00 p.m. because "that's when the air defense program is run" is absurd. Instead, because of the need for quick response, each transaction must be processed as it occurs. Generally such transaction processing systems call for direct access file.Our inventory system has two programs. One processes transactions. A direct access inventory file seems a reasonable choice. The other allows management to study inventory data occasionally; batch processing would certainly do. Should the inventory file be organized sequentially or directly? Faced with such a choice a good analyst considers both options. One possible system might accept transactions and process them as they occur. As an alternative, sales slips might be collected throughout the day and processed as a batch after the store closes. In the first system, the two programs would deal with direct access files; in the second system, they would be linked to sequential files. A program to process direct access data is different from a program to process sequential data. The data drive the system. The choice of a data structure determines the program’s structure. Note that the program is defined and planned in the context of the system.2- 4 ImplementationOnce the system's major components have been identified .we can begin to develop them. Our system includes two programs, several pieces of equipment, and a number of data structures. During implementation, each program is planned and written using the techniques described in Chapter 7. Files are created, and their contents checked. New hardware is purchased, installed, and tested. Additionally, operating procedures are written and evaluated. Once all the component parts are ready, the system is tested. Assuming the user is satisfied, the finished system is released.2- 5 MaintenanceMaintenance begins after the system is released. As people use it, they will suggest minor improvements and enhancements. Occasionally, bugs slip through debug and testing, and removing them is another maintenance task. Finally, conditions change, and a program must be updated; for example, if the government passes a low changing the procedure for collecting income taxes, the payroll program must be modified. Maintenance continues for the life of a system, and its cost can easily match or exceed the original development cost. Good planning, solid documentation, and well-structured programs can help to minimize maintenance cost.附录2 外文翻译(译文)系统的分析与设计在存储程序的控制下,计算机把数据处理成信息。
嵌入式系统的网络服务器——外文文献翻译
Web Server for Embedded SystemsAfter the “everybody-in-the-Internet-wave” now obviously follows the“everything-in-the-Internet-wave”.The most coffee, vending and washingmachines are still not available about the worldwide net. However the embeddedInternet integration for remote maintenance and diagnostic as well as the so-calledM2M communication is growing with a considerable speed rate.Just the remote maintenance and diagnostic of components and systems by Webbrowsers via the Internet, or a local Intranet has a very high weight for manydevelopment projects. In numerous development departments people work oncompletely Web based configurations and services for embedded systems. Theremaining days of the classic user interface made by a small LC-display with frontpanel and a few function keys are over. Through future evolutions in the field ofthe mobile Internet, Bluetooth-based PAN s (Personal Area Network's) andthe rapidly growing M2M communication (M2M=Machine-to-Machine)a further innovating advance is to be expected.The central function unit to get access on an embedded system via Web browser isthe Web server. Such Web servers bring the desired HTML pages (HTML=HyperText Markup Language) and pictures over the worldwide Internetor a local network to the Web browser. This happens HTTP-based (HyperText Transfer Protocol). A TCP/IP protocol stack –that means it is based onsophisticated and established standards–manages the entire communication.Web server (HTTP server) and browser (HTTP client) build TCP/IP-applications. HTTP achieved a phenomenal distribution in the last years.Meanwhile millions of user around the world surf HTTP-based in the WorldWide Web. Today almost every personal computer offers the necessaryassistance for this protocol. This status is valid more and more for embeddedsystems also. The HTTP spreads up with a fast rate too.1. TCP/IP-based HTTP as Communication PlatformHTTP is a simple protocol that is based on a TCP/IP protocol stack (picture 1.A).HTTP uses TCP (Transmission Control Protocol). TCP is a relative complex andhigh-quality protocol to transfer data by the subordinate IP protocol. TCP itselfalways guarantees a safeguarded connection between two communication partnersbased on an extensive three-way-handshake procedure. As aresult the data transfer via HTTP is always protected. Due tothe extensive TCP protocol mechanisms HTTP offers only a low-gradeperformance.Figure 1: TCP/IP stack and HTTP programming modelHTTP is based on a simple client/server-concept. HTTP server and clientcommunicate via a TCP connection. As default TCP port value the port number80 will be used. The server works completely passive. He waits for a request(order) of a client. This request normally refers to the transmition of specificHTML documents. This HTML documents possibly have to be generateddynamically by CGI. As result of the requests, the server will answer with aresponse that usually contains the desired HTML documents among others(picture 1.B).GET /test.htm HTTP/1.1Accept]: image/gif, image/jpeg, */*User selling agent: Mozilla/4.0Host: 192.168.0.1Listing 1.A: HTTP GET-requestHTTP/1.1 200 OKDate: Mon, 06 Dec 1999 20:55:12 GMTServer: Apache/1.3.6 (Linux)Content-length: 82Content-type: text/html<html><head><title>Test-Seite</title></head><body>Test-SeiteThe DIL/NetPCs DNP/1110 – Using the Embedded Linux</body></html>Listing 1.B: HTTP response as result of the GET-request from listing 1.AHTTP requests normally consist of several text lines, which are transmitted to theserver by TCP. The listing 1.A shows an example. The first line characterizes therequest type (GET), the requested object (/test1.htm) and the used HTTP version(HTTP/1.1). In the second request line the client tells the server, which kind offiles it is able to evaluate. The third line includes information about theclient- software. The fourth and last line of the request from listing 1.A is used toinform the server about the IP address of the client. In according to the type ofrequest and the used client software there could follow some further lines. Asan end of the request a blank line is expected.The HTTP responses as request answer mostly consist of two parts. At first thereis a header of individual lines of text. Then follows a content object (optional).This content object maybe consists of some text lines –in case of a HTML file– ora binary file when a GIF or JPEG image should be transferred. The first line of theheader is especially important. It works as status or error message. If anerror occurs, only the header or a part of it will be transmitted as answer.2. Functional principle of a Web ServerSimplified a Web server can be imagined like a special kind of a file server.Picture 2.A shows an overview. The Web server receives a HTTP GET-requestfrom the Web browser. By this request, a specific file is required as answer (seestep 1 into picture 2.A). After that, the Web server tries to get access on the filesystem of the requested computer. Then it attempts to find the desired file (step 2).After the successful search the Web server read the entire file(step 3) and transmit it as an answer (HTTP response comprising of headerand content object) to the Web browser (step 4). If the Web server cannot findthe appropriate file in the file system, an error message (HTTP response whichonly contains the header) is simply be send as response to the client.Figure 2: Functional principle from Web server and browserThe web content is build by individual files. The base is build by static files withHTML pages. Within such HTML files there are references to further filesembedded –these files are typically pictures in GIF or JPEG format. However,also references to other objects, for example Java-Applets, are possible. After aWeb browser has received a HTML file of a Web server, this file will beevaluated and then searched for external references. Now the steps 1 to 4 frompicture 2.A will run again for every external reference in order to request therespective file from the corresponding Web server. Please note, that such areference consists of the name or IP address of a Web server (e.g. ""),as well as the name of the desired file (e.g. "picture1.gif"). So virtually everyreference can refer to another Web server. In other words, a HTML file could belocated on the server "ssv-embedded.de" but the required picture -which isexternal referenced by this HTML file- is located on the Web server"". Finally this (worldwide) networking of separate objects is thecause for the name World Wide Web (WWW). All files, which are required by aWeb server, are requested from a browser like the procedure shown on picture2.A. Normally these files are stored in the file system of the server. TheWebmaster has to update these files from time to time.A further elementary functionality of a Web server is the CommonGateway Interface(CGI) -we have mentioned before. Originally this technologyis made only for simple forms, which are embedded into HTML pages. The data,resulting from the padding of a form, will be transmitted to a Web server viaHTTP-GET or POST-request (see step 1 into picture 2.B). In such a GET- orPOST-request the name of the CGI program, which is needed for theevaluation of a form, is fundamentally included. This program has to be on theWeb server. Normally the directory "/cgi-bin" is used as storage location.As result of the GET- or POST-request the Web server starts the CGI programlocated in the subdirectory "/cgi-bin" and delivers the received data in form ofparameters (step 2). The outputs of a CGI program are guided to the Web server(step 3). Then the Web server sends them all as responses to the Web browser(step 4).3. Dynamic generated HTML PagesIn contradiction to a company Web site server, which informs people about theproduct program and services by static pages and pictures, an embeddedWeb server has to supply dynamically generated contents. The embedded Webserver will generate the dynamic pages in the moment of the first access by abrowser. How else could we check the actual temperature of a system viaInternet? Static HTML files are not interesting for an embedded Web server.The most information about the firmware version and service instructions arestored in HTML format. All other tasks are normally made via dynamic generatedHTML.There are two different technologies to generate a specific HTML page in themoment of the request: First the so-called server-side-scripting and secondthe CGI programming. At the server-side-scripting, script code is embeddedinto a HTML page. If required, this code will be carried out on the server (server-sided).For this, there are numerous script languages available. All these languages areusable inside a HTML-page. In the Linux community PHP is used mostly. Thefavourite of Microsoft is VBScript. It is also possible to insert Java directly intoHTML pages. Sun has named this technology JSP(Java Server Pages).The HTML page with the script code is statically stored in the file system of theWeb server. Before this server file is delivered to the client, a special programreplaces the entire script code with dynamic generated standard HTML. The Webbrowser will not see anything from the script language.Figure 3: Single steps of the Server-Side-ScriptingPicture 3 shows the single steps of the server-side-scripting. In step 1 the Webbrowser requests a specific HTML file via HTTP GET-request. The Web serverrecognizes the specific extension of the desired file (for example *.ASP or *.PHPinstead of *.HTM and/or *.HTML) and starts a so-called scripting engine(see step 2). This program gets the desired HTML file including the script codefrom the file system (step 3), carry out the script code and make a newHTML file without script code (step 4). The included script code will be replacedby dynamic generated HTML. This new HTML file will be read by the Webserver (step 5) and send to the Web browser (step 6). If a server-sided scripting issupposed to be used by an embedded Web server, so you haveto consider the necessary additional resources. A simple example: In orderto carry out the embedded PHP code into a HTML page, additional programmodules are necessary for the server. A scripting engine together with theembedded Web server has to be stored in the Flash memory chip of an embeddedsystem. Through that, during run time more main memory is required.4. Web Server running under LinuxOnce spoken about Web servers in connection with Linux most peopleimmediately think of Apache. After investigations of the Netcraft Surveythis program is the mostly used Web server worldwide. Apache is anenhancement of the legendary NCSA server. The name Apache itself hasnothing to do with Red Indians. It is a construct from "A Patchy Server" becausethe first version was put together from different code and patch files.Moreover there are numerous other Web servers - even for Linux. Most of this arestanding under the GPL (like Apache) and can be used license free. Avery extensive overview you can find at "/". EveryWeb server has his advantages and disadvantages. Some are developed forspecific functions and have very special qualities. Other distinguishes at bestthrough their reaction rate at many simultaneous requests, as wellas the variety of theirconfiguration settings. Others are designed to need minimal resources and offer very small setting possibilities, as well as only one connection to a client.The most important thing by an embedded Web server is the actual resource requirements. Sometimes embedded systems offer only minimal resources, which mostly has to be shared with Linux. Meanwhile there are numerous high- performance 32-bit-386/486-microcontroller or (Strong)ARM-based embedded systems that own just 8 Mbytes RAM and 2 Mbytes Flash-ROM (picture 4). Outgoing from this ROM (Read-only-Memory, i.e. Flash memory chips) a complete Linux, based on a 2.2- or 2.4-Kernel with TCP/IP protocol stack and Web server, will be booted. HTML pages and programs are also stored in the ROM to generate the dynamic Web pages. The space requirements of an embedded system are similar to a little bigger stamp. There it is quite understandable that there is no place for a powerful Web server like Apache.Figure 4: Embedded Web Server Module with StrongARM and LinuxBut also the capability of an Apache is not needed to visualize the counter of a photocopier or the status of a percolator by Web servers and browsers. In most cases a single Web server is quite enough. Two of such representatives are boa () and thttpd (). At first, both Web servers are used in connection with embedded systems running under Linux. The configuration settings for boa and thttpd are poor, but quite enough. By the way, the source code is available to the customer. The practicable binary files for these servers are always smaller than 80 Kbytes and can be integrated in the most embedded systems without problems. For the dynamic generation of HTML pages both servers only offer CGI (Common Gateway Interface) as enlargement. Further technologies, like server-side-includes (SSI) are not available.The great difference between an embedded Web server and Apache is, next to the limited configuration settings, the maximal possible number of simultaneous requests. High performance servers like Apache immediately make an own process for every incoming call request of a client. Inside of this process allfurther steps will then be executed. This requires a very good programming and a lot of free memory resources during run time. But, on the other hand many Web browsers can access such a Web server simultaneously. Embedded Web server like boa and thttpd work only with one single process. If two users need to get access onto a embedded Web server simultaneously, one of both have to wait a few fractions of a second. But in the environment of the embedded systems that is absolutely justifiable. In this case it is first of all a question of remote maintenance, remote configuration and similar tasks. There are not many simultaneous requests expected.The DIL/NetPCs DNP/1110 – Using the Embedded LinuxList of FiguresFigure 1: TCP/IP stack and HTTP programming modelFigure 2: Functional principle from Web server and browserFigure 3: Single steps of the Server-Side-ScriptingFigure 4: Embedded Web Server Module with StrongARM and LinuxListingsListing 1.A: HTTP GET-requestListing 1.B: HTTP response as result of the GET-request from listing 1.A ContactSSV Embedded SystemsHeisterbergallee 72D-30453 HannoverTel. +49-(0)511-40000-0Fax. +49-(0)511-40000-40Email: sales@ist1.deWeb: www.ssv-embedded.deDocument History (Sadnp05.Doc)Revision Date Name1.00 24.05.2002FirstVersion KDWThis document is meant only for the internal application. The contents ofthis document can change any time without announcement. There is takenover no guarantee for the accuracy of the statements. Copyright ©SSV EMBEDDED SYSTEMS 2002. All rights reserved.INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED 'ASIS' WITHOUT WARRANTY OF ANY KIND. The user assumes the entirerisk as to the accuracy and the use of this document. Some names withinthis document can be trademarks of their respective holders.嵌入式系统的网络服务器在“每个人都处在互联网的浪潮中”之后,现在很明显随之而来的是“每件事都处在互联网的浪潮中”。
网络设计与规划中英文对照外文翻译文献
网络设计与规划中英文对照外文翻译文献(文档含英文原文和中文翻译)Service-Oriented Network Architecture (SONA)1.T he challenges facing businessesAlthough a large number of IT capital investment, but many companies have found that most of the critical network resources and information assets remain in the free state. In fact, can not have hundreds of "orphaned" applications and databases communicate with each other is a common business phenomenon.This is partly due to growing internal and external customers, but due to unpredictable demand. Many companies have been forced to rapidly deploy new technologies, often leading to the deployment of a plurality of discrete systems, and thus can not effectively share information across the organization. For example, if you do not create the applications and information together various overlapping networks, sales, customer service or purchasing department will not be able to easily access customer records. Many companies have found that the blind expansion brought them multiple underutilized and irreconcilable separation systems and resources. These disparate systems while also difficult to manage and expensive to administer.2. Intelligent Information Network - The Cisco AdvantageCisco Systems, Inc. ® With the Intelligent Information Network (IIN) program, is helping global IT organizations solve these problems and meet new challenges, such as the deployment of service-oriented architecture, Web services and virtualization. IIN elaborated network in terms of promoting the development of integrated hardware and software, which will enable organizations to better align IT resources with business priorities. By intelligent built into the existing network infrastructure, IIN will help organizations achieve lower infrastructure complexity and cost advantages.3. Power NetworksInnovative IT environment focused on by traditional server-based system to distributenew business applications. However, the network is still transparent connectivity and support IT infrastructure platform for all components. Cisco ® Service-Oriented Network Architecture (SONA), enterprises can optimize applications, processes and resources to achieve greater business benefits. By providing better network capabilities and intelligence, companies can improve the efficiency of network-related activities, as well as more funds for new strategic investments and innovation.Standardization reduces the amount of assets needed to support the same operating costs, thereby improving asset efficiency. Virtualization optimizes the use of assets, physical resources can be divided logically for use in all sectors of the dispersion. Improve the efficiency of the entire network can enhance the flexibility and scalability, and then have a huge impact on business development, customer loyalty and profits - thereby enhancing their competitive advantage.4. Use architecture to succeedCisco SONA framework illustrates how companies should develop into intelligent information network to accelerate applications, business processes and resources, and to IT to provide enterprises with better service.Cisco SONA Cisco and Cisco partner solutions in the industry, services and experience to provide proven, scalable business solutions.Cisco SONA framework illustrates how to build on the full integration of the intelligent network integration system, in order to greatly improve the flexibility and efficiency.Enterprises can deploy this integrated intelligence among the entire network, including data centers, branch offices and campus environments.4-1 Cisco Service-Oriented Network ArchitectureApplication layer business applications collaborative applicationsInteractive Services Layer Application Networking Services Adaptive Management ServicesInfrastructure ServicesNetwork infrastructure virtualizationNetwork infrastructure layer Park branch office data center WAN / MAN teleworkers Client server storageIntelligent Information Network5. Three levels of Cisco SONANetwork infrastructure layer, where all the IT resources on the Internet converged network platformInteractive services layer, the use of network infrastructure, applications and business processes efficient allocation of resourcesApplication layer, contains business applications and collaboration applications, take advantage of the efficiency of interactive servicesIn the network infrastructure layer of Cisco's proven enterprise architecture provides comprehensive design guide that provides a comprehensive, integrated end-system design guidelines for your entire network.In the interactive services layer, Cisco will integrate a full-service intelligent systems to optimize the distribution business and collaboration applications, thereby providing more predictable, more reliable performance, while reducing operating costs.At the application layer, through deep integration with the network fabric, Cisco application networking solutions without having to install the client or change the application, the entire application delivery while maintaining application visibility and security.6. Build business advantage of Cisco SONASimpler, more flexible, integrated infrastructure will provide greater flexibility and adaptability, and thus a lower cost for higher commercial returns. Use Cisco SONA, you will be able to improve overall IT efficiency and utilization, thereby enhancing the effectiveness of IT, we call network multiplicative effect.7. Network amplification effectZoom effect refers to the network to help enterprises enhance the contribution of IT across the enterprise through Cisco SONA. Optimal efficiency and use IT resources will be more low-cost to produce higher impact on the business, so that your network of value-added resources become profitable.Network amplification effect is calculated as follows:Efficiency = Cost ÷ IT assets (IT assets cost + operating costs)Utilization percentage (such as the percentage of available storage being used) assets to total assets used =Effectiveness = Efficiency x usageAsset Effectiveness Network amplifying effect = assets ÷ efficacy when using the Cisco SONA when not in use Cisco SONA8. Investment incomeCisco Advantage Cisco SONA in intelligent systems is not only to improve efficiency and reduce costs. By Cisco SONA, through the power of your network can achieve:Increase in income and opportunityImproved customer relationsImprove business resiliency and flexibilityIncrease productivity and efficiency and reduce costs9. Real-Time DevelopmentBy Cisco SONA toward more intelligent integrated network development, enterprises can be completed in phases: integration, standardization, virtualization and automation. Working with Cisco channel partner or customer groups, you can use the Cisco SONA framework to develop a blueprint for the development of enterprises. With rich experience in Cisco Lifecycle Management Services, a leading position in the field of standardization, mature enterprise architecture and create targeted industry solutions, Cisco account team can help you meet business requirements in real time.10.The development of the Intelligent Information NetworkRole of the network is evolving. Tomorrow's intelligent network will provide more than basic connectivity, bandwidth and application user access services, which will provide end functionality and centralized control, to achieve true enterprise transparency and flexibility.Cisco SONA enables enterprises to extend their existing infrastructure, towards the development of intelligent network to accelerate applications and improve business processes. Cisco provides design, support and financing services to maximize your return on investment.服务导向网络架构(SONA)1.企业面临的挑战尽管投入大量IT资金,但许多企业发现大多数的关键网络资源和信息资产仍处于游离状态。
高校学生公寓管理系统_外文翻译(范文)
外文文献资料HTTP and Servlet BasicsLet's start off this chapter by defining the term web application. We've all seen regular client-side applications, but what exactly is a web application? Loosely, it can be defined as an application running on a server a user accesses through a thin, general-purpose client. Today, the most common client is a web browser on a PC or workstation, but other kinds of clients are rapidly joining the party, such as wireless PDAs, cell phones, and other specialized devices.The lofty goal here is to access all the information and services you need from any type of device that happens to be in front of you. This means that the same simple client program must be able to talk to many different server applications, and the applications must be able to work with many different types of clients. To satisfy this need, the protocol of how a client and a server talk to each other must be defined in detail. That's exactly what the HyperText Transport Protocol (HTTP) is for.The communication model defined by HTTP forms the foundation for all web application design. A basic understanding of HTTP is key to developing applications that fit within the constraints of the protocol, no matter whichserver-side technology you use. In this chapter, we look at the most important details of HTTP you need to be aware of as a web application developer.One other item: this book is about using JSP as the server-side technology. JSP is based on the Java servlet technology. Both technologies share a lot of terminology and concepts, so knowing a bit about servlets will help you even when you develop pure JSP applications. To really understand and use the full power of JSP, you need to know a fair bit about servlets. Hence, we look at servlet fundamentals in the last section of this chapter.2.1 The HTTP Request/Response ModelHTTP and all extended protocols based on HTTP are based on a very simplecommunications model. Here's how it works: a client, typically a web browser, sends a request for a resource to a server, and the server sends back a response corresponding to the resource (or a response with an error message if it can't process the request for some reason). A resource can be a number of things, such as a simple HTML file returned verbatim to the browser or a program that generates the response dynamically.This simple model implies three important facts you need to be aware of:HTTP is a stateless protocol. This means that the server doesn't keep any information about the client after it sends its response, and therefore it can't recognize that multiple requests from the same client may be related.Web applications can't easily provide the kind of immediate feedback typically found in standalone GUI applications such as word processors or traditional client/server applications. Every interaction between the client and the server requires a request/response exchange. Performing a request/response exchange when a user selects an item in a list box or fills out a form element is usually too taxing on the bandwidth available to most Internet users.There's nothing in the protocol that tells the server how a request is made; consequently, the server can't distinguish between various methods of triggering the request on the client. For example, HTTP doesn't allow a web server to differentiate between an explicit request caused by clicking a link or submitting a form and an implicit request caused by resizing the browser window or using the browser's Back button. In addition, HTTP doesn't contain any means for the server to invoke client specific functions, such as going back in the browser history list or sending the response to a certain frame. Also, the server can't detect when the user closes the browser.Over the years, people have developed various tricks to overcome the first problem; HTTP's stateless nature. The other two problems—no immediate feedback and no details about how the request is made—are harder to deal with, but some amount of interactivity can be achieved by generating a response that includes client-side code (code executed by the browser), such as JavaScript or a Java applet.2.1.1 Requests in DetailLet's take a closer look at requests. A user sends a request to the server byclicking a link on a web page, submitting a form, or typing in a web page address in the browser's address field. To send a request, the browser needs to know which server to talk to and which resource to ask for. This information is specified by an HTTP Uniform Resource Locator (URL):/index.htmlThe first part of the URL shown specifies that the request is made using the HTTP protocol. This is followed by the name of the server, in this case. The web server waits for requests to come in on a specific TCP/IP port. Port number 80 is the standard port for HTTP requests. If the web server uses another port, the URL must specify the port number in addition to the server name. For example::8080/index.htmlThis request is sent to a server that uses port 8080 instead of 80. The last part of the URL, /index.html, identifies the resource that the client is requesting.A URL is actually a specialization of a Uniform Resource Identifier (URI, defined in the RFC-2396 specification). A URL identifies a resource partly by its location, for instance the server that contains the resource. Another type of URI is a Uniform Resource Name (URN), which is a globally unique identifier that is valid no matter where the resource is located. HTTP deals only with the URL variety. The terms URI and URL are often used interchangeable, and unfortunately, they have slightly different definitions in different specifications. I'm trying to use the terms as defined by the HTTP/1.1 specification (RFC-2616), which is pretty close to how they are also used in the servlet and JSP specifications. Hence, I use the term URL only when the URI must start with http (or https, for HTTP over an encrypted connection) followed by a server name and possibly a port number, as in the previous examples. I use URI as a generic term for any string that identifies a resource, where the location can be deduced from the context and isn't necessarily part of the URI. For example, when the request has been delivered to the server, the location is a given, and only the resource identifier is important.The browser uses the URL information to create the request message it sends to the specified server using the specified protocol. An HTTP request message consists of three things: a request line, request headers, and possibly a request body.The request line starts with the request method name, followed by a resource identifier and the protocol version used by the browser:GET /index.html HTTP/1.1The most commonly used request method is named GET. As the name implies, a GET request is used to retrieve a resource from the server. It's the default request method, so if you type a URL in the browser's address field, or click on a link, the request is sent as a GET request to the server.The request headers provide additional information the server may use to process the request. The message body is included only in some types of requests, like the POST request discussed later.Here's an example of a valid HTTP request message:GET /index.html HTTP/1.1Host: User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv: 1.0.2)Accept: image/gif, image/jpeg, image/pjpeg, image/png, */*Accept-Language : enAccept-Charset : iso-8859-1,*,utf-8The request line specifies the GET method and asks for the resource named/index.html to be returned using the HTTP/1.1 protocol version. The various headers provide additional information.The Host header tells the server the hostname used in the URL. A server may have multiple names, so this information is used to distinguish between multiple virtual web servers sharing the same web server process.The User-Agent header contains information about the type of browser making the request. The server can use this to send different types of responses to different types of browsers. For instance, if the server knows whether Internet Explorer or Netscape Navigator is used, it can send a response that takes advantage of each browser's unique features. It can also tell if a client other than an HTML browser is used, such as a Wireless Markup Language (WML) browser on a cell phone or a PDA device, and generate an appropriate response.The Accept headers provide information about the languages and file formats the browser accepts. These headers can be used to adjust the response to the capabilities of the browser and the user's preferences, such as use a supportedimage format and the preferred language. These are just a few of the headers that can be included in a request message.The resource identifier (URI) doesn't necessarily correspond to a static file on the server. It can identify an executable program, a record in a database, or pretty much anything the web server knows about. That's why the generic term resource is used. In fact, there's no way to tell if the /index.html URI corresponds to a file or something else; it's just a name that means something to the server. The web server is configured to map these unique names to the real resources.2.1.2 Responses in DetailWhen the web server receives the request, it looks at the URI and decides, based on configuration information, how to handle it. It may handle it internally by simply reading an HTML file from the filesystem, or it can forward the request to some component that is responsible for the resource corresponding to the URI. This can be a program that uses database information, for instance, to dynamically generate an appropriate response. To the browser it makes no difference how the request is handled; all it cares about is getting a response.The response message looks similar to the request message. It consists of three things: a status line, response headers, and an optional response body. Here's an example:HTTP/1.1 200 OKLast-Modified: Mon, 20 Dec 2002 23:26:42 GMTDate: Tue, 11 Jan 2003 20:52:40 GMTStatus: 200Content-Type: text/htmlServlet-Engine: Tomcat Web Server/5.0Content-Length: 59<html><body><h1>Hello World!</h1></body></html>The status line starts with the name of the protocol, followed by a status code and a short description of the status code. Here the status code is 200, meaning therequest was executed successfully. The response message has headers just like the request message. In this example, the Last-Modified header gives the date and time for when the resource was last modified. The browser can use this information as a timestamp in a local cache; the next time the user asks for this resource, he can ask the server to send it only if it's been updated since the last time it was requested. The Content-Type header tells the browser what type of response data the body contains and the Content-Length header how large it is. The other headers areself-explanatory. A blank line separates the headers from the message body. Here the body is a simple HTML page:<html><body><h1>Hello World!</h1></body></html>Of course, the body can contain a more complex HTML page or any other type of content. For example, the request may return an HTML page with <img> elements. When the browser reads the first response and finds the <img> elements, it sends a new request for the resource identified by each element, often in parallel. The server returns one response for each image request, with a Content-Type header telling what type of image it is (for instance image/gif) and the body containing the bytes that make up the image. The browser then combines all responses to render the complete page.2.1.3 Request ParametersBesides the URI and headers, a request message can contain additional information in the form of parameters. If the URI identifies a server-side program for displaying weather information, for example, request parameters can provide information about the city the user wants to see a forecast for. In an e-commerce application, the URI may identify a program that processes orders, with the user's customer number and the list of items to be purchased transferred as parameters.Parameters can be sent in one of two ways: tacked on to the URI in the form of a query string or sent as part of the request message body. This is an example of a URL with a query string:/forecast?city=Hermosa+Beach&state=CAThe query string starts with a question mark (?) and consists of name/value pairs separated by ampersands (&). These names and values must be URL-encoded, meaning that special characters, such as whitespace, question marks, ampersands, and all other nonalphanumeric characters are encoded so that they don't get confused with characters used to separate name/value pairs and other parts of the URI. In this example, the space between Hermosa and Beach is encoded as a plus sign. Other special characters are encoded as their corresponding hexadecimal ASCII value; for instance, a question mark is encoded as %3F. When parameters are sent as part of the request body, they follow the same syntax; URL encoded name/value pairs separated by ampersands.2.1.4 Request MethodsAs described earlier, GET is the most commonly used request method, intended to retrieve a resource without causing anything else to happen on the server. The POST method is almost as common as GET; it requests some kind of processing on the server, for instance, updating a database or processing a purchase order.The way parameters are transferred is one of the most obvious differences between the GET and POST request methods. A GET request always uses a query string to send parameter values, while a POST request always sends them as part of the body (additionally, it can send some parameters as a query string, just to make life interesting). If you insert a link in an HTML page using an <a> element, clicking on the link results in a GET request being sent to the server. Since the GET request uses a query string to pass parameters, you can include hardcoded parameter values in the link URI:<a href="/forecast?city=Hermosa+Beach&state=CA">Hermosa Beach weather forecast</a>When you use a form to send user input to the server, you can specify whether to use the GET or POST method with the method attribute, as shown here: <form action="/forecast" method="POST">City: <input name="city" type="text">State: <input name="state" type="text"><p><input type="SUBMIT"></form>If the user enters "Hermosa Beach" and "CA" in the form fields and clicks on the Submit button, the browser sends a request message like this to the server: POST /forecast HTTP/1.1Host: User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv: 1.0.2)Accept: image/gif, image/jpeg, image/pjpeg, image/png, */*Accept-language: en-USAccept-charset: iso-8859-1,*,utf-8city=Hermosa+Beach&state=CADue to the differences in how parameters are sent by GET and POST requests, as well as the differences in their intended purpose, browsers handle the requests in different ways. A GET request, parameters and all, can easily be saved as a bookmark, hardcoded as a link, and the response cached by the browser. Also, the browser knows that no damage is done if it needs to send a GET request again automatically, for instance if the user clicks the Reload button.A POST request, on the other hand, can't be bookmarked as easily; the browser would have to save both the URI and the request message body. Since a POST request is intended to perform some possibly irreversible action on the server, the browser must also ask the user if it's okay to send the request again Besides the GET and POST methods, HTTP specifies the following methods: OPTIONSThe OPTIONS method is used to find out what options (e.g., methods) a server or a resource offers.HEADThe HEAD method is used to get a response with all headers generated by a GET request but without the body. It can make sure a link is valid or to see when a resource was last modified.PUTThe PUT method is used to store the message body content on the server as a resource identified by the URI.DELETEThe DELETE method is used to delete the resource identified by the URI.TRACEThe TRACE method is used for testing the communication between the client and the server. The server sends back the request message, exactly as it received it, as the body of the response.These methods aren't normally used in a web application.2.2 ServletsThe JSP specification is based on the Java servlet specification. In fact, JSP pages are often combined with servlets in the same application. In this section, we take a brief look at what a servlet is, and then discuss the concepts shared by servlets and JSP pages. In Chapter 3, we'll take a closer look at how JSP pages are actually turned into servlets automatically.If you're already familiar with servlets, this is old news. Y ou can safely skip the rest of this chapter.2.2.1 Advantages over Other Server-Side TechnologiesIn simple terms, a servlet is a piece of code that adds new functionality to a server (typically a web server), just like CGI and proprietary server extensions such as NSAPI and ISAPI. But compared to other technologies, servlets have a number of advantages:Platform and vendor independenceAll the major web servers and application servers support servlets, so a servlet-based solution doesn't tie you to one specific vendor. Also, servlets are written in the Java programming language, so they can be used on any operating system with a Java runtime environment.IntegrationServlets are developed in Java and can therefore take advantage of all other Java technologies, such as JDBC for database access, JNDI for directory access, RMI for remote resource access, etc. Starting with V ersion 2.2, the servlet specification is part of the Java 2 Enterprise Edition (J2EE), making servlets an important ingredient of any large-scale enterprise application, with formalized relationships to other server-side technologies such as Enterprise JavaBeans.EfficiencyServlets execute in a process that is running until the servlet-based applicationis shut down. Each servlet request is executed as a separate thread in this permanent process. This is far more efficient that the CGI model, where a new process is created for each request. First of all (and most obvious), a servlet doesn't have the overhead of creating the process and loading the CGI script and possibly its interpreter. But another timesaver is that servlets can also access resources that remain loaded in the process memory between requests, such as database connections and persistent state.ScalabilityBy virtue of being written in Java and the broad support for servlets, a servlet-based application is extremely scalable. Y ou can develop and test the application on a Windows PC using the standalone servlet reference implementation, and deploy it on anything from a more powerful server running Linux and Apache to a cluster of high-end servers with an application server that supports loadbalancing and failover.Robustness and securityJava is a strongly typed programming language. This means that you catch a lot of mistakes in the compilation phase that you would only catch during runtime if you used a script language such as Perl. Java's error handling is also much more robust than C/C++, where an error such as division by zero typically brings down the whole server.In addition, servlets use specialized interfaces to server resources that aren't vulnerable to the traditional security attacks. For instance, a CGI Perl script typically uses shell command strings composed of data received from the client to ask the server to do things such as send email. People with nothing better to do love to find ways to send data that will cause the server to crash, remove all files on the hard disk, or plant a virus or a backdoor when the server executes the command. While a CGI script programmer must be very careful to screen all input to avoid these threats, such problems are almost nonexistent with a servlet because it doesn't communicate with the server in the same insecure way2.2.2 Servlet ContainersA servlet container is the connection between a web server and the servlets. It provides the runtime environment for all the servlets on the server as defined by the servlet specification, and is responsible for loading and invoking those servletswhen the time is right. The container typically loads a servlet class when it receives the first request for the servlet, gives it a chance to initialize itself, and then asks it to process the request. Subsequent requests use the same, initialized servlet until the server is shut down. The container then gives the servlet a chance to release resources and save its state (for instance, information accumulated during its lifetime).There are many different types of servlet containers. Some containers are called add-ons, or plug-ins, and are used to add servlet support to web servers without native servlet support (such as Apache and IIS). They can run in the same operating-system process as the web server or in a separate process. Other containers are standalone servers. A standalone server includes web server functionality to provide full support for HTTP in addition to the servlet runtime environment. Containers can also be embedded in other servers, such as a climate-control system, to offer a web-based interface to the system. A container bundled as part of an application server can distribute the execution of servlets over multiple hosts. The server can balance the load evenly over all containers, and some servers can even provide failover capabilities in case a host crashes.No matter what type it is, the servlet container is responsible for mapping an incoming request to a servlet registered to handle the resource identified by the URI and passing the request message to that servlet. After the request is processed, it's the container's responsibility to convert the response created by the servlet into an HTTP response message and send it back to the client2.2.3 Servlet Contexts and Web ApplicationsA Java web application is typically made up by a combination of several different types of resources: JSP pages, servlets, applets, static HTML pages, custom tag libraries and other Java class files. Containers compliant with the Servlet 2.2 specification (or later), support a standard, portable way to package all these resources, along with a web application deployment descriptor containing information about how all the resources fit together. The deployment descriptor and all the other web application files are arranged in a well-defined hierarchy within an archive file, called a web application archive (WAR). All compliant containers provide tools for installing a WAR file or a special directory where a WAR file is automatically picked up (such as the webapps directory in Tomcat).Most containers also support web applications deployed directly in a filesystem using the same file structure as is defined for the WAR file, which can be convenient during development.Within the container, each web application is represented by a servlet context. The servlet context is associated with a unique URI path prefix called the context path. For instance, your human resources application can be associated with the context path /hr and your sales tracking system with the context path /sales. This allows one servlet container to distinguish between the different applications it serves and dispatch requests like /sales/report?month=Jan to the sales tracking application and /hr/emplist to the human resources application.The remaining URI path is then used within the selected context to decide how to process the request by comparing it to path-mapping rules defined by the application's deployment descriptor. Rules can be defined to send all requests starting with /report to one servlet and requests starting with /forecast to another. Another type of mapping rule can say that one servlet handles all requests with paths ending with a specific file extension, such as .jsp. shows how the different parts of the URI paths are used to direct the request processing to the right resource through the container and context.Each context is self-contained and doesn't know anything about other applications running in the same container. References between the servlets and JSP pages in the application are commonly relative to the context path and, therefore, are referred to as context-relative paths. By using context-relative paths within the application, a web application can be deployed using any context path.Finally, a context can hold objects shared by all components of the application, such as database connections and other shared resources needed by multiple servlets and JSP pages.中文翻译稿应用技术学院 06计算机(0616403028)徐鹏程2010年4月HTTP和Servlet的基础知识让我们从定义Web应用程序这一章开始。
外文翻译----管理会计和综合信息系统
文献翻译院班级学生姓名学号译文要求1、译文内容必须与课题(或专业)内容相关。
2、外文翻译后中文不少于1500字。
3、译文原文(或复印件)应附在译文后备查。
译文评阅导师评语(应根据学校“译文要求”,对学生外文翻译的准确性、翻译数量以及译文的文字表述情况等作具体的评价)指导教师:年月日管理会计和综合信息系统1.未来的研究方向在关于管理会计和IIS前一段的研究已经进行了审查。
该审查的结构上的第3节发展的理论框架的基础。
论文学的理论框架的基础上在七个方面之间的关系管理会计和IIS进行了审查。
未来研究的许多建议,可以确定在文献回顾的基础。
而不是开发一个全面的清单研究机会,本节将提请人们注意一个数量有限的研究机会这似乎是未来研究的最有前途的领域。
1.1 管理会计技术和IIS:面向分析的信息系统不幸的是,它是目前的文献,要在很大程度上它着重于特征ERP系统。
有限的研究已进行了对IIS中的其他组件。
这似乎因为研究不透明论ERP系统与管理会计的关系技术没有找到IIS和管理会计之间的牢固关系。
几种这些研究甚至认为,如扫描电镜系统和分析为导向的信息系统专门的软件似乎能够更好地支持管理会计(如见马尔米,2001年Granlund及马尔米,2002)。
幸运的是,一些研究也开始出现在其他的IIS组件,看起来比ERP系统(如:法希和Millea,2001年; Hyvönen,2003)。
更多的研究,然而,是必要的。
未来研究的机会存在,特别是在关系专门的软件和管理会计方法。
这种软件的例子美国广播公司,BSC或预算软件。
研究问题的例子包括:如何平衡记分卡支持标准,如Corporater平衡计分卡平衡计分卡软件?哪些变量可以解释不同的方式,ERP的对比分析为导向的信息管理系统支持会计?如何使用这种系统的影响和决定作用管理会计和其他管理人员?在这方面的研究应协助争取因为管理会计核算的重要的新见解,主要是这些软件支持(例如马尔米,2001)。
web of science特点和特色功能
web of science特点和特色功能Web of Science(WOS)是一款由Clarivate Analytics 公司提供的学术检索和引文分析工具。
以下是Web of Science 的一些特点和特色功能:1. 全面的学科覆盖:- Web of Science 涵盖了各个学科领域,包括自然科学、社会科学、工程技术、医学等,提供了全面的学术资源。
2. 引文检索:- Web of Science 允许用户通过引文检索,了解某一篇论文被引用的次数、被谁引用,以及引用的文献列表。
这有助于评估研究的影响力和引用情况。
3. 高质量的文献索引:- Web of Science 对文献进行严格的筛选和索引,保证了数据库中的文献质量和可信度,使其成为学术界重要的信息资源之一。
4. 分析工具:- Web of Science 提供了多种分析工具,如引文网络分析、作者合作网络分析等,帮助用户更深入地了解学术领域的发展趋势和学术合作关系。
5. 全文链接和资源获取:-用户可以通过Web of Science 直接访问全文或找到文献的资源链接,方便获取相关研究材料。
6. 追踪学术动态:- Web of Science 提供了每日更新的学术数据,用户可以追踪最新的研究进展和发表的文献。
7. 专利检索:-除了学术论文,Web of Science 还提供了专利检索功能,方便研究人员查找相关专利信息。
8. 会议论文索引:- Web of Science 包含了大量的会议论文,帮助用户获取最新的会议研究成果。
9. 搜索和筛选功能:-提供高级搜索和筛选功能,帮助用户更精确地定位所需的文献信息。
总体而言,Web of Science 是一个强大的学术资源平台,为研究人员、学者和科研机构提供了广泛、深入的学术信息,支持科学研究、学术评价和决策制定。
文献译文-新型的基于web的在线考试系统
A NOVEL WEB-BASED ONLINE EXAMINATIONSYSTEM FORCOMPUTER SCIENCE EDUCATIONYuan Zhenming1, Zhang Liang2, Zhan Guohua3AbstractWeb-based Examination System is an effective solution for mass education evaluation. We have developed a novel online examination system based on a Browser/Server framework which carries out the examination and auto-grading for objective questions and operating questions, such as programming, operating Microsoft Windows, editing Microsoft Word, Excel and PowerPoint, etc. It has been successfully applied to the distance evaluation of basic operating skills of computer science, such as the course of computer skills in Universities and the nationwide examination for the high school graduates in Zhejiang Province, China.1. WEB-BASED ONLINE EXAMINATION SYSTEM1.1The aim of the examination systemAs a universal examination system for the education of basic computer operation, it must meet the following requirements:1. A reasonable question storage, which must conform to the general outline of the exam.2. A practical interface. There are two types of exam interfaces. One is the simulation, the other is the actual environment. The second scheme will give the student computer skills.3. A range of question types, such as objective questions, operating questions, design questions, information retrieval, group testing, etc.4. A safety and reliable examination system.1.2 The components of WOESThe Web based Online Examination System (WOES) is a multi-layer system which is composed of the Web Server, Database Server, and WOES middleware Server, WOES client module and Browser, such as Internet Explorer. In this system, we use the Internet Information Server 4.0(IIS) as the Web Server, the Database Server is Microsoft SQL Server 7.0.The kernel of WOES is the WOES middleware Serve and the WOES client module, which is designed according to Microsoft DCOM standards. DCOM is the binary COM object’s extension jointing LAN, WAN and Internet, which can instance and bind objects over different network. It is an advanced network protocol used to cooperate with COM based components of two processes in different locations. The WOES middleware Server is a server-side component The WOES middleware Server is a server-side component providing communication interfaces between WOES clients and the Web Server or Database Server. The WOES client is a client-side component, which is called by the Browser to control the client computer and submit or receive information from the WOES Server. This technology guarantees the flexibility and the potential for extension of the test system. In addition, it allows access to local files, whereas in conventional systems, the IE security prevents such access.1.3 The key technologies of WOES1. A user-friendly interfaceWe use br owser as our user’s interface. The Browser interface has a uniform and consistent user interface. Almost everyone is able to use it skillfully. Therefore it can eliminate the differences of various exam systems and guarantee a fair test.2. Simplified system maintenanceSince the system is based on Browser/Server architecture, the teacher can update the system or the question database o examine the student’s database only in Server. It is not necessary to update the client system as the Client/Server must do.3. Central examination managementProfiting from the central controlled system, the teacher can easily control the examination process, such as the beginning and end of the exam, collecting the answers and monitoring the students’ conditions on the te acher’s screen.4. SecurityThe most severe difficulty which the B/S based system faces is security, because in principle the web-based examination system can be accessed on the Internet or WAN in a city.All the questions, materials and answers are transmitted in bits stream format after encoding, not in file format. It can ensure not only security in the transmission process, but also protect from invasion.When one student starts his test, the system will distribute him a password produced according to his client’s hardware and operation system environment. It can prevent cribbers to login from other clients imitating this student.The newest method to prevent the distant student from leaving the client or is making use of face detection and recognition technology. Before the start of the exam, the student is asked to sit in front of thecomputer camera, which can monitor the whole scene. Then the system will automatically recognize the student’s face and his identification. As soon as the validation is performed, the student must stay in front of the camera until the exam is finished.2. AUTO-GRADING SYSTEMThe auto-grading system can automatically grade the answers, which are collected from the examination system. It helps teachers to achieve the score with ease.There are two types of the grading: objective questions and operating questions. Objective questions, such as choice questions, yes/no questions, and fill-in questions, can be graded effectively by accurate matching or fuzzy matching. But it is difficult to grade operating questions by simple matching technologies.A possible solution could be: Reading the answer file directly and comparing it to the key file. But this is not practical because the format of Microsoft Office files is complicated.Another solution is: (2) grading by using the Office OLE object. This method is convenient and efficient, but it has a big disadvantage: the source code of the grading system is closely related to the concrete question, which results in a large amount of work when the questions are changed.We propose a universalized grading system, which is carried out on the basis of a database of key knowledge.First, we extract all possible knowledge points and store them in a triple form: (key, value, location). Then we produce the question file by labeling the question point directly on it; the system will add the corresponding question key to the standard key library. So, the last process of auto-grading system is to compare the answer file with the standard key library. The auto-grading system also allows the teacher to add his /her own questions to our examination system.3. CONCLUSIONWe have developed an overall solution to the examination system for practical computer skills. It provides a user- friendly platform of various questions for the basic computer education in Universities. Hundreds of thousands of students and teachers have used this system and agree that it has effectively raised the learning and testing efficiency.一种新型的基于web的在线考试系统Yuan Zhenming1, Zhang Liang2, Zhan Guohua3摘要基于web的在线考试系统是大众教育评估的一种有效解决方法。
The Anatomy of a Large-Scale Hypertextual Web Search Engine完整中文翻译
本文是谷歌创始人Sergey和Larry在斯坦福大学计算机系读博士时的一篇论文。
发表于1997年。
在网络中并没有完整的中文译本,现将原文和本人翻译的寥寥几句和网络收集的片段(网友xfygx和雷声大雨点大的无私贡献)整理和综合到一起,翻译时借助了,因为是技术性的论文,文中有大量的合成的术语和较长的句子,有些进行了意译而非直译。
作为Google辉煌的起始,这篇文章非常有纪念价值,但是文中提到的内容因年代久远,已经和时下最新的技术有了不少差异。
但是文中的思想还是有很多借鉴价值。
因本人水平有限,对文中内容可能会有理解不当之处,请您查阅英文原版。
大规模的超文本网页搜索引擎的分析Sergey Brin and Lawrence Page{sergey, page}@Computer Science Department, Stanford University, Stanford, CA 94305摘要在本文中我们讨论Google,一个充分利用超文本文件结构进行搜索的大规模搜索引擎的原型。
Google可以有效地对网络资源进行爬行搜索和索引,比目前已经存在的系统有更令人满意的搜索结果。
该原型的数据库包括2400万页面的全文和之间的链接,可通过/访问。
设计一个搜索引擎是一种具挑战性的任务。
搜索引擎索索引数以亿计的不同类型的网页并每天给出过千万的查询的答案。
尽管大型搜索引擎对于网站非常重要,但是已完成的、对于大型搜索引擎的学术上的研究却很少。
此外,由于技术上的突飞猛进和网页的急剧增加,在当前,创建一个搜索引擎和三年前已不可同日而语。
本文提供了一种深入的描述,与 Web 增殖快速进展今日创建 Web 搜索引擎是三年前很大不同。
本文提供了到目前为止,对于我们大型的网页所搜引擎的深入的描述,这是第一个这样详细的公共描述。
除了如何把传统的搜索技术扩展到前所未有的海量数据,还有新的技术挑战涉及到了使用超文本中存在的其他附加信息产生更好的搜索结果。
Java技术与Web设计外文文献翻译
文献信息文献标题:A Comparative Study of Top Web Design Models that are using Java Technologies(使用Java技术的顶级Web设计模型的比较研究)文献作者及出处:Sathyaseelan B, Cordova R S. A Comparative Study of Top Web Design Models that are using Java Technologies[J].International Journal of Innovations and Advancement in Computer Science. 2016,5(5):41-44字数统计:英文1614单词,8806字符;中文2779汉字外文文献A Comparative Study of Top Web Design Models that areusing Java TechnologiesAbstract In today's professional workplace, enterprise applications are complex, adaptable, distributed, part-based, and mission-critical. They might be conveyed as an assortment of platforms across corporate systems, intranets, or the Internet. They are information driven, easy to use, and should meet stringent prerequisites for security, organization, and support. To put it plainly, they are highly complex systems. Various enterprise applications have been in the market today and there are numerous methods available for developing enterprise applications.This paper discusses the major differences between two competing design models for developing Web applications using Java technologies which are Struts and Java Server Faces (JSF). Struts is an open source java framework and is an action-based framework.On the other hand, JSF is a new technology that supports ready-to-use components for rapid Web application development. These two technologies will be analyzed depending on the factors such as the controller flexibility or event handling, navigation, page development, integration and extensibility.Keywords: web design models, Struts, Java Server Faces and Java technologiesI.IntroductionA STRUT is a web application system that has been popular over Java Servlets. It envelops the ordinarily utilized MVC design pattern. A STRUT automates normal tasks, liberating up to explore more of the Action- to-result pages mapping utilizing SML-based configurations. The system makes the progress level subtle elements of the usage of Web-based applications and gives a bit of structural software. JavaServer Faces (JSF) abridges the development of web application user interfaces, usually by defining a user interface component model tied to a well-defined request processing lifecycle. It characterizes a set of UI components— basically, a balanced mapping of the html structure component set along with some extras—that could a be utilized as an application programming interface for extending and modifying standard components or developing new components.II.Key DifferencesThe figures below illustrate the key differences between a STRUTS and JSF request-response scenario. This is necessary in order to fully understand the architecture of each web design models.Figure 1. Struts Request-Response ScenarioIn figure 1, the client sends request to server through a web-browser for aparticular resource. This request is forwarded to the server through a Controller. A servlet goes about as a controller, accepting all requests from the customer. The servlet hands off the request to a different business layer for handling. When processing is finished, the servlet advances or diverts the request to a JSP, which is exclusively in charge of creating the following view for the client. There is no business logic within the JSP.Figure 2. JSF Request-Response ScenarioIn figure 2, the server handles requests from the client, starting from an initial request to a postback request. When a client makes an underlying request for a page, it is asking for the page for the first time. When a client executes a postback, it presents the structure contained on a page that was beforehand stacked into the program as a result of executing an underlying request. When the life cycle handles an underlying request, it just executes the restore view and renders response phases in light of the fact that there is no client information or activities to prepare. Then again, when the life cycle handles a postback, it executes the majority of the phases.III.MethodologyIn this study we will compare JSF and Struts. We will create two modelsemploying the JSF and Struts request-response scenario. JSF is a “component” framework while Struts is an “action” framework.This paper compares and evaluates the ease of application development and the performance of two design models (Struts and JSF) by presenting the two design models and critically analyzes each technology.IV.ChallengesWeb Development ChallengesThe challenges in Web development are much more than the application development. The main challenge is in hosting the application over a webserver and then handling the network issues while accessing those via network. The performances of the web-based application are based on the network availability and its speed. These are not challenges for desktop applications as they run on the local host and the resources are based only on that system.Challenges in STRUTSDespite the fact that Struts accompanies a rundown of remarkable elements however it is important not to neglect the few negative applications about Struts and would require loads of improvements.Greater expectation to learn and adapt - To utilize MVC with STRUTS, you must be alright with the standard JSP, Servlet APIs and a substantial and elaborate system.Poor documentation - Compared to the standard servlet and JSP APIs, STRUTS has less online resources, and some first-time clients locate the online Apache documentation confusing and inadequately sorted out.Less straightforward -With STRUTS applications, there is significantly more going ahead in the background than with ordinary Java-based Web applications which makes it hard to comprehend the system.Challenges in JSFJSF is a very powerful innovation for creating Java-based web applications. It is intended to improve the development of client interfaces for Java Enterprise Edition (Java EE) applications via programmed handling of low level HTTP requests andclient information processing. JSF utilizes a part based model for web advancement. Utilizing the visual JSF web application instrument offered by NetBeans () integrated development environment (IDE), segments can be actually "painted" on a virtual JSF page by relocating them from a palette of JSF segment library.Event handlers can then be characterized for every part the same route concerning creating standalone Java graphical user interface (GUI) application. Route standards are determined for every page from a central XML arrangement document (faces-config.xml). Client activities on a web interface will trigger an event which in return figures out which page is to be shown along the rules specified on that page.This methodology encourages measured and adaptable design, making web application development much more straightforward and faster.The route decides determined for that page. This methodology encourages measured and adaptable configuration, making web application advancement much less difficult and speedier.V.AnalysisIn this study, STRUTS and JSF were analyzed in terms of their controller flexibility or event handling, navigation, page development, integration and extensibility. This is important to compare each web design model and present the advantages and disadvantages of each technology.Controller Flexibility/Event HandlingController is considered as the heart of the Struts. It uses the Front Controller Pattern and Command Pattern. A single servlet takes a request, and then translates HTTP parameters into a Java ActionForm, and passes the ActionForm into a Struts Action class. The URI designates which Action class need to be executed. The Struts framework has one single event handler for the HTTP request. When the request is met by the event handler, the Action returns the result back to the front controller. This in turn will be used to choose the navigation destination.Controller Pattern is been used by the JSF. Each face request goes through asingle servlet, whose responsibility is to get a faces page with components. It will then trigger the events for each component and render the components using a render toolkit. It is also possible to bound the components to the data from its model. JSF have several event handlers on a page while Struts is geared to one event per request. In addition, with Struts, the ActionForms have to extend Struts classes, creating another layer of complicated coding while JSF gives the ability to peg into the model without breaking layering.NavigationNavigation is a key feature of both Struts and JSF. There are 2 types of navigation: static navigation - when the output of a particular page is known so that it is very easy to predict its expected output; and dynamic navigation – when the output is unpredictable and some business logic determines the output of that particular page. Both frameworks have a declarative navigation model and define navigation using rules inside their XML configuration file. Both JSF and Struts support both types of navigation.Page DevelopmentJSF was built with component models which support RAD development, while struts don’t have that support. The Struts framework provides custom libraries to peg into Action Forms and offers some utilities. JSF provides the ability to build components from a variety of view technologies and does it in such a way to be component based.IntegrationStruts are model neutral, so there is no special hook into a model layer. The page data has to be moved from the Action Form to another Model input format which requires heavy complicated coding. The ActionForm class, provides an extra layer of tedious coding and state transition.JSF, on the other hand, encapsulates and hides the details of any data inside the component tree. Data grids and similar rich components can be bound to any Java class. This allows the combination of JSF and SDO which are powerful RAD development.ExtensibilityBoth Struts and JSF offers the extension of framework to meet expanding requirements. Struts have RequestProcessor class that has various callback methods and is the major grip for struts throughout the life-cycle of a request. JSF also have similar functionality to outspread special life-cycle interfaces. Apart from this, JSF totally decouples the render phase from the controller. This considered as on of the main important feature of JSF that Struts does not incorporate.VI.ConclusionJSF is a much more flexible framework while struts is a sturdy framework and works well. JSF is a strong framework because of its flexible controller and navigation. Furthermore, JSF is built with integration and extensibility. From a strategic direction and programming model, JSF can be a target of new applications.中文译文使用Java技术的顶级Web设计模型的比较研究摘要在当今的专业工作环境中,企业应用程序是复杂的、可适应的、分布式的、基于部件的和任务关键的。
中英文双语外文文献翻译:一种基于...
中英⽂双语外⽂⽂献翻译:⼀种基于...此⽂档是毕业设计外⽂翻译成品(含英⽂原⽂+中⽂翻译),⽆需调整复杂的格式!下载之后直接可⽤,⽅便快捷!本⽂价格不贵,也就⼏⼗块钱!⼀辈⼦也就⼀次的事!英⽂3890单词,20217字符(字符就是印刷符),中⽂6398汉字。
A Novel Divide-and-Conquer Model for CPI Prediction UsingARIMA, Gray Model and BPNNAbstract:This paper proposes a novel divide-and-conquer model for CPI prediction with the existing compilation method of the Consumer Price Index (CPI) in China. Historical national CPI time series is preliminary divided into eight sub-indexes including food, articles for smoking and drinking, clothing, household facilities, articles and maintenance services, health care and personal articles, transportation and communication, recreation, education and culture articles and services, and residence. Three models including back propagation neural network (BPNN) model, grey forecasting model (GM (1, 1)) and autoregressive integrated moving average (ARIMA) model are established to predict each sub-index, respectively. Then the best predicting result among the three models’for each sub-index is identified. To further improve the performance, special modification in predicting method is done to sub-CPIs whose forecasting results are not satisfying enough. After improvement and error adjustment, we get the advanced predicting results of the sub-CPIs. Eventually, the best predicting results of each sub-index are integrated to form the forecasting results of the national CPI. Empirical analysis demonstrates that the accuracy and stability of the introduced method in this paper is better than many commonly adopted forecasting methods, which indicates the proposed method is an effective and alternative one for national CPI prediction in China.1.IntroductionThe Consumer Price Index (CPI) is a widely used measurement of cost of living. It not only affects the government monetary, fiscal, consumption, prices, wages, social security, but also closely relates to the residents’daily life. As an indicator of inflation in China economy, the change of CPI undergoes intense scrutiny. For instance, The People's Bank of China raised the deposit reserve ratio in January, 2008 before the CPI of 2007 was announced, for it is estimated that the CPI in 2008 will increase significantly if no action is taken. Therefore, precisely forecasting the change of CPI is significant to many aspects of economics, some examples include fiscal policy, financial markets and productivity. Also, building a stable and accurate model to forecast the CPI will have great significance for the public, policymakers and research scholars.Previous studies have already proposed many methods and models to predict economic time series or indexes such as CPI. Some previous studies make use of factors that influence the value of the index and forecast it by investigating the relationship between the data of those factors and the index. These forecasts are realized by models such as Vector autoregressive (VAR)model1 and genetic algorithms-support vector machine (GA-SVM) 2.However, these factor-based methods, although effective to some extent, simply rely on the correlation between the value of the index and limited number of exogenous variables (factors) and basically ignore the inherent rules of the variation of the time series. As a time series itself contains significant amount of information3, often more than a limited number of factors can do, time series-based models are often more effective in the field of prediction than factor-based models.Various time series models have been proposed to find the inherent rules of the variation in the series. Many researchers have applied different time series models to forecasting the CPI and other time series data. For example, the ARIMA model once served as a practical method in predicting the CPI4. It was also applied to predict submicron particle concentrations frommeteorological factors at a busy roadside in Hangzhou, China5. What’s more, the ARIMA model was adopted to analyse the trend of pre-monsoon rainfall data forwestern India6. Besides the ARIMA model, other models such as the neural network, gray model are also widely used in the field of prediction. Hwang used the neural-network to forecast time series corresponding to ARMA (p, q) structures and found that the BPNNs generally perform well and consistently when a particular noise level is considered during the network training7. Aiken also used a neural network to predict the level of CPI and reached a high degree of accuracy8. Apart from the neural network models, a seasonal discrete grey forecasting model for fashion retailing was proposed and was found practical for fashion retail sales forecasting with short historical data and better than other state-of-art forecastingtechniques9. Similarly, a discrete Grey Correlation Model was also used in CPI prediction10. Also, Ma et al. used gray model optimized by particle swarm optimization algorithm to forecast iron ore import and consumption of China11. Furthermore, to deal with the nonlinear condition, a modified Radial Basis Function (RBF) was proposed by researchers.In this paper, we propose a new method called “divide-and-conquer model”for the prediction of the CPI.We divide the total CPI into eight categories according to the CPI construction and then forecast the eight sub- CPIs using the GM (1, 1) model, the ARIMA model and the BPNN. To further improve the performance, we again make prediction of the sub-CPIs whoseforecasting results are not satisfying enough by adopting new forecasting methods. After improvement and error adjustment, we get the advanced predicting results of the sub-CPIs. Finally we get the total CPI prediction by integrating the best forecasting results of each sub-CPI.The rest of this paper is organized as follows. In section 2, we give a brief introduction of the three models mentioned above. And then the proposed model will be demonstrated in the section 3. In section 4 we provide the forecasting results of our model and in section 5 we make special improvement by adjusting the forecasting methods of sub-CPIs whose predicting results are not satisfying enough. And in section 6 we give elaborate discussion and evaluation of the proposed model. Finally, the conclusion is summarized in section 7.2.Introduction to GM(1,1), ARIMA & BPNNIntroduction to GM(1,1)The grey system theory is first presented by Deng in 1980s. In the grey forecasting model, the time series can be predicted accurately even with a small sample by directly estimating the interrelation of data. The GM(1,1) model is one type of the grey forecasting which is widely adopted. It is a differential equation model of which the order is 1 and the number of variable is 1, too. The differential equation is:Introduction to ARIMAAutoregressive Integrated Moving Average (ARIMA) model was first put forward by Box and Jenkins in 1970. The model has been very successful by taking full advantage of time series data in the past and present. ARIMA model is usually described as ARIMA (p, d, q), p refers to the order of the autoregressive variable, while d and q refer to integrated, and moving average parts of the model respectively. When one of the three parameters is zero, the model is changed to model “AR”, “MR”or “ARMR”. When none of the three parameters is zero, the model is given by:where L is the lag number,?t is the error term.Introduction to BPNNArtificial Neural Network (ANN) is a mathematical and computational model which imitates the operation of neural networks of human brain. ANN consists of several layers of neurons. Neurons of contiguous layers are connected with each other. The values of connections between neurons are called “weight”. Back Propagation Neural Network (BPNN) is one of the most widely employed neural network among various types of ANN. BPNN was put forward by Rumelhart and McClelland in 1985. It is a common supervised learning network well suited for prediction. BPNN consists of three parts including one input layer, several hidden layers and one output layer, as is demonstrated in Fig 1. The learning process of BPNN is modifying the weights of connections between neurons based on the deviation between the actual output and the target output until the overall error is in the acceptable range.Fig. 1. Back-propagation Neural Network3.The Proposed MethodThe framework of the dividing-integration modelThe process of forecasting national CPI using the dividing-integration model is demonstrated in Fig 2.Fig. 2.The framework of the dividing-integration modelAs can be seen from Fig. 2, the process of the proposed method can be divided into the following steps: Step1: Data collection. The monthly CPI data including total CPI and eight sub-CPIs are collected from the official website of China’s State Statistics Bureau (/doc/d62de4b46d175f0e7cd184254b35eefdc9d31514.html /).Step2: Dividing the total CPI into eight sub-CPIs. In this step, the respective weight coefficient of eight sub- CPIs in forming the total CPI is decided by consulting authoritative source .(/doc/d62de4b46d175f0e7cd184254b35eefdc9d31514.html /). The eight sub-CPIs are as follows: 1. Food CPI; 2. Articles for Smoking and Drinking CPI; 3. Clothing CPI; 4. Household Facilities, Articles and Maintenance Services CPI; 5. Health Care and Personal Articles CPI; 6. Transportation and Communication CPI;7. Recreation, Education and Culture Articles and Services CPI; 8. Residence CPI. The weight coefficient of each sub-CPI is shown in Table 8.Table 1. 8 sub-CPIs weight coefficient in the total indexNote: The index number stands for the corresponding type of sub-CPI mentioned before. Other indexes appearing in this paper in such form have the same meaning as this one.So the decomposition formula is presented as follows:where TI is the total index; Ii (i 1,2, ,8) are eight sub-CPIs. To verify the formula, we substitute historical numeric CPI and sub-CPI values obtained in Step1 into the formula and find the formula is accurate.Step3: The construction of the GM (1, 1) model, the ARIMA (p, d, q) model and the BPNN model. The three models are established to predict the eight sub-CPIs respectively.Step4: Forecasting the eight sub-CPIs using the three models mentioned in Step3 and choosing the best forecasting result for each sub-CPI based on the errors of the data obtained from the three models.Step5: Making special improvement by adjusting the forecasting methods of sub-CPIs whose predicting results are not satisfying enough and get advanced predicting results of total CPI. Step6: Integrating the best forecasting results of 8 sub-CPIs to form the prediction of total CPI with the decomposition formula in Step2.In this way, the whole process of the prediction by the dividing-integration model is accomplished.3.2. The construction of the GM(1,1) modelThe process of GM (1, 1) model is represented in the following steps:Step1: The original sequence:Step2: Estimate the parameters a and u using the ordinary least square (OLS). Step3: Solve equation as follows.Step4: Test the model using the variance ratio and small error possibility.The construction of the ARIMA modelFirstly, ADF unit root test is used to test the stationarity of the time series. If the initial time series is not stationary, a differencing transformation of the data is necessary to make it stationary. Then the values of p and q are determined by observing the autocorrelation graph, partial correlation graph and the R-squared value.After the model is built, additional judge should be done to guarantee that the residual error is white noise through hypothesis testing. Finally the model is used to forecast the future trend ofthe variable.The construction of the BPNN modelThe first thing is to decide the basic structure of BP neural network. After experiments, we consider 3 input nodes and 1 output nodes to be the best for the BPNN model. This means we use the CPI data of time , ,toforecast the CPI of time .The hidden layer level and the number of hidden neurons should also be defined. Since the single-hidden- layer BPNN are very good at non-liner mapping, the model is adopted in this paper. Based on the Kolmogorov theorem and testing results, we define 5 to be the best number of hidden neurons. Thus the 3-5-1 BPNN structure is determined.As for transferring function and training algorithm, we select ‘tansig’as the transferring function for middle layer, ‘logsig’for input layer and ‘traingd’as training algorithm. The selection is based on the actual performance of these functions, as there are no existing standards to decide which ones are definitely better than others.Eventually, we decide the training times to be 35000 and the goal or the acceptable error to be 0.01.4.Empirical AnalysisCPI data from Jan. 2012 to Mar. 2013 are used to build the three models and the data from Apr. 2013 to Sept. 2013 are used to test the accuracy and stability of these models. What’s more, the MAPE is adopted to evaluate the performance of models. The MAPE is calculated by the equation:Data sourceAn appropriate empirical analysis based on the above discussion can be performed using suitably disaggregated data. We collect the monthly data of sub-CPIs from the website of National Bureau of Statistics of China(/doc/d62de4b46d175f0e7cd184254b35eefdc9d31514.html /).Particularly, sub-CPI data from Jan. 2012 to Mar. 2013 are used to build the three models and the data from Apr. 2013 to Sept. 2013 are used to test the accuracy and stability of these models.Experimental resultsWe use MATLAB to build the GM (1,1) model and the BPNN model, and Eviews 6.0 to build the ARIMA model. The relative predicting errors of sub-CPIs are shown in Table 2.Table 2.Error of Sub-CPIs of the 3 ModelsFrom the table above, we find that the performance of different models varies a lot, because the characteristic of the sub-CPIs are different. Some sub-CPIs like the Food CPI changes drastically with time while some do not have much fluctuation, like the Clothing CPI. We use different models to predict the sub- CPIs and combine them by equation 7.Where Y refers to the predicted rate of the total CPI, is the weight of the sub-CPI which has already been shown in Table1and is the predicted value of the sub-CPI which has the minimum error among the three models mentioned above. The model chosen will be demonstrated in Table 3:Table 3.The model used to forecastAfter calculating, the error of the total CPI forecasting by the dividing-integration model is 0.0034.5.Model Improvement & Error AdjustmentAs we can see from Table 3, the prediction errors of sub-CPIs are mostly below 0.004 except for two sub- CPIs: Food CPI whose error reaches 0.0059 and Transportation & Communication CPI 0.0047.In order to further improve our forecasting results, we modify the prediction errors of the two aforementioned sub-CPIs by adopting other forecasting methods or models to predict them. The specific methods are as follows.Error adjustment of food CPIIn previous prediction, we predict the Food CPI using the BPNN model directly. However, the BPNN model is not sensitive enough to investigate the variation in the values of the data. For instance, although the Food CPI varies a lot from month to month, the forecasting values of it are nearly all around 103.5, which fails to make meaningful prediction.We ascribe this problem to the feature of the training data. As we can see from the original sub-CPI data on the website of National Bureau of Statistics of China, nearly all values of sub-CPIs are around 100. As for Food CPI, although it does have more absolute variations than others, its changes are still very small relative to the large magnitude of the data (100). Thus it will be more difficult for the BPNN model to detect the rules of variations in training data and the forecastingresults are marred.Therefore, we use the first-order difference series of Food CPI instead of the original series to magnify the relative variation of the series forecasted by the BPNN. The training data and testing data are the same as that in previous prediction. The parameters and functions of BPNN are automatically decided by the software, SPSS.We make 100 tests and find the average forecasting error of Food CPI by this method is 0.0028. The part of the forecasting errors in our tests is shown as follows in Table 4:Table 4.The forecasting errors in BPNN testError adjustment of transportation &communication CPIWe use the Moving Average (MA) model to make new prediction of the Transportation and Communication CPI because the curve of the series is quite smooth with only a few fluctuations. We have the following equation(s):where X1, X2…Xn is the time series of the Transportation and Communication CPI, is the value of moving average at time t, is a free parameter which should be decided through experiment.To get the optimal model, we range the value of from 0 to 1. Finally we find that when the value of a is 0.95, the forecasting error is the smallest, which is 0.0039.The predicting outcomes are shown as follows in Table5:Table 5.The Predicting Outcomes of MA modelAdvanced results after adjustment to the modelsAfter making some adjustment to our previous model, we obtain the advanced results as follows in Table 6: Table 6.The model used to forecast and the Relative ErrorAfter calculating, the error of the total CPI forecasting by the dividing-integration model is 0.2359.6.Further DiscussionTo validate the dividing-integration model proposed in this paper, we compare the results of our model with the forecasting results of models that do not adopt the dividing-integration method. For instance, we use the ARIMA model, the GM (1, 1) model, the SARIMA model, the BRF neural network (BRFNN) model, the Verhulst model and the Vector Autoregression (VAR) model respectively to forecast the total CPI directly without the process of decomposition and integration. The forecasting results are shown as follows in Table7.From Table 7, we come to the conclusion that the introduction of dividing-integration method enhances the accuracy of prediction to a great extent. The results of model comparison indicate that the proposed method is not only novel but also valid and effective.The strengths of the proposed forecasting model are obvious. Every sub-CPI time series have different fluctuation characteristics. Some are relatively volatile and have sharp fluctuations such as the Food CPI while others are relatively gentle and quiet such as the Clothing CPI. As a result, by dividing the total CPI into several sub-CPIs, we are able to make use of the characteristics of each sub-CPI series and choose the best forecasting model among several models for every sub-CPI’s prediction. Moreover, the overall prediction error is provided in the following formula:where TE refers to the overall prediction error of the total CPI, is the weight of the sub-CPI shown in table 1 and is the forecasting error of corresponding sub-CPI.In conclusion, the dividing-integration model aims at minimizing the overall prediction errors by minimizing the forecasting errors of sub-CPIs.7.Conclusions and future workThis paper creatively transforms the forecasting of national CPI into the forecasting of 8 sub-CPIs. In the prediction of 8 sub-CPIs, we adopt three widely used models: the GM (1, 1) model, the ARIMA model and the BPNN model. Thus we can obtain the best forecasting results for each sub-CPI. Furthermore, we make special improvement by adjusting the forecasting methods of sub-CPIs whose predicting results are not satisfying enough and get the advanced predicting results of them. Finally, the advanced predicting results of the 8 sub- CPIs are integrated to formthe forecasting results of the total CPI.Furthermore, the proposed method also has several weaknesses and needs improving. Firstly, The proposed model only uses the information of the CPI time series itself. If the model can make use of other information such as the information provided by factors which make great impact on the fluctuation of sub-CPIs, we have every reason to believe that the accuracy and stability of the model can be enhanced. For instance, the price of pork is a major factor in shaping the Food CPI. If this factor is taken into consideration in the prediction of Food CPI, the forecasting results will probably be improved to a great extent. Second, since these models forecast the future by looking at the past, they are not able to sense the sudden or recent change of the environment. So if the model can take web news or quick public reactions with account, it will react much faster to sudden incidence and affairs. Finally, the performance of sub-CPIs prediction can be higher. In this paper we use GM (1, 1), ARIMA and BPNN to forecast sub-CPIs. Some new method for prediction can be used. For instance, besides BPNN, there are other neural networks like genetic algorithm neural network (GANN) and wavelet neural network (WNN), which might have better performance in prediction of sub-CPIs. Other methods such as the VAR model and the SARIMA model should also be taken into consideration so as to enhance the accuracy of prediction.References1.Wang W, Wang T, and Shi Y. Factor analysis on consumer price index rising in China from 2005 to 2008. Management and service science 2009; p. 1-4.2.Qin F, Ma T, and Wang J. The CPI forecast based on GA-SVM. Information networking and automation 2010; p. 142-147.3.George EPB, Gwilym MJ, and Gregory CR. Time series analysis: forecasting and control. 4th ed. Canada: Wiley; 20084.Weng D. The consumer price index forecast based on ARIMA model. WASE International conferenceon information engineering 2010;p. 307-310.5.Jian L, Zhao Y, Zhu YP, Zhang MB, Bertolatti D. An application of ARIMA model to predict submicron particle concentrations from meteorological factors at a busy roadside in Hangzhou, China. Science of total enviroment2012;426:336-345.6.Priya N, Ashoke B, Sumana S, Kamna S. Trend analysis and ARIMA modelling of pre-monsoon rainfall data forwestern India. Comptesrendus geoscience 2013;345:22-27.7.Hwang HB. Insights into neural-network forecasting of time seriescorresponding to ARMA(p; q) structures. Omega2001;29:273-289./doc/d62de4b46d175f0e7cd184254b35eefdc9d31514.html am A. Using a neural network to forecast inflation. Industrial management & data systems 1999;7:296-301.9.Min X, Wong WK. A seasonal discrete grey forecasting model for fashion retailing. Knowledge based systems 2014;57:119-126.11. Weimin M, Xiaoxi Z, Miaomiao W. Forecasting iron ore import and consumption of China using grey model optimized by particleswarm optimization algorithm. Resources policy 2013;38:613-620.12. Zhen D, and Feng S. A novel DGM (1, 1) model for consumer price index forecasting. Greysystems and intelligent services (GSIS)2009; p. 303-307.13. Yu W, and Xu D. Prediction and analysis of Chinese CPI based on RBF neural network. Information technology and applications2009;3:530-533.14. Zhang GP. Time series forecasting using a hybrid ARIMA and neural network model. Neurocomputing 2003;50:159-175.15. Pai PF, Lin CS. A hybrid ARIMA and support vector machines model in stock price forecasting. Omega 2005;33(6):497-505.16. Tseng FM, Yu HC, Tzeng GH. Combining neural network model with seasonal time series ARIMA model. Technological forecastingand social change 2002;69(1):71-87.17.Cho MY, Hwang JC, Chen CS. Customer short term load forecasting by using ARIMA transfer function model. Energy management and power delivery, proceedings of EMPD'95. 1995 international conference on IEEE, 1995;1:317-322.译⽂:⼀种基于ARIMA、灰⾊模型和BPNN对CPI(消费物价指数)进⾏预测的新型分治模型摘要:在本⽂中,利⽤我国现有的消费者价格指数(CPI)的计算⽅法,提出了⼀种新的CPI预测分治模型。
web实训报告文献
web实训报告文献
以下是一些与web实训相关的报告文献:
1. "Web Development: A Case Study of Building an E-commerce Website" - 这篇论文介绍了一个构建电子商务网站的案例研究,详细讨论了网站的设计和开发过程,以及所采用的技术和工具。
2. "Web Application Security: A Comprehensive Study" - 这篇论文对web应用程序的安全性进行了全面研究,包括常见的安全漏洞和攻击技术,以及如何加强web应用程序的安全性。
3. "Responsive Web Design: A Practical Guide" - 这篇论文介绍了响应式网页设计的实践指南,包括如何设计和开发适应不同屏幕尺寸和设备的网页。
4. "Web Accessibility: Design and Development Guidelines" - 这篇论文提供了关于网页无障碍性设计和开发的指南,包括如何使网页对于视觉和听觉障碍的人士更易访问。
5. "User Experience Design for Web Applications" - 这篇论文讨论了用户体验设计在web应用程序中的重要性,以及如何通过设计和开发来提供良好的用户体验。
这些文献可以作为参考,帮助你了解和研究web实训相关的主题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文献翻译基于 Web 的分析系统院(系)名称信息工程学院专业名称软件工程英文译文基于Web 的分析系统马克斯科特,约翰琳1 摘要在使用分析型数据库时,分析人员将数据归入公用组,并尝试确定条件变化时产生的结果。
例如,提高产品价格会增加单位利润,但可能会减少销量ù会产生较高还是较低的总利润?或者,联邦贴现率的下降会如何影响房地产贷款的收益?为了帮助分析人员根据历史趋势做出有根据的预测,Microsoft 在SQL Server 2000 中提供了分析服务,在SQL Server 7.0 中提供了OLAP 服务。
这些服务都提供OLAP 功能,能够将存储在SQL Server(或任何其他OLE DB 兼容的数据源)上的数据处理成多维数据结构,称为多维数据集。
多维数据集简化了趋势分析和建立实体间交互方式联系的过程。
例如,房地产投资者采用现金流模型来区分一组具有共同特征(如:地产类型、地理位置和利率范围)的贷款,并预测各种事件的影响。
如果贷款提前偿还或者借款人违约,后果将会如何?此类不可预测的事件会如何影响贷款所担保的债券的收益。
从包含几百笔贷款的清单中选择并区分具有分析特征的贷款是需要相当技巧的。
分析服务和OLAP 服务有助于在各组贷款间建立联系,以便分析人员能够建立贷款假设模型。
为了帮助客户的房地产分析人员预测商业抵押证券的业绩,我们的开发小组需要设计一个以各种方式(如:利率、到期期限或地产位置)来简化贷款分类的系统。
其界面应易于学习和使用。
而且,所开发的系统需要在Internet 上进行安全的部署。
为了满足这些要求,开发小组选择了分析服务。
2 在Web上部署Office在选定了后端技术后,开发小组开始制订实现前端界面的计划。
多数金融分析人员使用Microsoft Excel,他们对其界面比较熟悉,感觉也很舒服。
Excel 包括数据透视表服务,能够允许分析人员连接到分析服务数据库。
Excel 的拖放界面提供了对多维数据的简单和直观的访问,并不要求用户进行深入的培训。
而且,通过使用Excel 的制图功能,用户能够以图和表的形式表示数据。
所以,对于前端界面,小组的首选是Microsoft Office XP 中的Excel 2002。
Excel 数据透视表服务浏览一个分析服务OLAP 多维数据集的情形。
2.1 使用OWC在Web上部署Office如果所有的客户端用户在同一幢大楼内一起工作,并通过同一个局域网访问分析服务器,Excel 会是不错的选择。
但用户需要和办公地点散布于世界各地的不同组织共享应用程序,因此开发小组需要一个用户可以通过Internet 访问且类似于Excel 的组件。
该小组发现Office Web 组件(OWC) 能够满足这一需要。
OWC 是一组能够在Web 页上使用并提供Office 功能的ActiveX 控件。
OWC 数据透视表组件是Excel 中数据透视表服务的Web 版本;数据透视表使用数据透视表服务,并要求在运行前安装数据透视表服务。
但没有Excel,OWC 数据透视表也能工作。
数据透视表能够从分析服务器上检索多维数据并将这些数据显示在一个交互的拖放界面上。
已安装Microsoft Internet Explorer (IE) 4.01 或以上版本的用户可以使用OWC 对分析服务数据进行分析,而不必安装额外的组件软件。
图2显示了外观和操作都类似于熟悉的Excel 界面的OWC 数据透视表客户端界面。
OWC 数据透视表也提供了智能缓存,通过减少数据透视表从网络到服务器的往返行程次数而提高性能。
所以,通过有效使用分析服务,数据透视表能够减少数据传输并提高效率。
虽然OWC 提供了我们开发小组的项目需要的全部东西,但当我们试图在Internet 上部署OWC 时,我们遇到了难题。
首先是OWC 的运行平台问题。
Office XP 版的OWC 要求使用Microsoft Data Access Components (MDAC) 2.6 或以上版本。
而许多服务订户使用Windows NT Workstation 4.0 作为其操作系统,如果要安装MDAC 2.6,还必须安装Service Pack 6 (SP6)。
使用OWC 的一个主要吸引力在于我们认为它能够实现无缝的部署。
我们发现虽然能够自动处理安装Service Pack,但该过程需要重新启动,非常麻烦。
以后,Microsoft 提供了一个使用SP4 的OWC 组件修订版本,但我们同时也在开发自己的应用程序,在金融机构严格控制的客户端网络上部署Service Pack 是一个很大的困难。
因此,需要在操作系统上使用特定Service Pack 的解决方案是不可行的。
其次,我们小组遇到了连接问题。
OWC 要求直接连接分析服务数据源。
OWC 使用默认的2725 端口直接和分析服务器通信,对于使用防火墙的机构来说,这是个问题。
先,我们试图使用HTTP 连接和服务器通过80 端口进行连接以解决连接问题。
该连接通过Web 浏览器使用的同一个端口来提供访问。
对于额外的安全性,分析服务还能够使用安全套接字层(SSL),通过443 端口进行连接。
大多数组织同时打开80 端口和443 端口以便用户访问Internet。
(有关使用HTTP 的更多信息,参见位于/default.aspx?scid=kb;en-us;q279489 的Microsoft 文章"INF: How to Connect to Analysis Service 2000 By Using HTTP Conection"。
)说明了使用OWC 连接到分析服务器涉及的问题。
然而,HTTP 连接的执行产生了一些难以克服的困难。
我们测试显示,通过80 端口进行连接要明显慢于直接连接。
因为多维数据集需要向客户端提供大量的数据,性能的降低使OWC 的使用很不现实。
2.2 寻找替代方案接下来,我们的小组考虑使用ADO-MD 和MDX 查询创建自定义界面。
您可使用OPENROWSET 命令直接查询分析服务多维数据集。
(有关查询分析服务的信息,参见位于/default.aspx?scid=kb;en-us;q218592 的Microsoft 文章"HOWTO:SQL Server 7 Distributed Query with OLAP Server"。
)OPENROWSET 允许您从包括分析服务在内的任何OLE DB 源上查询数据。
这种灵活性能够让我们使用ADO 查询分析服务。
分析服务使用的OLE DB 提供程序MSOLAP 将多维数据转换成ADO 能够用来同前端的应用程序进行数据通信的标准行集。
这种自定义解决方案的问题在于创建具有OWC 和Excel 外观的直观而且互动的界面是一件非常复杂的工作。
虽然开发小组能够创建这样的界面,但所花时间长、费用高,且需要不断进行维护,因此该解决方案不具备可行性。
开发小组也研究了几个第三方的解决方案。
很多第三方解决方案是帮助用户生成一个查询,然后执行它来查看结果。
这种方式虽然有效地利用了系统资源,但达不到Excel 和OWC 的拖放界面同样的交互式效果。
所以,虽然这些解决方案各具优势,但没有一个能够完全满足本项目的要求。
在我们小组将自定义开发成本加入第三方软件的总成本考虑时,我们决定重新寻找替代方案。
2.3 使用Web 瘦客户端访问多维数据开发小组成员最后选用Microsoft SQL Server Resource Kit,为我们的难题找到了解决方案:分析服务Web 瘦客户端浏览器。
(要在资源工具箱CD-ROM 上访问Web 瘦客户端,参见资源工具箱第39 章的参考信息,该信息位于/technet/treeview/default.asp?url=/technet/prodtechnol/sql/reskit/sq l2000/part11/c3961.asp。
)Web 瘦客户端使用Active Server Page (ASP) 连接到分析服务器、将多维数据转换成HTML,并将数据传递给客户端。
说明了Web 瘦客户端显示贷款数据子集的情况。
Web 瘦客户端需要IE 5.0 或以上版本。
因为客户端不直接连接到分析服务计算机,所以客户端不需要MDAC 2.6。
由于多数客户端订户具有IE 5.0,所以我们不必在订户的个人计算机上部署Service Pack。
图5显示了Web 瘦客户端使用的结构。
Web 瘦客户端使用ASP 从Microsoft IIS 服务器—而不是客户端—来查询多维数据集。
Web 瘦客户端带有ASP 页,使得您能够在IIS 服务器上部署。
因为只有运行ASP 的IIS 服务器才能够连接到分析服务数据库,所以,您能够使用一个连接来保证通过防火墙进行的多维数据集访问,并且可以将该连接局限于Web 服务器和数据库服务器。
这种安排创建了一个高效和易于保护的连接。
对客户端的唯一连接是标准的HTML 连接,这能够减少防火墙的影响。
Web 瘦客户端将查询的数据放到一个网格状的HTML 表结构中,并将数据发送到浏览器。
用户通过JavaScript 和数据进行交互。
通过使用透明层,用户可以将维拖到多维数据集中进行数据操作、通过维向下追溯并显示和分析其需要的数据。
如多数设计决策那样,使用Web 瘦客户端需要做出某些折衷。
因为在Web 服务器域和后端域之间不存在信任关系。
您不能在系统中扩展Active Directory (AD) 作为其验证服务。
这样的信任关系会给入侵者提供一种破坏后端域安全的方法。
因此,系统必须建立一个匿名用户来访问分析服务器上的数据。
如果对数据的访问取决于用户,则不能使用基于分析服务的角色安全性来控制对数据的访问。
然而,如果系统允许所有用户通过一个安全上下文进行数据访问,则使用Web 瘦客户端是安全的,而且容易部署。
Web 瘦客户端也有其他缺点。
OWC 通过使用数据透视表的智能缓存把从Web 浏览器到OLAP Web 服务器的往返行程数减少到最小来获取更多的数据。
但Web 瘦客户端是从服务器端提取数据的,因为数据在Web 浏览器中并不缓存,所以每次对数据的更改都要求浏览器向Web 服务器提出新的请求。
当处理的数据量很大时,这个进程会很缓慢。
OWC 还具有丰富的对象模型,您可以对之编写自定义代码。
而Web 瘦客户端使用JavaScript,很难自定义。
因为Web 瘦客户端是资源工具箱内包含的“自由代码”,所以Microsoft 并不像支持Excel 或OWC 那样对Web 瘦客户端提供相同程度的支持。
而且,Web 瘦客户端要求客户端脚本,如果Web 浏览器已经更新或更改,它会产生错误。