Plex 2E

Expand all | Collapse all

Freedom/RESTful API for CA 2E and CA Plex

  • 1.  Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 11, 2015 09:34 PM

    G'day All,

     

    At the conference last week I demonstrated a tool that I had developed more than 15 years ago to design and generate RESTful API's from CA 2E. That product was withdrawn from our portfolio of Freedom products due to a lack of interest back then and since returning back home from the conference I have started work on getting that product back into our portfolio.

     

    I am hoping to have an early release of the Freedom/RESTful API for CA 2E packaged and released within the next four weeks for early adopters.

     

    The next step is to migrate the template CA 2E data model for Freedom/RESTful API across into CA Plex so that CA Plex can design and generate RESTful API's out of CA Plex using the RPGIV generator. I'm not too sure how long this will take - but I will be using the Freedom/Plex migration tool to automate the re-platform into CA Plex which is fully automated from the backend. So - should only take a couple of weeks to migrate and then three or four weeks to package for deployment.

     

    After that I will be converting the RPGIV variant into .Net and Java variants to support all the platforms that CA Plex can run on.

     

    If you are interested in being and early adopter, then please send me an email to darryl.millington@hawkbridge.com.au or continue to watch our website at www.hawkbridge.com.au .

     

    Regards,

     

    Darryl Millington

    HawkBridge Pty Ltd (Australia)



  • 2.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Broadcom Employee
    Posted Jun 11, 2015 10:57 PM

    Hi Darrell,

     

    I enjoyed meeting with you last week at the conference and sharing a meal with you and Jill :-)

     

    I'm curious, are you planning to build an API Gateway to store the RESTful APIs that you generate from Plex/2E models? An API Gateway provides a means of monetizing, securing, and controlling consumption of the data & functionality that your APIs expose - something any API orchestration customer needs to be successful.

     

    CA Technologies provides an API Management Gateway product that does all of the things I mentioned above, and MUCH more. We even offer the CA API Development Portal for opening up our customers' enterprise APIs to the global development community (Open APIs) for creative innovation of new products that the developers of the API itself never thought possible. Lots of big companies have developed open APIs, like Google for example with their Maps API. Here is more information about our API Management product portfolio:API Management - CA Technologies. Check out our awesome data sheets!

     

    Cheers,

    Stephen



  • 3.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 11, 2015 11:19 PM

    G'day Stephen,

     

    Was great meeting you and Jill last week at the conference.

     

    I'm just providing the means by which CA 2E developers can generate and deploy RESTful APIs from within the CA 2E data model. This would suit your small to medium sized business that need to venture out into web deployment of business logic for mobile applications built using frameworks similar to Sencha.

     

    I can see a need for organisations to have some form of orchestration tool to manage web services from multiple development and deployment platforms - but for your average CA 2E shop that need is low on the list of priorities at the moment.

     

    One feature of ASO presented at the conference that I did like was how it could be used to combine multiple web services from different URL's into a new web service. That was cool! For shops that are doing lots of web service development it would definitely help along with organisations that acquire other companies that need to integrate their business services. Although early days the concepts presented at the conference were encouraging in this area.

     

    From a deployment point of view all the CA 2E developer would need to do for generated Freedom/RESTful API's to be used by modern frameworks is just move the generated and compiled program into a configured API library that is exposed by the HTTP server to AJAX based calls from Javascript frameworks such as Sencha. All the logic for controlling and running the RESTful API is contained within the CA 2E action diagram and one shipped Service Program that handles the request and response negotiation with the HTTP server.

     

    More details will come along with a demonstration video and worked tutorial on how to deploy your first RESTful API from a CA 2E data model.

     

    Regards,

     

    Darryl



  • 4.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Broadcom Employee
    Posted Jun 11, 2015 11:24 PM

    Hi Darrell,

     

    You have some exciting plans! Looking forward to hearing more details and watching the demo and stepping through the tutorial!

     

    Cheers,

     

    Stephen



  • 5.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Broadcom Employee
    Posted Jun 11, 2015 11:53 PM

    Hi Darrell,

     

    How will your target customers- the small to medium-sized business that need to venture out into web of business logic for mobile applications built using frameworks similar to Sencha- secure and monetize the consumption of the business logic they expose through their APIs secure that against hack jobs and how will they monetize and throttle and track the consumption without an API management gateway? Why wouldn't these issues be a concern for those small to midsize shops?

     

    Cheers,

     

    Stephen



  • 6.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 01:54 AM

    Well done Darryl. I wish you success and I agree with your stance on what small to medium sized business are prepared to do.

     

    Stephen, Welcome. I venture to say I and Darryl would agree on everything you say. But you will soon find out the reality does match your perfectly good logical view.

     

    I have tried to get my present client looking at CA Products but coming from the CA Plex is the problem I would suggest. The suggestion needs to come form non CA products people.

     

    Client most likely looking at increasing the api managment system which was hand written in java in house or go for https://www.mulesoft.com/

     

    All our teams want is for the IBMi CA Plex to be accessible via webservices and there it ends..tried WCF but was rejected because of .net part...... I have been impressed with IWS Consume & Publish Webservices from IBMi - Solved for publishing not because it is amazing in functionality but it will fit the small medium sized requirements of cheap *in this case free,  and easy. Last night was talking through an existing Ca Plex customer in the states how to publish a blockfetch...we are both excited....and it is all free...and i do it to try and keep plex sites going...

     

    Darryl, I dont want to put a dampener on your CA Plex part of Freedom as I applaud your singular effort but Building a REST service with integrated web services server for IBM i: Part 2  does the job with no coding by the developer. When I say does the job you know what I mean. The job could be much better done by better tools and there are limitations see IBM Integrated Web Services for IBM i for limitations but it will do the job that majority of small medium sized ibmi plex shops have been crying out for.

     

    But your product could ace by performance, is it all native rpg, Performance implications of 'IWS' and 'Do It Yourself Native' REST webservices question was never answered by 20,000 users but Scott Klement has alluded to this performance and hence i mention it in my idea IBMi REST Webservices  . Does freedom basically do what my idea pattern idea suggests

     

    Well done all and this increased debate on these issues is healthy.

     

    I am presently working on a pattern to allow Plex Sites automatize the deployment to IWS which includes the editing of PCML to have meaningful names and use the COUNT column. Your post has re/invigorated me to one last push via StellaTools.



  • 7.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 09:38 AM

    Hi George,

     

    I noticed your comment about needing to edit the PCML to create meaningful names.  I worked around that by using the DDL overrride NME triple in Plex for the names in the PCML.  That triple isn't used by anything, so we use it to give meaningful names for the fields for our web services.  Hope that helps.

     

    Dean Eshleman,

    Everence Financial



  • 8.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 10:34 AM

    Hi Dean

     

    I know you have as I mention you in Consume & Publish Webservices from IBMi - Solved

     

    But what does your pattern look like.

     

    How have you replaced the creation of PCML files by CRTBNDPGM

    I'd suggest you can go the compiled object meta route or a model api route. Obviously model api is nicer as no new implemented objects in the model but still shaky with model api working out exactly a functions interface (NOT A FACT but it seems that way to me..omits triples..structurted..fields....field replace triples... Duals...overrides triples)

     

    Or have kept the CRTBNDPGM process?

     

    Have you changed the CA Plex CRTBNDPGM to include PCML option?

    OR

    Resubmit compile but with your own message post plex build

    Ant then a Winc Client to open the created PCML and replace with your nice names.

     

    Which did you go for?

     

    Thanks



  • 9.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 10:40 AM


  • 10.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 12:05 PM

    Hi George,

     

    I ended up going the meta code route.  When you inherit from our abstract function _Web Service, you get a scoped function called "Generate pcml file".  This ends up being a WinC function that you generate and build.  When you run it, it creates the PCML file.  It uses meta code to examine the parameters of the scoped function to know what to generate.  Obviously, that is where I look for the DDL override name triple and use it.  It will also generate an XML file that contains the narrative of the function as well as the parameters.  We then use a XSL style sheet to display the XML.  It provides nice documentation for the web service.

     

    It's not the most elegant way to do it, but it works.  If you have multiple functions that you need to generate as web services, you put all of the "MyWebService.Generate pcml file" WinC functions on a list and then I have another function that will read the list and call each of the functions.  That function will prompt you for a location so it knows where to put the PCML and XML files.  Let me know if you have other questions.

     

    Regarding performance, we haven't run into any issues yet.  The initial call might be a little slow, but after that, they are quite fast.  Since these are running in Webspere, it does a good job of pooling the connections back to the IBM i.

     

    Dean Eshleman,

    Everence Financial



  • 11.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 07:36 PM

    G'day George,

     

    Thanks for the heads up on those issues with IBM i and web services.

     

    My path is for the small to medium sized company just venturing into the world of mobile application development and needing a quick method of calling RESTful APIs on the IBM i to integrate with the client framework. Maybe some larger organisations will also look at it for mobile applications integration with IBM i.

     

    All of the code is RPGIV ILE - or even COBOL ILE if you like - and it does not need the Integrated Web Services product from IBM - it will run on just the HTTP server with no extra overhead. I have been running these types of services on my AS400 for many years with the 2E to Plex migration suite so that partners can submit 2E data models and request results via a similar interface. I have it running on a V5R4 box - but there is no reason why it will not run on the latest OS. Part of the packaging and deployment preparation is to test it on various version of OS in the coming weeks.

     

    Regards,

     

    Darryl



  • 12.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 13, 2015 04:00 PM

    sorry Darryl missed this "needing a quick method of calling RESTful APIs on the IBM i "

     

    Well try out my solution Consume & Publish Webservices from IBMi - Solved  its free and all native rpg and I amazed at how easy it is. The Restful service I CONSUMED last week involved no more then 10 lines of code by the developer.



  • 13.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 10:57 AM

    I spend most of my day writing CA 2e to XML API's. The only way I have seen via non Scott Klement open source is RPG-XML. Either USERSRC or native RPGLE programs.

    All my API are to complex to be done via IBM Integrated Web Services. also CA 2e does not even support a string size that I can store my XML document in.



  • 14.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 11:20 AM

    Hi John

     

    When you say 'CA 2e to XML API's'  What do you mean. Publishing existing 2E functions as SOAP or RESTful services with XML responses?

     

    And you do this with out any patterns but on a case by case basis in 2E?

     

    Lastly if your api are too complex then how do the calling tiers/developers feel about that...mine would simply not accept complicated interfaces as this defeats the object of SOA and actually exposes the rather monolithic 90s blocks of code that we are really trying to hide...



  • 15.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 01:21 PM

    All my very complex XML I have I consume, which I have no control of.

    The publishing issues I ran into was with the arrays. I could not find away to do an array of elements with in an arrays of elements. Getting the header information, I think I ran into a problem also, it been a while. With RXS-XML its so easy to do everything in RPGLE or USERSRC, you have no issues trying to match to parameters.

    The other issues I have is publishing json, which I had to handle with a different vendor product.



  • 16.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 02:24 PM

    I have to take an end of life BEA System and program it in RPGLE and Java on as400. fun fun fun



  • 17.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 07:43 PM

    G'day John,

     

    Do you have CA 2E on the AS400 that the BEA System is maintained and developed on?

     

    Is the BEA System built using CA 2E or CA Plex?

     

    Regards,

     

    Darryl



  • 18.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 12, 2015 07:41 PM

    G'day John,

     

    My Freedom tools are all built in CA 2E and they all export XML - so I know it could be easier! I even have a prototype Freedom product that can import XML back into a CA 2E data model for batch functions - which I also demonstrated at the conference to select individuals.

     

    For the past 5 or so years I have been building Sencha based mobile applications for clients with RESTful API interfaces to backend applications. I started using CA 2E - but now do that predominantly using CA Plex. I think I am in tune with the front-end developers and their frustrations at trying to interface with large business applications using RESTful APIs.

     

    Regards,

     

    Darryl



  • 19.  Re: Freedom/RESTful API for CA 2E and CA Plex

    Posted Jun 13, 2015 02:16 PM

    Welcome back Darryl by the way.

     

    For your own sake please don't mix the passion and love of these tools you have with the ability to generate money. Treat it as a hobby would be my advise as I do. Your Freedom products as you have found out are hard to monetize and has become ever harder in the 2E Plex community,

     

    Desynit | Salesforce Development & Consultancy  is a case in point refocusing their business.

    Plex-XML is the another case in point


    But as I do with www.stellatools.com I use them to be successful at the various sites I work and therefore monetize it that way by being renewed and valued. Good luck with which ever path you choose and nice to read your posts again.


    I also feel I am in tune with the front-end developers and their frustrations at trying to interface with CA Plex generated backend IBMi applications. Over the last 10 years out of the total 17 years the sites I have worked at have dropped/reduced/stopped the use of Plex as the UI tool of choice (why? I think we are all bored to tears about why) so anything you do is welcome but maybe as a different business model like open source and earn consultancy fees setting people up, don't know just suggesting.


    Regards