There are two types of connections/bindings between (distributed) beans.
One is exactly same as normal bean: event binding and property change event
binding in which Webflow is delegating events. Other is
direct connection of beans to each other with CORBA Event Service
. In this connection, each bean has two channel, Input and Output event
channel and WebFlow establish connection betwee two beans by
chaining the output channel of source bean to Input channel of target
bean. In this way, event is delivered to
target bean by either pulling from input channel or calling push
method of target bean.
WebFlow also functions as gatekeeper to provide proxy objects for all
the remote objects which instantiated by other remote Webflow server. In
this way, user can access the remote objects even
trough Applet.Webflow has standard API which can be called by either
application or any visual bean development tool (BDK). In this way,
user can link together local JavaBeans and distributed Beans.
The more interesting and challinging is to customize the distributed
bean without instantiating it with
using CORBA Property Service which provides the user to associate the
any attribute for any corba Object. When user completed cutomization, he
can instantiate the bean and apply all the properties he
prepared before.
Webflow server keeps all the objects it created and connections between
them. So actually it is the container which holds the containees
(components or beans which is local or distributed). If it creates the
proxy for local beans in addition to remote ones, the object reference
of any bean which is supported (or which has proxy inside the WebFlow
server) can be requested. Therefore we can increase the supported
interfaces(beans) dynamically without changing previous one. What does
it provide to us?
It will give the benefit of putting WebFlow Server as a bean.
Keeping Sessions: Keeps session information for each user
in NS(Name Server). Gives all logged users and their running modules.
Architecture of new WebFlow
Event Binding when two modules are on same WS
Event firing bewtween two JavaBeans M2 and M4 inside
same JVM and
JavaBeans M5 and M8 within different
JVMs