Abstract
When designing applications with Enterprise JavaBeans (EJBs) and more specifically with Stateful Session Beans, a major difficulty (or even an impossibility) is being able to properly transform business models and more precisely UML 2 models, into such component types, while including the expression of their mutual compositions. This contradicts with the spirit of the emerging Model-Driven Architecture (MDA) software engineering paradigm based on the definition of seamless model transformations. In this scope, this paper proposes and describes an appropriate Java library in order to increase the composition power of EJBs. The proposition includes a support for a broadcast communication mode (assimilated to “horizontal composition” in the paper) which is, a priori, incompatible with non reentrance, a key characteristic of EJBs. Besides, “vertical composition” is the counterpart of “horizontal compo-sition”. “Vertical composition” enables the consistent hierarchical combination of composite behaviors and compound behaviors, both being specified and implemented by means of UML 2 State Machine Diagrams.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Szyperski, C., Gruntz, D., Murer, S.: Component Software – Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
Mellor, S., Scott, K., Uhl, A., Weise, D.: MDA Distilled – Principles of Model-Driven Architecture. Addison-Wesley, Reading (2004)
Bock, C.: UML 2 Composition Model. Journal of Object Technology 3(10), 47–73 (2004)
Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8, 231–274 (1987)
Sun Microsystems: Enterprise JavaBeans TM Specification, Version 2.1 (2003)
Simons, A.: On the Compositional Properties of UML Statechart Diagrams. In: Proc. 3rd Conf. Rigorous Object-Oriented Methods, pp. 4.1–4.19 (2000)
Prehofer, C.: Plug-and-play composition of features and feature interactions with statechart diagrams. Software and Systems Modeling 3(3), 221–234 (2004)
Harel, D., Gery, E.: Executable Object Modeling with Statecharts. IEEE Computer 30(7), 31–42 (1997)
von der Beck, M.: A structured operational semantics for UML-statecharts. Software and Systems Modeling 1(2), 130–141 (2002)
Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: An Open Component Model and Its Support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)
Barbier, F., Henderson-Sellers, B., Le Parc-Lacayrelle, A., Bruel, J.-M.: Formalization of the Whole-Part Relationship in the Unified Modeling Language. IEEE Transactions on Software Engineering 29(5), 459–470 (2003)
Tan, H.B.K., Hao, L., Yang, Y.: On Formalization of the Composition Relationship in the Unified Modeling Language. IEEE Transactions on Software Engineering 29(11), 1054–1055 (2003)
Barbier, F., Henderson-Sellers, B.: Controversies about the Black and White Diamonds. IEEE Transactions on Software Engineering 29(11), 1056 (2003)
Kephart, J., Chess, D.: The Vision of Autonomic Computing. IEEE Computer 36(1), 41–50 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barbier, F. (2006). An Enhanced Composition Model for Conversational Enterprise JavaBeans . In: Gorton, I., et al. Component-Based Software Engineering. CBSE 2006. Lecture Notes in Computer Science, vol 4063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783565_26
Download citation
DOI: https://doi.org/10.1007/11783565_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35628-8
Online ISBN: 978-3-540-35629-5
eBook Packages: Computer ScienceComputer Science (R0)