2

After detailed research on Service Subscription, I've decided to develop configuration application to create CSE and M2MServiceSubscriptionProfile. At this application customer can create their own CSE that includes supported resource types and M2MServiceSubscriptionProfile that includes allowed AEs.

Based on payment criteria, incoming requests will be checked to allow or deny according to resource type. I think, there is just one way to do this, M2MServiceSubscriptionProfile will work with particular resource types that is stored in SupportedResourceType property of CSEBase class. This is the default scenario.

But ServiceSubscribedNode doesn't have to contain a CSE-ID as stated xsd document.

<xs:element name="CSE-ID" type="m2m:ID" minOccurs="0" />

It means there is no need to integrate with a customer CSE, an AE can also connect with the system. For instance, a web application(AE) can integrate with the system to use a particular API on the Service Provider. In this case there is no CSEBase for this customer, AE of customer can connect with Service Provider directly so there is no SupportedResourceType property.

How can I decide to allow/deny particular resource type for this case?

Andreas Kraft
  • 3,754
  • 1
  • 30
  • 39
Anil Kocabiyik
  • 1,178
  • 6
  • 17
  • 47

1 Answers1

1

The "SupportedResourceType" attribute of the <CSEBase> is a list of resource types that a particular CSE supports. This list might be different for different CSE's through a oneM2M deployment.

The "CSE-ID" attribute in <ServiceSubscribedNode> is optional because the node does not necessarily need to host an own CSE. It can be an ADN (Application Dedicated Node) that connects to the CSE of another node, e.g. a middle node or an infrastructure node. As the spec in table 9.6.20-2 states:

CSE-ID pertaining to this node (for nodes that have a CSE).

The "nodeID" attribute, however, is mandatory. This means, you can identify the hosting CSE through the <Node> resource.

Also note, that resources of type <M2MServiceSubscriptionProfile> and <ServiceSubscribedNode> are hosted on an IN-CSE only.

Andreas Kraft
  • 3,754
  • 1
  • 30
  • 39
  • Let's assume IN-CSE is my platform and ADN-AE is customer's web application that is hosted on 3 different server. It means there will be 3 nodes and 3 nodeIDs for 1 AE. At configuration phase, how can customer set AE information with these 3 Nodes? and after configuration completed, if ADN-AE sends a create request, does it have to send also NodeID? Because I need to filter data to allow/deny the request by help of NodeID. Otherwise, I would have to check all allowedAEs lists of ServiceSubscribedNode records with just AE-ID of incoming request. – Anil Kocabiyik May 10 '19 at 09:49
  • When each of your nodes hosts an instance of your application you will have 3 AE's. They will have the same App-ID, but differenz AE-ID's. Of course, you can host multiple instances of the same application on a node, but again each AE will have a different AE-ID. This way you will end up with multiple AE resources that can be assigned to the nodes. Please keep in mind that the resources are (virtual) representations of your applications, nodes etc. – Andreas Kraft May 10 '19 at 11:25
  • Thank you so much, I have understood the issue after I inspected TR-0038 http://www.onem2m.org/tr-0038/procedures/security-association-establishement/registration-upon-successful-sae and your last sentence is so important to understand the problem "that resources of type and are hosted on an IN-CSE only" If an ADN-AE sends a registration request to MN-CSE, ServiceSubscribedNode list can be filtered by using CSE-ID of MN-CSE. I want to emphasize again for the readers that the flow and procedures are so clear at the TR-0038. – Anil Kocabiyik May 19 '19 at 19:00