CPE3010 Mobile Middleware

Knowledge and Understanding

At the completion of this subject, students will be able to:

  1. understand how object-oriented middleware can be used to address the major issues and challenges found in network and mobile computing
  2. design and implement software for mobile computing based on object-oriented middleware such as .NET
  3. design and implement software for mobile and network computing based on Java components, middleware, and APIs, such as Java RMI, Jini, Java Beans, and JXTA
  4. design applications for mobile computing based on software patterns and architectures, such as federations and brokers
  5. understand and be able to explain the differences between various forms of object-oriented mobile middleware


This unit focuses on how object-oriented abstractions, models, and software can employed in mobile computing to manage and address the complexity found in environments that are heterogeneous, span multiple platforms, and are delivered to various client devices.

The unit will provide motivation for the use of object-oriented middleware for mobile computing. Topics will include network failures, network latency, persistence, and mobility. The subject will also consider software patterns and architectures of use to mobile computing, such as federations and brokers.

The unit will concentrate on Java components, middleware, and APIs (Application Programmer Interfaces) that have been designed for network computing. These include Java Remote Method Invocation (RMI), Jini, Enterprise JavaBeans, and JXTA.

The unit will also cover middleware from Microsoft and other vendors, such as .NET.

The unit will emphasise hands-on, practical experience with actual devices and emulators.

Recommended Reading

Arnold, K., R. O'Sullivan, R. W. Scheifler, J. Waldo, A. Wollrath, The Jini(TM) Specification (The Jini (TM) Technology Series), Addison Wesley, 1999.

Downing, T. B., Java RMI: Remote Method Invocation, IDG Books Worldwide, 1997.

Edwards, W. Keith, Core Jini, Prentice Hall, 1999.

Freeman, E., S. Hupfer, K. Arnold, JavaSpaces(TM) Principles, Patterns, and Practise (The Jini (TM) Technology Series), Addison Wesley, 1999.

Sridharan, P., B. Rieken, L. Peterson, Advanced Java Networking, Prentice Hall, 1997.

Ashri, R., S. Atkinson, D. Ayers, M. Haglind, B. Ray, R. Machin, N. Nashi, R. Taylor, C. Wiggers, "Professional Java Mobile Programming," Wrox Press Ltd., 2001.

Butler, M., M. Gibbs, C. Hadjisotiriou, N. Raybould, S. Sivakumar, "ASP.NET Mobile Controls" Tutorial Guide," Wrox Press Ltd., 2001.

Forsberg, C., A. Sjostrom, "Pocket PC Development in the Enterprise, Mobile Solutions with Visual Basic and .NET," Addison Wesley, 2002.

Wigley, A., Roxburgh, P., "Building .NET Applications for Mobile Devices," Microsoft Press, 2002.


Strategies of Assessment

A series of practical assignments and small projects, worth 50% of the final mark, will be employed to assess practical knowledge. These assignments will help smiddleware for mobile/ network computing. Students will be required to design, implement, and test aspects of mobile computing applications. They will also be required to complete practical exercises employing Java components and APIs, as well as .Net for network computing.

The final 3 hour examination, worth 50% of the final mark, will assess the students' degree of understanding of the technical issues and design principles of object-oriented middleware for mobile/ network computing. The examination will also assess the students' theoretical and technical knowledge of Java components and APIs for network computing, as well as their knowledge of .NET.


Credit Points


Workload Requirement

Students, are expected to spend an average of 12 hours per week on this subject. The breakdown of time is the following: