Results 1 -
9 of
9
Implementing Distribution and Persistence Aspects with AspectJ
, 2002
"... This paper reports our experience using AspectJ, a general purpose aspect-oriented extension to Java, to implement distribution and persistence aspects in a web-based information system. This system was originally implemented in Java and restructured with AspectJ. Our main contribution is to show th ..."
Abstract
-
Cited by 99 (13 self)
- Add to MetaCart
This paper reports our experience using AspectJ, a general purpose aspect-oriented extension to Java, to implement distribution and persistence aspects in a web-based information system. This system was originally implemented in Java and restructured with AspectJ. Our main contribution is to show that AspectJ is useful for implementing several persistence and distribution concerns in the application considered, and other similar applications. We have also identified a few drawbacks in the language and suggest some minor modifications that could significantly improve similar implementations. Despite the drawbacks, we argue that the AspectJ implementation is superior to the pure Java implementation. Some of the aspects implemented in our experiment are abstract and constitute a simple aspect framework. The other aspects are application specific but we suggest that different implementations might follow the same aspect pattern. The framework and the pattern allow us to propose architecture-specific guidelines that provide practical advice for both restructuring and implementing certain kinds of persistent and distributed applications with AspectJ.
Efficiently Distributing Component-Based Applications Across Wide-Area Environments
- In Proceedings of the 23rd International Conference on Distributed Computing Systems (ICDCS’03
, 2003
"... Distribution and replication of network-accessible applications has been shown to be an effective approach for delivering improved Quality of Service (QoS) to end users. An orthogonal trend seen in current-day network services is the use of component-based frameworks. Even though such component-base ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
Distribution and replication of network-accessible applications has been shown to be an effective approach for delivering improved Quality of Service (QoS) to end users. An orthogonal trend seen in current-day network services is the use of component-based frameworks. Even though such component-based applications are natural candidates for distributed deployment, it is unclear if the design patterns underlying component frameworks also enable efficient service distribution in wide-area environments. In this paper, we investigate application design rules and their accompanying system-level support essential to a beneficial and efficient service distribution process. Our study targets the widely used Java 2 Enterprise Edition (J2EE) component platform and two sample component-based applications: Java Pet Store and RUBiS. Our results present strong experimental evidence that component-based applications can be efficiently distributed in wide-area environments, significantly improving QoS delivered to end users as compared to a centralized solution. Although current design patterns underlying component frameworks are not always suitable, we identify a small set of design rules for orchestrating interactions and managing component state that together enable efficient distribution. Futhermore, we show how enforcement of the identified design rules and automation of pattern implementation can be supported by container frameworks.
Concurrency Control with Java and Relational Databases
, 2002
"... As web-based information systems usually run in concurrent environment, the complexity for implementing and testing those systems is significantly high. Therefore it is useful to have guidelines to introduce concurrency control, avoiding ad hoc control strategies, which may have a negative impact in ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
As web-based information systems usually run in concurrent environment, the complexity for implementing and testing those systems is significantly high. Therefore it is useful to have guidelines to introduce concurrency control, avoiding ad hoc control strategies, which may have a negative impact in efficiency and may not guarantee system safety. This paper defines guidelines for concurrency control in web--based information systems implemented in Java with relational databases. In particular, we show where Java and relational database concurrency control mechanisms should be used in order to implement our concurrency control strategy. Additionally, we analyze the performance of different concurrency controls approaches. The main point of the guidelines is to guarantee system correctness without redundant concurrency control, both increasing performance and guaranteeing safety.
Real-Time Collaboration in Heterogeneous Computing Environments
, 2000
"... The recent proliferation of computing devices and the contexts in which they are used demand diversity in collaborative applications as well. The objective of our research is to enable conferees to share applications that are adapted to their (heterogeneous) computing environments. This is achieved ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The recent proliferation of computing devices and the contexts in which they are used demand diversity in collaborative applications as well. The objective of our research is to enable conferees to share applications that are adapted to their (heterogeneous) computing environments. This is achieved by using eXtensible Markup Language (XML) for the communication medium. The conferees share the same data or a subset of that data, represented in XML, but they may see it displayed in different ways as needed or desired. The framework adapts to the computing and network environment and transforms information so that it matches the client's local capabilities and resources. Keywords: CSCW, groupware, group communication, heterogeneous computing, intelligent agents. 1. Introduction Traditional groupware systems for synchronous or real-time collaboration require identical applications running on nearly identical hardware platforms. However, the recent proliferation of computing devices and ...
A Software Framework for Collaborative Applications
, 1999
"... The recent proliferation of computing devices and the contexts in which they are used demand diversity in collaborative applications as well. The objective of our research is to enable conferees to share applications that are adapted to their (heterogeneous) computing environments. This is achieved ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
The recent proliferation of computing devices and the contexts in which they are used demand diversity in collaborative applications as well. The objective of our research is to enable conferees to share applications that are adapted to their (heterogeneous) computing environments. This is achieved by using eXtensible Markup Language (XML) for the communication medium. The conferees share the same data or a subset of that data, represented in XML, but they may see it displayed in different ways as needed or desired. The framework adapts to the computing and network environment and transforms information so that it matches the client's local capabilities and resources. Keywords: CSCW, groupware, group communication, heterogeneous computing, intelligent agents. 1. Introduction Traditional groupware systems for synchronous or real-time collaboration require identical applications running on nearly identical hardware platforms. However, the recent proliferation of computing devices and ...
Dynamic Reconfiguration for Middleware–based Applications
- IEEE Transaction on Parallel and Distributed System, Special Issue on Middleware
, 2003
"... Abstract – Distributed systems with high availability requirements have to allow reconfiguration of the system without being taken off-line. Examples of reconfigurations are the replacement of a component with a newer version, or the migration of a component to another node. A key issue for reconfig ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract – Distributed systems with high availability requirements have to allow reconfiguration of the system without being taken off-line. Examples of reconfigurations are the replacement of a component with a newer version, or the migration of a component to another node. A key issue for reconfiguration is maintaining the correctness of the system, which can be very complex due to the number of components, unclear relations between components, heterogeneity in operating systems and programming languages, and physical distribution of components. In this paper, we describe a new approach for dynamic reconfiguration of middleware-based applications that is more transparent for the application developer than existing approaches. We compare our approach with other approaches, and describe a prototype that implements our approach for CORBA-based applications.
Some Ingredients of Trusted Components
- IN PROC. WORKSHOP ON TRUSTED COMPONENTS
, 2003
"... Components must be trustworthy if they are worth deploying at all. In this position paper, we identify some ingredients that we think are essential for enabling components to be trustworthy. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Components must be trustworthy if they are worth deploying at all. In this position paper, we identify some ingredients that we think are essential for enabling components to be trustworthy.
Parallelizing multithreaded Java programs: a criterion and its pi-calculus foundation
"... After being widely recognized as a general purpose language, Java is now becoming a language of choice for implementing distributed applications, both of system and numerical types. Therefore there are many research efforts that are being carried out, the aim of which is to provide support to help u ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
After being widely recognized as a general purpose language, Java is now becoming a language of choice for implementing distributed applications, both of system and numerical types. Therefore there are many research efforts that are being carried out, the aim of which is to provide support to help users in the process of distributing Java codes. Nevertheless most of the resulting technologies impose so strong constraints on the candidate codes that they are difficult to use in practice. Our goal is to provide support for the automatic distribution of Java applications, with as few limitations as possible -- for instance we consider threads, what is not common. In this paper we present -calculus model that we have set up and how we use it to provide a strong formal foundation to the distribution of multithreaded applications. This work has been partly inspired by previous work by the OASIS team of Nice SophiaAntipolis in the framework of their ProActive project.
Towards Scenario Creation by Service Composition in Ubiquitous Environments.
, 2010
"... Ubiquitous computing provides a large access to different functionalities through electronic devices; however these devices are not always thought to function in a set. This limits their use. Scenario creation by service composition makes it possible for end-users to specify their needs more precise ..."
Abstract
- Add to MetaCart
Ubiquitous computing provides a large access to different functionalities through electronic devices; however these devices are not always thought to function in a set. This limits their use. Scenario creation by service composition makes it possible for end-users to specify their needs more precisely. In Service-Oriented Computing, some frameworks (such as OSGi) provide mechanisms to develop components that provide services; however they are not adapted to end-users and limited for service composition. This is why we developed a new user-centric system. Placed into an appropriate user electronic device, it discovers the available services around him and orders them to provide a better access through a GUI. Users can thus compose services to create a scenario thanks to a graphic adaptation of our ADL. Once created, this scenario can be registered and shared among users. A prototype (still in development) implements our system and demonstrates its feasibility. It can be improved by adding some recovery strategies.

