Running .cls files over appServer - Forum - OpenEdge Development - Progress Community

Running .cls files over appServer

 Forum

Running .cls files over appServer

This question is not answered

Hi everyone,

I am in a situation where I am adding new appServer procedures and thought of making them classes. The background it that APP1 is calling procedures over appServer from APP2. Is it even possible to replace procedure in APP2 to be a class and use it in APP1. APP1 and APP2 have different GIT repos so the codebase is not the same.

Procedures are run in following way, is there any way to have the other end as class with methods.

run xx/xxxxxxxx.p persistent on server hAppServer set hAsProjectProductLink.
run updateProjectProductLink in hAsProjectProductLink
             ( table ttUpdateProjectProductLink ).

the first problem I see, is that how to use USING phrase in APP1 if .cls is in APP2.

All Replies
  • The ABL does still have no concept of calling into classes on a remote AppServer.
     
    Such a concept exists only for http callers (in 11.2 the session singleton classes were introduced for Mobile/REST clients and in 11.6 Web handlers for the new WebSpeed).
     
    IMHO such a feature is way overdue in the ABL!
     
    ABL clients should also be able to call into Session Singletons on a remote appserver.
     
    For the time being, you will need to work with Proxy procedures on the remote appserver. You can implement the functionality in classes on the remote appserver – but need those .p’s to pass the call through.
     
    11.4 added the ability to pass (parameter) objects to remote AppServers and receive them as well as error objects. That may be helpful with simplifying signatures of the procedures as a single object may replay 100’s (joking) of primitive parameters.
     
    Von: Lauri Greenbaum [mailto:bounce-Metsakohin@community.progress.com]
    Gesendet: Dienstag, 31. Januar 2017 09:07
    An: TU.OE.Development@community.progress.com
    Betreff: [Technical Users - OE Development] Running .cls files over appServer
     
    Update from Progress Community
     

    Hi everyone,

    I am in a situation where I am adding new appServer procedures and thought of making them classes. The background it that APP1 is calling procedures over appServer from APP2. Is it even possible to replace procedure in APP2 to be a class and use it in APP1. APP1 and APP2 have different GIT repos so the codebase is not the same.

    Procedures are run in following way, is there any way to have the other end as class with methods.

    run xx/xxxxxxxx.p persistent on server hAppServer set hAsProjectProductLink.
    run updateProjectProductLink in hAsProjectProductLink
                 ( table ttUpdateProjectProductLink ).

    the first problem I see, is that how to use USING phrase in APP1 if .cls is in APP2.

    View online

     

    You received this notification because you subscribed to the forum.  To stop receiving updates from only this thread, go here.

    Flag this post as spam/abuse.

     

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • TY for the answer, I agree, this should be supported by Progress

  • Maybe now that reflection is being added to ooabl, you will be able to reflect on your class and auto-generate the .p code that serves as a proxy to your class.   Then you could add a huge warning at the top of them /* AUTO-GENERATED. DO NOT EDIT !!! */

    I agree that the proxy.p files are not ideal.  They aren't really a massive problem in and of themselves, but they lead to problems because their presence encourages the less informed ABL programmers to jam in their business logic instead of leaving them alone (to serve as simple "pass-through" programs.)

  • > On Jan 31, 2017, at 3:24 AM, Mike Fechner wrote:

    >

    > IMHO such a feature is way overdue in the ABL!

    >

    Appealing as this may seem at first, I think this is a very very bad idea. It will enable tight coupling of code across the network with no effort required. That will allow you to create stuff with no thought at all as to what should be sent and received over the network. This in turn will result in horrendously bad performance.

    It will also make updating the code harder due to the tight coupling across machines.=

  • If this would be remote instantiation, I would agree. The singleton run model is far from that and nothing else that running a .P file.

    Sent from Nine

    Von: gus bjorklund <bounce-wizard@community.progress.com>
    Gesendet: 31.01.2017 6:02 nachm.
    An: TU.OE.Development@community.progress.com
    Betreff: RE: [Technical Users - OE Development] Running .cls files over appServer

    Update from Progress Community
    gus bjorklund

    > On Jan 31, 2017, at 3:24 AM, Mike Fechner wrote:

    >

    > IMHO such a feature is way overdue in the ABL!

    >

    Appealing as this may seem at first, I think this is a very very bad idea. It will enable tight coupling of code across the network with no effort required. That will allow you to create stuff with no thought at all as to what should be sent and received over the network. This in turn will result in horrendously bad performance.

    It will also make updating the code harder due to the tight coupling across machines.=

    View online

     

    You received this notification because you subscribed to the forum.  To unsubscribe from only this thread, go here.

    Flag this post as spam/abuse.

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • How does introducing a stub .p create decoupling?

    Seems to me that this is an issue of subsystem design and one is either going to design decoupled subsystems or not and the exact mechanism used for the link is irrelevant as long as the link is one of "running" something rather than simply sending a message.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com