505关于计算机专业应用程序类App有关的外文文献翻译成品:在Nashorn中使用JavaFX(中英文双语对照)
- 格式:docx
- 大小:682.47 KB
- 文档页数:10
English Composition:In the modern era, software plays an integral role in our daily lives. It is the backbone of the digital world, powering everything from the simplest calculator applications to the most complex artificial intelligence systems. The development of software has revolutionized industries, improved communication, and enhanced our ability to solve problems.The process of creating software is known as software development. It involves several stages, including requirement analysis, design, implementation, testing, and maintenance. Each stage is crucial to ensure that the final product meets the users needs and is free from bugs and errors. Software developers must possess a deep understanding of programming languages and algorithms to write efficient and effective code.One of the most significant benefits of software is its flexibility. It can be easily updated and customized to meet changing requirements. This adaptability has allowed businesses to stay agile and responsive to market demands. Furthermore, software has democratized access to information and services, making it possible for individuals to perform tasks that were once reserved for specialized professionals.However, the proliferation of software also brings challenges. Cybersecurity is a growing concern as malicious software can compromise sensitive data and systems. Developers must prioritize security in their designs to protect users and their information. Additionally, the rapid pace of technological advancement means that software must be continuously updated to remain relevant and secure.In conclusion, software is an essential component of our digital infrastructure. It has the power to transform industries and improve our lives in countless ways. As we continue to rely on software, it is imperative that we invest in its development, security, and ongoing maintenance.Translation to Chinese:在现代时代,软件在我们的日常生活中扮演着不可或缺的角色。
The Impact of Mobile Applications on OurDaily LivesIn today's digital era, mobile applications have become an integral part of our daily lives. With the advent of smartphones and their widespread adoption, apps have revolutionized the way we interact with the world, learn new things, and accomplish our daily tasks. From social networking to online shopping, from entertainment to education, mobile applications have transformed every aspect of our lives.The first and foremost impact of mobile applications is on communication. Social media apps like Facebook, Instagram, and WhatsApp have made it easier for people to stay connected with their friends and family, regardless of their geographical locations. These apps allow us to share photos, videos, and updates with our loved ones instantly, creating a sense of closeness and community.Moreover, mobile applications have made learning and accessing information more convenient. Educational appslike Duolingo, Khan Academy, and Coursera provide access to a wide range of courses and learning materials, enablingusers to learn new skills and improve their knowledge base. Apps like Google and Wikipedia provide instant answers to our queries, while news apps keep us updated with thelatest happenings around the world.In addition, mobile applications have alsorevolutionized the way we shop. Online shopping apps like Amazon, Flipkart, and Alibaba allow users to browse and buy products from anywhere in the world, at any time. Theseapps provide a seamless shopping experience, with features like product recommendations, user reviews, and secure payment options.Entertainment apps like Netflix, Spotify, and TikTok have also become immensely popular, providing access to a wide range of content including movies, TV shows, music,and short videos. These apps have transformed the way we consume entertainment, making it more personalized and accessible.However, while mobile applications have brought numerous benefits, they have also presented some challenges. One of the major concerns is the issue of privacy and security. Many apps collect personal information from users,which can be misused if not handled properly. It is, therefore, important for users to be vigilant and select apps that are trusted and have strong privacy policies.Another challenge is the issue of addiction. Some apps, particularly social media and gaming apps, can be addictive and can have negative impacts on users' mental health and well-being. It is essential for users to set boundaries and avoid excessive use of these apps.Despite these challenges, the future of mobile applications looks bright. With the advent of new technologies like artificial intelligence, augmented reality, and virtual reality, mobile applications are expected to become more intelligent, interactive, and immersive. These technologies will further enhance the user experience and open up new possibilities for mobile apps in various industries.In conclusion, mobile applications have revolutionized our daily lives, bringing numerous benefits and conveniences. While they pose some challenges, it is important for us to make informed choices and use them responsibly. As the mobile app ecosystem continues toevolve, we can look forward to more innovative and transformative apps that will further enhance our lives.**移动应用程序对我们日常生活的影响**在当今数字化时代,移动应用程序已经成为我们日常生活的重要组成部分。
英文原文:Title: Business Applications of Java. Author: Erbschloe, Michael, Business Applications of Java -- Research Starters Business, 2008DataBase: Research Starters - BusinessBusiness Applications of JavaThis article examines the growing use of Java technology in business applications. The history of Java is briefly reviewed along with the impact of open standards on the growth of the World Wide Web. Key components and concepts of the Java programming language are explained including the Java Virtual Machine. Examples of how Java is being used bye-commerce leaders is provided along with an explanation of how Java is used to develop data warehousing, data mining, and industrial automation applications. The concept of metadata modeling and the use of Extendable Markup Language (XML) are also explained.Keywords Application Programming Interfaces (API's); Enterprise JavaBeans (EJB); Extendable Markup Language (XML); HyperText Markup Language (HTML); HyperText Transfer Protocol (HTTP); Java Authentication and Authorization Service (JAAS); Java Cryptography Architecture (JCA); Java Cryptography Extension (JCE); Java Programming Language; Java Virtual Machine (JVM); Java2 Platform, Enterprise Edition (J2EE); Metadata Business Information Systems > Business Applications of JavaOverviewOpen standards have driven the e-business revolution. Networking protocol standards, such as Transmission Control Protocol/Internet Protocol (TCP/IP), HyperText Transfer Protocol (HTTP), and the HyperText Markup Language (HTML) Web standards have enabled universal communication via the Internet and the World Wide Web. As e-business continues to develop, various computing technologies help to drive its evolution.The Java programming language and platform have emerged as major technologies for performing e-business functions. Java programming standards have enabled portability of applications and the reuse of application components across computing platforms. Sun Microsystems' Java Community Process continues to be a strong base for the growth of the Java infrastructure and language standards. This growth of open standards creates new opportunities for designers and developers of applications and services (Smith, 2001).Creation of Java TechnologyJava technology was created as a computer programming tool in a small, secret effort called "the Green Project" at Sun Microsystems in 1991. The Green Team, fully staffed at 13 people and led by James Gosling, locked themselves away in an anonymous office on Sand Hill Road in Menlo Park, cut off from all regular communications with Sun, and worked around the clock for18 months. Their initial conclusion was that at least one significant trend would be the convergence of digitally controlled consumer devices and computers. A device-independent programming language code-named "Oak" was the result.To demonstrate how this new language could power the future of digital devices, the Green Team developed an interactive, handheld home-entertainment device controller targeted at the digital cable television industry. But the idea was too far ahead of its time, and the digital cable television industry wasn't ready for the leap forward that Java technology offered them. As it turns out, the Internet was ready for Java technology, and just in time for its initial public introduction in 1995, the team was able to announce that the Netscape Navigator Internet browser would incorporate Java technology ("Learn about Java," 2007).Applications of JavaJava uses many familiar programming concepts and constructs and allows portability by providing a common interface through an external Java Virtual Machine (JVM). A virtual machine is a self-contained operating environment, created by a software layer that behaves as if it were a separate computer. Benefits of creating virtual machines include better exploitation of powerful computing resources and isolation of applications to prevent cross-corruption and improve security (Matlis, 2006).The JVM allows computing devices with limited processors or memory to handle more advanced applications by calling up software instructions inside the JVM to perform most of the work. This also reduces the size and complexity of Java applications because many of the core functions and processing instructions were built into the JVM. As a result, software developersno longer need to re-create the same application for every operating system. Java also provides security by instructing the application to interact with the virtual machine, which served as a barrier between applications and the core system, effectively protecting systems from malicious code.Among other things, Java is tailor-made for the growing Internet because it makes it easy to develop new, dynamic applications that could make the most of the Internet's power and capabilities. Java is now an open standard, meaning that no single entity controls its development and the tools for writing programs in the language are available to everyone. The power of open standards like Java is the ability to break down barriers and speed up progress.Today, you can find Java technology in networks and devices that range from the Internet and scientific supercomputers to laptops and cell phones, from Wall Street market simulators to home game players and credit cards. There are over 3 million Java developers and now there are several versions of the code. Most large corporations have in-house Java developers. In addition, the majority of key software vendors use Java in their commercial applications (Lazaridis, 2003).ApplicationsJava on the World Wide WebJava has found a place on some of the most popular websites in the world and the uses of Java continues to grow. Java applications not only provide unique user interfaces, they also help to power the backend of websites. Two e-commerce giants that everybody is probably familiar with (eBay and Amazon) have been Java pioneers on the World Wide Web.eBayFounded in 1995, eBay enables e-commerce on a local, national and international basis with an array of Web sites-including the eBay marketplaces, PayPal, Skype, and -that bring together millions of buyers and sellers every day. You can find it on eBay, even if you didn't know it existed. On a typical day, more than 100 million items are listed on eBay in tens of thousands of categories. Recent listings have included a tunnel boring machine from the Chunnel project, a cup of water that once belonged to Elvis, and the Volkswagen that Pope Benedict XVI owned before he moved up to the Popemobile. More than one hundred million items are available at any given time, from the massive to the miniature, the magical to the mundane, on eBay; the world's largest online marketplace.eBay uses Java almost everywhere. To address some security issues, eBay chose Sun Microsystems' Java System Identity Manager as the platform for revamping its identity management system. The task at hand was to provide identity management for more than 12,000 eBay employees and contractors.Now more than a thousand eBay software developers work daily with Java applications. Java's inherent portability allows eBay to move to new hardware to take advantage of new technology, packaging, or pricing, without having to rewrite Java code ("eBay drives explosive growth," 2007).Amazon (a large seller of books, CDs, and other products) has created a Web Service application that enables users to browse their product catalog and place orders. uses a Java application that searches the Amazon catalog for books whose subject matches a user-selected topic. The application displays ten books that match the chosen topic, and shows the author name, book title, list price, Amazon discount price, and the cover icon. The user may optionally view one review per displayed title and make a buying decision (Stearns & Garishakurthi, 2003).Java in Data Warehousing & MiningAlthough many companies currently benefit from data warehousing to support corporate decision making, new business intelligence approaches continue to emerge that can be powered by Java technology. Applications such as data warehousing, data mining, Enterprise Information Portals (EIP's), and Knowledge Management Systems (which can all comprise a businessintelligence application) are able to provide insight into customer retention, purchasing patterns, and even future buying behavior.These applications can not only tell what has happened but why and what may happen given certain business conditions; allowing for "what if" scenarios to be explored. As a result of this information growth, people at all levels inside the enterprise, as well as suppliers, customers, and others in the value chain, are clamoring for subsets of the vast stores of information such as billing, shipping, and inventory information, to help them make business decisions. While collecting and storing vast amounts of data is one thing, utilizing and deploying that data throughout the organization is another.The technical challenges inherent in integrating disparate data formats, platforms, and applications are significant. However, emerging standards such as the Application Programming Interfaces (API's) that comprise the Java platform, as well as Extendable Markup Language (XML) technologies can facilitate the interchange of data and the development of next generation data warehousing and business intelligence applications. While Java technology has been used extensively for client side access and to presentation layer challenges, it is rapidly emerging as a significant tool for developing scaleable server side programs. The Java2 Platform, Enterprise Edition (J2EE) provides the object, transaction, and security support for building such systems.Metadata IssuesOne of the key issues that business intelligence developers must solve is that of incompatible metadata formats. Metadata can be defined as information about data or simply "data about data." In practice, metadata is what most tools, databases, applications, and other information processes use to define, relate, and manipulate data objects within their own environments. It defines the structure and meaning of data objects managed by an application so that the application knows how to process requests or jobs involving those data objects. Developers can use this schema to create views for users. Also, users can browse the schema to better understand the structure and function of the database tables before launching a query.To address the metadata issue, a group of companies (including Unisys, Oracle, IBM, SAS Institute, Hyperion, Inline Software and Sun) have joined to develop the Java Metadata Interface (JMI) API. The JMI API permits the access and manipulation of metadata in Java with standard metadata services. JMI is based on the Meta Object Facility (MOF) specification from the Object Management Group (OMG). The MOF provides a model and a set of interfaces for the creation, storage, access, and interchange of metadata and metamodels (higher-level abstractions of metadata). Metamodel and metadata interchange is done via XML and uses the XML Metadata Interchange (XMI) specification, also from the OMG. JMI leverages Java technology to create an end-to-end data warehousing and business intelligence solutions framework.Enterprise JavaBeansA key tool provided by J2EE is Enterprise JavaBeans (EJB), an architecture for the development of component-based distributed business applications. Applications written using the EJB architecture are scalable, transactional, secure, and multi-user aware. These applications may be written once and then deployed on any server platform that supports J2EE. The EJB architecture makes it easy for developers to write components, since they do not need to understand or deal with complex, system-level details such as thread management, resource pooling, and transaction and security management. This allows for role-based development where component assemblers, platform providers and application assemblers can focus on their area of responsibility further simplifying application development.EJB's in the Travel IndustryA case study from the travel industry helps to illustrate how such applications could function. A travel company amasses a great deal of information about its operations in various applications distributed throughout multiple departments. Flight, hotel, and automobile reservation information is located in a database being accessed by travel agents worldwide. Another application contains information that must be updated with credit and billing historyfrom a financial services company. Data is periodically extracted from the travel reservation system databases to spreadsheets for use in future sales and marketing analysis.Utilizing J2EE, the company could consolidate application development within an EJB container, which can run on a variety of hardware and software platforms allowing existing databases and applications to coexist with newly developed ones. EJBs can be developed to model various data sets important to the travel reservation business including information about customer, hotel, car rental agency, and other attributes.Data Storage & AccessData stored in existing applications can be accessed with specialized connectors. Integration and interoperability of these data sources is further enabled by the metadata repository that contains metamodels of the data contained in the sources, which then can be accessed and interchanged uniformly via the JMI API. These metamodels capture the essential structure and semantics of business components, allowing them to be accessed and queried via the JMI API or to be interchanged via XML. Through all of these processes, the J2EE infrastructure ensures the security and integrity of the data through transaction management and propagation and the underlying security architecture.To consolidate historical information for analysis of sales and marketing trends, a data warehouse is often the best solution. In this example, data can be extracted from the operational systems with a variety of Extract, Transform and Load tools (ETL). The metamodels allow EJBsdesigned for filtering, transformation, and consolidation of data to operate uniformly on datafrom diverse data sources as the bean is able to query the metamodel to identify and extract the pertinent fields. Queries and reports can be run against the data warehouse that contains information from numerous sources in a consistent, enterprise-wide fashion through the use of the JMI API (Mosher & Oh, 2007).Java in Industrial SettingsMany people know Java only as a tool on the World Wide Web that enables sites to perform some of their fancier functions such as interactivity and animation. However, the actual uses for Java are much more widespread. Since Java is an object-oriented language like C++, the time needed for application development is minimal. Java also encourages good software engineering practices with clear separation of interfaces and implementations as well as easy exception handling.In addition, Java's automatic memory management and lack of pointers remove some leading causes of programming errors. Most importantly, application developers do not need to create different versions of the software for different platforms. The advantages available through Java have even found their way into hardware. The emerging new Java devices are streamlined systems that exploit network servers for much of their processing power, storage, content, and administration.Benefits of JavaThe benefits of Java translate across many industries, and some are specific to the control and automation environment. For example, many plant-floor applications use relatively simple equipment; upgrading to PCs would be expensive and undesirable. Java's ability to run on any platform enables the organization to make use of the existing equipment while enhancing the application.IntegrationWith few exceptions, applications running on the factory floor were never intended to exchange information with systems in the executive office, but managers have recently discovered the need for that type of information. Before Java, that often meant bringing together data from systems written on different platforms in different languages at different times. Integration was usually done on a piecemeal basis, resulting in a system that, once it worked, was unique to the two applications it was tying together. Additional integration required developing a brand new system from scratch, raising the cost of integration.Java makes system integration relatively easy. Foxboro Controls Inc., for example, used Java to make its dynamic-performance-monitor software package Internet-ready. This software provides senior executives with strategic information about a plant's operation. The dynamic performance monitor takes data from instruments throughout the plant and performs variousmathematical and statistical calculations on them, resulting in information (usually financial) that a manager can more readily absorb and use.ScalabilityAnother benefit of Java in the industrial environment is its scalability. In a plant, embedded applications such as automated data collection and machine diagnostics provide critical data regarding production-line readiness or operation efficiency. These data form a critical ingredient for applications that examine the health of a production line or run. Users of these devices can take advantage of the benefits of Java without changing or upgrading hardware. For example, operations and maintenance personnel could carry a handheld, wireless, embedded-Java device anywhere in the plant to monitor production status or problems.Even when internal compatibility is not an issue, companies often face difficulties when suppliers with whom they share information have incompatible systems. This becomes more of a problem as supply-chain management takes on a more critical role which requires manufacturers to interact more with offshore suppliers and clients. The greatest efficiency comes when all systems can communicate with each other and share information seamlessly. Since Java is so ubiquitous, it often solves these problems (Paula, 1997).Dynamic Web Page DevelopmentJava has been used by both large and small organizations for a wide variety of applications beyond consumer oriented websites. Sandia, a multiprogram laboratory of the U.S. Department of Energy's National Nuclear Security Administration, has developed a unique Java application. The lab was tasked with developing an enterprise-wide inventory tracking and equipment maintenance system that provides dynamic Web pages. The developers selected Java Studio Enterprise 7 for the project because of its Application Framework technology and Web Graphical User Interface (GUI) components, which allow the system to be indexed by an expandable catalog. The flexibility, scalability, and portability of Java helped to reduce development timeand costs (Garcia, 2004)IssueJava Security for E-Business ApplicationsTo support the expansion of their computing boundaries, businesses have deployed Web application servers (WAS). A WAS differs from a traditional Web server because it provides a more flexible foundation for dynamic transactions and objects, partly through the exploitation of Java technology. Traditional Web servers remain constrained to servicing standard HTTP requests, returning the contents of static HTML pages and images or the output from executed Common Gateway Interface (CGI ) scripts.An administrator can configure a WAS with policies based on security specifications for Java servlets and manage authentication and authorization with Java Authentication andAuthorization Service (JAAS) modules. An authentication and authorization service can bewritten in Java code or interface to an existing authentication or authorization infrastructure. Fora cryptography-based security infrastructure, the security server may exploit the Java Cryptography Architecture (JCA) and Java Cryptography Extension (JCE). To present the user with a usable interaction with the WAS environment, the Web server can readily employ a formof "single sign-on" to avoid redundant authentication requests. A single sign-on preserves user authentication across multiple HTTP requests so that the user is not prompted many times for authentication data (i.e., user ID and password).Based on the security policies, JAAS can be employed to handle the authentication process with the identity of the Java client. After successful authentication, the WAS securitycollaborator consults with the security server. The WAS environment authentication requirements can be fairly complex. In a given deployment environment, all applications or solutions may not originate from the same vendor. In addition, these applications may be running on different operating systems. Although Java is often the language of choice for portability between platforms, it needs to marry its security features with those of the containing environment.Authentication & AuthorizationAuthentication and authorization are key elements in any secure information handling system. Since the inception of Java technology, much of the authentication and authorization issues have been with respect to downloadable code running in Web browsers. In many ways, this had been the correct set of issues to address, since the client's system needs to be protected from mobile code obtained from arbitrary sites on the Internet. As Java technology moved from a client-centric Web technology to a server-side scripting and integration technology, it required additional authentication and authorization technologies.The kind of proof required for authentication may depend on the security requirements of a particular computing resource or specific enterprise security policies. To provide such flexibility, the JAAS authentication framework is based on the concept of configurable authenticators. This architecture allows system administrators to configure, or plug in, the appropriate authenticatorsto meet the security requirements of the deployed application. The JAAS architecture also allows applications to remain independent from underlying authentication mechanisms. So, as new authenticators become available or as current authentication services are updated, system administrators can easily replace authenticators without having to modify or recompile existing applications.At the end of a successful authentication, a request is associated with a user in the WAS user registry. After a successful authentication, the WAS consults security policies to determine if the user has the required permissions to complete the requested action on the servlet. This policy canbe enforced using the WAS configuration (declarative security) or by the servlet itself (programmatic security), or a combination of both.The WAS environment pulls together many different technologies to service the enterprise. Because of the heterogeneous nature of the client and server entities, Java technology is a good choice for both administrators and developers. However, to service the diverse security needs of these entities and their tasks, many Java security technologies must be used, not only at a primary level between client and server entities, but also at a secondary level, from served objects. By using a synergistic mix of the various Java security technologies, administrators and developers can make not only their Web application servers secure, but their WAS environments secure as well (Koved, 2001).ConclusionOpen standards have driven the e-business revolution. As e-business continues to develop, various computing technologies help to drive its evolution. The Java programming language and platform have emerged as major technologies for performing e-business functions. Java programming standards have enabled portability of applications and the reuse of application components. Java uses many familiar concepts and constructs and allows portability by providing a common interface through an external Java Virtual Machine (JVM). Today, you can find Java technology in networks and devices that range from the Internet and scientific supercomputers to laptops and cell phones, from Wall Street market simulators to home game players and credit cards.Java has found a place on some of the most popular websites in the world. Java applications not only provide unique user interfaces, they also help to power the backend of websites. While Java technology has been used extensively for client side access and in the presentation layer, it is also emerging as a significant tool for developing scaleable server side programs.Since Java is an object-oriented language like C++, the time needed for application development is minimal. Java also encourages good software engineering practices with clear separation of interfaces and implementations as well as easy exception handling. Java's automatic memory management and lack of pointers remove some leading causes of programming errors. The advantages available through Java have also found their way into hardware. The emerging new Java devices are streamlined systems that exploit network servers for much of their processing power, storage, content, and administration.中文翻译:标题:Java的商业应用。
软件应用中英文对照外文翻译文献(文档含英文原文和中文翻译)原文:The Design and Implementation of SingleSign-on Based on Hybrid ArchitectureAbstract—For the purpose of solving the problems of user repeated logon from various kinds of Application which based on hybrid architecture and in different domains, single sign-on architecture is proposed. On the basis of analyzing the advantages and disadvantages of existing single sign-on models, combined with the key technology like Web Service, Applet and reverse proxy, two core problems such as single sign-on architecture mix B/S and C/S structure applications and cross-domain single sign-on are resolved. Meanwhile, the security and performance of this architecture are well protected since the reverse proxy and related encryption technology are adopted. The results show that this architecture is high performance and it is widely applicable, and it will be applied to practical application soon.Index Terms—single sign-on, web service, cross domain, reverse proxy, B/S, C/SINTRODUCTIONWith the information society, people enjoy the progress in the huge interests, but at the same time also faced the test of information security. With all system users need to log in the system increased, users need to set a lot of user names and passwords, which are confused easily, so it will increase the possibility of error. But most users use the same user name and password, this makes the authentication information is illegally intercepted and destroyed the possibility of increased, and security will be reduced accordingly. For managers, the more systems need more corresponding user databases and database privileges, these will increase management complexity. Single sign-on system is proposed a solution to solve the problem. Using single sign-on, we can establish a unified identity authentication system and a unified rights management system. It not only improve system efficiency and safety, but also can use user-friendly and to reduce the burden on administrators.TABLE 1 The comparison of a variety of single sign-on toachieve modelsSSO Achieve- Action ability Manageability ModelBroker Model The large Enable centralizedtransformation of the managementold systemAgent Model Need to add a new Management moreagent for each of the difficult to controlold system,transplantation isAgent and relatively simpleTransplantation Enable centralizedBroker Model simple, managementtransformation of theold system withlimited capacityGateway Model Need to use a Easy to manage, butdedicated gateway to databases between theaccess various different gateways needapplications to be synchronized Token Model Implementation of Need to add newrelatively simple components andincrease themanagement burdenSingle sign-on refers to when the user needs to access a distributed environment which has different applications to provide the service, only sign on once in the environment,no need for the user to re-sign on the various application systems[1]. Now there are many products and solutions to implement SSO, such as Passport of Microsoft, IBM Web Sphere Portal Server although these SSO products could do well in the function of single sign-on, but most of them are complex and inflexible. Currently, the typical models to achieve SSO include broker model, agent model, agent and broker model, gateway model and token model [2]. In table 1, it analyses these models can be implemented and manageability. Based on the above comparison, agent and broker model has the advantages both centralized management and revised less original application service procedure. So I decide to adopt agent and broker model as the basis for this model. In order to integrate information and applications well and with the B/S mode in-depth application software, there has been the concept of enterprise portal, offer a best way to solve this problem. Enterprise portal provides business users access information andapplications, and complete or assist in a variety of interactive behavior of a single integrated access point. The appropriate system software portal provides a development, deployment and management of portal applications services. Enterprise information portal concerns portal, content management, data integration, single sign-on, and much other content.SYSTEM CONSTRUCTION WHICH REGISTERS BASED ON THE WEB SERVICE MIX CONSTRUCTION SINGLE SIGN-ONThe system consists of multiple trust domains. Each trust domain has much B/S architecture of the application servers; in addition to B/S architecture of the application servers also included C/S architecture application servers. All the applications are bound together through a unified portal to achieve functionality of single sign-on. You can see that this architecture is based on the agent and the broker model. A unified agent portal is playing a broker role, and various applications are playing an agent role. The B/S architecture applications are installed on the Client side of SSO Agent, and the unified portal is installed on the Server side of SSO Agent. Between them is through these two Agents to interact. In addition, in Fig 1, the external provision of authentication server is LDAP authentication interface. Token authentication Web Service server provides the interfaces of single sign-on token of the additions, deletions, editions and queries. But the permission Web Service server provides the appropriate authority information system, to achieve unified management authority for accessing unified portal application system.The system supports cross- domain access, that is, the domain D1 users can access the application domain D2, and the domain D2 users can access the application domain D1. At the same time, the system also supports the application of different structures between the single sign-on, that is, user after accessing the application A of the B/S structure access the application E of C/S structure without having to repeatedly enter user name and password, or user access the application A after the application E without re-enter login information.The whole structure of Single Sign-on is as Fig 1 shown.Figure 1: The Structure of Single Sign-onA. The login processThe whole single sign-on process is as Fig 2 shown: Below is the process specific steps description:1)User login in the client browser to access A application, SSO Client of A system intercept and redirect the URL to the landing page of Unified Portal System 2)Enter the user name and password, Unified Portal System submits to the authentication server for authentication. If the information is correct, Unified Portal System automatically generates, saves notes and the role of the user ID to a local, and calls the increate-note interface of Web Service to insert the information.3)Unified Portal System returns a list of application resources pages to the user. The user clicks any one application system (e.g. A system). The SSO Client-side of A application system read the notes information and call the query-notes interface of Web Service. If it is consistent and within the time limit, it will get the role information of the user in A application system and log in A application system. At the same time, it will call the update-note interface of Note Certification Web Service to update the log-in time of this current note. Then call the interface of user rights Web Service to get this user‟s permission information with corresponding application system.4)If user end to access A application system, exit and click on the link of B application system, system implementations will be are as the same as steps (3).5)If user complete all the required access-applications and need to do the log-off operation, it will mainly call the deletion-note interface to destroy the corresponding note information.Figure 2: The whole process of Single Sign-onB.The solution of Cross-domain problemsIn the traditional implementation of single sign-on system will be generally used cookie as storage of client-side notes, but because of restrictions on cookie itself properties make it only on the host under the same domain effective, and distributed application system always can not guarantee that all hosts under the same domain. The current system does not store the note information in the client-side but placed various application parameters of the link directly. The note-verification is through the application of the SSO Client-side call to the corresponding interface of Web Service to complete.Through the Simple Object Access Protocol (SOAP) to provide software service in the Web, use WSDL file to illuminate and register by UDDI [3]. Shown in Fig 3, after the user through the application of UDDI to find a WSDL description of the document, he can call the application which through SOAP to provide by one or more operations of Web services. The biggest characteristic of Web Service is its cross-platform, whether it is the application of B/S structure or C/S structure, whether it is the application using J2EE or .NET to implement, it can access Web Service as long as to give Web Service server's I:P and interface name.The following is this system process of achieving cross-domain access:1)User log in Unified Portal system successfully.2)User accesses A application system within the trusted domain D1, complete the access and then exit this application.3)User clicks the URL of B application system within trusted domain D2 of the resources list of Unified Portal.4)SSO Client of B application intercepts the request, gets the note behind URL, and calls the query-note interface of Web Service.5)Query interface of Web Service gets back the legal information of this note to the SSO Client.6)SSO Client redirect to B application system, the user access B application.Figure 3: Web Service StructureC. The Solution of Single Sign-on between B/S and C/S StructuresAs we know, the implementation principles of applications are quite different between B/S and C/S structures. In this system, the applications of B/S structure can be accessed through by clicking URL of the application-resources-list page of Unified Portal. Since the browser security restrictions, the page does not allow users to directly call the local exe files, so need to adopt an indirect way to call C / S architecture applications. This article uses the way of Applet to call local exe files, the implementations as below:For all C/S structures, create a common Agent. This Agent's role is an interceptor, which means it need browsers to access after the C/S structure joined up Unified Portal system. (Please note that: Since the original B/S architecture and C/S structure is not using the same authentication method. For the C/S application access to the unified portal framework to achieve single sign-on system, the need for a unified authentication management, and in order to change the amount of compression to a minimum. Implementation of this system is to create a needless user name and password authentication code for all applications which are accessed a unified portal, and land on the unified portal system certified landing page. When a user uses browser to log into the unified portal system successfully and then can access any application, including the B/S architecture and C/S structure of the application. To be ensure the security of C/S application framework, when the user clicks directly to the desktop shortcut to open applications still using the original authentication.)Applications of C/S architecture are all using the same Applet of URL. The received parameters of this common Applet include bills, application name, unified login-name and password. When a user does not do the login operation before, the first visit a C/S application will be intercepted to the login-page of Unified Portal system for sign-on. If a user logged in before, when visiting a C/S application, this Agent will call the interface of Web Service note-validation to validate the note which was transferred. If the validation issuccessful, Applet object will be downloaded to the user's local to implement. In order to transform the original applications as little as possible, the method of this article is to open the login window of the corresponding application through by Applet. Below are the codes: public void OpenExe(String appName){ Runtime rn=Runtime.getRuntime();Process p=null;p=rn.exec(“c:\.” + appName + “.exe”);}After opening the log-in window of the application, the operation steps of this Applet as follows:1)Applet needs to call the bottom API of windows to get the user-name of login window, password-input box and the handle of login button through by JNI.2)Locate the user-name-input box to send unified login name. Locate password-input box to send the password. (Password information is arbitrary and in order to distinguish it from the user clicks on a shortcut directly landing system, also need to send a code that uses a unified portal access without a password authentication system.) Locate the login button to send the click event.3)At last, Applet will minimize the IE window, the related windows of applications will be placed to the forefront.These are the implementation process of C/S architecture application single sign-on. The application codes which have not been changed at all before will join up the Unified Portal system using a loosely coupled way. Need to explain that, due to the Applet JVM security restrictions, cause Applet can not directly call the user's System32 directory of local native windows dll. Now the method is first to start to use C or C + + to write the class which got the corresponding input box and button of the login window, and generate a JNIWindowUtil.dll file (JNIWindowUtil is a user-defined dll's name). And it is to place the dll in the same directory with the Applet. When the Applet is downloaded to the client side, dll is also downloaded to the user's System32 directory of local at the same time. Applet process also needs to execute statement: System.loadLibrary("JNIWindowUtil"). After completing these above steps, it can really use JNI in Applet internal to achieve the corresponding functions.D. Authentication serverThe old system user authentication information is usually stored in a database, but this architecture used LDAP to store user information. LDAP, short for Lightweight Directory Access Protocol, is the standard directory access protocol based on a simplified form. It also defines the way data organization; it is based on TCP/IP protocol of the de facto standard directory service, and has distributed information access and data manipulation functions. LDAP uses distributed directory information tree structure. It can organize and manage various users‟ information effectively and provide safe and efficient directory access.Compared with the database, LDAP is the application for reading operation more than writing operation, and database is known to support a large number of writing operations. LDAP supports a relatively simple transaction, but the database is designed to handle a large number of various transactions. When the query in Cross-domain data is mainly read data, modify the frequency is very low. When Cross-domain access to the transaction, it does not require a large load, so in comparison with the database, LDAP is the ideal choice. It is more effective and simple. This framework is applied to a large bank, the bank's systems can belong to different regions, and use of personnel may come from different geographies. In order to achieve distributed management, the use of three-level management, respectively named the Bank headquarter, Provincial and City branches of the three levels of branches, as shown in Fig 4:Figure 4: LDAP Authentication StructureDirectory replication and directory reference is the most important technology in LDAP protocol. It can be seen from the figure, Provincial and City branches of the LDAP server branch data are copied from the floor, but not a simple copy of all information, just copy the relevant data with their own information. Because for a particular application system, its users are mostly belong to the sameregion, so that implementation can greatly simplify the management of directory services and to improve the efficiency of information retrieval When a user outside the region to use this system, because of its user information in the region can not retrieve LDAP server, you need to other regions of the LDAP server to query, and therefore requires a way to use up the reference queries,first Provincial branches of the server search, without further reference to Bank headquarter of the server up until the search to the appropriate user information.The management of the regionalCitybranch, using the LDAP directory replicationmodel of Single Master/Multi Slave. When a directory user queries the directory information, Master LDAP Server and Slave LDAP Server (Slave server can have more than one) can provide services to the directory,depending on the directory user makes a request to which the directory server. When the user requests the directory update directory information, in order to ensure the Master LDAP Server and Slave LDAP Server in the same directory information content, the need for replication of directory information, thisis achieved through the LDAP Replica server data ing directory replication, when the directory number of users increases or the need to improve system performance, only simply add Slave LDAP server to the systemand then can immediatelyeffective in improving system performance,and the whole directory service system can have a good load balancing.E.Permissions Web ServerAccess Controltechnology began in the computer age of providing shared data. Previously, the way people use computers is mainly to submit the run-code written by user or run the user profile data. Users do not have much data sharing, and do not exist to control access to data. When computer comes into user's shared data, the subject of access control is nature to put on the desktop.Currently, the widely used access control models is using or reference to the early nineties of last century the rise of role-based access control model (Role-Based Access Control -RBAC). RBAC model's success is that it is inserted the "role" concept between the subject and object, decouples effectively between subject and the corresponding object (permission), and well adapts to the subject and object associated with the instability.RBAC model includes four basic elements, namely the user (User -U), roles (Roles -R), session (Session -S) and permission (Permission -P), also in the derived model also includes constraints (Constrains -C).The basic idea is to assign access rights to roles, and then the roles are assigned to users. In one session, users can gain the access rights through roles. The relationship between the elements:a user can have multiple roles, a role can be granted to multiple users; a role can have multiple permissions, a permission can be granted multiple roles;user can have multiple conversations, but a conversationis only to bind a user; a conversationcan have multiple roles, a role can share to multiple conversations at the same time; Constraints are that act on specific constraints on these relationships. As shown in Fig 5:This system is to use this very sophisticated permission access control model.Rights management, not only protects the safety of system, but also facilitates management. Currently most using the manner of code reuse and database structure reuse, rights management module is integrated into business systems.Such a framework has the following shortcomings.1)Once the permissions system has been modified, the maintenance costs will be very high.This is the general shortcoming of using code reuse and database structure reuse. Once revised, we will have to update the code in all business system and database structure, and also to ensure that existing data can smooth the transition.Some processes may require manual intervention, which is a "painful" thing for the developers and maintenance personnel.2)Did not facilitate management of Permission data.Need to enter permission management module of various business systems to manage the corresponding rights. It is complex operation, and not intuitive.3)For different architectures, different software operating environment, we must develop and maintain different permissions system. For example, B/S and C/S architecture system must each develop their own rights management system.This paper argues that most commonfunction of the permission system can abstracted from business systems to form an independent system -"unified rights system". Business system only retains the rights inquiries,read common data system and the control rights function of this system specific fine degree (such as menus, buttons, links and so on). As shown Fig 1.How to achieve a unified rights management? This paper argues that there are two implementations, one way is to use Web services to provide rights data; the other is using Mobile Agent to provided permissions data. However, the secondone run, maintenance costs are higher, and implement is more difficultythan Web services. So this architecture using Web services to provide authority data of the various systems in a unifiedway.Business system using Web services client interface to query data and obtain system privileges to share data. The client is just a port, and specific implementation code is placed in "unified rights system". These client interfaces introduced to the business system by package. If we keep the client interfaces unchanged, modify and upgrade of the unified authority system will not affect the business ers and permissions through Web pages of "unified rights system" to unify management and to achieve the user's single sign-on. The biggest advantage of Web services is the integration of data between heterogeneous systems. This breaks the restrictions of B/S, C/S structure;there is no difference between Windows and Linux platform.SYSTEM SECURITY ANALYSIS1)The interception of user name and password. The system for authentication of the user login and send the user name and password to Applet objects are used SSL protocol. And make sure that information during transmission confidentiality and integrity.Meanwhile, due to the key which is hard to get and time limited, so it can effectively prevent that intermediary attack tothe transmission of information.2)Replay attack. Many systems will use the ways of time stamp to avoid duplication attacks. However, this approach requires thecomputer clocks of communication parties to be synchronization. But it is difficult to achieve, while also appears the following situation: the two sides‟clocks which are connecting with each other, if they are out of synchronization occasionally, the correct information may be mistaken to discard for replay information, but the incorrect replay information may be as the latest one to receive. Base on the above, this system needs a simple method F of an appointment between query interfaces of Web Service provided and SSO Client of each application system or Agent.This system‟s parameter value is a random string X. The whole process of bill validation as shownin Fig6:a)When the user accesses to application system A, the SSO Client of system A intercept and call the query interface of Web Service provided, and the input parameters are a random string X and the corresponding note.b)Web Service server receives system A‟s call, intercepts note to compare with the note‟s informationof Session queue. If the queue contains the note, it will return the value of F(X) for showing validation is successful. If not, it will r eturn …failed‟ for showing validation is failed.c)SSO Client of the application A receives the return information of Web Service server, and then compares the return value with F(X) of this system. If the two are the same, it will redirect to system A, otherwise it will not be allowed to visit.The random string is different, which each interact with Web Service server. So you can limit replay attacks very well. 3)Use reverse proxy technology. Reverse proxy technologyis a substitute, which is a reverse proxy server as to N identical application servers. When external access to this application, it just knows the reverse proxy server and can not see the back multiple application servers. This improves the security of this application system.Through the above analysis, this system can provide users with a good safety Web environment.SYSTEM PERFORMANCE ANALYZESFirst, this system in addition to use SSL encryption in the transmission of user name and password, the interactions of between other servers and between user and servers are based on HTTP protocol to transmit. SSL encryption and decryption process requiresa lot of system cost, severely reduces the performance of the machine, so we should not be use this protocolto transmit data too much. Since the data which need to encrypt is small, only a userID value (note), so the performance of using MD5 to encrypt is quite satisfactory.Second, when user accessesany application system of each domain, they will be redirected to Unified Portal system for identity authentication, or directed to Web Service server for note validation. User need to sign on the system only when he is certification first time. When the visitor volume is larger, the user switch to the new application system will easily handle an interruption, which issingle sign-failure phenomenon. This phenomenon has two reasons, one is the server load is too large, the other one is network bandwidth is not enough. Among them, the method which is resolved the server load is too large is to use server cluster. Cluster is made up of multiple servers. As a unified resource, it provides a single system service to external. In this system, except for using reverse proxy technology to improve the security of accessing the applications, the more important is capability which can help to implement cluster technology of load balancing. The whole structure of reverse proxy is shown in Fig7:Fig7, reverse proxy server R provides the correspondinginterface to implement the algorithm of load balancing except for providing cache for the behind A1, A2 and A3 application. That is, it can consider the arrival request to distribute to the server which has the best performance through by scanning the conditions of CPU, memory and I/O of A1, A2, A3 server.By LoadRunner8.1, the use of reverse proxy system before and after was related to stress testing. The test results are shown in Fig 8:It can be seen from Figure 8,at the beginning, when the number of concurrent users is not large, use the reverse proxy and out of use proxy is similar. But with the gradual increase of concurrent users, the performance difference between the twois more and more evident.To 100 concurrent users to access,the system response time of using the reverse proxy is almost twice as fast as the one out of use proxy.System Web Service server needs to store the info rmation of note, so using Web Service server cluster to pay attention to this problem: the different Servers of cluster use different JVM, so an object of JVM can not be accessed by other JVM directly. For this problem, there are two methodsto resolve:1)Put the object in Session, and then configure cluster to the copy model of Session.2) Use Memcache, put the object in Memcache, and then all Server get this object from Memcache. To be equivalent to open a public memory area, which everyone can access.Any more, business system requires get rights information data through the Web services frequently. This performance of the system put forward higher requirements. The system has been taken two measures to improve performance:1)It receives a request by using time-sharing patterns of authority data server. After that, if always be calculated in real-time data, it will not certainly respond in time as the server limited resources. This will cause the system to slow down.A "time-sharing patterns of authority data" can solve this problem.When the system data changes (such as a new operation is authorized tothe role, etc), the system automatically calculates the affected user, and then re-calculate the relevant authority data, save to the specified fieldof database.When the business system requests data, only run "to read the database designated field corresponding to the specified data" such a simple action, you can greatly speed up the system response speed.2)Designed the cache structure to rely solely on time-sharing model is not enough to。
翻译应用程序软件作文英文英文:As a language learner and traveler, I have often found myself in situations where I needed to communicate with people who speak a different language. In these moments, a translation app has been a lifesaver for me. I remember one time when I was in Japan and needed to ask for directions to a famous landmark. I didn't speak Japanese, and the locals didn't speak English, so I turned to my translation app for help. With the app, I was able to type in my question in English, and it translated it into Japanese for me. I then showed the translated text to a local, and they were able to point me in the right direction. It was a simple yet powerful use of technology that made my travel experience much smoother.Another time, I was in a restaurant in Italy andcouldn't understand the menu. I used the app to scan the text, and it instantly translated the entire menu intoEnglish for me. This allowed me to order confidently and enjoy a delicious meal without any language barriers.Translation apps have become an essential tool for me when traveling to foreign countries. They not only help me with basic communication, but also with understanding signs, menus, and other written content. I can't imaginenavigating through unfamiliar places without the help of these apps.中文:作为一个语言学习者和旅行者,我经常发现自己需要和说不同语言的人交流。
附录(英文翻译)Rich Client Tutorial Part 1The Rich Client Platform (RCP) is an exciting new way to build Java applications that can compete with native applications on any platform. This tutorial is designed to get you started building RCP applications quickly. It has been updated for Eclipse 3.1.2By Ed Burnette, SASJuly 28, 2004Updated for 3.1.2: February 6, 2006IntroductionTry this experiment: Show Eclipse to some friends or co-workers who haven't seen it before and ask them to guess what language it is written in. Chances are, they'll guess VB, C++, or C#, because those languages are used most often for high quality client side applications. Then watch the look on their faces when you tell them it was created in Java, especially if they are Java programmers.Because of its unique open source license, you can use the technologies that went into Eclipse to create your own commercial quality programs. Before version 3.0, this was possible but difficult, especially when you wanted to heavily customize the menus, layouts, and other user interface elements. That was because the "IDE-ness" of Eclipse was hard-wired into it. Version 3.0 introduced the Rich Client Platform (RCP), which is basically a refactoring of the fundamental parts of Eclipse's UI, allowing it to be used for non-IDE applications. Version 3.1 updated RCP with new capabilities, and, most importantly, new tooling support to make it easier to create than before.If you want to cut to the chase and look at the code for this part you can find it in the accompanying zip file. Otherwise, let's take a look at how to construct an RCP application.Getting startedRCP applications are based on the familiar Eclipse plug-in architecture, (if it's not familiar to you, see the references section). Therefore, you'll need to create a plug-in to be your main program. Eclipse's Plug-in Development Environment (PDE) provides a number of wizards and editors that take some of the drudgery out of the process. PDE is included with the Eclipse SDK download so that is the package you should be using. Here are the steps you should follow to get started.First, bring up Eclipse and select File > New > Project, then expand Plug-in Development and double-click Plug-in Project to bring up the Plug-in Project wizard. On the subsequent pages, enter a Project name such as org.eclipse.ui.tutorials.rcp.part1, indicate you want a Java project, select the version of Eclipse you're targeting (at least 3.1), and enable the option to Create an OSGi bundle manifest. Then click Next >.Beginning in Eclipse 3.1 you will get best results by using the OSGi bundle manifest. In contrast to previous versions, this is now the default.In the next page of the Wizard you can change the Plug-in ID and other parameters. Of particular importance is the question, "Would you like to create a rich client application?". Select Yes. The generated plug-in class is optional but for this example just leave all the other options at their default values. Click Next > to continue.If you get a dialog asking if Eclipse can switch to the Plug-in Development Perspective click Remember my decision and select Yes (this is optional).Starting with Eclipse 3.1, several templates have been provided to make creating an RCP application a breeze. We'll use the simplest one available and see how it works. Make sure the option to Create a plug-in using one of the templates is enabled, then select the Hello RCP template. This isRCP's equivalent of "Hello, world". Click Finish to accept all the defaults and generate the project (see Figure 1). Eclipse will open the Plug-in Manifest Editor. The Plug-in Manifest editor puts a friendly face on the various configuration files that control your RCP application.Figure 1. The Hello World RCP project was created by a PDE wizard.Taking it for a spinTrying out RCP applications used to be somewhat tedious. You had to create a custom launch configuration, enter the right application name, and tweak the plug-ins that were included. Thankfully the PDE keeps track of all this now. All you have to do is click on the Launch an Eclipse Application button in the Plug-in Manifest editor's Overview page. You should see a bare-bones Workbench start up (see Figure 2).Figure 2. By using thetemplates you can be up andrunning anRCPapplication inminutes.Making it aproductIn Eclipse terms a product is everything that goes with your application, including all the other plug-ins it depends on, a command to run the application (called the native launcher), and any branding (icons, etc.) that make your application distinctive. Although as we've just seen you can run a RCP application without defining a product, having one makes it a whole lot easier to run the application outside of Eclipse. This is one of the major innovations that Eclipse 3.1 brought to RCP development.Some of the more complicated RCP templates already come with a product defined, but the Hello RCP template does not so we'll have to make one.In order to create a product, the easiest way is to add a product configuration file to the project. Right click on the plug-in project and select New > Product Configuration. Then enter a file name for this new configuration file, such as part1.product. Leave the other options at their default values. Then click Finish. The Product Configuration editor will open. This editor lets you control exactly what makes up your product including all its plug-ins and branding elements.In the Overview page, select the New... button to create a new product extension. Type in or browse to the defining plug-in(org.eclipse.ui.tutorials.rcp.part1). Enter a Product ID such as product, and for the Product Application selectorg.eclipse.ui.tutorials.rcp.part1.application. Click Finish to define the product. Back in the Overview page, type in a new Product Name, for example RCP Tutorial 1.In Eclipse 3.1.0 if you create the product before filling inthe Product Name you may see an error appear in the Problems view. The error will go away when you Synchronize (see below). This is a known bug that is fixed in newer versions. Always use the latest available maintenance release for the version of Eclipse you're targeting!Now select the Configuration tab and click Add.... Select the plug-in you just created (org.eclipse.ui.tutorials.rcp.part1) and then click on Add Required Plug-ins. Then go back to the Overview page and press Ctrl+S or File > Save to save your work.If your application needs to reference plug-ins that cannot be determined until run time (for example the tomcat plug-in), then add them manually in the Configuration tab.At this point you should test out the product to make sure it runs correctly. In the Testing section of the Overview page, click on Synchronize then click on Launch the product. If all goes well, the application should start up just like before.Plug-ins vs. featuresOn the Overview page you may have noticed an option that says the product configuration is based on either plug-ins or features. The simplest kind of configuration is one based on plug-ins, so that's what this tutorial uses. If your product needs automatic update or Java Web Start support, then eventually you should convert it to use features. But take my advice and get it working without them first.Running it outside of EclipseThe whole point of all this is to be able to deploy and run stand-alone applications without the user having to know anything about the Java and Eclipse code being used under the covers. For a real application you may want to provide a self-contained executable generated by an install program like InstallShield or NSIS. That's really beyond the scope of this article though, so we'll do something simpler.The Eclipse plug-in loader expects things to be in a certain layout so we'll need to create a simplified version of the Eclipse install directory. This directory has to contain the native launcher program, config files,and all the plug-ins required by the product. Thankfully, we've given the PDE enough information that it can put all this together for us now.In the Exporting section of the Product Configuration editor, click the link to Use the Eclipse Product export wizard. Set the root directory to something like RcpTutorial1. Then select the option to deploy into a Directory, and enter a directory path to a temporary (scratch) area such as C:\Deploy. Check the option to Include source code if you're building an open source project. Press Finish to build and export the program.The compiler options for source and class compatibility in the Eclipse Product export wizard will override any options you have specified on your project or global preferences. As part of the Export process, the plug-in is code is recompiled by an Ant script using these options.The application is now ready to run outside Eclipse. When you're done you should have a structure that looks like this in your deployment directory:RcpTutorial1| .eclipseproduct| eclipse.exe| startup.jar+--- configuration| config.ini+--- pluginsmands_3.1.0.jarorg.eclipse.core.expressions_3.1.0.jarorg.eclipse.core.runtime_3.1.2.jarorg.eclipse.help_3.1.0.jarorg.eclipse.jface_3.1.1.jarorg.eclipse.osgi_3.1.2.jarorg.eclipse.swt.win32.win32.x86_3.1.2.jarorg.eclipse.swt_3.1.0.jarorg.eclipse.ui.tutorials.rcp.part1_1.0.0.jarorg.eclipse.ui.workbench_3.1.2.jarorg.eclipse.ui_3.1.2.jarNote that all the plug-ins are deployed as jar files. This is the recommended format starting in Eclipse 3.1. Among other things this saves disk space in the deployed application.Previous versions of this tutorial recommended using a batch file or shell script to invoke your RCP program. It turns out this is a bad idea because you will not be able to fully brand your application later on. For example, you won't be able to add a splash screen. Besides, theexport wizard does not support the batch file approach so just stick with the native launcher.Give it a try! Execute the native launcher (eclipse or eclipse.exe by default) outside Eclipse and watch the application come up. The name of the launcher is controlled by branding options in the product configuration.TroubleshootingError: Launching failed because the org.eclipse.osgi plug-in is not included...You can get this error when testing the product if you've forgotten to list the plug-ins that make up the product. In the Product Configuration editor, select the Configuration tab, and add all your plug-ins plus all the ones they require as instructed above.Compatibility and migrationIf you are migrating a plug-in from version 2.1 to version 3.1 there are number of issues covered in the on-line documentation that you need to be aware of. If you're making the smaller step from 3.0 to 3.1, the number of differences is much smaller. See the References section for more information.One word of advice: be careful not to duplicate any information in both plug-in.xml and MANIFEST.MF. Typically this would not occur unless you are converting an older plug-in that did not use MANIFEST.MF into one that does, and even then only if you are editing the files by hand instead of going through the PDE.ConclusionIn part 1 of this tutorial, we looked at what is necessary to create a bare-bones Rich Client application. The next part will delve into the classes created by the wizards such as the WorkbenchAdvisor class. All the sample code for this part may be found in the accompanying zip file.ReferencesRCP Tutorial Part 2RCP Tutorial Part 3Eclipse Rich Client PlatformRCP Browser example (project org.eclipse.ui.examples.rcp.browser)PDE Does Plug-insHow to Internationalize your Eclipse Plug-inNotes on the Eclipse Plug-in ArchitecturePlug-in Migration Guide: Migrating to 3.1 from 3.0Plug-in Migration Guide: Migrating to 3.0 from 2.1译文:Rich Client教程第一部分The Rich Client Platform (RCP)是一种创建Java应用程序的令人兴奋的新方法,可以和任何平台下的自带应用程序进行竞争。
毕业设计(论文)外文文献翻译文献、资料中文题目:用于信息安全实践教育的安卓手机应用软件文献、资料英文题目:文献、资料来源:文献、资料发表(出版)日期:院(部):专业:计算机信息工程班级:姓名:学号:指导教师:翻译日期: 2017.02.14毕业设计外文文献翻译院系:计算机与信息工程学院年级专业:姓名:学号:附件:Android based mobile apps forinformation security hands-on education用于信息安全实践教育的安卓手机应用软件Zouheir Trabelsi1·Mohammed Al Matrooshi1·Saeed Al Bairaq1·Walid Ibrahim1·Mohammad M. Masud1【摘要】随着移动设备在学生群体中变得越来越流行,新的教育活动和工具,以及学习方法便能够发展到这一流行的移动设备(如可流动性和贴近学生的日常生活)中并从中获益。
特别是,信息安全教育应该反映当前计算机平台远离桌面倾向移动设备的趋势。
本文讨论一个关于学习方法的案例,其目的在于利用移动设备的优点和采取学习信息安全的最佳做法,以及促进学生的兴趣,提高他们的自我效能感。
学习的方法是使用两款Android学习软件,在传统实验室以外,即现实环境中的任何时间,任何地点,通过实施网络流量过滤,提高学生在防火墙过滤规则方面的动手能力。
实际上,这两个Android应用程序,一个是防火墙的应用程序,一个是数据包生成器应用程序。
在谷歌Play商店中,这两个应用程序是免费的。
根据谷歌Play商店的统计数据,约一年半的时间里,数据包生成器应用程序很受欢迎,世界各地的总下载量高达20000次,用户好评达3.75分。
将现有的各种Android防火墙应用程序从建议和突出意义的角度进行分析和对比。
同时,对Android应用程序在实现课程效果的影响进行了讨论。
外文文献原稿和译文原稿IntroductionThe creation and maintenance of records relating to the students of an institution are essential to:. managing the relationship between the institution and the student;. providing support and other services and facilities to the student;. controlling the student’s academic progress and measuring their achievement, both at the institution and subsequently;. providing support to the student after they leave the institution.In addition, student records contain data which the institution can aggregate and analyse to inform future strategy, planning and service provision.The number of students in HEIs has increased rapidly in the last twenty years. An institution’s relationship with an individual student has also become increasingly complex because of the range of support services institutions now provide to students and life long learning initiatives. Consequently, the volume and complexity of student records have also increased, as have the resources required to create, maintain, use, retain and dispose of them, irrespective of the format in which they are kept. Ensuring that the personal data contained in student records is controlled and managed in line with the principles of the Data Protection Act 1998 creates an additional complication.Institutions should, therefore, establish a policy on managing student records to ensure that they are handled consistently and effectively wherever they are held and whoever holds them. This policy should ensure that:. records relating to an individual student are complete, accurate and up to date;. duplication of student data is deliberate rather than uncontrolled and kept to the minimum needed to support effective administration;. records are held and stored securely to prevent unauthorised access to them;. records relating to the academic aspects of the student’s relationship with the institution are clearly segregated from those dealing with financial, disciplinary, social, support and contractual aspects of that relationship. This will enable differential retention periods to be applied to each of these to meet business and regulatory requirements.What are student records?Records are documents or other items which:. contain recorded information;. are produced or received in the initiation, conduct or completion of an activity;. are retained as evidence of that activity, or because they have other informational value.The recorded information may be in any form (e.g. text, image, sound) and the records may be in any medium or format.Student records –records associated with managing the relationship between an institution and its students –can be organised into three broad categories, each of which may be additionally divided:1. Records documenting the contractual relationship between the student and the institutione.g. records documenting admission and enrolment, payment of tuition fees, non-academic disciplinary proceedings.2. Records documenting the student as a learnere.g. records documenting programmes undertaken, academic progress and performance, awards.3. Records documenting the student as an individual and consumer of services provided by the institutione.g. records documenting use of accommodation services, counseling services, library and IT support services, careers and employment services.Most records in categories 1 and 3 have specific retention periods triggered by the formal end of a student’s direct relationship with an institution, although the information they contain may be aggregated and analyzed to provide data requested by third parties1 orto support the institution’s planning and development activities. An institution will need to retain some of the records in category 2 to provide confirmatory information to potential employers, professional bodies and associations, and to bodies which regulate entry to medical and other professions and which assess and maintain evidence of fitness to practice in those professions.Who is responsible for managing student records?HEI organizational structures vary considerably. As a result, it is difficult to specify exactly where these responsibilities should lie in any one institution.Responsibility for managing student records should be clearly defined and documented. It is important to define the responsibilities of staff involved in: . managing the institution’s general, contractual relationship with the student;. managing the institution’s relationship with the student as a learner;. providing technical and personal support services to the student;for creating, maintaining, using, retaining and disposing of records documenting those activities during the student’s time at the institution.Institutions should also designate one clear point of responsibility for maintaining complete, accurate and up to date records on every student, covering all aspects of the relationship. They should also define the minimum content of the core student record so that the institution can, if required:. demonstrate, within the provisions of limitation statutes, that its implied contract with the student has been fulfilled;. provide information on the student’s academic performance and award(s) to potential employers, to licensing/regulatory bodies (normally first registration only)which control entry to professions and to other organizations (e.g. those providing chartered status) as well as to the student;. provide information on the student as an individual as a means of enabling the institution, or others acting on its behalf, to analyse and aggregate student data for planning and developing its future programmes, recruitment activities and the facilities and services required to support future students.Where and how should student records be stored?The nature of student records and the personal information they contain demands that they should be stored in facilities and equipment (‘hard copy’ records) or electronic systems (digital records) which are, above all, secure and accessible only to authorized staff whose work requires them to have access. In addition, the facilities and equipment should provide: . adequate space for all the records which need to be produced and retained;. appropriate environmental conditions for the record media used.Storage facilities and systems should meet the same standards irrespective of where they are located and who is responsible for managing them.Authorized staff should maintain a record of:. the content, format and location of all student records;. the names and designations of all staff with access to student records, and any limitations on that access;. student records which have been transferred to another part of the institution, particularly after the student has left;. organizations, professional bodies, statutory regulators to whom personal data relating to the student has been provided.Student records should be stored and indexed so that they can be identified and retrieved quickly and easily.. Paper records should be housed in durable containers which carry only an impersonal code number related to a restricted-access list or index to prevent casual, unauthorised access. These containers should be stored in locked equipment or rooms when they are not being used to ensure that the personal data they contain is protected in line with the requirements of the Data Protection Act 1998.. Digital records should be uniquely identified and protected with passwords and other electronic security measures. In all cases, access should be limited to those staff who have ‘a need to know’. If ele ctronic systems are not centrally managed, designated staff should make back-up copies to prevent loss of records through accidental or intentional damage.Whatever its format, the ‘core student record’ shou ld be treated as a vital record and action taken to protect it from disaster or systems failure by copying and dispersal.Student records will become relatively inactive once the student leaves the institution.They may then be transferred to other storage facilities or systems. At this point, duplicates of records created for administrative convenience should be destroyed so that only the designated official records survive.Who should have access to student records?Institutions should tightly control access to student records to prevent unauthorised use, alteration, removal or destruction of the records themselves and unauthorised disclosure of the information they contain. Only those members of staff who need them to do their work should have access to student records and, their access should be restricted to records of the direct relationship and not to the content of the whole file.Student records contain personal data and are therefore subject to the provisions of the Data Protection Act 1998, including the provision that the student, as the data subject, should be given access to personal data held, whether in digital or hard copy form. In addition, the ‘core student record’ as defined by the KCL study includes personal data on the student’s parents which is also subject to the provisions of th e Act.How long should student records be kept?In general, student records should be kept only for as long as is necessary to:. fulfill and discharge the contractual obligations established between the institution and the student, including the completion of any non-academic disciplinary action;. provide information on the academic career and achievements of the student to employers, licensing/regulatory bodies and other organizations, as well as to the student as part of their lifelong learning record;. record the activities of the student as an individual and as a consumer of student support and other institutional services as a means of managing those services and planning and developing them in the future.The nature of the activities which give rise to these categories of records drives their retention.. The contractual relationship between the institution and the student is subject to the same statutory limitations on action as any other contract. This will include records of disciplinary action taken against the student. The records should be disposed of accordingly. The date at which the student leaves the institution normally provides the retention‘trigger’.. The records relating to the student as a learner need to be retained for longer than other student records. Institutions accept that they have an obligation, during a student’s working life, to provide factual information on what they have studied and achieved, i.e. a Transcript. The proposed lifelong learning record or progress file would also include additional data on relevant non-academic achievements and activities (e.g. voluntary work). The retention period for these records should reflect the need to fulfill this obligation over long periods of time, perhaps for the lifetime of the student. It is important to segregate these records from those relating to other aspects of the relationship so that non-academic records are not retained for unnecessarily long periods, consuming storage resources and creating potential breaches of the Data Protection Act 1998.. Records relating to the student as an individual and as a user of student support and institutional services are relatively short term and should be retained for a short finite period once the student leaves the institution. This period should be shorter than for records relating to the wider contractual arrangements.The KCL study proposed the development of a ‘core student record’ which would contain, in addition to the formal transcript, data relating to the background of the student, including parents’ address and occupation, schools attended, first employment, etc. In addition to providing academic information on the individual student, KCL suggested that the availability of this data facilitates its analysis for institutional business planning and development purposes, as well as supporting subsequent academic historical, sociological and demographic research.Individual institutions should decide whether they wish to retain this data for research purposes once immediate institutional business needs have been met. In doing so they will need to take account of:. the cost and technical difficulty of maintaining records, even in summary form, permanently;. the security and subject access implications of retaining personal data relating to named individuals;. the need to create and maintain finding aids so that individual records can be easilyand quickly retrieved when required, particularly to meet subject access requests.How should student records be destroyed?Student records should be destroyed in line with agreed retention periods. Destruction should be authorized by staff with appropriate authority and it should be carried out in accordance with the institution’s procedures for the destruction of redundant rec ords containing personal data.The authority for destruction and the date of destruction should be recorded and held by the section of the institution with final responsibility for the student record.译文介绍创建与维护和学生相关的记录对一个公共机构来说是十分重要的:处理机关和学生之间的关系;提供支持和其他服务以及便利给学生;在机关,控制学生学术进展和测量他们的成就;随后提供支持给学生,在他们离开机关之后。
1In the past decade the business environment has changed dramatically. The world has become a small and very dynamic marketplace. Organizations today confront new markets, new competition and increasing customer expectations. This has put a tremendous demand on manufacturers to; 1) Lower total costs in the complete supply chain 2) Shorten throughput times 3) Reduce stock to a minimum 4) Enlarge product assortment 5) Improve product quality 6) Provide more reliable delivery dates and higher service to the customer 7) Efficiently coordinate global demand, supply and production. Thus today's organization have to constantly re-engineer their business practices and procedures to be more and more responsive to customers and competition. In the 1990's information technology and business process re-engineering, used in conjunction with each other, have emerged as important tools which give organizations the leading edge.ERP Systems EvolutionThe focus of manufacturing systems in the 1960's was on inventory control. Most of the software packages then (usually customized) were designed to handle inventory based on traditional inventory concepts. In the 1970's the focus shifted to MRP (Material Requirement Planning) systems which translatedthe Master Schedule built for the end items into time-phased net requirements for the sub-assemblies, components and raw materials planning and procurement,In the 1980's the concept of MRP-II (Manufacturing Resources Planning) evolved which was an extension of MRP to shop floor and distribution management activities. In the early 1990's, MRP-II was further extended to cover areas like Engineering, Finance, Human Resources, Projects Management etc i.e. the complete gamut of activities within any business enterprise. Hence, the term ERP (Enterprise Resource Planning) was coined.In addition to system requirements, ERP addresses technology aspects like client/server distributedarchitecture, RDBMS, object oriented programming etc. ERP Systems-Bandwidth ERP solutions address broad areas within any business like Manufacturing, Distribution, Finance, Project Management, Service and Maintenance, Transportation etc. A seamless integration is essential to provide visibility and consistency across the enterprise.An ERP system should be sufficiently versatile to support different manufacturing environments like make-to-stock, assemble-to-order and engineer-to-order. The customer order decoupling point (CODP) should be flexible enough to allow the co-existence of these manufacturing environments within the same system. It is also very likely that the same product may migrate from one manufacturing environment to another during its produce life cycle.The system should be complete enough to support both Discrete as well as Process manufacturing scenario's. The efficiency of an enterprise depends on the quick flow of information across the complete supply chain i.e. from the customer to manufacturers to supplier. This places demands on the ERP system to have rich functionality across all areas like sales, accounts receivable, engineering, planning, inventory management, production, purchase, accounts payable, quality management, distribution planning and external transportation. EDI (Electronic Data Interchange) is an important tool in speeding up communications with trading partners.More and more companies are becoming global and focusing on down-sizing and decentralizing their business. ABB and Northern Telecom are examples of companies which have business spread around the globe. For these companies to manage their business efficiently, ERP systems need to have extensive multi-site management capabilities. The complete financial accounting and management accounting requirementsof the organization should be addressed. It is necessary to have centralized or de-centralized accounting functions with complete flexibility to consolidate corporate information.After-sales service should be streamlined and managed efficiently. A strong EIS (Enterprise Information System) with extensive drill down capabilities should be available for the top management to get a birds eye view of the health of their organization and help them to analyze performance in key areas.Evaluation CriteriaSome important points to be kept in mind while evaluating an ERP software include: 1) Functional fit with the Company's business processes 2) Degree of integration between the various components of the ERP system 3) Flexibility and scalability 4) Complexity; user friendliness 5) Quick implementation; shortened ROI period 6) Ability to support multi-site planning and control 7) Technology; client/server capabilities, database independence, security 8)Availability of regular upgrades 9) Amount of customization required 10) Local support infrastructure II) Availability of reference sites 12) Total costs,including cost of license, training, implementation, maintenance, customization and hardware requirements.ERP Systems-ImplementationThe success of an ERP solution depends on how quick the benefits can be reaped from it. This necessitates rapid implementations which lead to shortened ROI periods. Traditional approach to implementation has been to carry out a Business Process Re-engineering exercise and define a "TO BE"model before the ERP system implementation. This led to mismatches between the proposed model and the ERP functionality, the consequence of which was customizations, extended implementation time frames, higher costs and loss of user confidence.ERP Systems-The FutureThe Internet represents the next major technology enabler which allows rapid supply chain management between multiple operations and trading partners. Most ERP systems are enhancing their products to become "Internet Enabled" so that customers worldwide can have direct to the supplier's ERP system. ERP systems are building in the Workflow Management functionally which provides a mechanism to manage and controlthe flow of work by monitoring logistic aspects like workload, capacity, throughout times, work queue lengths and processing times.译文1在过去十年中,商业环境发生了巨大的变化。
软件工程专业毕业设计外文文献翻译1000字本文将就软件工程专业毕业设计的外文文献进行翻译,能够为相关考生提供一定的参考。
外文文献1: Software Engineering Practices in Industry: A Case StudyAbstractThis paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process, practices, and techniques that lead to the production of quality software. The software engineering practices were identified through a survey questionnaire and a series of interviews with the company’s software development managers, software engineers, and testers. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.IntroductionSoftware engineering is the discipline of designing, developing, testing, and maintaining software products. There are a number of software engineering practices that are used in industry to ensure that software products are of high quality, reliable, and maintainable. These practices include software development processes, software configuration management, software testing, requirements engineering, and project management. Software engineeringpractices have evolved over the years as a result of the growth of the software industry and the increasing demands for high-quality software products. The software industry has developed a number of software development models, such as the Capability Maturity Model Integration (CMMI), which provides a framework for software development organizations to improve their software development processes and practices.This paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The objective of the study was to identify the software engineering practices used by the company and to investigate how these practices contribute to the production of quality software.Research MethodologyThe case study was conducted with a large US software development company that produces software for aerospace and medical applications. The study was conducted over a period of six months, during which a survey questionnaire was administered to the company’s software development managers, software engineers, and testers. In addition, a series of interviews were conducted with the company’s software development managers, software engineers, and testers to gain a deeper understanding of the software engineering practices used by the company. The survey questionnaire and the interview questions were designed to investigate the software engineering practices used by the company in relation to software development processes, software configuration management, software testing, requirements engineering, and project management.FindingsThe research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company’s software development process consists of five levels of maturity, starting with an ad hoc process (Level 1) and progressing to a fully defined and optimized process (Level 5). The company has achieved Level 3 maturity in its software development process. The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The software engineering practices used by the company include:Software Configuration Management (SCM): The company uses SCM tools to manage software code, documentation, and other artifacts. The company follows a branching and merging strategy to manage changes to the software code.Software Testing: The company has adopted a formal testing approach that includes unit testing, integration testing, system testing, and acceptance testing. The testing process is automated where possible, and the company uses a range of testing tools.Requirements Engineering: The company has a well-defined requirements engineering process, which includes requirements capture, analysis, specification, and validation. The company uses a range of tools, including use case modeling, to capture and analyze requirements.Project Management: The company has a well-defined project management process that includes project planning, scheduling, monitoring, and control. The company uses a range of tools to support project management, including project management software, which is used to track project progress.ConclusionThis paper has reported a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process,practices, and techniques that lead to the production of quality software. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company uses a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.外文文献2: Agile Software Development: Principles, Patterns, and PracticesAbstractAgile software development is a set of values, principles, and practices for developing software. The Agile Manifesto represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. This paper presents an overview of agile software development, including its principles, patterns, and practices. The paper also discusses the benefits and challenges of agile software development.IntroductionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases.Agile Software Development PrinciplesAgile software development is based on a set of principles. These principles are:Customer satisfaction through early and continuous delivery of useful software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, with a preference for the shorter timescale.Collaboration between the business stakeholders and developers throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity – the art of maximizing the amount of work not done – is essential.The best architectures, requirements, and designs emerge from self-organizing teams.Agile Software Development PatternsAgile software development patterns are reusable solutions to common software development problems. The following are some typical agile software development patterns:The Single Responsibility Principle (SRP)The Open/Closed Principle (OCP)The Liskov Substitution Principle (LSP)The Dependency Inversion Principle (DIP)The Interface Segregation Principle (ISP)The Model-View-Controller (MVC) PatternThe Observer PatternThe Strategy PatternThe Factory Method PatternAgile Software Development PracticesAgile software development practices are a set ofactivities and techniques used in agile software development. The following are some typical agile software development practices:Iterative DevelopmentTest-Driven Development (TDD)Continuous IntegrationRefactoringPair ProgrammingAgile Software Development Benefits and ChallengesAgile software development has many benefits, including:Increased customer satisfactionIncreased qualityIncreased productivityIncreased flexibilityIncreased visibilityReduced riskAgile software development also has some challenges, including:Requires discipline and trainingRequires an experienced teamRequires good communicationRequires a supportive management cultureConclusionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. Agile software development has many benefits, including increased customer satisfaction, increased quality, increased productivity, increased flexibility, increased visibility, and reduced risk. Agile software development also has some challenges, including the requirement for discipline and training, the requirement for an experienced team, the requirement for good communication, and the requirement for a supportive management culture.。
英文1699单词,10021字符(字符就是印刷符),中文2600汉字Using JavaFX in NashornIn this chapter, you will learn:1.The JavaFX support in the jjs command-line tool2.Providing an implementation for the init ( ) , start ( ) , and stop( ) methods of the JavaFX Application class in scripts3.How to load and use JavaFX packages and classes using the predefined scripts4.Creating and launching a simple JavaFX application using a Nashorn scriptThroughout this chapter, it is assumed that you have beginner-level experience in JavaFX8. If you do not have experience in JavaFX, please learn JavaFX before reading this chapter.JavaFX Support in jjsThe j j s command-line tool lets you launch JavaFX applications created in Nashorn scripts. You need to use the –f x option with the j j s tool to run a script as a JavaFX application. The following command runs a script stored in the myf xapp. js file as a JavaFX application:Structure of JavaFX Applications in ScriptsIn a JavaFX application, you override the following three methods of the Application class to manage the lifecycle of the application:The init ( ) methodThe start ( ) methodThe stop( ) methodIn a Nashorn script, you can manage the lifecycle of a JavaFX application the same way as you do in Java. You can have three functions named init ( ) , start ( ) , and stop( ) in the script. Notice that all three functions are optional in a Nashorn script. These functions correspond to the three methods in the Java class and they are called as follows, in order:1.The init ( ) function is called. You can initialize the application in this function.2.The start ( ) function is called. As is the case in a Java application, the start ( ) function is passed the reference to the primary stage of the application. You need to populate the scene, add the scene to the primary stage, and show the stage.3.The stop( ) function is called when the JavaFX application exits.Listing 11-1 contains code for a simple JavaFX application in Java. It displays a window with a Text node in a Stack Pane. The Hello FX class contains the init ( ) , start ( ) , and stop( ) methods. Figure 11-1 shows the window displayed by the Hello FX application. When you exit the application the stop( ) method displays a message on the standard output.Listing 11-2 contains the Nashorn script for the Hello FX application. It is a one-to-one translation of the Java code in Listing 11-1. Notice that the code for the same application is much shorter when written in Nashorn. The script is stored in the hello fx. js file. You can run the script using the command prompt as follows and it will display the same window as shown in Figure 11-1:You are not required to have any of the init ( ) , start ( ) , and stop( ) functions in the script. Listing 11-3 contains another version of the Hel l oFXapplication. The init ( ) and stop( ) functions are not included. The code from the init ( ) function has been moved to global scope. The stop( ) method has been removed, so you will not see a message on the standard output when the application is exited. Nashorn will execute the code in the global scope first, and then call the start ( ) method. The script is stored in the hell of x2. js file. Running it displays the same window as shown in Figure 11-1.You can simplify the script for the HelloFX application a bit more. You can remove the start ( ) function from the script. The JavaFX runtime creates and passes the reference of the primary stage to the start ( ) function. How will you get the reference to the primary stage if you do not have the start ( ) function? Nashorn creates a global object named $STAGE, which is the reference to the primary stage. You can use this global object to work with the primary stage. You do not even need to show the primary stage; Nashorn will automatically show it for you.Listing 11-3 contains the script that is another version for the same HelloFX application. It uses the global object $STAGEto reference the primary stage. I have removed the init ( ) function. This time, you are not even calling the show( ) method of the primary stage. You are letting Nashorn show the primary stage automatically for you. The script is saved in the hello f x3. js file.Let’s try one more combination of functions. You will provide the init ( ) function but not the start ( ) function. Listing 11-5 contains the code for the same HelloFX application. It contains the init ( ) method that creates the controls, but the start ( ) method is removed.The exception is thrown when you try to create the scene using the global variable sp, which is a reference to a StackPane. Contrary to expectations, the init ( ) method isnot called before running the code in the global scope. The code in the global scope is called before the init ( ) function is automatically called. In the script, the init ( ) method creates the controls to be added to the scene. When the scene is being created, the variable sp is still undefined, which causes the exception. If you show the primary stage in the script, the init ( ) function is called after the primary stage is already shown. If you let Nashorn show the primary stage for you, the init ( ) function is called before the primary stage.Finally, I will show you the simplest JavaFX application, which can be written in just one line of script. It will show a message in a window. The window will not have title text, however. Listing 11-6 contains the one-liner script. It shows the beauty of Nashorn, which shrinks 10 to 15 lines of Java code into 1 line of script!It was an understatement that you need to write one line of code for the simplest JavaFX application in Nashorn. The true statement is that you do not need to write even one line of code in Nashorn to display a window. Create a script file named empty. j s and do not write any code in it. You can name the file anything else.The command will display a window as shown in Figure 11-3. How did Nashorn display a window without you writing even one line of code? Recall that Nashorn creates the primary stage and a global object $STAGEto represent that primary stage. If it sees that you have not shown the primary stage, it shows it for you. That is what happened in this case. The script file is empty and Nashorn automatically displayed the empty primary stage.Importing JavaFX TypesYou can use the fully qualified name of the JavaFX classes or import them using the Java. type( ) function. In the previous section, you used the fully qualified names of all JavaFX classes. The following snippet of code shows the two approaches to create a Label in JavaFX.It may be cumbersome to type the fully qualified names of all JavaFX classes. Aren’t scripts supposed to be shorter than Java code? Nashorn has a way to make your JavaFX script shorter. It includes several script files that import the JavaFX types as their simple names. You will need to load those script files using the load( ) method before using the simple names of JavaFX classes in your script. For example, Nashorn includes a fx: control s. js script file that imports all JavaFX control classes as their simple class names. Table 11-1 contains the list of script files and the classes/ packages that they import.Developing a JavaFX application is much easier in Nashorn. In the script, you are able to call the getters and setters of Java objects using properties. You can access properties directly for all Java objects, not just for JavaFX objects. For example, instead of writing root . set Spacing( 5) in Java, you can write root . spacing = 5 in Nashorn.Adding the event handler for buttons is also easier. You can set an anonymous function as the event handler for the buttons. Notice that you are able to use on Action property to set the event handler rather than calling the set On Action( ) method of the But t on class. The following snippet of code shows how to set the Action Event handler for a button using a function reference say Hello.Notice that, in the example, you used a nested function say Hello( ) inside the start ( ) function. The reference to the function is used as the event handler. An event handler takes an argument and the evt formal parameter in the say Hello( ) function is that event object.SummaryThe jjs command-line tool in Nashorn supports launching a JavaFX application written in scripts. The –f x option is used with j j s to launch a JavaFX application. The script for a JavaFXapplication can have init ( ) , start ( ) , and stop( ) functions that correspond to the init ( ) , start ( ) , and stop( ) methods of the JavaFX Application class. Nashorn calls these functions in the same order as they are called in a JavaFX application. The start ( ) function is passed a reference to the primary stage. If you do not provide a start ( ) function, the entire script is considered the start ( ) function. Nashorn provides a global object named $STAGE, which is the reference to the primary stage. If you do not provide a start ( ) function, you need to use the $STAGEglobal variable to access the primary stage. If you do not provide a start ( ) method and do not show the primary stage, Nashorn will call the $STAGE. show( )method for you.在Nashorn中使用JavaFX在本章中,您将学习:1. jjs命令行工具中的JavaFX支持2.在脚本中为JavaFX 应用程序类提供init(),start()和stop()方法的实现3.如何使用预定义的脚本加载和使用JavaFX包和类4.使用Nashorn脚本创建和启动一个简单的JavaFX应用程序在本章中,假定您具有JavaFX8的初学者经验。