Title: Component Based Systems Analysis
1Component Based Systems Analysis
IS7 VT99
2Why Components?
- Development alternatives
- In-house software
- Standard packages
- Components
60 of the functionality in a typical
information system is the same for
all organisations (IBM)
3What 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
4Component Models
- Standard specification of how components should
behave in a given environment - Versioning
- Open tool palettes
- Configuration management
- Event notification
- Metadata and introspection
- Licensing
5Levels of Components
Insurance
Telecom
Aerospace
Subscriber Telephone service
Domain Components
General Business Components
Customer, Product, Order, Currency
Technical Components
GUI components Security services
6Component Based Development
Supply - Build new - Wrap
existing - Buy
Consume - Assemble
applications
Manage
- Publish
- Subscribe
- Catalogue
- Browse
7Objects and Components
Analysis Design
Construction
Object oriented
Component based
A component does not have to be an object
8Client/Server Architecture
A server providing services A client requesting
services
ATMs
Thin and fat clients
9Advantages of Client/Server
- Scalability
- Horizontal, more clients
- Vertical, more powerful server
- Dedicated servers
- Shared resources
- Maintenance
- Server centrally
- Client locally
10Three Level Architecture
User interface provided via a browser
Presentation
Java servlets running on a server
Application logic
Data
Data served from a DBMS
Handles data from different sources within
client/server
11Distributed 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
12Middleware
- 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, ...
13OMG Object Management Architecture
Application objects
Common facilities
Object Request Broker
Object services
14Architectural 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
15Design 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
16A Design Pattern - MVC
Model
core data
notify getData
View
myModel
display update
Controller
myView
handleEvent update
17Properties of Patterns
- Address recurring problems
- Document well-proven experience
- Specify abstract solutions
18Analysis Patterns
Person
Employment
Organisation
Period of Time
A person is employed in an organisation for a
period of time.
19Analysis Patterns
Person
Management Role
Organisation
Period of Time
A person has a certain management role for a
period of time.
20Analysis Patterns
Marriage
Person
Period of Time
Two people are married for a period of time.
21Analysis Patterns
One party is accountable to another party for
something for a period of time.
Accountability type
Organisation
Accountability
Period of Time
Organisation
Person
22Course contents
Analysis patterns Fowler
Component models JavaBeans SanFrancisco
DOT Java Servlets EJB CORBA COM/DCOM