DX Unified Infrastructure Management

 View Only
  • 1.  PerlUIM version 5

    Posted Apr 05, 2017 12:15 PM

    Hi,

     

    I create a new topic for my newest version of my framework PerlUIM. I'm working on this version since one or two months now (Design & Drafts). I started the code today to establish a first base and maybe get feedbacks from people using perl SDK.

     

    So first, why a new version ? : 

    - Because i now have advanced skills in perl and CA UIM.

    - Because v4 is a refactoring of all wrongs code of v1<->v3 

    - Because the solution for _local methods is not good enougth.

    - No emitter is seriously a big pain to trace and debug codes. 

    - Allow asynchronous code.

     

    Most of my new API(s) are inspired from JAVA SDK or from my own experience ( Perl or NodeJS binding ).

     

    Repository (with examples) : GitHub - fraxken/perluim5: CA UIM (Nimsoft) Perl Object-Oriented framework. Version 5 of perluim series.  

     

    So let get started with version 5 core features : 

     

    A) New request object to replace nimRequest and nimNamedRequest

    • Multiple time execution (define one time, use multiple times).
    • Built-in emitter
    • Built-in retry
    • Timeout support. UNIX ONLY
    • Overbus param ( define if we use nimRequest or nimNamedRequest in request.pm )
    • PDS Auto-parser (in and out).

     

    Default methods are fucked for Object-Oriented programming. (Same for JAVA SDK..). In other hand we are forced to provide a typed PDS ( -_-' ... Dynamic typing guy !!! ). So creating an auto-parsing layer seem to be a very good way to simplify this.

     

    B) Event class

     

    All frameworks class will be extended by the Event class. It will help a lot with debugging and tracing issues. 

     

    C) Logger class 

     

    Re-implement the logger class from Perluim V4.2+ but with a TimeZone support and a better overall stability. 

     

    D) Server class 

    • Map all default events with a better Object-Oriented Sugar.
    • Register callback. (Support for Args Hash). 
    • Schedule callback.

    Provide a daemon probe with the ability to run timed callback ( interval or fixed date ). All of this will be possible because of Event core class.

     

    ---

     

    And after that i have to work on how re-implementating probes callbacks etc.. Not sure how i will implement all of this for now. But i want to create a map of class for all probes (with maybe an abstraction layer / default layer). 

     

    New rules : 

     

    - Only one argument (reference hash). A interface with key => val. 

     

    before(arg1,arg2); 

    after({ arg1 => 'v1' , arg2 => 'v2'}); 

     

    The goal is to provide clear interface with better handling of optional parameters. And in the same way explicit call.

     

    --- 

     

    I'm open to any feedsback ! 

     

    Best Regards,

    Thomas



  • 2.  Re: PerlUIM version 5

    Posted Apr 06, 2017 06:03 AM

    Request object v1.0 is out with Timeout support & PDS Auto-parsing ( from Hash ref ). 

     

    Look at this <3 

     

     

    When the callback timeout the Return code is set to NIME_EXPIRED (Not sure if this is for this case but it's work  ).

     

    More news comming-up around Logger & Probe class.

     

    Best Regards,

    Thomas



  • 3.  Re: PerlUIM version 5

    Posted Apr 07, 2017 09:51 AM

    Hi,

     

    Request send() now return a Response object (Better to track and save multiple transactions).

     

    The first probe draft is out (a lot of trouble with how the binding is originaly created). But it's a lot less verbose than before so it's cool ! 

     

     

    Still need some work around hubpost and subscribe methods ( a lot of tests too... ). Scheduled callback is in my scope.

     

    Bonus

     

    - Events now support "once" method. 

    - assignHash added to the API (similar to Object.assign in javascript). Cool to create fallback hash interfaces.

     

    How getLocalRobot work : 

     

     

     

    Best Regards,

    Thomas



  • 4.  Re: PerlUIM version 5

    Posted Jun 14, 2017 01:03 PM

    Hi,

     

    The roadmap is updated : 

    GitHub - UIM-Community/perluim5: CA UIM (Nimsoft) Perl Object-Oriented framework. Version 5 of perluim series. 

     

    First beta release scheduled for november 2017 (With API fully documented). 

     

    Best Regards,

    Thomas