Migration of JOnAS EJB Session, Entity, Home and Remote, with ProActive Interposition objects - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Migration of JOnAS EJB Session, Entity, Home and Remote, with ProActive Interposition objects

Description:

Migration of JOnAS EJB Session, Entity, Home and Remote, with ProActive ... a JOnAS EB was done by Laurent Vaills, Alexandre Guyot, and Nicolas Guillier. ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 24
Provided by: gatewayl5
Category:

less

Transcript and Presenter's Notes

Title: Migration of JOnAS EJB Session, Entity, Home and Remote, with ProActive Interposition objects


1
Migration of JOnAS EJB Session, Entity, Home and
Remote, with ProActive Interposition objects
  • Baomin Xu

2
Plan of the Talk
  • 1. Introduction to ProActive
  • 2. Migration of JOnAS EJB Session, Entity, Home
    and Remote
  • 3. Conclusion and Future Work

3
  • Introduction to ProActive

4
ProActive Model
  • The application is structured in subsystems.
  • Each subsystem is composed of one active object
    and some passive objects
  • All objects (both active and passive) may have
    references onto active objects
  • If an object o1 has a reference onto a passive
    object 02, then o1 and o2 are part of the same
    subsystem.
  • Only the active object is known to objects
    outside of the subsystem

5
ProActive Active Objects
  • An active object is composed of several objects
  • The object itself (a standard Java object )
  • The body receiving calls on the active object,
    storing these calls in a queue of pending calls
  • The queue of pending requests

6
ProActiveCreating Active Object
  • Class-based
  • class pA extends A implements Active
  • A a (A)ProActive.newActive(pA,params, node)
  • Instantiation-based
  • A a (A)ProActive.newActive(A,params,
    node)
  • Object-based
  • A a new A (obj, 7)
  • a (A)ProActive.turnActive (a, node)

7
  • Migration of JOnAS EJB Session, Entity, Home and
    Remote

8
Past Work
  • The work about how to migrate a JOnAS EB
    was done by Laurent Vaills, Alexandre Guyot, and
    Nicolas Guillier.
  • The approach adopted by them is to
    modify the EB source code directly.

9
Goal Of My Research
  • Implementing the migration of both a JOnAS EB and
    its Home and Remote
  • Minimizing the direct modification to EB source
    code

10
Approach to Migration of JOnAS EB and Its Home
and Remote
  • Turning the standard Object into an Active
    Object
  • Implementing the migration

11
Approach to Turn the EJB Objects into Active
Objects
Modification of the JOnAS source code -
GenIC tool - Other sources
12
Why Do We Need to Modify the GenIC Tool
  • It generates the container classes for a given
    EB
  • It generates source code for a given EB s Home
    and Remote interface
  • It generates stubs and skeletons for a given
    EBs Home and Remote interface
  • .

13
Why the Modification Will Be Done?
  • Restrictions on reifiable objects in ProActive
  • - Classes without a no-argument
    constructor cannot be
  • reified.
  • - Final classes cannot give birth to active
    object
  • - Same thing for non-public classes
  • Giving the standard EJB objects migrable
    properties , namely turning them into migrable
    active objects

14
The Details of Modification to GenIC Tool(1)
  • File name GenICEntityHome
  • Modifications turn JOnAS objects into active
    objects, import ProActive Library, add
    non-argument constructor, add serializable
    interface.
  • Lines 50
  • Typical clauses(Turning an EB into an active
    object)
  • void genCreate(Method method) throws
    GenICException
  • ...
  • src.indentPlus()
  • src.println("ProActive.turnActive(eb,Ser
    ver.node)")
  • ...
  • src.indentMinus()
  • src.println(" ")

15
The Details of Modification to GenIC Tool(2)
  • File name GenICEntityRemote
  • Modifications import ProActive Library, add
    non-argument constructor, add serializable
    interface
  • Lines 20
  • Typical clauses(add non-argument constructor
    for EB s Remote)
  • void genVoidConstructor () throws
    GenICException
  • src.println("public "
    wrpRemoteBaseName  
  •  "() throws RemoteException")
  • src.indentPlus()
  • src.indentMinus()
  • src.println("")
  • ...

16
The Details of Modification to GenIC Tool(3)
  • Files GenICSessionHome, GenICSessionRemote
  • Do the same work as GenICEntityHome,GenICEnti
    tyRemote respectively
  • Files GenICHome, GenICRemote(5 lines
    respectively)
  • add abstract function declaration , function
    call clauses, and modify class declaration. For
    example(GenICRemote)
  • src.println("public class
    "wrpRemoteBaseName
  • " extends
    "getSuperClass()
  • " implements "
  • ejbRemoteName",
    Active,Serializable")

17
The Details of Modification to Other Sources of
JOnAS
  • File names JBeanSession, JBeanSessionSf,
    JBeanSessionSl, JSessionHome, JContextSession,
    JContainerImple, JEntityHome, .
  • Modifications add non-argument constructor,
    add serializable interface
  • Lines 5 respectively
  • Typical clauses
  • private void writeobject(java.io.objectoutStream
    out) throws java.io.IOException
  • out.defaultWriteObject()

18
Migration of JOnAS EB(1)
VM 1
Server
Container
EJBHome Skeleton
EJBHome
EJBHomeStub
Client
EB
EJBObjectStub
EJBObject Skeleton
EJBObject
19
Migration of JOnAS EB(2)
VM 1
Server
VM 2
EJBHome Skeleton
Container
EJBHome
EJBHomeStub
EB
Client
EJBObjectStub
EJBObject Skeleton
EJBObject
20
Migration of JOnAS EB(3)
VM 1
Server
VM 2
EJBHome Skeleton
Container
EJBHome
EJBHomeStub
EB
Client
EJBObjectStub
EJBObject Skeleton
EJBObject
21
Migration of JOnAS Remote
VM 1
VM 2
Server
Container
EB
EJBHome Skeleton
EJBHome
EJBHomeStub
Client
EJBObject
EJBObjectStub
EJBObject Skeleton
22
Migration of JOnAS Home
VM 1
VM 2
Server
Container
EJBHome
EJBHome Skeleton
EJBHomeStub
EB
Client
EJBObject Skeleton
EJBObjectStub
EJBObject
23
Conclusion and Future Work
  • ProActive provides a scheme to implement the
    migration of JOnAS EB and its Home and Remote
  • ProActive provides a method to dynamic deploy
    JOnAS EJB
  • ProActive provides an approach to give JOnAS
    activity.
  • Implementing the migration of Message-driven Bean
Write a Comment
User Comments (0)
About PowerShow.com