1 / 48

Components

Components. Lecture Five. Group Projects. Draft material due on Feb. 18 Assignment Description due on Feb. 18 URLs for group work Sign up for review Final material due on March 1st. Reading after Class. Szyperski Chapters 1, 4, 5, 7, 8, 9, 10, 15.

dlynda
Download Presentation

Components

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Components Lecture Five

  2. Group Projects • Draft material due on Feb. 18 • Assignment Description due on Feb. 18 • URLs for group work • Sign up for review • Final material due on March 1st.

  3. Reading after Class • Szyperski • Chapters 1, 4, 5, 7, 8, 9, 10, 15

  4. Elements for Designing Good Software Components

  5. Elements

  6. Components

  7. Component Characteristics

  8. Object Characteristics

  9. Components and Architecture

  10. Component

  11. Component Technologies

  12. From Classes/Objects to Components

  13. Interfaces

  14. Ways of Providing Interfaces

  15. Contracts

  16. Contracts and Callback

  17. JavaBeans Architecture

  18. JavaBeans Architecture

  19. Integrating JavaBeans

  20. A Simple Bean

  21. Serialization

  22. Introspection

  23. Event Dispatching

  24. Events

  25. Example

  26. Example

  27. Event Listeners

  28. Example

  29. Design Pattern for Event Listerners

  30. Event Source

  31. Example

  32. Example

  33. Example

  34. Adapters

  35. Example

  36. Relation to JavaBeans

  37. JavaBeans and Enterprise JavaBeans

  38. Application Architecture • Macro-level physical and logical system structure • partition code into packages • Distributing packages and processes among network nodes • Collaboration strategies

  39. Partition • Layers: vertical partitions • Subsystems: horizontal partitions • Example: • Viewer Layer • Application Layer • Domain Layer • Persistence Layer

  40. Couplings • Strongly/weak coupled • Reduce couplings between layers is primarily done by introducing an interface (façade) • Reduce couplings between subsystems is done by introducing components

  41. Two Java Component Architectures • JavaBeans Architecture • Use Observer pattern • Invisible/visible • Enterprise JavaBeans Architecture • distributing components on a network • Locating, instantiating, communicating with these distributed components • Session/Entity Beans

  42. Enterprise Java Server • Has EJB contains • Containers manage life-cycle of EJB • Locate/instantiate/transaction/…

  43. View • All user interface classes • Only layer visible to actors • Undergo most changes • Less reuable, rarely subclassed • Instatiate classes from Application model layer • Propagate events to app. Model layer

  44. Appliation Model Layer • Mediate between View Layer and Domain Layer • Most Application Logic • Controllers • View controllers (application logic only, no business logic): JavaBeans • Use case controllers (transactional): Session Beans • Adapters

  45. Domain • Business objects • Reusable to all applicatons • Comprehenible to everyone • Most persistent: Ivisible JavaBeans • Coupled to persistence layer only

  46. Persistence Layer • Weakly coupled to Domain Layer (preferably by metadata)

  47. Layer Distribution • Fat Client • All application layers on client; server nodes for persistent storage • Not scalable • Anorexic • Web browser only; 3270 client • Limited functionality

  48. Layer Distribution (II) • Big-boned Client • Viewer layer and part of application-model layer on client • Viewer controllers on client; user case controller on upper tier • Domain objects travel back and froth between client and server • Shared resources on server; rich interface; client software installation required

More Related