NOAA NextGen System of Systems ( SoS ). Chris Kuruppu NWS Office of Science and Technology Systems Engineering Center (Skjei Telecom) 10/6/09. Assumptions. The SoS approach has been chosen as the best engineering approach as seen in documents such as: NextGen Weather Plan – NEWP
NOAANextGen System of Systems (SoS) Chris Kuruppu NWS Office of Science and Technology Systems Engineering Center (Skjei Telecom) 10/6/09
Assumptions The SoS approach has been chosen as the best engineering approach as seen in documents such as: • NextGen Weather Plan – NEWP • “Develop a new weather data distribution architecture, leveraging net-centric standard and existing architectures” • NextGen Air Transportation System Weather CONOPS • 4-D Weather Functional Requirements for NextGen Air Traffic Management • JPDO NextGen CONOPS • NextGen WIDB – IT Needs
SoS Fundamentals A System of Systems.... • Has operationally independent elements. • Component systems are useful in their own right. • Has managerial independent elements. • Component systems maintain current operations independent of the SoS. • Has evolutionary development. • A SoS is scalable. • Has emergent behavior • The SoS performs functions that do not reside in any one component system.
SOA Concepts Service Oriented Architecture (SOA) represents a model in which logic is decomposed into smaller, distinct units of logic. • These ‘distinct units of logic’ are ‘services’ in an SOA context. • Services are made discoverable by the Registry / Repository by their WSDL Service Description and associated metadata.. • Users/Systems discover services (to obtain products/data) by querying the Reg/Rep.
Web Services Basics Web Services is fundamentally comprised of the following technology/standards. • XML – eXtensible Markup Language is a set of rules for electronically encoding documents. • SOAP – Simple Object Access Protocol is a specification for exchanging structured information. • HTTP – HyperText Transfer Protocol is an application- level protocol (from OSI network stack model). • WSDL – Web Services Description Language is an XML- based language that provides a model for describing Web services.
Web Services Basics cont... XML • Popular standard format for the exchange of data and documents. • Underlies SOAP and WSDL. • Platform independent. Example Code:
Web Services Basics cont... SOAP • XML-based messaging specification. • Known XML format. • Utilizes HTTP POST/GET as underlying transport protocol.
Web Services Basics cont... HTTP • Utilizes request methods to indicate the desired action to be performed on the resource (URL). • HTTP GET request retrieves a resource from a server. • HTTP POST request is used to send data to a server to be processed in some way.
Web Services Basics cont... WSDL • XML-specification used to describe ‘services’. • Provides description of service interface, and information on where to find the service on the network (URL). • Describes two aspects of a service: Abstract interface and Concrete Implementation. • Abstract Interface – describes general service structure (operations, operation parameters). • Concrete Implementation – binds the abstract interface to a network address, communication protocol, and data structures. i.e. concrete implementation binds the service and invokes its various operations.
Web Services Basics cont... Web Services offer a connection technology. • Platform to connect the ‘services’ in an SOA For example, Web Coverage Service (WCS).. -Has 3 types of requests: • GetCapabilities– Service metadata (XML doc) • DescribeCoverage– Full description of one or more coverage (XML doc) • GetCoverage– One coverage (known format) -Uses HTTP POST/GET to connect to a service (which has an associated URN/URI/URL)
What are Services? Services encompass logic. • Services can cover a varying amount of logic (ie. business rules, or something much smaller). • Very similar to ‘objects’ in Object Oriented Programming (OOP). • SOA is an alternative way of organizing code, based on services instead of a hierarchy of objects. Services are autonomous. • Services are self-governing/stand-alone. Services share schemas and contracts, not classes and types. • Services are designed to exchange contracts for behavior and XML schemas for data structure.
What are Services? continued.. Services need to have explicit boundaries. • To maximize code reuse and sustain service longevity. • Services that have overlapping logic can potentially lead to circular dependencies. • Ties to services being ‘loosely-coupled’.
Services continued.. Physical Connection Exists Return Services needed to get data Registry / Repository Service A Service B PublishService Descriptions / Metadata for A,B,C Query for Data System 1 User Invokes Services to get data User Requested Data Services A,B,C via physical connection Service C
Services continued.. PublishService Descriptions / Metadata System 1 User Requested Data PublishService Descriptions / Metadata Query for Data System 4 System 2 Registry / Repository Return Services needed to get data User Invokes Services to get Data User Requested Data System 3 PublishService Descriptions / Metadata
How does it all fit together? An SOA is an approach to a SoS architecture. Legacy systems? • Implementing a service-oriented front end (Edge Servers) for a legacy system will expose that same business logic to an entirely new set of applications/data. New systems and legacy systems can leverage each other’s functionality through the SOA implemented by Web Services (essentially the SoS). • Instead of many point-to-point links, systems are network-enabled.
Thanks for listening... ...Questions/Discussion?