Hello Sakari,
Thank you taking the time to go through the proposal and the questions.
It would be definitely beneficial to align our efforts, so I look forward to it.
My comments are inline. [Sanjeev]
------- Original Message -------
Sender : Poussa, Sakari<sakari.poussa at intel.com>
Date : May 27, 2015 21:18 (GMT+09:00)
Title : Re: [dev] Initial Discussion on Web Service Interface.
Hi Sanjeev, Daniel,
I am glad to see your new project proposal. The Intel web team has been
thinking and prototyping something similar so I think we can help in this
project in order to create something re-useable. However, before committing to
the project I?d like to understand a bit more. Below are some initial questions
and comments.
* Use cases ? it would be good to document some use cases what problems the
web services solves and to whom. Once we have the use cases documented, the
below questions might be more clear.
[Sanjeev] Sure. We will document the initial use cases in the wiki today.
* Goals:
* Managing web service user and application identities: does this mean a
headless (gateway) device running IoTivity stack and some applications on top
of the stack? Is the purpose to bind the user identities to applications? If
so, why? This sounds like security type of use case.
[Sanjeev][1]
The terminology we have used is as follows.
Web Service User Identity - identifies individuals or entities that use a web
service. Ex., twitter user.
Web Service Application Identity - identifies third party developer
applications built on top of the web service infrastructure. Ex, twitter apps
written by third party developers.
Our goal is not to create another authentication mechanism. We would like
enable iotivity applications to use the above identities to consume a variety
of web services, in a consistent manner.
* Enable IoTivity applications to consume web service API: In this case,
is the IoTivity application running on the same device as the web service, or
on a different device? Is the web service API a RESTful API? What is the
functionality of the API?
[Sanjeev]
The web service in this context is a conventional one (like twitter).
Web Service API refer to the API published web services. For ex.,
https://dev.twitter.com/rest/public.
The 'iotivity web service interface' will enable an iotivity application to
consume the web service API provided by twitter.
Our goal is to enable iotivity applications to use these web services with
minimal effort and impact to the application.
We are currently considering RESTful web services. We believe iotivity app
developers will quickly relate to it and find it useful.
* Enable plugin model for web services into an IoTivity network: This I
don?t quite understand. Is the plugin (like .so file) for the existing IoTivity
stack to enhance the functionality to include the web service interface?
[Sanjeev][2]
We don't want web services plugins to be part of the iotivity stack. We want to
keep it seperate.
The plugins enable a web service like twitter to be plugged into the web
service interface.
The client library part of the web service interface will provide the
abstractions needed to access the plugins in a consistent manner.
* bridging messages between OIC schema and web service specific schema:
This is difficult to understand wo/ knowing how the web service schema looks
like. If the web service interface is a REST API why don?t we use OIC schema as
one piece of it. This way apps without the IoTivity stack (like web browsers)
can discover and access OIC devices on the network (i.e. OIC over HTTP)
[Sanjeev]
Agreed. Let's discuss this further after we put details on the wiki.
* Features
* Web Service User/Application Credential Management: I am not sure if
it is a good idea to start building a user authentication service as part of
the IoTivity project.
[Sanjeev] Hope this is clarified [1] above. This is not a new user
authentication service.
* A consistent interface mechanism for IoTivity apps to access web
services: Again, I assume the web service is a REST API. Does the consistent
API mean that you will provide a high level API library for the apps to talk to
the web services. This API library is language specific so you will provide
C++, Java and JavaScript?
[Sanjeev] Yes. Initially C++, followed by Java.
* Plugin model for adding web services support: Agin, the plugin needs
more context in order to understand this better.
[Sanjeev] Hope this is clarified by [2] above.
* A template based model for OIC to webservice schema translation: What
is a template? Raml? UX?
[Sanjeev] This is under discussion. RAML is one of the options. Let's discuss
this further after we put details on the wiki.
We can use the wiki for documenting the opens I listed above.
What is you implementation plan? Do you user node.js or something else ?
[Sanjeev] Currently, we have a working (prototype level) demo code, which was
presented during the OIC conference @ Seoul in May.
We are currently addressing the feedback comments we received.
The development plan will ready this week.
nodejs is very attractive from a development point of view and we are
considering it as well (need to check dependencies).
Kindly let me know of any further questions.
Sakari
From: SANJEEV BA <as2902.b at samsung.com<mailto:[email protected]>>
Reply-To: "as2902.b at samsung.com<mailto:as2902.b at samsung.com>" <as2902.b
at samsung.com<mailto:as2902.b at samsung.com>>
Date: Tuesday, May 26, 2015 at 13:43
To: "iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at
lists.iotivity.org>" <iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at
lists.iotivity.org>>
Subject: [dev] Initial Discussion on Web Service Interface.
Dear All,
We have created a new wiki page for this activity at
https://wiki.iotivity.org/web_service_interface
The initial set of goals and features we are targetting are as follows.
Goals
- Managing web service user and application identities
- Enable IoTivity applications to consume web service API.
- Enable plugin model for web services into an IoTivity network.
- Mechanism for bridging messages between OIC schema and web service specific
schema (Human Readable Text, CBOR, JSON, XML etc)
We plan to implement the following features.
- Web Service User/Application Credential Management (For ex., OAuth tokens,
twitter handles and user ID)
- A consistent interface mechanism for IoTivity apps to access web services.
- Plugin model for adding web services support.
- A template based model for OIC to webservice schema translation.
The wiki page will serve as the primary source of documentation for this
development activity.
We welcome comments and suggestions from the community.
BR
Sanjeev
------- Original Message -------
Sender : Daniel Park<soohong.park at samsung.com<mailto:soohong.park at
samsung.com>> S6/Principal Engineer/Open Source Group/Samsung Electronics
Date : May 26, 2015 13:30 (GMT+09:00)
Title : [dev] New project is approved by ISG
Hi all,
Based upon the IoTivity governance, ISG received a new propoject proposal as
attached and reviewed it and finally approved it for our new project.
I am so glad to announce the new project and look forward having further
propojects proposals from the community.
Pls join in the new project and contribute your valuable ideas to that.
Daniel (on behalf of ISG)
---
Soohong Daniel Park, Ph.D.
Samsung Electronics, Software R&D Center
[http://www.samsung.net/service/ml/AttachController/201505261943215_BEI0XT4N.gif?cmd=downdirectly&filepath=/LOCAL/ML/CACHE/a/20150528/Z5JE7EUABGFC
at
namo.co.kr575as2902.b&contentType=IMAGE/GIF;charset=Windows-1252&msgno=575&partno=1&foldername=INBOX&msguid=65936]