Title: Fundamentals Stream Session : Emerging Trends in Distributed Systems
1Fundamentals Stream Session Emerging Trends in
Distributed Systems
Distributed Systems
- CSC 253
- Gordon Blair, François Taïani
2Overview of the Session
- From distributed objects to components
- Introduction to components
- Rationale
- Focus on Enterprise Java Beans
- Key role of containers
- Other key trends
- Mobile computing
- Multimedia
- Multiplicity
Associated Reading Tanenbaum and van Steen,
chapter 2 (pp.119-130)
3From Distributed Objects to Components
- What is a component Szyperski?
a unit of composition with contractually
specified interfaces and explicit context
dependencies only
in this context, a component can be deployed
independently and is subject to third-party
composition
Also typically coarse-grained and binary
4Rationale for Components
- Time to market
- Improved productivity/ reduced complexity
- Emphasis on reuse
- Programming by assembly (manufacturing) rather
than development (engineering) - Reduced skills requirement
- Key benefit on server side development?
- (See EJB later)
5Composition
- Components and composition
- Composition is the principal means of
construction, extension and reuse in
component-based software development - C.F. (implementation) inheritance in
object-oriented approaches
Components are for composition
6Components Key Players
- The OMG and components
- Emerging CORBA v3 standard featuring the CORBA
Component Model (CCM) - Microsoft and components
- Development of COM/ DCOM, COM and, more
recently, .NET - SUN and components
- Development of Enterprise Java Beans
7A Brief Look at Enterprise Java Beans
- What is EJB?
- A server-side component architecture for Java
- Based on the concept of a container
- Offers implicit distributed systems management
- Formalises the interface between a managed bean
(EJB) and its container - Event (callback) interface
- Services expected in the container
- Deployment using JAR files
8A Word from SUN...
The Enterprise JavaBeans architecture is a
component architecture for the development and
deployment of component-based distributed
business applications. Applications written using
EJB are scalable, transactional, and multi-user
secure. These applications mat be written once,
and then deployed on any server platform that
supports the EJB specification.
C.F. Programming the middle tier of a 3-tier
architecture
9A Closer Look at Containers
- Distributed systems management
- Declarative and implicit transaction service
- Declarative and implicit security service
(essentially access control) - Other services
- Activation and passivation, persistence
- Life cycle management
- Container metadata (introspection)
- Packaging and deployment
10A Closer Look at Containers (continued)
11Enterprise JavaBeans An Evaluation
http//java.sun.com/products/ejb/white/white_paper
.html
12Other Key Trends
- Multimedia
- Support for continuous media
- Implications for distributed systems
- Mobility
- Supporting the mobile user
- Implications for distributed systems
- Multiplicity
- Supporting a wide variety of application domains
- Implications for distributed systems
13Multimedia
- What is multimedia?
- The need to support a variety of media types in
an integrated manner - The challenge of multimedia
- Support for continuous media
- Audio, video, animation, etc
- Support for quality of service (QoS)
- Static QoS management
- Dynamic QoS management
14Implications for Distributed Systems
- Currently there is little or no support for
continuous media in distributed systems platforms - Developers must resort to proprietary solutions
- Clear need for multimedia middleware with
intrinsic support for streaming data - Currently there is little or no support for
quality of service - Again, pressure for ad-hoc or proprietary
solutions - Clear need for co-ordinated quality of service
management - Network
- Operating system
- Middleware
15Mobility
- What is mobile computing?
- Supporting computer users on the move
- Important role of ubiquitous networking including
wireless networks - The challenge of mobility
- Support for disconnected operation
- C.f. Coda
- Support for context awareness
- E.g. location awareness
- Support for adaptation
- E.g. dealing with drop in network connectivity
16Multiplicity
- What is multiplicity?
- We are entering a stage of extreme heterogeneity
- Distributed systems technologies such as
middleware are being applied in a rapidly
increasing set of application domains and
operational settings - Middleware itself is becoming part of the problem
- The solution?
- Support for configurability
- Support re-configurability
- Support for autonomic management
- Radical re-think of interoperability
http//www.comp.lancs.ac.uk/computing/research/mpg
/reflection/
17Expected Learning Outcomes
- At the end of this session
- You should have an awareness of some of the key
trends and research directions in distributed
systems - You should understand the rationale for the
emergence of component-based middleware and also
appreciate the key concepts underpinning such
technologies, particularly containment - You should have a general awareness of the
challenges imposed by areas such as multimedia,
mobility and multiplicity and the implications
that this has for distributed systems design
Thank you for your attention on the course