Mapping Component Specifications to Enterprise Java Beans Implementations
Mapping Component Specifications to Enterprise Java. Beans Implementations Yi Liu and H. Conrad Cunningham Software Architecture Research Group Department of Computer and Information Science University of Mississippi
What Component Software Needs l Component specification l Component model l Mapping – approach applied to realize an implementation from a component specification
Our Approach l Component specification – Methods by Cheesman and Daniels (UML Components) l Component model – Enterprise Java. Beans (EJB) l Mapping approaches – Manager bean approach – Hierarchical approach – Singleton EJB approach
Component Specification System Architecture User Interface Creates what the user sees. Handles UI logic. System Application User Dialog Software Dialog logic. Transient state corresponds to the dialog. Can sometimes be used with multiple UIs. Client Part System Services Server Part Operations are new transactions. Can be used with a variety of user dialogs or batch. Components correspond to business systems. No dialog or client-related state. System Components Business Services Components correspond to stable business types to groups. Operations can be combined with others in a transaction. Usually have associated databases. Business Components
Component Specification Design Requirements Definition Component Identification Component Specification Component Interaction Component Specification
Component Specification Course Registration System <<core>> Person <<interface type>> IPerson. Mgt 1 1 1 0. . 1 <<type>> Student <<interface type>> ICourse. Mgt <<core>> 0. . 1 <<type>> Instructor 1 Course 1 1 * * <<type>> Administrator * Section Student Schedule * * * 1 1 <<core>> Term * <<type>> Instructor Schedule * 1 <<interface type>> ITerm. Mgt
Component Specification Course Registration System <<core>> Person <<interface type>> IPerson. Mgt 1 1 1 0. . 1 <<type>> Student <<interface type>> ICourse. Mgt <<core>> 0. . 1 <<type>> Instructor 1 Course 1 1 * * <<type>> Administrator * Section Student Schedule * * * 1 1 <<core>> Term * <<type>> Instructor Schedule * 1 <<interface type>> ITerm. Mgt
Component Model Enterprise Java. Beans (EJB) EJB is a component model for building server-side, enterprise-class applications.
Component Model EJB Client Enterprise Bean . . . Enterprise Bean EJB Client … EJB Container EJB Server
Component Model Enterprise Java. Beans Types l Session l Entity beans l Message-driven beans
Mapping Approaches <<interface type>> IPerson. Mgt <<core>> Person 1 1 1 0. . 1 <<type>> Student 1 1 * * <<type>> Student Schedule <<type>> Administrator <<type>> <<interface type>> Instructor ICourse. Mgt 1 <<core>> Course * EJB Client 0. . 1 EJB Client * * <<type>> Section * * maps to . . . Enterprise Bean <<type>> Instructor Schedule EJB Client * 1 EJB Container * * 1 <<core>> 1 Term Enterprise Bean … EJB Server <<interface type>> ITerm. Mgt
Mapping Approaches Manager Bean Approach Dialog Software System Software Business Components Make. Schedule <<Session EJB>> Course. Reg System <<Session EJB>> Person. Mgr <<database>> Person
Mapping Approaches Hierarchical Approach Dialog Software System Software Business Components Make. Schedule <<Session EJB>> Course. Reg System <<Session EJB>> Person. Mgr <<Entity EJB>> Person … Person. Mgr Component <<Entity EJB>> Student <<database>> Person
Mapping Approaches Singleton EJB Approach Make. Schedule Dialog Software <<Session EJB>> Course. Reg System Software Business Components <<Java Package>> Course. Mgr … <<Java Package>> Person. Mgr <<database>> Person
Acknowledgements l This work was supported, in part, by a grant from Acxiom Corporation titled “The Acxiom Laboratory for Software Architecture and Component Engineering (ALSACE). ” l Mingxian Fu and Pallavi Tadepalli assisted in the design of example system. Fu led the implementation effort.
- Slides: 15