Presentation given at ICOODB 2009, Second International Conference on Object Databases, Zurich, Switzerland, July 2009
ABSTRACT: In the area of highly interactive systems, the use of object databases has significantly grown in the past few years due to the fact that one can, not only persistently store data in the form of objects, but also provide additional functionality in terms of methods defined on these objects. However, a limitation of such a tight coupling of objects and their methods is that parts of the application logic cannot be reused without also having instances of these objects in the new application database. Based on our experience of designing multiple interactive cross-media applications, we propose an approach where we distinguish between regular database objects containing the data and so-called active components storing metadata about specific services. Active components are first class objects which, at activation time, can perform some operations on the server as well as on the client side. Since active components are standalone lightweight components, they can be dynamically bound to single objects or semantically grouped sets of objects and be automatically invoked by different forms of database interactions. The database-driven development of arbitrary client and server-side application functionality not only simplifies the design of highly interactive systems, but also improves the reuse of existing components across different systems.
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Active Components as a Method for Coupling Data and Services – A Database-Driven Application Development Process
1. Active Components as a Method for Coupling
Data and Services – A Database-Driven
Application Development Process
Beat Signer and Moira C. Norrie
Department of Computer Science
Vrije Universiteit Brussel
1050 Brussels, Belgium
http://vub.academia.edu/BeatSigner
2 December 2005
2. Motivation
package org.penAndPaper;
import java.io.IOException;
...
public class PaperPoint {
Rectangle slide1
= new Rectangle(10,10,70,50);
// if input within slide1 then
// execute application logic
}
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
3. Problems
No separation of data objects (e.g design elements) and
application logic
changes to the design require a recompilation
limited reusability of application logic
Authoring of paper interface requires programming
designer has to be a programmer
programming rather than authoring approach
Design elements cannot easily be reused with different
application logic variants
replication of code
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
4. Active Component Approach
Database driven application development where the
database contains
data objects
active components (application logic)
Data objects can be associated with active components at
instance level
type level
role level (classification)
Access to data object might trigger the execution of an
active component
active component runtime environment
database-driven application logic on server and/or client side
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
5. Active Component
Active component contains data about a service
name
identifier
timeout
parameters
- key/value string pairs
Active component runtime environment executes the
corresponding application logic
service binding
initialisation
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
6. Active Component Runtime Environment
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
7. Active Component Registry
Binding of identifier to stub and logic components
Reconfigurable at runtime
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
19. Active Component Editor
PP_SLIDE_SELECTOR
Show slide 1
command showSlide
slide 1
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
20. Other Use Cases
Rich internet applications
active component runtime environment within browser
"Internet of Things"
active component runtime environment for augmented
physical objects
lightweight solution for database updates (e.g. sensor data)
Implicit service execution at object access time
service associated at instance, type or role level
media service components
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
21. Media Service
No longer deal with "raw" media types
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
22. Ongoing and Future Work
Integration of concepts into the ODBMS
role-driven service invocation
separation of intrinsic (type) and extrinsic object behaviour
Communication between different active components
AC runtime environments for alternative programming
languages
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
23. Conclusions
Database-driven application development
reusability due to separation of data objects and services (ACs)
flexible configuration of active component services
instance, type and role-driven service invocation
Client- and server-side execution of application logic
autonomous component-based client-server interaction
Automatic deployment of services to the client side
simplifies updates of client-side application logic
Authoring rather than programming approach
rapid prototyping (growing set of active components)
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be
24. Further Information
Beat Signer, Fundamental Concepts for Interactive
Paper and Cross-Media Information Spaces,
ISBN 978-3-8370-2713-6, May 2008
ICOODB, July 3, 2009 Beat Signer - Department of Computer Science - bsigner@vub.ac.be