We proposed an evolutionary process of developing user-friendly visual component based authoring tools for HPCC by integrating the current C++ and coming Java based parallel object technologies via CORBA with the JavaBeans based visual component technologies.
|
Our proposed process starts from the existing parallel C++ object libraries and provides HP-ORBlet based interoperability with Java.
|
Next, the CORBA/Enterprise Beans based server/backend side component technologies are incorporated in the Java server and adapted to the HPCC needs within the emergent Java Frameworks for Computing.
|
Finally, the BeanBox based front-end visual tools provided by the industry are being linked via client-side ORBlets with the tier-2+3 components to offer visual authoring of HP-Components and HPCC applications.
|
Examples are given from DoE HPCC Technologies
|
We proposed an evolutionary process of developing user-friendly visual component based authoring tools for HPCC by integrating the current C++ and coming Java based parallel object technologies via CORBA with the JavaBeans based visual component technologies.
|
Our proposed process starts from the existing parallel C++ object libraries and provides HP-ORBlet based interoperability with Java.
|
Next, the CORBA/Enterprise Beans based server/backend side component technologies are incorporated in the Java server and adapted to the HPCC needs within the emergent Java Frameworks for Computing.
|
Finally, the BeanBox based front-end visual tools provided by the industry are being linked via client-side ORBlets with the tier-2+3 components to offer visual authoring of HP-Components and HPCC applications.
|
Examples are given from DoE HPCC Technologies
|
The goal of Advanced Computational Testing and Simulation Toolkit (ACTS) within the DoE2000 program is to integrate numerical, parallel, object and runtime libraries such as PETSc, POOMA, PAWS, Cumulvs and others.
|
FY'98 solicitation calls for extensions of ACTS to enable multi-language support and to enhance portability, functionality and interoperability of the object subsystems under development.
|
We observe that the current stage of the ACTS evolution can be viewed as moving form the specialized object to reusable component based programming.
|
We also note that a similar transition from object-oriented to visual components is already well advanced for PC desktop applications and is now being extended to the enterprise (hence naturally distributed) computing for the intranets and the Internet.
|
Large gains in HPCC user productivity will be attained if we can integrate the ideas and technologies of modern (PC) visual programming with classical HPCC approaches
|
Use of important emerging Web and CORBA technology allows HPCC object (C++.,Java) and visual (CODE, Hence, WebFlow, AVS, Khoros) systems to be enhanced to become parallel component-based visual programming systems.
|
CORBA does not incorporate HPCC but as it specifies services and not implementation, we assert that one can build a high performance HP-CORBA environment where we separate a high functionality modest performance control layer from an optional high performance method invocation layer.
|
HP-CORBA can be built on Nexus and Globus and it will allow HPCC users access to any CORBA service with an option for high performance when necessary.
|
The NPAC WebFlow technology can be combined with emerging JavaBean technology to produce a prototype HPcomponent system which can be used with DoE HPCC object based systems such as POOMA and PETSc.
|
We present the proposed process of integrating HPCC and Enterprise Computing technologies on 2-dimensional 3x3 chart, exposing the evolution of user and system perspectives on new computing technologies.
|
On the (vertical) system/complexity axis, we start from PC desktop and we evolve towards distributed and finally HPCC computing.
|
On the (horizontal) user/simplicity axis, we start from objects and we evolve towards reusable components and finally their visual development and runtime environments.
|
The first row on our char represents the already established PC technologies exemplified by systems such as Visual C++/J++, VBScript, Borland Delphi, Visual Cafe etc.
|
The second row corresponds to the emergent Object Web based Enterprise Computing that integrates Java/JavaBeans based component technologies with CORBA based distributed objects.
|
Finally, the third row represents our proposed HPCC extensions of these technologies in terms of HP-CORBA based HP-Components.
|
JavaBeans are Java objects with well defined methodology for providing hooks that enable design or even runtime composition.
|
Beans connectivity is implemented in terms of events, posted by the source beans and selectively delivered to the destination beans that expressed interest in specific event types.
|
Interests are expressed, either programmatically or dynamically in the design- or runtime, in terms of specialized objects - event listeners - that are created by (human or machine) bean connector and then specialized and registered with the destination beans.
|
Bean design patterns for naming accessor methods and other control elements provide a uniform support for dynamic bean manipulation both by programmers and by authoring tools (beanboxes).
|
At the moment, the most popular component technology at the PC desktop level comes from Microsoft in terms of OLE/ActiveX controls but the much more powerful and modern JavaBeans technology gains rapid acceptance by the software industry.
|
Beans can be manipulated programmatically but their most efficient use is within visual development or runtime environments.
|
A typical PC desktop example is a GUI builder in which both the control buttons and the application-specific computation and graphics modules are represented as beans and suitably positioned and connected in the visual interactive mode.
|
At the moment, JavaSoft offers a simple BeanBox called BDK but a broad suite of more sophisticated and powerful IDEs is under development by the Web industry.
|
Most notable BeanBox called InfoBus, developed by Lotus and used in their Kona product for Beans based electronic presentation tools will become part of future JDK releases.
|
Another interesting BeanBox technology called BeanConnect will be offered by Netscape and will provide HTML/JavaScript support for bean manipulation and connectivity.
|
Integration of JavaBeans based visual component- and CORBA based distributed object technologies will result in a new generation of visual authoring and runtime environments for distributed computing.
|
We expect a variety of specific models to appear soon, based on various distributed computing paradigm of relevance for the Object Web given on next foil
|
Such environments, provided by the Web Industry, will be naturally focused on Internet commerce, entertainment and distance learning.
|
HPCC will add optimized support for high performance time stepped simulations and will use commercial technologies listed above for authoring, control, monitoring, visualization, steering, etc.
|
client-server (i.e. embarrassingly parallel with visual icons representing Internet services)
|
collaboratory (single server and multiple clients with client-driven multicast channels)
|
push (single server and multiple clients with server-driven multicast channels)
|
dataflow (multi-server, data driven)
|
distributed interactive simulations (multi-server, realtime clock driven)
|
event driven simulations (multi-server, event driven)
|
televirtuality (multi-server, multi-client, client or server/agent-driven)
|
Based on DoE support, we developed at NPAC a 3-tier based visual dataflow authoring environment WebFlow that can be viewed as an early prototype of the emergent family of Object Web authoring systems.
|
WebFlow development started in '96, and hence in the pre-Beans, pre-ORBlets era but it contains nevertheless most aspects of the Object Web Architecture discussed above, emulated in terms of the JDK1.0 technologies and listed on next foil.
|
In the proposed system, we intend to use WebFlow prototype and augment it by the currently emerging technologies: JavaBeans for visual graph authoring, servlet based orblets for IOOP connectivity, and CORBA/Beans based (to be yet defined by OMG...) WebFlow module API.
|