150 likes | 420 Views
Mapping Component Specifications to Enterprise JavaBeans Implementations. Yi Liu and H. Conrad Cunningham Software Architecture Research Group Department of Computer and Information Science University of Mississippi. What Component Software Needs. Component specification Component model
E N D
Mapping Component Specifications to Enterprise JavaBeans Implementations Yi Liuand H. Conrad Cunningham Software Architecture Research Group Department of Computer and Information Science University of Mississippi
What Component Software Needs • Component specification • Component model • Mapping • approach applied to realize an implementation from a component specification
Our Approach • Component specification • Methods by Cheesman and Daniels (UML Components) • Component model • Enterprise JavaBeans (EJB) • Mapping approaches • Manager bean approach • Hierarchical approach • Singleton EJB approach
User Interface Creates what the user sees. Handles UI logic. User Dialog Dialog logic. Transient state corresponds to the dialog. Can sometimes be used with multiple UIs. Application Client Part Server Part System Services 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 Business Services Components correspond to stable business types to groups. Operations can be combined with others in a transaction. Usually have associated databases. Component Specification System Architecture DialogSoftware System Components Business Components
Component SpecificationComponent Specification Design Requirements Definition Component Identification Component SpecificationComponent Interaction Component Specification
<<interface type>> IPersonMgt <<core>> Person 1 1 1 1 1 1 0..1 0..1 0..1 0..1 <<type>> 0..1 0..1 Administrator <<type>> <<type>> <<interface type>> Instructor Student ICourseMgt <<core>> 1 1 Course 1 1 1 1 * * * * <<type>> <<type>> * * * * Section * * * * Instructor Schedule * * <<type>> Student Schedule * * * * * * 1 1 <<interface type>> 1 1 <<core>> 1 1 ITermMgt Term Component SpecificationCourse Registration System
<<interface type>> IPersonMgt <<core>> Person 1 1 1 1 1 1 0..1 0..1 0..1 0..1 <<type>> 0..1 0..1 Administrator <<type>> <<type>> <<interface type>> Instructor Student ICourseMgt <<core>> 1 1 Course 1 1 1 1 * * * * <<type>> <<type>> * * * * Section * * * * Instructor Schedule * * <<type>> Student Schedule * * * * * * 1 1 <<interface type>> 1 1 <<core>> 1 1 ITermMgt Term Component SpecificationCourse Registration System
Component ModelEnterprise JavaBeans (EJB) EJB is a component model for building server-side, enterprise-class applications.
EJB Client EJB Client EJB Client Enterprise Bean Enterprise Bean … . . . EJB Container EJB Server Component ModelEJB Model
Component ModelEnterprise JavaBeans Types • Session beans • Entity beans • Message-driven beans
<<interface type>> IPersonMgt <<core>> Person 1 1 1 1 EJB Client EJB Client EJB Client 1 1 0..1 0..1 0..1 0..1 <<type>> 0..1 0..1 Administrator <<type>> Enterprise Bean Enterprise Bean <<type>> <<interface type>> Instructor Student ICourseMgt <<core>> 1 1 Course … 1 1 . . . 1 1 * * * * <<type>> <<type>> * * * * Section * * * * Instructor Schedule * * <<type>> Student Schedule * * * * EJB Container * * 1 1 <<interface type>> 1 1 <<core>> 1 1 ITermMgt Term EJB Server Mapping Approaches maps to
Dialog Software MakeSchedule <<Session EJB>> CourseReg System System Software Business Components <<Session EJB>> PersonMgr <<database>> Person Mapping ApproachesManager Bean Approach
Dialog Software MakeSchedule <<Session EJB>> CourseReg System System Software PersonMgr Component Business Components <<Session EJB>> PersonMgr <<Entity EJB>> Student <<Entity EJB>> Person … <<database>> Person Mapping ApproachesHierarchical Approach
MakeSchedule Dialog Software <<Session EJB>> CourseReg System System Software Business Components … <<Java Package>> CourseMgr <<Java Package>> PersonMgr <<database>> Person Mapping ApproachesSingleton EJB Approach
Acknowledgements • This work was supported, in part, by a grant from Acxiom Corporation titled “The Acxiom Laboratory for Software Architecture and Component Engineering (ALSACE).” • Mingxian Fu and Pallavi Tadepalli assisted in the design of example system. Fu led the implementation effort.