Download presentation
Presentation is loading. Please wait.
Published byJoleen Hampton Modified over 9 years ago
2
Component Based Software Development with Java Andrew K Lui School of Science and Technology Open University of Hong Kong
3
Andrew K Lui (Open University of Hong Kong)2 A Strange World OS Mouse
4
Andrew K Lui (Open University of Hong Kong)3 Crisis in Software Industry CostFlexibilityQualityTime
5
Andrew K Lui (Open University of Hong Kong)4 A Perennial Problem? Software engineering - formal methods, verification, testing, programming language - reuse, frameworks and libraries
6
Andrew K Lui (Open University of Hong Kong)5 Component Based Software - old wine in new bottle. - breaking a system into reusable modules, components, sub-systems… - facilitating system integration, reuse of design, testing and product evolution.
7
Andrew K Lui (Open University of Hong Kong)6 Benefits C F Q T A Software System Pre-fabricated Components
8
Andrew K Lui (Open University of Hong Kong)7 In the Real World The software industry has readily embraced CBSD. Flashline (www.flashline.com) Javabeans/COM/ActiveX Vbxtras (www.vbxtras.com) Visual Basic Component Source (www.componentsource.com) Java/COM/C++/Delphi/VisualStudio $
9
Andrew K Lui (Open University of Hong Kong)8 The Industry Says … “… companies can spend $1000 on a software component instead of $100000 on development resources.” Sam Patterson (CEO ComponentSource) “… These less skilled developers can ‘assemble’ components that were built by higher skilled developers … It is a solution to the skills shortage.” Tom Dwyer (Research Directory EJB Aberdeen G)
10
Andrew K Lui (Open University of Hong Kong)9 The Academic Says … “Working programmers are well aware of this last revolution … Academic researchers are doing little or nothing … The revolution has already happened, and in the academic community, nobody came.” Peter Maurer (USF) 2000 in IEEE Computer
11
Andrew K Lui (Open University of Hong Kong)10 What contributed to the Buzz? According to Meyer and Mingins (IEEE Computer 1999) The current excitement about CBSD results from … ScientificIndustrial PoliticalOO Technology Monolithic Systems (Stovepipes)
12
Andrew K Lui (Open University of Hong Kong)11 Clashes of Views Industry Component Providers Political Bodies Standard/Technology Custodians Main Concern Interconnecting technology for components. Component An abstract business process. Output Architectures, frameworks, standards, reference implementations Main Concern Creation and sale of components of various base technologies Component An unit of reuse for a business domain Output Identifying specific business process -> components.
13
Andrew K Lui (Open University of Hong Kong)12 Component Definitions So what is a component after all? “1. A unit of independent deployment; 2. A unit of third party composition; 3. Has no persistent state.” C Szyperski Component is the next thing after objects...
14
Andrew K Lui (Open University of Hong Kong)13 Component Definitions “ … prepackaged generic elements” B. Meyer & C. Mingins It is absurd … (that) CBD is the next thing beyond object. OO … provides the only serious technical basis...
15
Andrew K Lui (Open University of Hong Kong)14 A Holistic View of CBSD Component Language Platform Interface Granularity Domain Component Application Integration Environment Composition/Integration Tools Component Repository Component Contract/Metadata Runtime Environment Interconnecting Technology Resource Management
16
Andrew K Lui (Open University of Hong Kong)15 Component Environment A component is tightly coupled to its native environment. ComponentEnvironment
17
Andrew K Lui (Open University of Hong Kong)16 Application Integration Environment CBSD Process Runtime Environment Component interface, contract, instantiation Component
18
Andrew K Lui (Open University of Hong Kong)17 May I Join the Club? Yes, and there is no application fees. Consider whether CBSD can benefit your work/project. Paying a higher upfront cost for higher reusability and extensibility.
19
Andrew K Lui (Open University of Hong Kong)18 Java as a CBSD Environment JavaBean - Toolable components. RMI/CORBA - Distributed components. Jini/Serialization - Mobile components. Messaging Middleware - Loosely-coupled components.
20
Andrew K Lui (Open University of Hong Kong)19 JavaBeans - Introspection distinguishes JavaBeans from ordinary Java classes. Who are you? What can I do to you? What would you do if I …? What can I change on you? Bean
21
Andrew K Lui (Open University of Hong Kong)20 Toolable JavaBeans Container Bean events properties java.lang.reflect java.beans java.awt.events
22
Andrew K Lui (Open University of Hong Kong)21 Connecting JavaBeans Bean Javabeans are connected by hooking properties and event handling. Bean emitting an event setting properties
23
Andrew K Lui (Open University of Hong Kong)22 Example - Image library client QueryInputSubmitBeanQueryBean QuerySpecification TextboxButton SubmitEvent QueryInput 2 QuerySpecification Image Library
24
Andrew K Lui (Open University of Hong Kong)23 Visual Appearance submit query input
25
Andrew K Lui (Open University of Hong Kong)24 JavaBean Tools Inprise (Borland) Jbuilder IBM VisualAge Symantec Visual Cafe
26
Andrew K Lui (Open University of Hong Kong)25 JavaBean Component Model Visual oriented. Stateful. Introspectual. Event driven. Design Pattern Defined. Method naming. Event naming. BeanInfo class.
27
Andrew K Lui (Open University of Hong Kong)26 Distributed Components JavaBean integration technique is local. Java supports distributed computing in RMI/CORBA How to extend JavaBean model to work with distributed computing.
28
Andrew K Lui (Open University of Hong Kong)27 Distributed Image Library Image Library Image Library Image Library TraderClient CORBA Services
29
Andrew K Lui (Open University of Hong Kong)28 TraderBeanQueryBean JavaBeans as Stubs Image Library Stub Trader Stub Client-sideServer-side
30
Andrew K Lui (Open University of Hong Kong)29 Rapid Application Dev (DSTO)
31
Andrew K Lui (Open University of Hong Kong)30 QueryBean Jini Stubs themselves can be downloaded from services - encapsulating the protocol. Image Library Stub
32
Andrew K Lui (Open University of Hong Kong)31 Server Components? Enterprise JavaBeans (EJB) Container EJB Server Home Object EJB Client Database Distributed transaction management, concurrency management, middleware support,...
33
Andrew K Lui (Open University of Hong Kong)32 Other CSBD Environments JavaBean connection is tightly coupled - one bean knows other beans. Distributed bean component has already made bean location independent. Use of messaging middleware can even encapsulate the existence of other beans.
34
Andrew K Lui (Open University of Hong Kong)33 CSBD with messaging middleware Messaging Middleware with Channels Bean provides and obtains information from relevant channels. does not care where the information comes from. connects to distributed services using other middleware. XML
35
Andrew K Lui (Open University of Hong Kong)34 Summary Very popular in industry but only at a beginning stage in academic. Lots of experience gained, but with thin theoretical support. Java is a good platform for CBSD.
36
Andrew K Lui (Open University of Hong Kong)35 The Future Loosely-coupled component model. Component Contracts. Microsoft Dot Net
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.