Given by Tom Haupt at ASC Gateway Project Review Wright Technology Network Dayton on July 22 99. Foils prepared Aug 21 99
Outside Index
Summary of Material
Middle Tier Part of Gateway review |
See also Agenda and Gateway Project Overview for backend and Overall Structure |
and {ccmgatewayreviewjuly99)() for frontend |
First part of Talk describes Overall architecture and XML Interfaces |
Second part Current Implementation and Schedule |
Outside Index Summary of Material
Problem |
Description |
Resource |
Description |
Results |
Resource |
Allocation |
Resources |
User |
W. Asbury - K. Flurchick - G. Fox - T. Haupt |
Gatekeeper |
PSE: |
- Define problem - Select code(s) |
- Set parameters |
- Generate input files |
- Identify hosts capable to run it |
Select resources (e.g., hosts) |
Allocate resources (submit jobs) |
Postprocess results |
Navigator |
Control |
Applet |
Resource |
Descriptor |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
<param name="name" value="value"> |
<user profile id="user id"> |
<param name="name" value="value"> |
... |
- Essentially, a hashtable. |
- Each component of Gateway can add new parameters, and access them at later time. |
- A parameter can be a link to a structured document such as list of Job Descriptors or Result Descriptors |
</user profile> |
Problem Descriptor is CTA dependent, |
and it is defined by a specific PSE. Hopefully, we will be able to identify cross-CTA commonalties of its structure. |
<abstract resource id="ahostid"> |
<application id="aapplication id"> |
<task id="taskid"> |
Textual task description |
</task> |
<abstract task descriptor id="atdid"> |
</abstract task descriptor> |
<task taskid="taskid">...</task> |
<connection>...</connection> |
Object Oriented |
<task descriptor id="tdid"> |
<resource id="resource id"> |
<application id="application id"> |
<task id="taskid"> |
Textual task description |
</task> |
</task descriptor> |
<task taskid="taskid">...</task> |
<connection>...</connection> |
Abstract |
Task |
Descriptor |
Task |
Descriptor |
Resource |
Broker |
<abstract task id="atdid"> |
Task |
Job |
Job |
Job |
Job |
processes |
descriptors |
<job descriptor id=job id> |
<task descriptor id=tdid /> |
<job id=jobid> (Gateway) as many as needed |
<job application = application id /> |
<job id=jobid /> (System) |
<job status=pending|running|completed|aborted /> |
<time submit=time start=time end=time /> |
</job> |
</job descriptor> |
Defined in application |
typically non persistent |
Results 1 |
Results 2 |
Results n |
Storage |
Results |
Results |
Results |
<result descriptor> |
<task id = "tdid"/> |
<job id = "jobid"/> |
<file id="fileid"> (as many as needed) |
</file> |
maintains applications descriptors read/write access to User Profile and Resource Descriptors secure communication with front-end (html forms, results) maintains its state as Problem Descriptor generates Abstract Task Descriptor |
well advanced |
to be completed by August 31 |
to be validated and refined as needed |
Tomasz Haupt (NPAC) |
Erol Akarsu, Alexey Kalinichenko, Farhad Mamedbekov, Choonhan Youn (Syracuse University students) |
Front End |
User Context WebFlow Slave Server |
Backend Resource |
Gatekeeper: |
WebFlow Master Server Web Server Proxies |
Backend Resource |
Backend Resource |
Backend Resource |
Backend Resource |
Distributed |
Middle-Tier |
Invokes methods of the control applet |
Middle Tier |
SECIOP secure (kerberized) connection |
Select tools |
Select PSE |
Navigate through PSE |
Access to Middle Tier Services |
Web Browser |
Java Console displays output generated by the control applet |
Control Applet |
Gateway Navigator frame |
HTML form demonstrating various |
form elements |
By clicking the "forward form" button the data collected from user through the HTML form |
are sent to the applet to be forwarded through CORBA secure channel to the middle tier |
Displaying html data sent through the secure CORBA channel not tested, and no problems are anticipated |
Support for "third-party" html data:
|
Support for desktop applications
|
Gateway Navigator yet to be designed and implemented
|
Functionality of the control applet to be agreed upon
|
Status: (beta) implemented and deployed at OSC Next: simplification of installation, fault tolerance (by October 31) |
Master Server can be controlled remotely; simplifies configuration Security: cannot use the secure CORBA channels before ORB started! |
Status: |
User authenticates with |
- cleartext password |
- digital certificate |
User context created using |
- telnet (cleartext password) |
- kerberized rsh (server's ticket) |
Target: |
client generates TGT forwarded to the server through CORBA security service |
(by August 30, pending secure CORBA installation) |
The user creates secondary contexts, and navigates between them using the control applet |
Status: support fully implemented |
File service (status: well advanced)
|
Job services (well advanced with PKI-GLOBUS/PBS)
|
Object Services (status: well advanced)
|
Database services (status: under development, Oracle 8 at NPAC)
|
Mass storage services (status: planned) |
Visualization (status: under design) |
Collaboratory (status: under design) when needed? |
File, Job, Object Services: by August 31 |
Database and simple visualization: by September 30 |
Installation at ASC: by July 31 |
Evaluation of Adiron's CORBA security services and kerberization of Gateway: by August 31 |
Complete (beta) implementation of File, Job, Object services and user/group profile(s) by August 31 |
Integration of WebFlow with PSE (non-kerberized) by August 31 |
Specification of API by August 31 to be refined later |
Integration with CCM PSE (non kerberized) by August 31 |
Beta (kerberized) installation at ASC by September 30 including database and simple visualizations |
SC'99 demo completed by October 31 |