WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation...

15
WXXM Public Facing in a WXXM WXXM Public Facing in a WXXM Private Environment Private Environment AIXM/WXXM Conference AIXM/WXXM Conference Steve Olson Steve Olson Meteorological Development Laboratory Meteorological Development Laboratory Office of Science and Technology Office of Science and Technology NOAA NOAA s National Weather Service s National Weather Service August 30 August 30 - - 31 and September 1, 2011 31 and September 1, 2011

Transcript of WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation...

Page 1: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

WXXM Public Facing in a WXXM WXXM Public Facing in a WXXM

Private EnvironmentPrivate Environment

AIXM/WXXM ConferenceAIXM/WXXM Conference

Steve OlsonSteve Olson

Meteorological Development LaboratoryMeteorological Development Laboratory

Office of Science and TechnologyOffice of Science and Technology

NOAANOAA’’s National Weather Services National Weather Service

August 30August 30--31 and September 1, 201131 and September 1, 2011

Page 2: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

2222

Table of ContentsTable of Contents

•• AcknowledgementsAcknowledgements

•• Conceptual Model of NextGenConceptual Model of NextGen’’s 4s 4--D Weather CubeD Weather Cube

•• Accessing the 4D Weather CubeAccessing the 4D Weather Cube

•• Current MDL NextGen Web Services SetupCurrent MDL NextGen Web Services Setup

•• MDL NextGen Infrastructure supporting FAAMDL NextGen Infrastructure supporting FAA

•• What changes are required for MDL/NWS to support a What changes are required for MDL/NWS to support a

public facing side to Web Services?public facing side to Web Services?

•• Adding Security as a serviceAdding Security as a service

•• Public facing side to MDL's Web ServicesPublic facing side to MDL's Web Services

Page 3: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

3333

AcknowledgementsAcknowledgements

The following individuals have contributed The following individuals have contributed

significantly to this work:significantly to this work:

•• Mark OberfieldMark Oberfield

•• Daniel GilmoreDaniel Gilmore

•• James WantzJames Wantz

•• Po LiPo Li

Page 4: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

A Conceptual Model of the A Conceptual Model of the

44--D Weather CubeD Weather Cube

WIDB

CustomGraphicGenerators

CustomGraphicGenerators

Integration into User DecisionsIntegration into User Decisions

DecisionSupportSystems

DecisionSupportSystems

CustomAlphanumericGenerators

CustomAlphanumericGenerators

ObservationsObservations

NumericalModelingSystems

NumericalModelingSystems

StatisticalForecastingSystems

StatisticalForecastingSystems

NWSForecaster

NWSForecaster

ForecastingForecasting

Automated ForecastSystems

Automated ForecastSystems

Forecast IntegrationForecast Integration

4D Wx

SAS

RadarsRadars

AircraftAircraft

SurfaceSurface

SatellitesSatellites

SoundingsSoundings

Page 5: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

5555

Accessing 4Accessing 4--D Weather Cube D Weather Cube

Data is a 2 step ProcessData is a 2 step Process

1.1. ““Data DiscoveryData Discovery”” �� Registry/Repository Registry/Repository

(Reg/Rep)(Reg/Rep)

2.2. ““RetrievalRetrieval”” �� Data Access Service Data Access Service

(WCS/WFS/WMS)(WCS/WFS/WMS)

NWS offers Reg/Rep, WCS and WFS Web ServicesNWS offers Reg/Rep, WCS and WFS Web Services

Page 6: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

Current MDL NextGen Web Services Current MDL NextGen Web Services

SetupSetup

•• Registry/Repository (RegRep) Web ServiceRegistry/Repository (RegRep) Web Service–– ebXMLebXML--based app built by Wellfleet Softwarebased app built by Wellfleet Software

–– Uses ISO standards 19115 and 19139Uses ISO standards 19115 and 19139

–– License supporting clustered systems. Uses standard License supporting clustered systems. Uses standard port defined by NextGenport defined by NextGen

–– Clustered VM systems (VMware ESXi)Clustered VM systems (VMware ESXi)•• Dedicated and separate Postgres & RegRep VM clustersDedicated and separate Postgres & RegRep VM clusters

–– MDL has metadata for 28 NDFD and NDGD MDL has metadata for 28 NDFD and NDGD weather grids for our WCS, and a single weather grids for our WCS, and a single metadata for our WFS guidance TAFs.metadata for our WFS guidance TAFs.

Page 7: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

Current MDL NextGen Web Services Current MDL NextGen Web Services

Setup (ContSetup (Cont’’d)d)

•• Web Coverage Service Reference Web Coverage Service Reference Implementation (WCSRI)Implementation (WCSRI)–– JavaJava--based app built by NCAR featuring: Apache Fuse based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ (JMS), and database (postgres)Servicemix, ActiveMQ (JMS), and database (postgres)

–– Supports SOAP/RESTSupports SOAP/REST--based queries, http/https, based queries, http/https, pub/sub, KVP for getCapabilitiespub/sub, KVP for getCapabilities

–– Clustered VM systems (VMware ESXi)Clustered VM systems (VMware ESXi)

–– Load balancer in front of WCS services.Load balancer in front of WCS services.

Page 8: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

Current MDL NextGen Web Services Current MDL NextGen Web Services

Setup (ContSetup (Cont’’d)d)

•• Web Feature Service (WFS)Web Feature Service (WFS)–– JavaJava--based app built by LL/MIT featuring: Apache based app built by LL/MIT featuring: Apache Tomcat, ActiveMQ (JMS), and database (derby)Tomcat, ActiveMQ (JMS), and database (derby)

–– Supports SOAP/RESTSupports SOAP/REST--based queries, http/https, based queries, http/https, pub/sub, KVP for getCapabilitiespub/sub, KVP for getCapabilities

–– Single VM system (VMware ESXi)Single VM system (VMware ESXi)

Page 9: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

Current MDL NextGen Infrastructure Current MDL NextGen Infrastructure

supporting the FAAsupporting the FAA

•• Have a Have a dedicateddedicated subnetsubnet for for NextGen specific activities NextGen specific activities separate from the rest of separate from the rest of MDLNet infrastructureMDLNet infrastructure

•• MDL NextGen infrastructure MDL NextGen infrastructure currently only supports currently only supports connections to and from FAA, connections to and from FAA, GSD and AWC.GSD and AWC.

•• MDL NextGen communication MDL NextGen communication specifics:specifics:–– Use existing infrastructure to Use existing infrastructure to

peer to NOAANetpeer to NOAANet

–– Point to point connection from Point to point connection from NOAANet to FAA Research NOAANet to FAA Research Enclave covering 3 TCP port Enclave covering 3 TCP port rangesranges

–– 3 TCP ports are forwarded to 3 TCP ports are forwarded to internal NAT load balancer internal NAT load balancer service interface.service interface.

–– Firewall only allows specific IP Firewall only allows specific IP addresses to traverse through addresses to traverse through our infrastructureour infrastructure

–– XML Gateway protects the XML Gateway protects the application layer. application layer.

Page 10: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

NWS vision: Make 4D Weather cube NWS vision: Make 4D Weather cube

the new geospatial dissemination the new geospatial dissemination

methodmethod

•• ItIt’’s the NWS goal to leverage the 4D weather cube s the NWS goal to leverage the 4D weather cube concept (which has aviation focus) and apply it to concept (which has aviation focus) and apply it to ALL NWS products.ALL NWS products.

•• Make this the new method for public dissemination Make this the new method for public dissemination of geospatial data!of geospatial data!

•• MDL is paving the early way to support the public MDL is paving the early way to support the public facing sidefacing side

Page 11: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

How do we get there?How do we get there?

Public Facing Web Services RequirementsPublic Facing Web Services Requirements–– Extend NextGen 4D wxcube rqmt (aviation focused) to Extend NextGen 4D wxcube rqmt (aviation focused) to broader spectrum of MDL weather products.broader spectrum of MDL weather products.

–– Compartmentalize public facing system to allow for Compartmentalize public facing system to allow for segmenting from FAA/OPSnet network developed for segmenting from FAA/OPSnet network developed for NextGen.NextGen.

–– Different IP address than the FAA to expose for the Different IP address than the FAA to expose for the systems/services with separate routing and firewall systems/services with separate routing and firewall rulesrules

–– Use the XML Gateway to set up a virtual WSDL. The Use the XML Gateway to set up a virtual WSDL. The Gateway would then be capable of distinguishing FAA Gateway would then be capable of distinguishing FAA traffic from general public traffictraffic from general public traffic

–– Public systems must be unable to access FAAPublic systems must be unable to access FAA

–– Must be capable of supporting REST, SOAP and KVPMust be capable of supporting REST, SOAP and KVP--based queriesbased queries

Page 12: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

Adding Security as a ServiceAdding Security as a Service

• A vendor device that provides a central point for security, which means you can offload your security requirements for the applications

•• Can inspect and/or reject all requests and responses Can inspect and/or reject all requests and responses based on security criteria; such as virus scanning, known based on security criteria; such as virus scanning, known malicious content, sql injections, etc.malicious content, sql injections, etc.

•• Can provide load balancing, combine WDSLs, Can provide load balancing, combine WDSLs, redirection/translation of requests, user authentication, redirection/translation of requests, user authentication, encryption, document signing, document validation, etc.encryption, document signing, document validation, etc.

•• Add XACML access control policies (ACP) on RegRep Add XACML access control policies (ACP) on RegRep systemssystems

•• Juniper SSG security device capable of packet inspection Juniper SSG security device capable of packet inspection in place as firewallin place as firewall

• Fully FIPS 140.2 compliant

Page 13: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

The PublicThe Public--Facing side to MDLFacing side to MDL’’s s

Web ServicesWeb Services

•• New WCS/WFS virtual systems would be createdNew WCS/WFS virtual systems would be created

–– Have their own dedicated SANHave their own dedicated SAN

•• New VLAN and subnet createdNew VLAN and subnet created

•• New load balancer interface would be created on New load balancer interface would be created on

the new VLAN/subnetthe new VLAN/subnet

–– Existing RegRep servers and new WCS/WFS Existing RegRep servers and new WCS/WFS

servers would be available via this interfaceservers would be available via this interface

Page 14: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

What the public will seeWhat the public will see

•• Customers will connect to the DNS entry Customers will connect to the DNS entry

for mdlfor mdl--nextgen.nws.noaa.gov which will nextgen.nws.noaa.gov which will

point to the external IP point to the external IP

•• The ports for the services will be the only The ports for the services will be the only

exposure, which will actually be the load exposure, which will actually be the load

balancerbalancer

Page 15: WXXM Public Facing in a WXXM Private Environment...•Web Coverage Service Reference Implementation (WCSRI) –Java -based app built by NCAR featuring: Apache Fuse Servicemix, ActiveMQ

Proposed System Boundary Configuration Proposed System Boundary Configuration

Changes to support PublicChanges to support Public--Facing Web ServicesFacing Web Services