Open APIs

 View Only
  • 1.  API's and legacy systems

    Posted Mar 05, 2017 20:34
    How do API’s work when I have lots of legacy systems and we have only just started to build some new agile digital services?

    ------------------------------
    George Glass
    BT Group plc
    ------------------------------


  • 2.  RE: API's and legacy systems

    Posted Mar 05, 2017 23:38
    That is a pretty open ended question, so I would take the liberty of suggesting two basic architectural principles while you go about any new development henceforth:

    - Whenever a new development request comes in, we need to check for two things:
    1. What functionality of this overall block of development is already present elsewhere in my ecosystem? 
    2. Will it be feasible to create this new function as a separate microservice\API? Feasibility should be determined based on long term architecture vision, size and impact of the functionality, development costs - benefits etc.

    I hope your question was about APIs in general and not OpenAPI implementation in particular. 

    ------------------------------
    Janit Vora
    Tata Consultancy Services
    ------------------------------



  • 3.  RE: API's and legacy systems

    Posted Mar 06, 2017 02:57
    Hi George,

    connecting the legacy to standarized APIs is not an easy task and of course not a "big bang" approach.
    However I recommend making more and more functionality of the legacy environment accessible to the standard APIs.
    Design pattern like Facade, Adapter, etc. can help you.

    Facade pattern - Wikipedia
    Wikipedia remove preview
    Facade pattern - Wikipedia
    The Facade design pattern is often used when a system is very complex or difficult to understand because the system has a large number of interdependent classes or its source code is unavailable. This pattern hides the complexities of the larger system and provides a simpler interface to the client.
    View this on Wikipedia >


    Adapter pattern - Wikipedia

    Wikipedia remove preview
    Adapter pattern - Wikipedia
    An adapter helps two incompatible interfaces to work together. This is the real world definition for an adapter. Interfaces may be incompatible, but the inner functionality should suit the need. The Adapter design pattern allows otherwise incompatible classes to work together by converting the interface of one class into an interface expected by the clients.
    View this on Wikipedia >

    When legacy functions are extended or repalced by new systems then it should be made  "fit for the API".
    You will see the benefits over time when more an more services can be implemented utilizing standard APIs.

    Good luck!





  • 4.  RE: API's and legacy systems

    Posted Mar 06, 2017 04:09
    We are investigating exactly this in our Digital Telco Lab. We implemented Open-APIs with a a mongo dB as the Base layer to decouple between Systems of Engagement and Systems of Record,  e.g. New CPQ from Legacy CRM and Order Management for our clients. If you like, I can Show it to you to give you an idea.

    Andreas






    ------------------------------
    Andreas Schlüter
    NTT DATA CORPORATION
    ------------------------------