component based systems analysis introduction. why components? t development alternatives:...
Post on 21-Dec-2015
213 Views
Preview:
TRANSCRIPT
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
Accountability
Period of Time Organisation Person
One party is accountable to another party for something for a period of time.Accountability type
Organisation
top related