Chapter 18
A Framework for Integrating Business
Applications
Building Reliable Componentbased
Overview
Motivation
Information Organizer
Practical Experiences
Building Reliable Componentbased
Motivation
All information of importance is to be made available to
different categories of users.
Containing information which must be reused.
Another method to access and interrelate associated
information in different systems is called for.
Microsoft’s Active Directory: a tool for sharing
information between different applications.
IEC1346, OMG, IT4
Aspects, Objects
Building Reliable Componentbased
Information Organizer
A product for integration of systems
Focuses on information systems
Introduces new concepts
Objects
Aspects
Reuse!
Building Reliable Componentbased
Introduction, cont.
Reuse of legacy systems
Data
Applications
Application patterns
Another possibility of reuse
Building Reliable Componentbased
Technical details
Builds on Microsoft technologies
Windows 2000
COM
Active Directory
Security
Reuse again!
Building Reliable Componentbased
Concepts
Business Object Model
The conceptual model
Contains definitions of concepts
Information Organizer
The application
Business Object Framework
The implementation of Business Object Model in
Information Organizer
Building Reliable Componentbased
Business Object Model
The conceptual model
Introduces new concepts
Objects
Aspects
Relations
Roles
Views
Building Reliable Componentbased
Objects
The most central type of entity in the model
Objects model physical or logical objects
Represent entities in the applications to be integrated
E.g. “valve”, “pump”, “issue”, “workflow step”.
Little functionality in itself - related data is carried by its
Aspects
Aspect
Aspect
Aspect
Object
Aspect
Building Reliable Componentbased
Aspects
Contains part of the functionality of an object
Often contain documents of some kind
Are often associated with (legacy) applications
Can be added and removed dynamically
New types of aspects can be added when the system is
ready to handle them
Aspect
Aspect
Object
Aspect
Aspect
Building Reliable Componentbased
Relations
Objects exist in relation to other objects
Typed or generic relations
Allow connection of objects with certain aspects
New types can be defined
Used to structure the objects
Trees
Arbitrary structures
Can be interpreted by a user or the system itself
Object
Object
Building Reliable Componentbased
Roles
A certain function offered by an object
Implemented by aspects
Not very clear description
Building Reliable Componentbased
Views
Limits the visibility
Objects, aspects, and relations
Different categories of users
Different information interesting depending on context
Possibility to switch views
The selected item still in focus
E.g. locate an issue in a personal view, then switch to
workflow view
Can be added dynamically
Building Reliable Componentbased
Business Explorer
Presentation layer
System-wide information model
Application
specific
user interface
Integration layer
Data/application
layer
Issue management system
Document management system
Building Reliable Componentbased
CAD system
Business Object Framework
The implementation of Business Object Model
The “core” of Information Organizer
Examples of tools and functions
Generic implementation of Aspects, Objects etc.
Configuration environment
Development environment
Runtime environment
Mechanisms for defining object and aspect types
Implement certain COM interfaces
Building Reliable Componentbased
Information Organizer
Conventional three-layered architecture
User interface layer (three types)
Business Logic layer (Business Object Framework)
Data layer
Applications
Documents
Databases
Three types of user interfaces available
“Thin” client – standard browser
“Fat” client – installed code on client machines
“Ultra-thin” client – WAP client
Building Reliable Componentbased
Information Organizer, cont.
Building Reliable Componentbased
Application Patterns
Generic implementations of commonly occurring
patterns
Non-domain specific patterns
Three patterns are described
Business Process Support, “workflow”
Document Management Support
Relational Database Connector
Applied on Information Organizer level
No support needed from participating applications
Building Reliable Componentbased
Business Process Support
Adding “workflow” concept to systems
Configuration
Runtime support
New object, aspect, and relation types
Processor
Process
Process Flow
Target
“Above” original application level
Building Reliable Componentbased
Business Process Support, cont.
Building Reliable Componentbased
Document Management Support
Creates documents “on the fly”
Uses templates
Inserts data from objects
Designed for Internet
Integrated with archive system
Building Reliable Componentbased
Relational Database Connector
A means of retrieving data from a standard database
Generic implementation
Builds on XML
Separates data from presentation
Each data row is represented by an object in BOF
Data still resides in the database
Security on row level
Building Reliable Componentbased
Relational Database Connector, cont.
Data
Description of data records
Information whether some data items are writeable
Presentation
Presentation format
Building Reliable Componentbased
Practical Experiences
Component based development can be highly
profitable.
A significant part of the development time was spent in
learning the full capabilities and impacts of existing
technologies and components.
Development of custom functions for the framework
actually occupied a smaller part of the total project time.
One of the main reasons why verbal commitments to
component-based development often fall short in
practice.
Building Reliable Componentbased
A three layered implementation architecture
UI
UI
Business
BO
Aspect
DS
Data
UI
UI
UI
WebCam
Word
File
File
Relations
Properties
Camera
Help
Change
Services
Delete
DS = Data Storage
UI = User Interface
BO = Business Object
Dll = Dynamic linked library
UI
UI
Business
BO
Data
UI
UI
Aspect
DS
dll
DB
File
UI
Notepad
File
Building Reliable Componentbased
Relations
Properties
MyService
Notepad
Change
Services
Delete