Ice分布式程序设计毕业论文外文翻译.doc

上传人:仙人指路1688 文档编号:4018811 上传时间:2023-04-01 格式:DOC 页数:12 大小:70.50KB
返回 下载 相关 举报
Ice分布式程序设计毕业论文外文翻译.doc_第1页
第1页 / 共12页
Ice分布式程序设计毕业论文外文翻译.doc_第2页
第2页 / 共12页
Ice分布式程序设计毕业论文外文翻译.doc_第3页
第3页 / 共12页
Ice分布式程序设计毕业论文外文翻译.doc_第4页
第4页 / 共12页
Ice分布式程序设计毕业论文外文翻译.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Ice分布式程序设计毕业论文外文翻译.doc》由会员分享,可在线阅读,更多相关《Ice分布式程序设计毕业论文外文翻译.doc(12页珍藏版)》请在三一办公上搜索。

1、Ice Distributed ProgrammingInternet Communications Engine (Ice) is a modern distributed computing platform with support for C+, .NET, Java, Python, Objective-C, Ruby, PHP, and ActionScript. Ice is used in mission-critical projects by companies all over the world.Ice is easy to learn, yet provides a

2、powerful network infrastructure and vast array of features for demanding technical applications.Ice is free software, available with full source, and released under the terms of GNU General Public License (GPL). Commercial licenses.An Overview of the Ice Platform:The Ice Approach: Flexible and Simpl

3、eIce provides a communication solution that is simple to understand and easy to program with. Yet, despite its simplicity, Ice is flexible enough to accommodate even the most demanding and mission-critical applications.Cutting-Edge TechnologyIce was designed and implemented by industry experts with

4、many years of distributed computing experience. ZeroCs class-leading technology is flexible, easy to use, robust, and provides superior performance and scalability.Programming LanguagesIce allows you to write your distributed applications in C+, Java, C# (and other .NET languages, such as Visual Bas

5、ic), Python, Ruby, PHP, and ActionScript. With Ice Touch, your application can include Objective-C components that run on the iPhone, iPad, and iPod touch, while Ice for Java can also be used to build Ice applications for Android. Ice-E allows you to deploy C+ components on resource-constrained devi

6、ces running Gumsticks or Windows Mobile Professional. (Ice-E applications must be written in C+.) This makes Ice the platform of choice for heteregeneous distributed systems that span multiple operating systems and programming languages.APIsIce provides a set of APIs that emphasize simplicity and ea

7、se of use. All APIs are thread-safe and exception-safe, and the C+ APIs make it very difficult to leak or corrupt memory. This shortens development time, decreases testing effort, and reduces time to market.The APIs for the various programming languages (apart from a very small number of exceptions)

8、 are identical: for example, if you know the API for Java, you also know the API for C+ and C# (and any other supported programming language). For systems written in more than one language, this reduces the learning curve and allows reuse of design patterns and implementation techniques.Advanced Tec

9、hnology Ice is much more than just a remote procedure call mechanism. For example, Ice supports synchronous as well as asynchronous calls, co-exists with firewalls due to its support for bidirectional connections, allows messages to be batched for efficiency, and permits sophisticated control of thr

10、eads and resource allocation. See Ice Features for more detailed information.Fault Tolerance and Load Balancing Ice allows you to create systems that are fault tolerant. Multiple instances of a server can be deployed on different machines, with transparent fail-over if a machine crashes or is discon

11、nected from the network. This not only makes applications resilient against failures, but also increases performance because Ice allows you to balance the load of a distributed system over several servers. Once a system takes advantage of load balancing, it is easy to scale it to higher loads simply

12、 by adding more serversPerformance and ScalabilityIce was designed from the ground up for applications that require the utmost in performance and scalability. At the network level, Ice uses an efficient binary protocol that minimizes bandwidth consumption. Ice uses little CPU and memory, and its hig

13、hly efficient internal data structures do not impose arbitrary size limitations. This allows applications to scale to tens of thousands of clients with ease.Ice is fast. So fast that, as a rule, it imposes no discernable overhead on a distributed application. Data can be transmitted at whatever spee

14、d is supported by the network, so Ice does not create any performance bottleneck. Our Performance and Scalability white paper provides a comparison with other popular distributed computing solutions.Realistic Feature SetIce was developed to meet the demands of real-world distributed systems and it i

15、ncorporates extensive customer feedback. Ice provides realistic features that are actually useful (as opposed to theorectical features that were considered possibly useful by a committee). ServicesFor realistic distributed systems, even the most sophisticated remote procedure call mechanism is usele

16、ss without additional infrastructure. Ice provides a rich set of services, such as event distribution, firewall traversal with authentication and filtering, automatic persistence, automatic application deployment and monitoring, and automatic software distribution and patching. All services can be r

17、eplicated for fault tolerance, so they do not introduce a single point of failure. Use of these services greatly reduces development time because they eliminate the need to create distribution infrastructure as part of application development. Our Ice Services page provides an overview of the differ

18、ent services.SecurityIce is inherently secure and suitable for use over insecure public networks. Traffic can be encrypted with SSL, and a variety of authentication mechanisms ensure that only authorized clients can access a system. Ice can work with existing firewalls: a single port is sufficient t

19、o provide secure access for an unlimited number of clients to an unlimited number of servers. Web IntegrationYou can use Ice to integrate a distributed system with the web. Ice for Java allows you to run an Ice client as an applet inside a browser, and Ice for PHP makes it easy to populate web conte

20、nt with data collected from back-end servers. In addition, Ice for Silverlight allows you to run Ice clients directly in a browser.First-Class Documentation and SupportZeroC prides itself on the industry-leading quality of its documentation and API reference. The documentation is arranged into topic

21、s by language mapping and programing task, so you can easily locate a section of interest. The indexed and searchable text is available online and as a download suitable for off-line viewing or printing. The documentation includes many code examples that illustrate how to implement different feature

22、s, making it easy for programmers to learn implementation techniques and acquire know-how. Beyond tutorial and reference material, the documentation covers many non-trivial topics that are relevant for real-world application development.Language Support:The programming languages used in todays devel

23、opment projects are often determined by a number of factors, including application requirements, developer backgrounds, organizational policies, and compatibility with third-party tools. We designed Ice to be a practical distributed computing platform for real developers writing real applications. T

24、hat goal drives everything we do at ZeroC, and it is the reason why Ice supports such a broad spectrum of programming languages. Whether your project uses one language or several, Ice will enable your components to communicate with each other naturally, efficiently and transparently.The Ice API was

25、carefully designed to conform with the standards and practices of each programming language while maintaining a consistency that minimizes the learning curve of a developer working in multiple languages. As you will see from the sample code shown on the language pages, the Ice API is easy to learn a

26、nd just as easy to use.Ice currently offers language mappings for the following programming languages:C+The Ice language mapping for C+ combines raw speed with an elegant design that enhances productivity and virtually eliminates memory leaks. See Ice for C+ for more information on the C+ mapping an

27、d a code example.JavaJavas portability and wealth of tools is an attractive complement to Ice, and support for Android allows Ice applications to run on devices in Googles ecosystem. See Ice for Java for more information on the Java mapping and a code example. .NETCompatible with both Microsoft and

28、Mono, developers can utilize Ice to integrate their .NET applications. Embedded and mobile devices that use the .NET Compact Framework can also employ Ice. See Ice for .NET for more information on the C# mapping and a code example.PythonIce for Python provides seamless access to Ice resources from t

29、his popular scripting language. See Ice for Python for more information on the Python mapping and a code example.PHPDynamic web applications can extend their reach to distributed objects using Ice for PHP. See Ice for PHP for more information on the PHP mapping and a code example.Objective-CWith sup

30、port for the iPhone, iPod touch, Cocoa, and OS X, developers can use Ice Touch to integrate Apples mobile devices. See Ice Touch for Objective-C for more information on the Objective-C mapping and a code example.Object landscapes and lifetimesTechnically, OOP is just about abstract data typing, inhe

31、ritance, and polymorphism, but other issues can be at least as important. The remainder of this section will cover these issues. One of the most important factors is the way objects are created and destroyed. Where is the data for an object and how is the lifetime of the object controlled? There are

32、 different philosophies at work here. C+ takes the approach that control of efficiency is the most important issue, so it gives the programmer a choice. For maximum run-time speed, the storage and lifetime can be determined while the program is being written, by placing the objects on the stack (the

33、se are sometimes called automatic or scoped variables) or in the static storage area. This places a priority on the speed of storage allocation and release, and control of these can be very valuable in some situations. However, you sacrifice flexibility because you must know the exact quantity, life

34、time, and type of objects while youre writing the program. If you are trying to solve a more general problem such as computer-aided design, warehouse management, or air-traffic control, this is too restrictive. The second approach is to create objects dynamically in a pool of memory called the heap.

35、 In this approach, you dont know until run-time how many objects you need, what their lifetime is, or what their exact type is. Those are determined at the spur of the moment while the program is running. If you need a new object, you simply make it on the heap at the point that you need it. Because

36、 the storage is managed dynamically, at run-time, the amount of time required to allocate storage on the heap is significantly longer than the time to create storage on the stack. (Creating storage on the stack is often a single assembly instruction to move the stack pointer down, and another to mov

37、e it back up.) The dynamic approach makes the generally logical assumption that objects tend to be complicated, so the extra overhead of finding storage and releasing that storage will not have an important impact on the creation of an object. In addition, the greater flexibility is essential to sol

38、ve the general programming problem. Java uses the second approach, exclusively. Every time you want to create an object, you use the new keyword to build a dynamic instance of that object. Theres another issue, however, and thats the lifetime of an object. With languages that allow objects to be cre

39、ated on the stack, the compiler determines how long the object lasts and can automatically destroy it. However, if you create it on the heap the compiler has no knowledge of its lifetime. In a language like C+, you must determine programmatically when to destroy the object, which can lead to memory

40、leaks if you dont do it correctly (and this is a common problem in C+ programs). Java provides a feature called a garbage collector that automatically discovers when an object is no longer in use and destroys it. A garbage collector is much more convenient because it reduces the number of issues tha

41、t you must track and the code you must write. More important, the garbage collector provides a much higher level of insurance against the insidious problem of memory leaks (which has brought many a C+ project to its knees).附录2(中文翻译)Ice分布式程序设计互联网通讯引擎(Ice)是一个现代的分布式计算平台支持C+,.NET、Java、Python、objective -

42、 c, Ruby、PHP和 ActionScript。 ICE被用在关键任务项目世界各地的公司。ICE很容易学,但提供了一个强大的网络基础设施和大量的特性要求技术的应用程序。ICE是免费软件,具有完整的源文件,并释放的条款下GNU通用公共许可证(GPL)。商业许可证可以为客户希望使用封闭源码软件的ICE。ICE简介:ICE的方法:灵活和简单ICE提供通信解决方案,很容易理解和容易计划。然而,尽管它的简单性,ICE足够灵活,可以适应甚至最要求和关键任务的应用程序。尖端技术:ICE的设计和实现由行业专家基于由于多年的分布式计算的经验。ZeroC的class-leading技术是灵活、易于使用的、健

43、壮的、提供出色的性能和可伸缩性。编程语言:ICE可以让你写你的分布式应用程序的C + +,JAVA,C中(以及其他 .NET语言,如Visual Basic)的Python和Ruby,PHP中,和ActionScript。随着ICE触,您的应用程序可以包括Objective-C的元件在iPhone,iPad和iPod touch上运行,而CIE的Java也可以用来建立ICE.应用为Android,ICE- E使您能够部署在资源有限的设备运行Gumsticks或Windows Mobile专业的C + +组件。 (ICE-E的应用程序必须写在C+),这使得ICE heteregeneous跨越多

44、个操作系统和编程语言的分布式系统的首选平台。APIS:ICE提供一系列的API,强调简洁和易用性。所有的API是线程安全和异常安全的,和C+ API使得它很难泄漏或损坏的内存。这缩短开发时间,降低测试工作,并缩短上市时间。ICE的各种编程语言的API(除了非常小的例外)是相同的:例如,如果你知道的Java的API,你也知道API为c+、c(以及任何其他支持的编程语言)。一种以上的语言编写的系统,这缩短了学习曲线,并允许重复使用的设计模式和实现技术。先进的技术:ICE是远远不仅仅是一个远程过程调用机制。例如,ICE以及支持同步异步调用,由于它支持双向连接与防火墙共存,允许将邮件批处理效率,并允许

45、线程和资源分配的复杂的控制。容错和负载平衡:ICE允许你创建系统容错。透明故障服务器的多个实例可以部署在不同的机器上如果一台机器崩溃或从网络上断开。这不仅使应用程序对故障的弹性,而且还提高了性能,因为ICE可以让你来平衡几台服务器的分布式系统负载。一旦系统需要负载均衡的优点,它很容易扩展到更高的负载只需添加更多的服务器。性能和可伸缩性:ICE需要最大性能和可扩展性的应用。ICE在网络层,使用高效的二进制协议,最大限度地减少带宽消耗。ICE用很少的CPU和内存,其高效的内部数据结构不施加任意大小的限制。这允许应用程序轻松地扩展到数以万计的客户。ICE是快速的。如此之快,作为一项规则,对分布式应用

46、程序没有可辨别的开销。可以在由网络支持的任何速度传送数据,因此ICE不会产生任何性能瓶颈。我们的性能和可伸缩性白皮书提供了与其他流行的分布式计算解决方案的比较。现实特写集:ICE被开发,以满足现实世界的分布式系统的需求,它集成了广泛的客户反馈。 ICE提供逼真的特点,实际上是有用的(而不是由一个委员会被认为可能有用的理论分析功能)。服务:对于真实的分布式系统,即使最成熟的远程过程调用机制是无用的没有额外的基础设施。ICE提供一组丰富的服务,例如事件分布、防火墙和身份验证和过滤的遍历,自动持久性,应用程序自动部署和监控、自动软件分布和修补。所有的服务可以被复制的容错,所以他们不引入一个单点故障。

47、使用这些服务大大减少开发时间,因为他们不再需要创建分销基础应用程序开发的一部分。我们的ICE服务页面提供不同服务的概述。安全:ICE在本质上是安全的,适合使用非安全的公共网络。交通可通过SSL加密,多种身份验证机制确保只有授权的客户可以访问系统。ICE能配合现有防火墙:一个单独的端口是足以提供安全接入为无限的客户数量无限的服务器。Web集成:您可以使用ICE来集成分布式系统网络。ICE对于Java允许您运行一个ICE客户端applet那样在一个浏览器,和ICE使得它很容易为PHP web内容采集的数据填充从后端服务器。此外,ICE对Silverlight允许您运行ICE客户直接在浏览器中。一流

48、的文档和支持:ZeroC而著称业界领先的质量文档和API参考。 文档被安排为主题的语言映射和编程任务,所以您可以很容易地找到感兴趣的部分。索引和搜索的文本都可以在线阅读和下载适合离线观看或印刷。该文档包含许多代码示例,演示如何实现不同的功能,方便程序员学习实现技术和获得知识。指南和参考资料之外,文档还包含了许多优秀的话题以及相关的真实世界的应用程序开发。语言支持:使用的编程语言在今天的开发项目通常是由多种因素决定的,包括应用程序的需求,开发人员的背景、组织策略和兼容性与第三方工具。我们设计的ICE是一个实用的分布式计算平台真正的开发人员编写真实应用。这个目标驱动在ZeroC我们所做的一切,这就是为什么ICE支持如此广泛的编程语言。无论您的项目使用一种语言或几个,ICE将会使你的组件彼此通信自然、高效和透明的。ICE API进行了精心设计,以符合标准和实践每种编程语言的一致性,同时维护一个最小化的学习曲线在多种语言工作的开发人员。正如您将看到的示例代码显示在页面的语言,ICE层API很容易学习和使用一样简单。ICE目前提供的语言映射为下面的编程语言: C+ICE语言映射为c+结合了原始速度与一个优雅的设计,提高了生产效率,基本上消除内存泄漏。JavaJava的可移植性和财富的工具是一个有吸引力的补充的ICE,ICE和支持Android允许应用程序运行在谷歌的生态系统设备上。.NE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号