Download presentation
Presentation is loading. Please wait.
1
Towards Integrating Java EE into ProtoCom
Daria Giacinto and Sebastian Lehrig Conceptual mapping from PCM to Java EE that can serve as a basis for an automatic Java EE performance prototype generation
2
Towards Integrating Java EE into ProtoCom
Problem ProtoCom Deployment Java SE Prototype Performance Engineer Alice Bob Server 1 Server 2 + sayHello() IBob + callBob() IAlice Perf. Eng. -> modelled system with palladio -> big enterprise system Alice&Bob Engineer wants to know how the performance of the modelled system would be in real application. Uses Palladios performance prototype generator ProtoCom to generate a Java SE performance prototype. What is a perf. Prototype? Prototype deployed on real hardware to analyze performance. This means, the Perf. Eng. gets his PCM model in Java SE code and he can deploy it on hardware resources. Then, a load generator simulates the user and measurements will be taken, e.g. response times with the Kieker framework. In our case, the Perf. Eng. Tries to deploy the prototype on entprise server. And this will fail because enterprise applications are not supported by Java SE. April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
3
Solution Requirements: Reuse current transformation
ProtoCom Deployment Java EE Prototype Performance Engineer Prototyped transformation by Becker [1] No out-of-the-box deployment [2] No full utilization of Java EE features [2] Requirements: A solution is to create a transformation from PCM to Java EE. With such a transformation it would be possible to generate perf. Prototypes supporting the performance analyses of enterprise applications. However, this idea is not new. In 2008 Steffen investigated a mapping from PCM to Java EE 3 and then he implemented a prototyped transformation. But a few years later, Sebastian and Thomas removed this transformation because of usability issuses. Namely, there existed no-out-of-the-box deployment. So, the perf. Eng. Has to add manually code to make the prototype compilable. Furthermore, in relation to the current Java EE version 7 the transformation is outdated because it does not use not use the now available and recommended features. On this basis, we derived the requirements for a new Java EE prototype generation: We want to reuse as much as possible from the existing transformation . Hence, the future transformation is more a variant of the current SE transformation because it has only to change where differences between Java SE and EE are. Integrate the Kieker framework to take measurements. We want to make use of the Java EE features, especially recommended ones. Of course, we took a look on Steffens mapping and reuses still valid concepts. We want to make the prototype more usable, which comprises out-of-the-box deployment. Reuse current transformation Use Kieker framework Utilization of Java EE 7 features Out-of-the-box-deployment [1] S. Becker. Coupled model transformations for QoS enabled component-based software design. PHD Thesis. 2008 [2] S. Lehrig, T. Zolynski. Performance Prototyping with ProtoCom in a Virtualised Environment: A Case Study. Palladio Days. 2011 April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
4
Performance Prototype Requirements Java EE 7 Features Mapping
Summary & Future Work On the last slide I presented the requirements for the prototype generation. Now, I will shortly explain the Java EE features that are used in the mapping. Afterwards, I exemplify the mapping with the Alice&Bob system from the beginning. We implemented this system as a reference implementation to show the applicability of the mapping concepts. At the end… April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
5
Towards Integrating Java EE into ProtoCom
Business Logic EAR Module EAR Module 2 EJB Module EJB Module Presentation Data WAR Module WAR Module Supports the development of enterprise applications. These applications are based on the Java EE component model… Java Naming and Directory Interface: API that facilitates the binding of a name with an object reference and then the discovery of a reference. Remote Method Invocation over Internet Inter Orb Protocol: delivers CORBA distributed computing capabilities to Java. JNDI & RMI-IIOP April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
6
Performance Prototype Requirements Java EE 7 Features Mapping
Summary & Future Work April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
7
Mapping: PCM to Java EE Java EE Performance Prototype Repository Model
Assembly Model ProtoCom Java EE Performance Prototype Allocation Model Usage Model <<User>> April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
8
Mapping: Repository Model
PCM Java EE void callBob() IAlice void sayHello() IBob + callBob() IAlice + sayHello() IBob I I <<Provides>> <<Provides>> <<Requires>> @Local @Remote @Local @Remote SEFF <callBob> Alice SEFF <sayHello> Bob April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
9
Mapping: Repository Model
PCM Java EE void callBob() IAlice void sayHello() IBob + callBob() IAlice + sayHello() IBob I I <<Provides>> <<Provides>> <<Requires>> SEFF <callBob> Alice SEFF <sayHello> Bob @Stateless @Stateless Alice Bob April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
10
Mapping: Repository Model
PCM Java EE void callBob() IAlice void sayHello() IBob + callBob() IAlice + sayHello() IBob I I <<Provides>> <<Provides>> <<Requires>> + callBob() IAlicePort +sayHello() IBobPort SEFF <callBob> Alice SEFF <sayHello> Bob <<Delegates>> <<Delegates>> + IAlicePort_ callBob() Alice +IBobPort_sayHello() Bob April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
11
Mapping: Repository Model
PCM Java EE void callBob() IAlice void sayHello() IBob + callBob() IAlice + sayHello() IBob I I <<Provides>> <<Provides>> <<Requires>> + callBob() IAlicePort +sayHello() IBobPort SEFF <callBob> Alice SEFF <sayHello> Bob + IAlicePort_ callBob() Alice +IBobPort_sayHello() Bob @EJB IBob bob April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
12
Mapping: Repository Model
PCM Java EE Bob EJB Module Bob EAR Module void callBob() IAlice void sayHello() IBob + callBob() IAlice + sayHello() IBob I I <<Provides>> <<Provides>> <<Requires>> + callBob() IAlicePort +sayHello() IBobPort Alice EJB Module Alice EAR Module SEFF <callBob> Alice SEFF <sayHello> Bob + IAlicePort_ callBob() Alice +IBobPort_sayHello() Bob April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
13
Mapping: PCM to Java EE Java EE Performance Prototype Repository Model
Assembly Model ProtoCom Java EE Performance Prototype Allocation Model Usage Model <<User>> April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
14
Mapping: Assembly Model
PCM Java EE Bob EJB Module Bob Ear Module Alice Bob Deployment Descriptor (RMI-IIOP configuration) Alice EJB Module Alice Ear Module April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
15
Mapping: PCM to Java EE Java EE Performance Prototype Repository Model
Assembly Model ProtoCom Java EE Performance Prototype Allocation Model Usage Model <<User>> April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
16
Mapping: Allocation Model
PCM Java EE Alice Ear Module Bob Ear Module Export Alice Bob Alice EAR File Bob EAR File Deployment April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
17
Mapping: PCM to Java EE Java EE Performance Prototype Repository Model
Assembly Model ProtoCom Java EE Performance Prototype Allocation Model Usage Model <<User>> April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
18
Towards Integrating Java EE into ProtoCom
Mapping: Overview PCM Concept Java SE Java EE Interface Java Interface Java EE Business Interface Basic Component Class with Simulated SEFF Stateless Class with Simulated SEFF (in an EJB and EAR Module) Provided Roles Port Classes Required Roles Context Pattern Annotation (Dependency Injection) Composite Component Facade Class EJB Modules in EAR Module On this slide and the following two, you see the transformation of PCM concepts to Java SE and Java EE in comparison. I will only shortly highlight differences and reusable parts not shown before. Wieso simulated SEFFs dieselben? April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
19
Towards Integrating Java EE into ProtoCom
Mapping: Overview PCM Concept Java SE Java EE Assembly Context Instance of Component Class Deployed EAR Module Assembly Connector Deployment Descriptor Internal Actions Resource Demand Generator Call Actions RMI RMI-IIOP Control Flow Java Control Flow Was ist Resource Demand Generator? Important is the use of RMI-IIOP instead of RMI as it facilitates inter server communication. Furthermore, this is the recommanded way of the Java EE Spec for the communication between modules. April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
20
Towards Integrating Java EE into ProtoCom
Mapping: Overview PCM Concept Java SE Java EE Data Flow Annotations Java Control Flow Allocation Context Manual Deployment Resources [Uses Physical Resources] Usage Model Workload Driver April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
21
Performance Prototype Requirements Java EE 7 Features Mapping
Summary & Future Work April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
22
Conclusions Java SE Performance Prototype Java EE
ProtoCom Deployment Java SE Performance Prototype ProtoCom Deployment Performance Analyses PCM Model Conceptual mapping from PCM to Java EE Feasibility of mapping by reference implementation of the Alice&Bob system. The mapping regards the current Java EE 7 version and its features and recommandations. Java EE Performance Prototype Utilization of Java EE 7 features April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
23
Future Work Java SE Performance Prototype Java EE
Composite Components Usage Model ProtoCom Deployment Java SE Performance Prototype ProtoCom Deployment Performance Analyses PCM Model What is missing and tasks for the future? The integration of the concepts for the usage model mapping to evalute their applicability. Furthermore, currently disregarded concepts have to be investigated, like composite components. Obviously, the transformation is still to be done. When it will be realized, the use of the Kieker framework to take measurements should be considered. And this transformation should generate a prototype that is out-of-the-box deployable. Java EE Performance Prototype Transformation Out-of-the-box-deployment Use Kieker Framework Utilization of Java EE 7 features April 22, 2019April 22, 2019 Towards Integrating Java EE into ProtoCom
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.