首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Interceptors are an emerging middleware technology enabling the addition of specific network‐oriented capabilities to distributed applications. By exploiting interceptors, developers can register code within interception points, extending the basic middleware mechanisms with specific functionality, e.g. authentication, flow control, caching, etc. Notably, these extensions can be achieved without modifying either the application or the middleware code. In this paper we report the results of our experiences with CORBA request portable interceptors. In particular, we point out (i) the basic mechanisms implementable by these interceptors, i.e. request redirection and piggybacking and (ii) we analyze their limitations. We then propose a proxy‐based technique to overcome the interceptors' limitations. Successively, we present a performance analysis carried out on three Java‐CORBA platforms currently implementing the portable interceptors specification. Finally, we conclude our work with a case study in which portable interceptors are used to implement the fault‐tolerant CORBA client invocation semantic without impacting on the client application code and on the CORBA ORB. We also release fragments of Java code for implementing the described techniques. Copyright © 2003 John Wiley & Sons, Ltd.  相似文献   

2.
The inherent complex nature of current distributed computing architectures hinders the widespread adoption of these systems for mainstream use. In general, users have access to a highly heterogeneous set of compute resources, which may include clusters, grids, desktop grids, clouds, and other compute platforms. This heterogeneity is especially problematic when running parallel and distributed applications. Software is needed which easily combines as many resources as possible into one coherent computing platform. In this paper, we introduce Zorilla: peer‐to‐peer (P2P) middleware that creates a single distributed environment from any available set of compute resources. Zorilla imposes minimal requirements on the resource used, is platform independent, and does not rely on central components. In addition to providing functionality on bare resources, Zorilla can exploit locally available middleware. Zorilla explicitly supports distributed and parallel applications, and allows resources from multiple sites to cooperate in a single computation. Zorilla makes extensive use of both virtualization and P2P techniques. We will demonstrate how virtualization and P2P combine into a simple design, while enhancing functionality and ease of use. Together, these techniques bring our goal a step closer: transparent, easy use of resources, even on very heterogeneous distributed systems. Copyright © 2011 John Wiley & Sons, Ltd.  相似文献   

3.
It is well accepted that different types of distributed architectures require different degrees of coupling. For example, in client‐server and three‐tier architectures, application components are generally tightly coupled, both with one another and with the underlying middleware. Meanwhile, in off‐line transaction processing, grid computing and mobile applications, the degree of coupling between application components and with the underlying middleware needs to be minimized. Terms such as ‘synchronous’, ‘asynchronous’, ‘blocking’, ‘non‐blocking’, ‘directed’, and ‘non‐directed’ are often used to refer to the degree of coupling required by an architecture or provided by a middleware. However, these terms are used with various connotations. Although various informal definitions have been provided, there is a lack of an overarching formal framework to unambiguously communicate architectural requirements with respect to (de‐)coupling. This article addresses this gap by: (i) formally defining three dimensions of (de‐)coupling; (ii) relating these dimensions to existing middleware; and (iii) proposing notational elements to represent various coupling integration patterns. This article also discusses a prototype that demonstrates the feasibility of its implementation. Copyright © 2009 John Wiley & Sons, Ltd.  相似文献   

4.
Service oriented architectures: approaches,technologies and research issues   总被引:15,自引:0,他引:15  
Service-oriented architectures (SOA) is an emerging approach that addresses the requirements of loosely coupled, standards-based, and protocol- independent distributed computing. Typically business operations running in an SOA comprise a number of invocations of these different components, often in an event-driven or asynchronous fashion that reflects the underlying business process needs. To build an SOA a highly distributable communications and integration backbone is required. This functionality is provided by the Enterprise Service Bus (ESB) that is an integration platform that utilizes Web services standards to support a wide variety of communications patterns over multiple transport protocols and deliver value-added capabilities for SOA applications. This paper reviews technologies and approaches that unify the principles and concepts of SOA with those of event-based programing. The paper also focuses on the ESB and describes a range of functions that are designed to offer a manageable, standards-based SOA backbone that extends middleware functionality throughout by connecting heterogeneous components and systems and offers integration services. Finally, the paper proposes an approach to extend the conventional SOA to cater for essential ESB requirements that include capabilities such as service orchestration, “intelligent” routing, provisioning, integrity and security of message as well as service management. The layers in this extended SOA, in short xSOA, are used to classify research issues and current research activities.  相似文献   

5.
Web applications must quickly adapt to new business demands to keep clients onboard. When unexpected and unforeseen requirements appear, the changes pose challenges to software engineers as they were not considered in the application design and such new functionality can be only valid only for a period in certain situations. This work presents a comparison of maintenance consequences in the software quality when using a Model‐Driven approach against a Code‐Based one where changes are managed in an ad hoc way. We used the removal of volatile functionality as case of study due to the fact that its characteristics stress the development process. We considered both external and internal quality of deliverables. For assessing the quality of deliverables, we evaluated the production of more than 35 students using both approaches considering their perception gathered through questionnaires and their deliverables. We present the preliminary evidence that there is no significant difference between approaches. Model‐Driven performed slightly better than Code‐Based, but both responded negatively in terms of deliverables' quality. Results show that maintenance tasks are detrimental to software quality where Model‐Driven approach does not excel over Code‐Based approach. The Model‐Driven approach only highlighted on productivity.  相似文献   

6.
Experience from recent years has shown that it is often advantageous not to build a single product but rather a family of similar products that share at least one common functionality while having well-identified variabilities. Such product families are built from elementary features that reach from hardware parts to software artefacts such as requirements, architectural elements or patterns, components, middleware, or code. We use the well established mathematical structure of idempotent semirings as the basis for a product family algebra that allows a formal treatment of the above notions. A particular application of the algebra concerns the multi-view reconciliation problem that arises when complex systems are modelled. We use algebraic integration constraints linking features in one view to features in the same or a different view and show in several examples the suitability of this approach for a wide class of integration constraint formulations. Our approach is illustrated with a Haskell prototype implementation of one particular model of product family algebra.  相似文献   

7.
8.
The web provides excellent opportunities to businesses in various aspects of development such as finding a business partner online. However, with the rapid growth of web information, business users struggle with information overload and increasingly find it difficult to locate the right information at the right time. Meanwhile, small and medium businesses (SMBs), in particular, are seeking “one‐to‐one” e‐services from government in current highly competitive markets. How can business users be provided with information and services specific to their needs, rather than an undifferentiated mass of information? An effective solution proposed in this study is the development of personalized e‐services. Recommender systems is an effective approach for the implementation of Personalized E‐Service which has gained wide exposure in e‐commerce in recent years. Accordingly, this paper first presents a hybrid fuzzy semantic recommendation (HFSR) approach which combines item‐based fuzzy semantic similarity and item‐based fuzzy collaborative filtering (CF) similarity techniques. This paper then presents the implementation of the proposed approach into an intelligent recommendation system prototype called Smart BizSeeker, which can recommend relevant business partners to individual business users, particularly for SMBs. Experimental results show that the HFSR approach can help overcome the semantic limitations of classical CF‐based recommendation approaches, namely sparsity and new “cold start” item problems.  相似文献   

9.
Eric Bruneton  Michel Riveill 《Software》2001,31(13):1237-1264
This article presents a middleware platform architecture whose goals, motivated by the needs of a real‐world application, are the following: separation of functional and non‐functional code in applications, composition of non‐functional properties, and modularity and extensibility of the middleware platform itself. This architecture is inspired by the Enterprise Java Beans platform, and uses a new object composition model to separate and compose the non‐functional properties. In order to evaluate this architecture, we have implemented the JavaPod platform which we have used to implement a prototype of the application that motivated our goals. The results of these experiments show that our goals can indeed be achieved with our architecture. Copyright © 2001 John Wiley & Sons, Ltd.  相似文献   

10.
11.
The Block Conjugate Gradient algorithm (Block‐CG) was developed to solve sparse linear systems of equations that have multiple right‐hand sides. We have adapted it for use in heterogeneous, geographically distributed, parallel architectures. Once the main operations of the Block‐CG (Tasks) have been collected into smaller groups (subjobs), each subjob is matched by the middleware MJMS (MPI Jobs Management System) with a suitable resource selected among those which are available. Moreover, within each subjob, concurrency is introduced at two different levels and with two different granularities: the coarse‐grained parallelism to perform independent tasks and the fine‐grained parallelism within the execution of a task. We refer to this algorithm as to multi‐grained distributed implementation of the parallel Block‐CG. We compare the performance of a parallel implementation with the one of the distributed implementation running on a variety of Grid computing environments. The middleware MJMS—developed by some of the authors and built on top of Globus Toolkit and Condor‐G—was used for co‐allocation, synchronization, scheduling and resource selection. Copyright © 2010 John Wiley & Sons, Ltd.  相似文献   

12.
Jhonny Mertz  Ingrid Nunes 《Software》2018,48(6):1218-1237
Meeting performance and scalability requirements while delivering services is a critical issue in web applications. Recently, latency and cost of Internet‐based services are encouraging the use of application‐level caching to continue satisfying users' demands and improve the scalability and availability of origin servers. Application‐level caching, in which developers manually control cached content, has been adopted when traditional forms of caching are insufficient to meet such requirements. Despite its popularity, this level of caching is typically addressed in an ad hoc way, given that it depends on specific details of the application. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. As a result, application‐level caching is a time‐consuming and error‐prone task, becoming a common source of bugs. Among all the issues involved with application‐level caching, the decision of what should be cached must frequently be adjusted to cope with the application evolution and usage, making it a challenging task. In this paper, we introduce an automated caching approach to automatically identify application‐level cache content at runtime by monitoring system execution and adaptively managing caching decisions. Our approach is implemented as a framework that can be seamlessly integrated into new and existing web applications. In addition to the reduction of the effort required from developers to develop a caching solution, an empirical evaluation showed that our approach significantly speeds up and improves hit ratios with improvements ranging from 2.78% to 17.18%.  相似文献   

13.
The use of RFID middleware to support application development for and integration of RFID hardware into information systems has become quite common in RFID applications where reader devices remain stationary, which currently represents the largest part of all RFID applications in use. Another field for applying RFID technology which is offering a huge set of novel possibilities and applications are mobile applications, where readers are no longer fixed. In order to address the specific issues of mobile RFID-enabled applications and to support developers in rapid application development, we present ID-Services, an architecture for an RFID middleware that is designed to support mobile applications. The ID-Services approach has been used to implement MoVIS (Mobile Visitor Information System), a mobile application which allows museum visitors to request individually adapted multimedia information about exhibits in an intuitive way.  相似文献   

14.
The perceived advantages of distributed systems, such as increased reliability and availability, are offset by the increased complexity of developing such applications. The developers of distributed applications have to both understand the core functionality of the application, and to cater for the mechanisms of distribution. Distribution brings with it issues of mutual exclusion, termination and deadlock which are addressed differently in a centralised system. We propose using separation of concerns. to control any additional complexity thus introduced. We identify specifically the well known distributed algorithms which solve distributed mutual exclusion and so on, and provide a framework whereby they can be injected into an existing system. The framework is called Algon, and consists of the algorithms, various wrappers and interfaces in Java, and sample schedulers which are needed to handle communication between the now distributed processes. Algon does not supply middleware, and the intention is that any middleware such as RMI, CORBA or .NET can be used. The novelty of Algon is that developers are not expected to understand or implement the distributed algorithms themselves. Moreover Algon provides the developer with a choice of pre-coded and tested algorithms with different performance characteristics. This paper gives an outline of the Algon approach, and provides a pattern specification for the separation of these algorithms from the core functionality of a distributed system.  相似文献   

15.
Unlike interpreted application programs that run within the rich runtime environment of their own interpreters, natively compiled application programs are typically thought of as executing on the barebones runtime environment provided by their own operating systems and dynamic linkers. This article presents the notion of a service‐based runtime (SBRT) environment for natively compiled application programs, in which the current dynamic linker is only a core service and other extensive middleware‐type services are available to the running application program. It then describes a dynamic‐linker‐based implementation of such an environment, called dlSBRT. dlSBRT implements a unified interface that allows it to be extensible by means of extension dynamic services. Implemented examples of such services are presented and the performance of dlSBRT, when such example services are deployed, is evaluated. Copyright © 2009 John Wiley & Sons, Ltd.  相似文献   

16.
17.
In today’s dynamic business environments, organizations are under pressure to modernize their existing software systems in order to respond to changing business demands. Service oriented architectures provide a composition framework to create new business functionalities from autonomous building blocks called services, enabling organizations to quickly adapt to changing conditions and requirements. Characteristics of services offer the promise of leveraging the value of enterprise systems through source code reuse. In this respect, existing system components can be used as the foundation of newly created services. However, one problem to overcome is the lack of business semantics to support the reuse of existing source code. Without sufficient semantic knowledge about the code in the context of business functionality, it would be impossible to utilize source code components in services development. In this paper, we present an automated approach to enrich source code components with business semantics. Our approach is based on the idea that the gap between the two ends of an enterprise system—(1) services as processes and (2) source code—can be bridged via similarity of data definitions used in both ends. We evaluate our approach in the framework of a commercial enterprise systems application. Initial results indicate that the proposed approach is useful for annotating source code components with business specific knowledge.  相似文献   

18.
The classical remote method invocation (RMI) mechanism adopted by several object-based middleware is black-box in nature, and the RMI functionality, i.e., the RMI interaction policy and its configuration, is hard-coded into the application. This RMI nature hinders software development and reuse, forcing the programmer to focus on communication details often marginal to the application being developed. Extending the RMI behavior with extra functionality is also a very difficult job, because added code must be scattered among the entities involved in communications. This situation could be improved by developing the system in several separate layers, confining communications and related matters to specific layers. As demonstrated by recent work on reflective middleware, reflection represents a powerful tool for realizing such a separation and therefore overcoming the problems referred to above. Such an approach improves the separation of concerns between the communication-related algorithms and the functional aspects of an application. However, communications and all related concerns are not managed as a single unit that is separate from the rest of the application, which makes their reuse, extension, and management difficult. As a consequence, communications concerns continue to be scattered across the meta-program, communication mechanisms continue to be black-box in nature, and there is only limited opportunity to adjust communication policies through configuration interfaces. In this paper we examine the issues raised above, and propose a reflective approach specially designed to open up the RMI mechanism. Our proposal consists of a new reflective model, called multi-channel reification, that reflects on and reifies communication channels, i.e., it renders communication channels first-class citizens. This model is designed both for developing new communication mechanisms and for extending the behavior of communication mechanisms provided by the underlying system. Our approach is embodied in a framework called mChaRM, whisch is described in detail in this paper.Received: December 2001, Accepted: April 2003, Correspondence to: Walter Cazzola, c|o DISI, University of Genova, Via Dodecaneso 35. 16146, Genova, Italy. Fax + 39-010-353-6699)  相似文献   

19.
G. Goulas  P. Alefragis  E. Housos 《Software》2005,35(12):1195-1216
In this paper, SchedSP, a middleware framework for providing scheduling solutions as services over the Internet, is presented. Emphasis is given on creating a reusable framework that facilitates the development of specialized clients for the input, output and control interfaces of the various scheduling applications. SchedSP manages the task of preparing and running the required processes and allows the application interface developer to focus on the functionality and efficiency of the interface. The Internet‐based scheduling applications created are competitive in all aspects with traditional locally executed applications. In this paper, detailed architecture and implementation details of the SchedSP framework prototype are presented. In addition, the methodology for creating specific case studies based on the SchedSP middleware framework is presented. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

20.
In this paper we deal with building parallel programs based on sequential application code and generic components providing specific functionality for parallelization, like load balancing or fault tolerance. We describe an architectural approach employing aspect‐oriented programming to assemble arbitrary object‐oriented components. Several non‐trivial crosscutting concerns arising from parallelization are addressed in the light of different applications, which are representative of the most common types of parallelism. In particular, we demonstrate how aspect‐oriented techniques allow us to leave all existing code untouched. We evaluate and compare our approach with its counterparts in conventional object‐oriented programming. Copyright © 2008 John Wiley & Sons, Ltd.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号