1
NPAC Tutorial on Use of Java in Computational Science 2
Agenda 3
Target Architecture 4
Part I 5
Web Portals 6
Examples of Portals 7
Example Portal: Netscape 8
PPT Slide 9
Portals are customizable 10
Special Portals -- Computing 11
Portals for scientific and engineering communities 12
PPT Slide 13
Seamless Access 14
Example: Globus 15
Towards a complete solution ... 16
PPT Slide 17
Target Architecture 18
Example of a portal 19
PSE Example: CCM IPSE 20
QS Front End 21
Building a Portal 22
Portal Building Blocks I 23
Portal Building Blocks -- Security 24
Portal Building Blocks -- Distributed Object Support 25
Basic 3 Tier Computing Model 26
Object View of running a program 27
Pragmatic Object Web Technology Model - I 28
Multi-Tier Client Server Service 29
Pragmatic Object Web Technology Model - II 30
Functionality of layers 31
Proxy -- Proxy -- Backend Capability 32
Basic Multi Tier architecture 33
Emerging Object Web Multi-Server Model 34
Multi-Server Web Computing System or Portal to Computing 35
Some caveats and comments 36
What does it take to Implement This 37
More details on the implementation 38
Implementation Continued I 39
Implementation Continued II 40
Implementation Continued III 41
Collaboration I 42
Collaboration II 43
Collaboration III 44
Collaboration and Portals I 45
Collaboration and Portal II 46
Part II 47
WebFlow design 48
A few words about CORBA 49
Distributed objects 50
How is this possible? 51
Example of IDL definition 52
We need more flexibility... 53
Event binding 54
Controlling a module 55
Adding a remote module 56
Back to WebFlow design 57
WebFlow Server 58
WebFlow Server 59
CORBA Based Middle-Tier 60
WebFlow Context Hierarchy 61
Gatekeeper 62
Middle-Tier modules serve as proxies of Back-End Services 63
Modules 64
Services 65
Example of a proxy module 66
WebFlow over Globus 67
Secure Access: terminology 68
Secure Access 69
Security Model 70
Distributed Objects are less secure 71
CORBA security is built into ORB 72
Authentication 73
Privilege Delegation 74
CORBA access model 75
Part III 76
Applications vary by the functionality of their Front-Ends 77
Applications vary by how they are composed from modules 78
The modules can interact with each other in different ways: 79
Applications vary on how the Front-End interacts with the Middle-Tier 80
Landscape Management System 81
LMS Objectives 82
LMS: Changes in Vegetation 83
LMS: Changes in Vegetation 84
LMS Front End 85
Data Retrieval 86
PPT Slide 87
WMS based Visualizations 88
Implementation of LMS 89
Running LMS 90
Client code 91
Interactions between components 92
Quantum Simulations 93
Quantum Simulations 94
QS: WebFlow implementation 95
PPT Slide 96
Implementation of QS 97
QS: Front-End 98
Building an application 99
Document Type Definition 100
Example XML document 101
Object Oriented Applications 102
Mobility System's Applications 103
Part IV 104
Target Architecture 105
Design Issues 106
Gateway Implementation 107
Gateway Implementation (2) 108
Gateway Implementation (3) 109
Gateway Implementation (4) 110
Front End 111
CTA specific knowledge database 112
Visual Authoring Tools 113
Example: Data Flow 114
Example: DARP 115
User and Group Profile 116
Resource Identification and Access 117
Front-End infrastructure 118
Front-End Support 119
User Context 120
PPT Slide 121
Control Applet 122
Screen Dump of the Control Applet 123
Navigator 124
PPT Slide 125
Problem description toolboxes 126
Code toolboxes 127
Resource Request Toolbox 128
File Formats I 129
File Formats II 130
Other toolboxes 131
ScienceML 132
Scientific Notepad 133
Middle-Tier 134
WebFlow Server 135
CORBA Based Middle-Tier 136
Back End 137
Back End Services 138
Gateway Security 139
Security Model (Keberos) 140
Building Gateway Components 141
Middle-Tier is given by a mesh of WebFlow Servers that manage and coordinate distributed computation 142
How to develop a Gateway component (or a toolbox) 143
How the Back-End interacts with the rest of the system? 144
Implementing Back-End Services 145
What does it take to develop a Gateway module (a proxy)? 146
Selecting a Predefined Task 147
Gateway/WebFlow Mission 148
Updates
Click outside pointer rectangle to move pointer
Click on Pointer to Hide
Click on Pointer + ALT to toggle message hiding
Click on Pointer + CNTL to abolish pointer
Click on Pointer + Shift to cycle families
Click outside + Alt is Change Image
Click outside + Control is Double Size
Click outside + Shift is Halve Size
Right Mouse Down on Pointer Toggles Index
Shift Right Mouse aligns top with scrolled Page While With Mouse Down on Current Pointer h hides This Message while m restores i Toggles Index Aligned with Page Top j Toggles Index Aligned with Scrolled View Top a Abolishes Pointer while CNTL-Click restores f cycles through pointer families c cycles through members of a family u increases Size Up and d decreases Down Mouse Up-Down between changes of Pointer to process new option