Hi all,

I would strongly like to encourage you to have a look as the API Changes we 
have listed in Confluence. 
With the option to have diagrams, I think discussing such changes is a lot 
easier than in pure text form here.

Currently I am in strong favor of my second proposal [1]

Major changes in this:
- Address is renamed to PlcField and now can contain type information.
- We now have every field aliased with a name, which is used to access this 
field.
- Complete elimination of the {Read/Write}{Request/Response}Items. The data and 
state is now included in the {Read/Write}{Request/Response} itself. 
- The ReadResponse for example gets additional getIngeger(), getFloat(), 
getString() methods, which come in two options: 
        - Just the field alias, which returns the first item value (single 
value fields)
        - Both the field alias as well as an index to access any item value 
(multi value fields)
- The ReadResponse contains it's data in form of a byte-array containing the 
raw data returned from the PLC.
- The conversion from PLC to Java types is done via PlcTypeConverters which are 
part of the driver implementation and handle the mapping (Decoding is done when 
accessing it, not when parsing the response).
- Code accessing the values now looks very similar to the code used in JDBC 
applications (However not supporting the index-access ... but we could also 
allow that)

Please check this out ... as I would like to start implementing any changes we 
decide on ASAP ... after all I have 2 weeks before the start of the next 
Publicity Marathon (4 Conferences and 2 Articles within the next 6 Weeks) ... I 
would really like to have my slides and articles in a somewhat stable form and 
not publish things that are changed a few weeks later.

Chris

[1] https://cwiki.apache.org/confluence/display/PLC4X/Chris%27+Proposal+2 


Am 25.08.18, 15:52 schrieb "Christofer Dutz" <christofer.d...@c-ware.de>:

    Hi Julian,
    
    version 2 should now be quite different ... I started reworking my original 
proposal and decided to revert that an start a second proposal.
    My first did address some parts needing cleaning up, but I still wasn't 
quite satisfied with it. So I did another more radical refactoring.
    
    If you reload the second there should be a lot of differences.
    
    I just hit "save" a few minutes ago however ... but now I'm quite happy 
with it. So please have another look at the second proposal. 
    
    And please, maybe add your own proposal ... my versions are just 
Brainstorming from my side.
    
    My favorite is currently "Chris' Proposal 2" ;-)
    
    Chris
    
    
    
    
    Am 25.08.18, 15:32 schrieb "Julian Feinauer" <j.feina...@pragmaticminds.de>:
    
        Hi Chris,
        
        I’m about to go through your suggestions fort he API changes (by the 
way, thanks for your effort and the very nice documentation) and I’m a bit 
confused about the differences between
        
          *   Chris Proposal
          *   Chris Proposal 2
        They seem very equal to me.
        
        Are these two versions of the same proposal or two different proposals?
        
        Thanks!
        Julian
        
    
    

Reply via email to