外文文献翻译---基于 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.嵌入式系统的网络服务器在“每个人都处在互联网的浪潮中”之后,现在很明显随之而来的是“每件事都处在互联网的浪潮中”。
- 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 浏览器已经更新或更改,它会产生错误。