AWIPS II Thin Client Development

trexpeeverΛογισμικό & κατασκευή λογ/κού

13 Δεκ 2013 (πριν από 3 χρόνια και 11 μήνες)

1.575 εμφανίσεις


AWIPS II Thin Client Development

Jebb Stewart


NOAA/ESRL/GSD

Affiliated with Colorado State University


Cooperative Institute for Research in the Atmosphere (CIRA)

September 29th

Earth System Research Laboratory

Global Systems Division

Technology Outreach Branch

Project Overview


Thin Client OSIP Documents at Gate Three


AWIPS II Thin Client Analysis and Evaluation



GSD AWIPS II Thin Client Development
-

2

Development Objectives


Extend CAVE to support:


Center Weather Service Units (CWSUs)


Weather Service Offices (WSOs)


Incident Support Specialists (ISS) including
Incident Meteorologists (IMETs)


NCEP Centers to partially support Continuity of
Operations Planning (COOP)


River Forecast Centers (RFCs)


GSD AWIPS II Thin Client Development
-

3

Development Objectives
(Continued)


To enable Common AWIPS Visualization Environment (CAVE) to
work outside local area network.



Add Windows OS Compatibility



Low bandwidth and capability to work on any type of internet access
(satellite/BGAN, wireless, local network) requirements.



Many base requirements have been pulled from FX
-
Net program.



Thin Client Requirements document contains many more.

GSD AWIPS II Thin Client Development
-

4

Results From Analysis


Analysis was performed on new versions of CAVE as they were
released. Last in depth analysis was R1G1
-
3.



Basically Functionality (ie Weather “Browsing”) works.



Some Missing Requirements.



Performance Problems within Windows Environment need to be
resolved.


GSD AWIPS II Thin Client Development
-

5

AWIPS II Remote Mode


AWIPS II has built in capability to run in “Remote” Mode



“Remote” mode no longer requires HDF5 file mount and
accesses all data through HTTP



To enable “Remote” mode.


Add or uncomment line “
awips.mode=client



In regular CAVE installation



{CAVE_INSTALLATION_PATH}/configuration/config.ini


In ADE


com.raytheon.viz.product.awips
-
> config.ini



GSD AWIPS II Thin Client Development
-

6

AWIPS II Remote Mode

Ports Required

Service Name

Port

Number

Capability

Localization Service

9581

This service is used to load
localization configuration
during startup and requests
for data. (
Required
)


Messaging Service
(AMQP)


5672


This service feeds product
meta information such as
product inventory and new
product notification.



Remote Access Gained using either SSH Tunnels or VPN
connection

GSD AWIPS II Thin Client Development
-

7

Possible Client Types Explored

AWIPS 2 Built and optimized on Linux. How do we provide a
multiple OS solution?

Virtual Desktop


A remote desktop capability using NoMachine (NX) technology
where CAVE runs on a remote server and user views the screen as
it changes (similar to a streaming movie).


Virtual Machine


On client hardware, A virtual machine is running an instance of
Linux operating system using VirtualBox software. CAVE runs
natively on Linux OS within Virtual Machine and is viewed on client.


Native Windows


CAVE runs natively on Windows operating system

GSD AWIPS II Thin Client Development
-

8

Pros

Cons

Risks

Proposed Action



CAVE running in Linux native
mode. (No porting necessary)


ln攠e敬e
-
歮潷n qCm⽉m
p潲琠
E卓䠩e


卩mp汥lu
-
坩td潷猠c汩敮琠
interface.


Minimal systems administration
support required.


bf晩c楥i琠b慮d睩d瑨 u瑩汩ta瑩潮t



m敲c敩e敤 p敲e潲m慮c攠
楳⁨楧i汹ld数敮d敮琠
up潮one瑷潲欠
av慩污扩汩瑹.


䡡edw慲攠mus琠獣慬攠
with number of
connected clients.



o敱u楲敳eh楧i ne瑷潲欠
av慩污扩汩瑹.


o敱u楲敳e慤d楴楯湡氠
h慲dw慲攠e潳琠潮o獥sv敲e
獩摥s


噩s敯ed物r敲ec潭oa瑩t楬楴礠
E汯眠物r欩.



bv慬aat攠獩湧汥 c汩敮琠
楮it慮c攠e潡搯o敭慮d
牵rn楮i 潮o潮攠獥sv敲.


bv慬aat攠mu汴楰汥lc汩敮琠
楮it慮c敳e牵rn楮i 潮o潮攠
server.


Evaluate other scalability
options (cloud, etc.).


bv慬aat攠k堠w敢 c汩敮琮


s敲楦礠pr潰敲o癩摥漠d物r敲献

Virtual Client

GSD AWIPS II Thin Client Development
-

9

Pros

Cons

Risks

Proposed Action



CAVE running in Linux native
mode. (No porting necessary)


Av慩污扬a 潮omu汴楰汥l
潰敲a瑩t朠syst敭s


卯m攠汩湥 潦晩o敳e慬a敡e礠u獥s
瑨楳i獯汵l楯n f潲 A坉m匠p
-

D/2D with effective results and
minimal logistical impact.



Unknown
additional
security requirements
for two operating
systems running on
one machine
.


lp敮䝌d獵sp潲琠
m楮業慬a楮⁖楲瑵慬a
Machine software.


Poorest performance
of all offered solutions.



Security
may restrict
access to one or both
TCP/IP ports.


啮de晩n敤 獥su物瑹r
p潬楣礠f潲 癩v瑵慬a
m慣h楮i 潮o坩td潷献


Users
’ need
administration expertise
for virtual machine



Assess TCP/IP port
hardening issues.


䑥t敲e楮i kt匠獥su物瑹r
p潬楣楥献


c敡獩e楬楴礠ev慬aa瑩潮
.



䵯湩M潲 lp敮 䝌d
development in Virtual

Machine software.

Virtual Machine

GSD AWIPS II Thin Client Development
-

10

Pros

Cons

Risks

Proposed Action



Native binaries mean best
performance of all evaluated
options.


k漠䱩iu砠syst敭
慤m楮楳瑲a瑩潮tn敥d敤 潮o
c汩敮t
-
獩摥s



Modifications and

optimization required
to run in Windows
Environment.


b慣h ne眠v敲獩sn 潦
CA噅 n敥d猠t漠o攠
m潤楦o敤

t漠獵op潲琠
Windows OS
Environment.




Third
party tools / APIs
may need
porting/testing.


䅬A q敳琠C慳敳ama礠n敥d
t漠o攠ee
-
r慮

楮i坩td潷猠
䕮癩v潮o敮t




Assess TCP/IP port
hardening issues.


䝡瑨敲er敱u楲敭敮瑳tf潲
瑨楲d
-
p慲瑹at潯汳
.

Native Windows

GSD AWIPS II Thin Client Development
-

11


Client Type


Security Impact


Failure Impacts


CWSU Use Case

(
High Availability/High
Speed)


WSO Use Case

(High
Availability/Moderate
Speed)


IMET Use Case

(Moderate
-
Low
Availability/Moderate
-
Low
Speed)


Virtual Client



Low


Moderate
(3 points of
failure):

-
Virtual Client.

-
CAVE client.

-
EDEX Server.


No


Yes


No


Virtual Machine



Moderate


High (4 points of failure):

-
Virtual Machine.

-
Platform


VM
interface.

-
CAVE client.

-
EDEX server.


Yes


Yes


No


Native Windows



Moderate


Low (2 points of failure):

-
CAVE client

-
EDEX server


Yes


Yes


Yes

Use Case Matrix

GSD AWIPS II Thin Client Development
-

12

Porting To Windows

Items Required


Need proper Eclipse environment. 3.4.1



Setup Python 2.6


Including additional support libraries (NUMPY, SCIPY,
etc…)


Verify libraries available in site
-
packages on Linux



Setup JAVA, 1.6 Plus Additional Libraries


Java Imaging, Java imaging IO, JAVA 3D.



Modifications to code


Path Problems (“C:
\
\
users
\
jstewart
”) incorrectly appended to all file paths


Newer JEP version slightly different API.


Script Template Path Problems



Native Library Support


libmeteolib

(Contouring), JEP (Python
interaction).


Used
Cygwin

to recompile missing native libraries


GSD AWIPS II Thin Client Development
-

13

Porting to Windows

Issues


OpenGL/Graphics Card interaction messy, refreshing canvas
problems.



Delay problems. Items behind the scenes take longer than on
Linux and using client without waiting results in errors.



UI (Creating widgets, alerts) needs additional work.



GSD AWIPS II Thin Client Development
-

14

Porting to Windows

Future Items


As new releases are created, need to verify portability of
changes.



Any extensions created may require additional porting if not
100% java.



Only Basic Functionality has been tested on Windows OS,
Other tools (ie GFE …) require further testing







GSD AWIPS II Thin Client Development
-

15

Other Thin Client Development


Improve bandwidth utilization by using compression on Thrift
objects.



Google Earth Export.



Other Missing Requirements.


GSD AWIPS II Thin Client Development
-

16

Questions?


Discussion

GSD AWIPS II Thin Client Development
-

17