21
Internet application development using a meta- repository Michel Tilman System Architect, Unisys Belgium [email protected] http://users.pandora.be/michel.tilman ESUG’2000 Summer School ESUG’2000 Summer School Southampton Southampton August 29, 2000 August 29, 2000

Internet application development using a meta-repository Michel Tilman System Architect, Unisys Belgium [email protected]

Embed Size (px)

Citation preview

Internet application development using a meta-repository

Michel TilmanSystem Architect, Unisys Belgium

[email protected]

http://users.pandora.be/michel.tilman

ESUG’2000 Summer SchoolESUG’2000 Summer SchoolSouthamptonSouthampton

August 29, 2000August 29, 2000

Contents

IntroductionDynamic Object ModelsBusiness application framework Internet frameworkBuilding applicationsDemoDesignReferences

Introduction

Application requirements Configurable, flexible, adaptable

‘End-user’ ‘programmable’

No hard-coding of model and business rules Dynamic

High-level Domain-specific languages

Metadata Self-description

Dynamic Object Models

A system with a dynamic object model has an explicit object model that it interprets at run-time. If you change the object model, the system changes its behavior.

The model defines the objects, their states, the events, and the conditions under which an object changes state.

Business rules can be stored in a dynamic object model that makes it easy to evolve the way a company does their business.

Business application framework

Goal End-user applications

Databases, electronic documents, workflow• Client / server + Internet

Common business model

Flexible application development framework

Subject to change by ‘end-user’ Business model

Organization model, object model, business rules, …

Application specificationsOverview lists, forms, query screens, ...

ApproachTraditional data repository

Repository

Employee Name Employee ID Department IDSmith 1280 12Adams 1281 19Washington 1282 12

End-user applications

ApproachAdding meta-repository

Meta-repository

End-user tools Configuration and administration tools

Employee

PersonNameId

DepartmentId

Works in

Layout User ApplicationMy layout Tilman DocumentationDefault Documentation

Object model

Application specifications

ApproachCombining repositories

End-user, configuration and administration tools

Object model

Meta-model

Applications, views, queries, rules, processes

Objects

(Meta-)Repository

Employee Name Employee ID Department IDSmith 1280 12Adams 1281 19Washington 1282 12

Building applications

Define or extend object model

Object types, associations and basic constraints

Define application environment

Views on shared object model

Business rules

Authorizations, user-defined constraints, event-condition-action rules, workflow processes

Object behavior

Building Internet applications

Re-use existing framework

Application environment, queries, layouts, business rules, ...

Internet server

Framework client

4-Tier architecture

• Browser - HTTP server - Internet server - DB

Orthogonal application view

DemoObject model and aplication editors

DemoFully functional default application

DemoCustomizing default application

DemoConfiguring Internet application

DemoInternet query screen

DemoInternet forms

Design

4-Tier architecture

Partial use of VisualWave

Session management

HTTP / CGI interface

SAV-triad

Session (resolver)

Application model

View

Design

Session resolver identifies

Application (id)

Message

Registered, typed arguments

Application

Main application id

Subcomponent

Access path

Design

View

Generates Web page

HTML / Javascript

• Compatibility

• Event handlers generated dynamically at client site

Document builder

XML document

Avoids syntactic errors

Future directions

Regeneration of session context

Bookmarks

SOAP-compatible message protocol

Applets

True XML documents

XSL

References

Argo framework

http://users.pandora.be/michel.tilman/Publications/Wiley/Af1179.doc

http://users.pandora.be/michel.tilman/Publications/Wiley/figures.zip

Dynamic object models

http://st-www.cs.uiuc.edu/users/johnson/DOM.html

http://users.pandora.be/michel.tilman/Publications/PLoP2000.pdf