Presentation is loading. Please wait.

Presentation is loading. Please wait.

Weekly OpenADE Meeting Notes Tuesday, February 4, 2014.

Similar presentations


Presentation on theme: "Weekly OpenADE Meeting Notes Tuesday, February 4, 2014."— Presentation transcript:

1 Weekly OpenADE Meeting Notes Tuesday, February 4, 2014

2 OpenADE Task Force Topics Issues Raised and Implementation Questions – How to use BR=bulkID with application to account and account groupings, as well as, large ThirdParty collections of Authorizations. – Service Request 83 – including Function Block for optional customer info (service point address, etc.) – Service Request 84 – having scope selection screen on Data Custodian Site vs 3 rd Party site – Service Request 85 – Duplicating TOU and CPP from ReadingType to IntervalReading as in SEP 2.0 New Resources for OpenADE Exchange requested – Tariff Model Resource – Customer Information Resource Green Button Connect My Data Testing and Certification – Complete function block descriptions – Complete test case requirements

3 Proposed CMD Function Blocks FunctionBlocks for Green Button Connect My DataDescription [FB_3] Core Green Button Connect My DataCore Services [FB_13] Security and Privacy classesHTTPS support [FB_14] Authorization and Authentication (OAuth)Oauth [FB_19] Partial update dataIntervalBlocks without full data sets (Ups,MR, …) [FB_31] Core Rest ServicesThird Party Access to Subscription/Authorization [FB_32] Resource Level RESTThird Party Access to UsagePoints, MeterReading, … and collections [FB_33] Management REST InterfacesGET PUT POST DELETE individual resources … [FB_34] SFTP for BulkOptionally support the SFTP delivery of Bulk for Bulk request [FB_35] REST for BulkSupport the REST request for Bulk [FB_36] Third Party (Client) Dynamic RegistrationUse Case 1 [FB_37] Query Parameters [FB_38] On Demand RequestsWithout Notification [FB_39] PUSH modelNotification followed by GET [FB_40] Offline Authorization to Complement OAuth NEED to Discuss [FB_42] Third Party Core REST Services [FB_43] Third Party Management REST Services [FB_xx] Not a Function Block (Implementation Specific)Implementation Specific RESTful API

4 Draft of API Allocations to FBs Function BlocksCRUDAPI URL [FB_3] Core Green Button Connect My DataGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ReadServiceStatus [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ApplicationInformation/{ApplicationInformationID} [FB_31] Core Rest ServicesPUThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ApplicationInformation/{ApplicationInformationID} [FB_31] Core Rest ServicesDELETEhttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ApplicationInformation/{ApplicationInformationID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Authorization/{AuthorizationID} [FB_31] Core Rest ServicesPUThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Authorization/{AuthorizationID} [FB_31] Core Rest ServicesDELETEhttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Authorization/{AuthorizationID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Batch/Subscription/{SubscriptionID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Batch/RetailCustomer/{retailCustomerID}/UsagePoint [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Batch/RetailCustomer/{RetailCustomerId}/UsagePoint/{UsagePointId} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/ElectricPowerQualitySummary [FB_31] Core Rest ServicesGET https://services.greenbuttondata.org/DataCustodian/espi/1_1/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/ElectricPowerQualitySummary/{Electri cPowerQualitySummaryID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/ElectricPowerUsageSumary [FB_31] Core Rest ServicesGET https://services.greenbuttondata.org/DataCustodian/espi/1_1/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/ElectricPowerUsageSumary/{ElectricP owerUsageSummaryID} [FB_31] Core Rest ServicesGET https://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/MeterReading/{MeterReadi ngID}/IntervalBlock [FB_31] Core Rest ServicesGET https://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/MeterReading/{MeterReadi ngID}/IntervalBlock/{IntervalBlockID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/LocalTimeParameter [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/LocalTimeParameter/{LocalTimeParameterID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/MeterReading [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/MeterReading/{MeterReadingID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/MeterReading [FB_31] Core Rest ServicesGET https://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}/MeterReading/{MeterReadi ngID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ReadingType [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ReadingType/{ReadingTypeID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Subscription/{SubscriptionID} [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/RetailCustomer/{RetailCustomerID}/UsagePoint [FB_31] Core Rest ServicesGEThttps://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/RetailCustomer/{RetailCustomerID}/UsagePoint/{UsagePointID}

5 Scope TermExpansion Scope [ FBTerms ], [ ValueTerms ], [ ResourceTerms ]; FBTermsFB=, { [FBTerm], _}, FBTerm, ScopeDelimiter ; FBTerm4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 27 | 28 | 29 ValueTerms{ ( "IntervalDuration=", nonNegativeNumber | namedFrequency), | ( "BlockDuration=", nonNegativeNumber | namedFrequency), | ( "HistoryLength=", nonNegativeNumber), | ( "SubscriptionFrequency=", nonNegativeNumber | namedFrequency), ScopeDelimiter }; ResourceTerms { (ApplicationInformation, | Authorization, | UsagePoint, | IntervalBlock, | MeterReading, | ElectricPowerQualitySummary, | ElectricPowerUsageSummary, | ReadingType, | Subscription, | LocalTimeParameters, | (BulkAccountCollection=, nonNegativeNumber) | BR=, brID), ScopeDelimiter} ScopeDelimiter; namedFrequencybillingPeriod | daily | monthly | seasonal | weekly | nonNegativeNumberdigit, { digit }; digit0 | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; Where: ResourceTerms The ESPI resource – default is Subscription. If a Bulk resource is specified via the BR term, the value of the {bulkID} is provided after the equals sign (=). There could be one or more terms in this list that express the granularity of notifications about resource changes. FBTermsThe function blocks supported (only data content FBs are listed) ValueTermsThese are parameterized terms IntervalDurationThis is the minimum default length of an interval in seconds (e.g. 900 for 15 minutes, 3600 for one hour, …) BlockDuration This is the length of a block that contains the intervals (based on enumeration of MacroPeriodKind in ESPI above as namedFrequency) HistoryLength This is the length of history buffer of records in number of Interval Blocks (e.g. 12 for a year if BlockDuration is monthly). Note: this is what the DataCustodian offers; however, the buffer may not be full for transitional metering systems; in these cases less data will be returned until the buffer is full. BulkAccountCollection Used where the DC wants to provide for the reporting of multiple UsagePoints in a single Subscription. The number of UsagePoints is represented by the value in the assignment statement – e.g. 4 UsagePoints would be BulkAccountCollection=4.

6 Older or other slides Will build deck with new content over time.

7 Green Button Connect My Data Testing and Certification Complete function block descriptions – Current: [FB_3] Green Button Connect My Data [FB_13] Security and Privacy classes [FB_14] Authorization and Authentication (OAuth) [FB_19] Partial update data – New?: Core Rest Services – GET Batch/Subscription – … Resource Level REST – GET PUT POST DELETE individual resources … SFTP for Bulk REST for Bulk Use Case 1: Client Registration Query Parameters On Demand Requests (as opposed to Notification followed by GET) PUSH model Offline Authorization to Complement OAuth – should this be outside the scope of standard and testing or standardized? – No standard isolated way to get the token to a third party without OAuth – On exceptional basis some customers cant be required to use a web account – Sometime commercial accounts dont need privacy and want a service provider just to register the data. – Could use Notification service to tell TP about new authorizations made by DC. Out of band how RetailCustomer is identified to the TP – transitive model TP gets bulk data from DC and then becomes DC – can this architecture be of help here? – Possible provision by DC of access token for conveyence to thirdparty devoid of customer information. Maybe even encrypted for TP as in software activations: » Please provide this to your TP (the text between the ====) » ============================================= » ashoiqwherfhdjnvcjq2dhijvkqnvoiikdfv » =============================================

8 Questions retailCustomerID=authorization=subscription – Corresponds to a single authorization – Results in one or more usagePoints being associated with subscription – Scope= FB=4,5,15;IntervalDuration=3600;BlockDuration=monthly;HistoryLen gth=13;BulkAccountCollection=10 Says that the BulkAccountCollection has 10 usage points Authorization provides two URIs that can be used: resourceUri GET this to retrieve usage data (all UPs) authorizationUri GET/PUT details of Authorization Notification is a list of URIs All nested resources under the UPs are accessible under the single authorization

9 Service Request 83 – including Function Block for optional customer info (service point address, etc.)

10 Service Request 84 – having scope selection screen on Data Custodian Site vs 3 rd Party site

11 [85] Time of Use tier indicator alignment with SEP 2.0

12 Here is a list of topics raised by you all that we will touch on Issues Raised and Implementation Questions – How to use BR=bulkID – relates to HD #61 – Service Request 83 – including Function Block for optional customer info (service point address, etc.) – Service Request 84 – having scope selection screen on Data Custodian Site vs 3 rd Party site – Tariff Model Resource Green Button Connect My Data Testing and Certification – Complete function block descriptions – Complete test case requirements

13 How to use BR=bulkID – relates to HD #61 Application Profiles – BulkID was proposed for large sets of authorizations – One account level authorization on top of service level accounts – how to do this Degrees of freedom we have now – can we cover – Subscription – 1 or more Usage Points Granularity of a customer authorization – BulkID macro for a large set of existing authorizations – Is there another degree needed?

14 Contributed by Jerry Yip Clarification/confirmation about ESPI standard: Does shared resource key referenced in the NAESB Ratified word doc correspond to Access Token for oAuth? Yes: This is the access token in the new Oauth 2.0 paradigm. Formal Submission of Application Profile for bulk (vs. batch?) use case as part of GB/GBC Conformance Testing Plan Write up coming to test concept of BulkIDs Question: (options to address 1 Acct to many SA issue) - Does UUID correspond to usage point (1-to-1 relationship)? Is there passing of UUIDs (as resource terms in Scope section of GBAuthorization) during authorization sequence? (how would 3 rd Party know multiple usage points have been authorized via single oAuth sequence/login?) - Can multiple access tokens be issued (1 token per SA) per oAuth session? An Authorization is one access_token How does Third Party get to know the depth of data (how many Ups) are in the authorization Perhaps an extension of scope string to have numUPs? Request to consider scope selection screens at Data Custodian Portal instead of 3 rd party portal (Need customer to select SAs to share – only Data Custodian has that info) – also minimizes number of redirects (?) Customer info as optional functional block (atom feed) for authorization (sharing with 3Ps) John suggests – prep a large multi account data set and test against a reference sw implementation and measure. SFTP and Streaming, compressed and non-compressed method and compare.

15 =

16 How to use BR=bulkID with application to account and account groupings, as well as, large ThirdParty collections of Authorizations Establish Use Case Story for Commercial Accounts Design Scope String(s) that convey it Repaint the storyboard with appropriate content

17 Application Profile Per footnote 1, pg 20 of GBAuthorization.doc: – A Web Customer may actually manage more than one Retail Customer where Retail Customer is an actual Customer Account. Thus identifying the specific Retail Customer may be part of the scope selection on both sides. The scenarios in this section refer to the Retail Customer for simplicity. Suggest: new FB or Application Profile to properly capture this scenario [FB_31] Web Customer Manages Multiple Customer Accounts (OR: 3.9 Application Profile) For GBCMD, this FB/AP contains tests associated with a Web Customer accessing a Data Custodians Web Portal to manage multiple customer accounts. Upon log in to the Data Custodians Web Portal, the web customer can manage multiple customer accounts, for which each customer account can represent multiple usage points (for electricity and/or gas). This mostly impacts large agricultural and commercial customer accounts for which a single web customer can represent hundreds to thousands of individual usage points – imagine a franchise manager with multiple branch locations across a data custodians service territory. In this scenario, the Web Customer should have the ability to authorize, deauthorize and change scope on an individual usage point basis and optionally at the larger aggregated web customer or customer account basis. This includes the ability to perform one-time authorization of multiple customer accounts by a single web customer to third party, and any subsequent scope changes (whether on an aggregated or individual basis) – third party acknowledgement/communication of which customer accounts have been authorized, deauthorized or whose scope has changed needs to be determined. Notes: – Whether scope selection in this scenario should live on the 3 rd party portal vs. the Data Custodians portal needs to be determined as well. – Collection has one description or multiple? – What is the scope string for this use case? – Is there a need for a bulkId in this case (maybe not). – New Scope Resource Term= BulkAccountCollection – Scope= FB=4,5,15;IntervalDuration=3600;BlockDuration=monthly;HistoryLength=13;BulkAccountCollection 1/14/2014 – To allow the TP to know how many Ups are being provided, suggest Add to BulkAccountCollection a number of UsagePoints BulkAccountCollection=nnn

18 UsagePoint Grouping in Commercial Account Management BulkId SubscriptionId UsagePointId /web account Via gui Scope= FB=4,5,15;IntervalDuration=3600;BlockDuration=monthly;HistoryLength=13;BulkAccountCollection


Download ppt "Weekly OpenADE Meeting Notes Tuesday, February 4, 2014."

Similar presentations


Ads by Google