Coder Social home page Coder Social logo

oicnet's People

Contributors

nzsmartie avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jtone123

oicnet's Issues

Normalise response messages

Often OicResponseUtility.CreateMessage(OicResponseCode, string) is used to create a response to an request. But the responses are not consistent and don't provide any formatting options (yet).

Would be a good idea to create a string resource (not possible in .Net Standard parameters.

Support for (De)Serialisation of application/xml

OIC Core spec only requires application/cbor media type for messages. but also allows for application/json and application/xml

As I've forked Newtonsoft.Json.Bson to create Newtonsoft.Json.Cbor which adds CBOR (RFC 7049) support to the popular JSON.Net library, it covers the applicaiton/cbor requirement and as a bonus natively supports application/json but is a miss with application/xml

Luckily, .Net works well with XML, so it shouldnt' be too hard to work in serialisation, but for now, it's not a huge requirement.

If you need this support. Thumbs up this issue and i'll look into it

JSON Schemas not used as .Net Standard doesn't support Embedded Resources

Until .Net Standard 2.0 is released, Embedded Resources isn't available. So all serialsied classes must me manually maintained to cconform to OIC's specification.

In the future, the json schemas provided in OICNet/IoTDataModels will be the source of truth and used to generate JSON/CBOR messages

Create a client class for performing all CRUDN operations

This task is bottlenecked until I can get a virtual environment set up (hopefully through #5 and #6) in Windows for easy testing

Operations that need to be supported

  • Create (POST/PUT)
    • POST: An existing URI to a resource responsible for the creation
    • PUT: A new URI for the resource
  • Retreive (GET)
  • Update (POST)
  • Delete (DELETE)
  • Notify (OBSERVE)

This class already supports automatic deserialisation to OIC resources based on the resource's rt property (related #1)

Create ASP.Net Clone with an OIC context

ASP.Net is an ideal framework for highly configurable application stacks. And it provides a familiar API to existing .Net developers for quickly getting started.

As ASP.Net has a strong focus around HTTP, it didn't seem work while to fork the entire repository when a limited subset of classes were needed. A clone has made that meets minimum requirements of logging, dependency injection, hosting the application, providing a startup interface and so forth.

Generate ResourceType classes based on OCF-Spec version

It makes sense to use existing OIC schemas. using them in C# would require some runtime processing of the schemas, or compile-time generation of class objects.

  • Using provided base schemas, support reading any oic.r.* schema
  • Create a C# class file that reflects the input schema
  • Provide metadata for consumption through the API such as (read-only, valid ranges, etc)
  • Write tests to ensure future changes do not break builds

Simple Resource Updater for OicNet.Server

Much like StaticFile for ASP.Net, add an application layer that will match a request with a resource and return it's contents.

It must

  • Serve resources
  • Provide a method of adding resources from the application to be served.
  • Optionally configure resources to be directly updated

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.