Coder Social home page Coder Social logo

210342 / opc-ua-ooi-webapp Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 1.15 MB

Web application built using ASP.NET Core 3.0 as an example usage of OPC-UA PubSub Standard

License: MIT License

HTML 10.69% C# 86.46% CSS 2.73% JavaScript 0.13%
blazor asp-net-core blazor-server iot iot-application opc-ua opc-pubsub opc-subscriber reactive-programming

opc-ua-ooi-webapp's People

Contributors

210342 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

opc-ua-ooi-webapp's Issues

Refactor names

  • Change InterfaceModel project's name
  • Change M2MCommunication.Uaooi project's name
  • Refactor namespaces

Cannot build the code

Add to readme.md minimal requirements related to the dev studio to build the library.

Remove lock(this)

Locking itself should be avoided as per lock statement documentation.

GetRepositoryGroupAliases wrong place

Consider moving the Configuration.GetRepositoryGroupAliases to GetRepositoryGroupAliases .
Not sure what the alias means, put it in the internal functionality of this class.

The class encounters a serious sequence problem:

  • assigning Configuration property
  • assigning file name
  • assigning loader
  • calling GetRepositoryGroupAliases
  • calling Initialise

Try to follow the example in ReferenceApplication Consumer - Data Logger

DataManagementSetup implementation must be self-contained

According to the concept described in the documentation https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata the DataManagementSetup is an entry point to a part expanding DataRepository class. Therefore it must be self-contained and use ONLY types defined in the assembly. Following this rule, all instances must be created inside this class, and there no reason to provide an implementation of selected interfaces as the parameters. According to all examples, this class is parameterless and this pattern should be followed.

ConsumerBindingFactory.Bind circular reference toPropertyChanged

It is a blocker of #42.

Assigning new value in the handler of the PropertyChanged causes recalling the same handler. The recursion is only broken because assigning the same value doesn't trigger the event. Look at the snippet from ConsumerBindingMonitoredValue.

    public type Value
    {
      get
      {
        return b_Value;
      }
      set
      {
        PropertyChanged.RaiseHandler<type>(value, ref b_Value, "Value", this);
      }
    }

Review changes made since 5.12

I have created a new pre-realese (v0.2.1-alpha), where (I think) I fixed the issues I have consulted on 6.12. It is also supposed to solve issues #36, #37 and #38. Please review.

UaooiMessageBus dependency on the ILogger limits posibility to use it elsewhere

According to the architecture (description covered by the https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata) implementation of the DataRepository provides its own logging infrastructure. The presented implementation requires ILogger. It limits the possibility to reuse this library in case the main application doesn't implement this particular interface. It raises a question:

  • if the end-user program should be adopted to use this implementation as an external apart
  • if the library should be adopted to meet the base library requirements.

The library requirements are defined in the document Getting Started Tutorial and this implementation doesn't follow this description. It raises typical "chicken/egg - which one was the first" problem and therefore must be recognized as a critical error.

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.