A&AI Component Diagram

Slides:



Advertisements
Similar presentations
Raptor Technical Details. Outline Workshop structured by Raptor workflow – Raptor Event model. – ICA log file parsing – ICA/MUA event storage – ICA event.
Advertisements

Chapter 18 - Data sources and datasets 1 Outline How to create a data source How to use a data source How to use Query Builder to build a simple query.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
UNIT-V The MVC architecture and Struts Framework.
Form Builder Iteration 2 User Acceptance Testing (UAT) Denise Warzel Semantic Infrastructure Operations Team Presented to caDSR Curation Team March.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Kenny Trytek Joe Briggie Abby Birkett Derek Woods Advisor: Simanta Mitra Client: Matt Good, Kingland Systems.
© 2007 by Prentice Hall 1 Introduction to databases.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
C6 Databases. 2 Traditional file environment Data Redundancy and Inconsistency: –Data redundancy: The presence of duplicate data in multiple data files.
New perfSonar Dashboard Andy Lake, Tom Wlodek. What is the dashboard? I assume that everybody is familiar with the “old dashboard”:
1 Chapter 20 – Data sources and datasets Outline How to create a data source How to use a data source How to use Query Builder to build a simple query.
CSC 520 – Advanced Object Oriented Programming, Fall, 2010 Thursday, October 14 Week 7, UML Diagrams
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
SDN-O LCM for Mercury Release Key Points and Overview
The Holmes Platform and Applications
Neo4j: GRAPH DATABASE 27 March, 2017
Illustrative Sequence Diagrams
Architecture Review 10/11/2004
Databases and DBMSs Todd S. Bacastow January 2005.
Microservice Bus Tutorial Huabing Zhao
In this session, you will learn to:
ONAP SDC VoLTE Model Support
Development Environment
Swagger-SDK ONAP Paris Developer Event 25 –
Android Content Providers & SQLite
Rob Cramer – BPM Practice Manager
OPEN-O GS-O Planning Mercury Release
MSB Integration Guide.
Project Center Use Cases Revision 2
Project Center Use Cases
MSB Integration Guide.
CLI PTL ONAP Paris Developer Event 25 –
MVC Architecture, Symfony Framework for PHP Web Apps
Swagger-SDK CLI PTL ONAP Paris Developer Event 25 –
Physical Data Model – step-by-step instructions and template
Project Center Use Cases
Database Management System
Openecomp Migration Proposals Catherine Lefèvre (AT&T)
Multi-VIM/Cloud High Level Architecture
Project Center Use Cases Revision 3
Project Center Use Cases Revision 3
VF-C R2 Feature Planning & Implementation Yan Yang
Migrating Oracle Forms Using Oracle Application Express
Usecase 1 – Upgrade Image
SDNC Roadmap Dan Timoney – AT&T Marcus Williams - Intel
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Design and Maintenance of Web Applications in J2EE
Introduction to Database Systems
Data, Databases, and DBMSs
ONAP Beijing Architecture Chris Donley 1/9/18
Chapter 2: System Structures
Lecture 1: Multi-tier Architecture Overview
Web Application Architectures
ARCH-1: Application Architecture made Simple
AWS Cloud Computing Masaki.
Software models - Software Architecture Design Patterns
TOSCA Native Service Orchestration SO State of the Union
Web Application Architectures
Agile testing for web API with Postman
…and web frameworks in general
ARC Alignment ExtAPI ExtAPI Team.
Implementing FOP Framework
NIEM Tool Strategy Next Steps for Movement
Adrian O’Sullivan and Marios Iakovidis
Web Application Architectures
SDC BL and Titan overview
ONAP Architecture Overview Template
SDMX IT Tools SDMX Registry
Presentation transcript:

A&AI Component Diagram Amsterdam Release Beijing Release AAI-Model Loader AAI-Sparky-FE AAI-Sparky-BE AAI-Babel Input Abstraction AAI-common AAI-Data Router Query Abstraction AAI-logging AAI-Gizmo AAI-Resources AAI-Traversal AAI-Search Data Svc CRUD End Points AAI-router-core AAI-rest-client AAI-Champ Database Abstraction Elastic Search + Graph Data Store

A&AI Components Component Description aai/sparky-fe aai/sparky-be A&AI User Interface Backend and Front-end aai/resources AAI Resources Micro Service providing CRUD REST APIs for inventory resources. This micro-service provides the main path for updating and searching the graph. aai/traversal AAI Traversal Micro Service providing REST APIs for traversal/search of inventory resources such as custom queries, model-based queries and named-queries. aai/data-router AAI Micro-service used to route AAI queries and event data to correct storage engine. Serves as a query abstraction point for clients, as well as a gateway. aai/search-data-service Abstraction layer for search engine, supporting queries and updates. Currently supports elastic-search, but has also been design with Solr support in mind. aai/model-loader Obtains SDC artefacts and loads them into the A&AI Resources service for storage. aai/gizmo CRUD Rest API endpoint for resources and relationships, delivering atomic interactions with the graph for improved scalability. aai/champ Abstraction from underlying graph storage systems that A&AI would interface with. aai/babel AAI Micro-service to generate AAI model XML from SDC TOSCA CSAR artifacts Other common library Other common-libraries provide API for logging, rest calls, annotations, core camel components for data router.

AAI Contribution to Release -I Features Added: Re-factoring of old code. aai-service is re-factored into aai-traversal, aai-resources and aai-common. Adding user-interface (UI) and search services aai-sparky-be /aai-sparky-fe – UI front end and UI back end. aai-data-router service to route the request from user interface to respective search or storage engine. aai-search data service (wrapper over elastic search) for user interface text search. Code Added: (Effective code < 100 KLOC including re-factored code) Java Code: Refactored :39 KLOC (aai-common – 22 KLOC, aai-traversal -10KLOC, aai-resources- 7K, auto-generated code – 30KLOC). New Code : 30 KLOC (aai-search-data-service – 7KLOC, aai-data-router – 3KLOC, sparky-be – 20KLOC). Front End Code: SASS + Java Script (12 KLOC) Others : YAML, XML, XSD, Maven – 350 KLOC, HTML – 568 KLOC (swagger, auto generated code)

AAI - Highlights AAI/SDC/VNFSDK – Community Notes for for past 2 weeks Discuss M4 milestone – Review today AAI-> VFC Schema changes SDC -> VNFSDK Integration AAI - Highlights Completed all the required checklist to pass M4 milestone for VNFSDK. Making even simple features to AAI, SDC code in the core flow is tedious job, as SDC and AAI teams are not allowing until and unless it is scrutinised by their experts. AAI team not allowing to make even simple changes to the AAI schema model for VFC. They are asking to add attributes in the existing schema and access them by changing Edge rules. Unless the experts in ECOMP agree, they are not allowing community to change. Experts are not bound to milestones of community or its requirements hence their response is slow. Same case with VNFSDK, SDC team not allowing to merge a single commit. After we have completed coding entire feature, they are getting it reviewed by UI experts and suggesting many changes. Other Observations: SDC team is planning to support Heat, TOSCA and any other format in their designer.

Modeling New Inventory Steps to add new inventory or adapt Open-O to ONAP: Add/update AAI schema file according to the requirements. Add Titan DB Edge Rules to the DBEdgeRules.java file. Write a client adapter to provide PUT/GET/SET for the new inventory. Follow synchronization rules to ensure latest data in AAI.

Domain specific attributes Separation of Domain specific attributes to DB related attributes Domain specific attributes DB related attributes AAI schema file: aai_oxm_v8.xml Edge Rules: DBEdgeRules.java Edge property Description From and To node types for the ends of the edges. Edge Label Name of the label within the graph Direction direction of the edge Multiplicity multiplicity rule between two nodes ParentOf indicates whether From is a parent of To UsesResource whether the From node uses resources of the To node. hasDelTarget specifies whether to try to delete the To node when the From node is deleted.

(ONE FOR ALL –ALL FOR ONE) AAI provides Common Generic Interfaces for all the ONAP modules (ONE FOR ALL –ALL FOR ONE) SDNC ServiceInstance requestServiceInterfaceData (String svc_instance_id) ; ……… …. boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request); SDNC-AAI Adapter AAI AAI-Resources (Update, Patch, Delete) AAI-Traversal (Get, Search) VFC ServiceInstance requestServiceInterfaceData (String svc_instance_id) ; ……… …. boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request); VFC-AAI Adapter APP-C void postGenericVnfData(Map<String, String> params, SvcLogicContext ctx) throws APPCException; void getGenericVnfData(Map<String, String> params, SvcLogicContext ctx) throws APPCException; APPC-AAI Adapter

Duplicate code and effort across adaptors. SDNC ServiceInstance requestServiceInterfaceData (String svc_instance_id) ; ……… …. boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request); SDNC-AAI Adapter AAI AAI-Resources (Update, Patch, Delete) AAI-Traversal (Get, Search) VFC ServiceInstance requestServiceInterfaceData (String svc_instance_id) ; ……… …. boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request); VFC-AAI Adapter APP-C void postGenericVnfData(Map<String, String> params, SvcLogicContext ctx) throws APPCException; void getGenericVnfData(Map<String, String> params, SvcLogicContext ctx) throws APPCException; APPC-AAI Adapter

Dis-advantages of AAI adapters across modules Duplicate code and effort across the adapters. In efficient code across adapters may cause bugs and issues with usage of AAI (Maintenance effort for AAI team). Usage of AAI will become complex as clients of AAI may need to re-invent the wheel to write adapters. Any change is AAI may need to be propagated across the modules.

Suggested design AAI AAI-Resources (Update, Patch, Delete) SDNC ServiceInstance requestServiceInterfaceData (String svc_instance_id) ; ……… …. boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request); AAI AAI-Resources (Update, Patch, Delete) AAI-Traversal (Get, Search) AAI maintains the ext/aai-adapter as a reference or default adapter. (SDNC adaptor has already seed code for this.) Any new client can chose to use the default adapter or write his own adapter. (after discussing with AAI team referring the default adapter code.) Client code becomes simple as the usage of AAI becomes less complex. AAI Adapter AAI Adapter APP-C void postGenericVnfData(Map<String, String> params, SvcLogicContext ctx) throws APPCException; void getGenericVnfData(Map<String, String> params, SvcLogicContext ctx) throws APPCException;