A middleware-transparent approach to developing distributed applications

Sudipto Ghosh, Robert B. France, Devon M. Simmonds, Abhijit Bare, Brahmila Kamalakar, Roopashree P. Shankar, Gagan Tandon, Peter Vile, Shuxin Yin
2005 Software, Practice & Experience  
An innovative middleware transparent approach to developing distributed applications is presented. The approach uses an aspect-oriented software development technique to separate an application's middlewareindependent functionality from its middleware-specific functionality. Application elements that are specific to the middleware are localized in aspects that can be seamlessly integrated into middlewareindependent application designs. The middleware transparent approach is used to decouple
more » ... ness functionality from middleware-specific functionality. The decoupling allows developers to change middleware application elements without significantly modifying business functionality. Middleware technologies such as Java RMI, Jini, SOAP-RPC and .Net are used as examples to illustrate the approach. An AOP aspect is an implementation or design concern that cross-cuts the primary functional units of a program. Recent work examines the use of AOP to achieve middleware transparency. Bussard [16] encapsulated several CORBA services as aspects using AspectJ to make CORBA programming transparent to programmers. Hunleth, Cytron, and Gill [17] suggest the creation of an AspectIDL for CORBA to complement the IDLs that are now available for languages such as Java and C++. Their proposed As-pectIDL would support several new types of AspectJ introductions: interface method and field, interface super class, structure field, oneway specifier, and IDL typedef and enumerations. The time-to-deliver pressure is often used as an excuse to adopt code-centric approaches to software development, but developers are finding it increasingly difficult to cope with the complexity of developing secure, fault-tolerant, highly available distributed software systems using only code level descriptions. The Model Driven Architecture (MDA) initiative recognizes the need for raising the level
doi:10.1002/spe.666 fatcat:vor7tohzrnc3nlh4d7ffu2lt5e