component based systems analysis introduction. why components? t development alternatives:...

22
Component Based Systems Analysis Introduction

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Component Based Systems Analysis

Introduction

Why Components?

Development alternatives:

– In-house software

– Standard packages

– Components

60% of the functionalityin a typical informationsystem is the same for allorganisations (IBM)

What is a Component?

“A component is a piece of software small enough to create and maintain, big enough to deploy and support and with standard interfaces for interoperability” (Jed Harris)

Components are executable

Component Models

Standard specification of how components should behave in a given environment– Versioning– Open tool palettes– Configuration management– Event notification– Metadata and introspection– Licensing

Levels of Components

Customer, Product,Order, Currency

SubscriberTelephone

service

DomainComponents

TechnicalComponents

GeneralBusinessComponents

Insurance Telecom Aerospace

GUI componentsSecurity services

Component Based Development

Supply - Build new - Wrap existing - Buy

Supply - Build new - Wrap existing - Buy

Consume - Assemble applications

Consume - Assemble applications

Manage - Publish - Subscribe - Catalogue - Browse

Manage - Publish - Subscribe - Catalogue - Browse

Objects and Components

Analysis Design Construction

Objectoriented

Componentbased

A component does not have to be an object

Client/Server Architecture

A server providing servicesA client requesting services

ATMs

Thin and fat clients

Advantages of Client/Server

Scalability– Horizontal, more clients– Vertical, more powerful server

Dedicated servers Shared resources Maintenance

– Server centrally– Client locally

Three Level Architecture

Data

Presentation

Application logic

User interface providedvia a browser

Java servlets running on a server

Data served from a DBMS

Handles data from different sources within client/server

Distributed Objects

Objects encapsulate data and operations Ordinary objects

– Reside in a single program– Cease to be separate entities after compilation

Distributed objects– Reside anywhere on a network– Exist as physical standalone entities– Accessible by other objects

Middleware

Distributed software for supporting interaction between client and server; including client API, network transfer, and server response

Database middleware: ODBC, JDBC, … Internet middleware: HTTP, … Object middleware: CORBA, COM/DCOM,

Enterprise JavaBeans, ...

Application objects

OMG Object Management Architecture

Common facilities

Object services

Object Request Broker

Architectural Patterns Context

– Designing a living room Problem

– Making people feel comfortable Forces

– People want to sit down– People want to be close to the light

Solution– Put a sitting place close to the windows

Design Patterns Context

– Developing software with a human-computer interface Problem

– Interfaces vary often Forces

– Easy to modify the interface– Modifying the interface should not impact the

application logic Solution

– Model-View-Controller

A Design Pattern - MVC

Model

core data

notifygetData

View

myModel

displayupdate

Controller

myView

handleEventupdate

Properties of Patterns

Address recurring problems

Document well-proven experience

Specify abstract solutions

Analysis Patterns

Employment

Period of Time

Organisation

Person

A person is employed in an organisation for a periodof time.

Analysis Patterns

Management Role

Period of Time

Organisation

Person

A person has a certainmanagement role for a period of time.

Analysis Patterns

Marriage

Period of Time

Person

Two people are married for a period of time.

Analysis Patterns

Accountability

Period of Time Organisation Person

One party is accountable to another party for something for a period of time.Accountability type

Organisation

Course contents

Analysis patternsFowler

Component modelsJavaBeans

SanFrancisco

DOTJava Servlets

EJBCORBA

COM/DCOM