Yet Another Kind of JavaBeans: Composed Types from Aggregated Instances
https://doi.org/10.15514/ISPRAS-2025-37(6)-2
Abstract
The paper presents an approach to the JavaBeans-components implementations so that they provide support for dynamic components composition – user defined components creation without compiling them, by manipulations with pre-existing components instead. JavaBeans component model, presented at the beginning of Java technology, has its’ limitation that seems to be significant. The JavaBean component, by definition, is a serializable Java class with public no-arguments constructor; additionally, JavaBeans design patterns serve to use JavaBeans-components instances in a specific manipulating environment. The goal of the manipulations is to achieve the required states of the instances and their aggregation behavior altogether, when the aggregation can be serialized and deserialized later in similar environment. There is a hidden contradiction: starting from a predefined set of JavaBeans components – classes for class-based object-oriented environment, we end up with a prototype-based style for instances aggregation usage. To use user-defined aggregation as a new composed component we must change a programming paradigm and generate code in static-like way of component creation. We propose an evolution of JavaBeans component model that enables user defined composed components creation dynamically without aggregation cloning.
Keywords
About the Author
Efim Mikhailovitch GRINKRUGRussian Federation
Cand. Sci. (Tech.), Senior Researcher at the Ivannikov Institute for System Programming of the RAS since 2024. Research interests: operating systems, component-oriented programming, computer graphics, wireless sensor networks.
References
1. Douglas McIlroy. Mass-produced software components. Электронный ресурс. https://www.cs.dartmouth.edu/~doug/components.txt (дата обращения 22.08.2025).
2. A.J.A.Wang, K.Qian, Component-oriented programming, John Wiley & Sons, Inc., 2005.
3. Kung-Kiu-Lau, Zheng Wang (2006) A Survey of Software Component Models (second edition), School of Computer Science, The University of Manchester, Preprint Series, CSPP-38.
4. JavaBeans(TM) Specification. Электронный ресурс. https://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/
5. Архивировано: https://web.archive.org/web/20210416231451/https://www.oracle.com/java/technologies/javase/javabeans-spec.html (дата обращения 22.08.2025).
6. VRML – The Virtual Reality Modeling Language. Электронный ресурс. https://www.web3d.org/documents/specifications/14772/V2.0/ (дата обращения 22.08.2025).
7. Проект Babylon. Электронный ресурс. https://openjdk.org/projects/babylon/ (дата обращения 22.08.2025).
8. E.Grinkrug. A Framework for Dynamical Construction of Software Components. A.K.Petrenko and A.Voronkov (Eds.): PSI 2017, LNCS 10742, pp. 163-178, 2018. https://doi.org/10.1007/978-3-319-74313-4_13.
9. N. Frankel. Monkey-Patching in Java. Электронный ресурс. https://dzone.com/articles/monkey-patching-in-java. (дата обращения 22.08.2025).
10. Enterprise JavaBeans Technology. Электронный ресурс. https://www.oracle.com/java/technologies/enterprise-javabeans-technology.html (дата обращения 22.08.2025).
11. Spring Framework. Электронный ресурс. https://spring.io/projects/spring-framework (дата обращения 22.08.2025).
12. JavaFX Documentation. Электронный ресурс. https://openjfx.io (дата обращения 22.08.2025).
Review
For citations:
GRINKRUG E.M. Yet Another Kind of JavaBeans: Composed Types from Aggregated Instances. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2025;37(6):21-42. (In Russ.) https://doi.org/10.15514/ISPRAS-2025-37(6)-2






