220 likes | 235 Views
IS7 VT99. Component Based Systems Analysis. Introduction. Why 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). What is a Component?.
E N D
IS7 VT99 Component Based Systems Analysis Introduction
Why 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)
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 Insurance Telecom Aerospace Subscriber Telephone service Domain Components General Business Components Customer, Product, Order, Currency Technical Components GUI components Security services
Component Based Development Supply - Build new - Wrap existing - Buy Consume - Assemble applications Manage - Publish - Subscribe - Catalogue - Browse
Objects and Components Analysis Design Construction Object oriented Component based A component does not have to be an object
Client/Server Architecture A server providing services A 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 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
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, ...
OMG Object Management Architecture Application objects Common facilities Object Request Broker Object services
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 notify getData View myModel display update Controller myView handleEvent update
Properties of Patterns • Address recurring problems • Document well-proven experience • Specify abstract solutions
Analysis Patterns Person Employment Organisation Period of Time A person is employed in an organisation for a period of time.
Analysis Patterns Person Management Role Organisation Period of Time A person has a certain management role for a period of time.
Analysis Patterns Marriage Person Period of Time Two people are married for a period of time.
Analysis Patterns One party is accountable to another party for something for a period of time. Accountability type Organisation Accountability Period of Time Organisation Person
Course contents Component models JavaBeans SanFrancisco Analysis patterns Fowler DOT Java Servlets EJB CORBA COM/DCOM