NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 API란?

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 업무 자동화 RPA 매크로를 검색하거나 사용하다보면 API(Application Programming Interface)라는 용어를 자주 접해 보셨을겁니다. 그런데, 예제를 보면 대략 어떤 것(?)이라는 느낌만 살짝 들겁니다. API의 정의는 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 해주는 메커니즘입니다. 예를들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이타가 들어있습니다. 여러분들이 사용하는 핸드폰의 날씨 앱은 기상청의 API에 날씨 정보를 요청하고, 응답으로 받은 데이타를 표시합니다.

    KB차차차에서 중고차 매물 정보 가져오기 ]

     

     

    위의 예제에서 알 수 있듯이 주식, 코인 또는 선물 프로그램 매매도 현재 시세나 체결 정보등을 받아볼 수 있습니다. RPA 매크로 프로그램을 사용해서 API 서비스를 요청하고, 데이타를 받아서 2차적인 작업을 수행할 수 있습니다. 주식이나 코인과 같은 시세 정보나 체결 정보를 알 수 있으면 매수, 매도를 자동화 할 수 있습니다. 만약, 여러분이 마케팅 관련 업무를 한다고 생각 해보세요. 고객의 홍보 또는 상품 키워드를 분석해야 한다면 네이버나 구글의 연관 검색어 API를 사용할 수 있습니다.

    네이버 연관 검색어 가져오기 ]

     

     

    API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어 또는 웹사이트를 말합니다. 인터페이스는 두 애플리케이션(웹사이트와 핸드폰 또는 PC)간의 서비스 계약이라고 이해하시면 됩니다. 이 계약은 요청(Request)과 응답(Response)을 구성하는 방법에 대한 정보가 들어 있습니다. 초창기에는 Text나 Xml을 사용했었습니다. 지금은 대부분 Json으로 통일되었습니다.

     

    API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명됩니다. 위에서도 언급했듯이 서비스를 제공하는 기상청이나 네이버, 카카오톡과 같은 서버와 서비스를 제공 받는 여러분들의 컴퓨터 또는 핸드폰과 같은 클라이언트입니다. API는 아래와 같이 4가지 방식이 있습니다.

    • SOAP API
      이 API는 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 과거에 더 많이 사용되었으며 유연성이 떨어지는 API입니다.
    • RPC API
      이 API를 원격 프로시저 호출이라고 합니다. 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송합니다.
    • Websocket API
      Websocket API는 Json 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API 개발입니다. WebSocket API는 클라이언트 앱과 서버 간의 양방향 통신을 지원합니다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적입니다.
    • REST API
      오늘날 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API입니다. 클라이언트가 서버에 요청을 데이터로 전송합니다. 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환합니다. 아래에서 REST API에 대해 더 자세히 살펴보겠습니다.

     

    다중적으로 가장 많이 사용되는 REST API는 Representational State Transfer의 줄임말입니다. REST는 클라이언트가 서버 데이타에 액세스하는 데 사용할 수 있는 GET, POST, PUT, DELETE등의 함수 집합을 정의하고 있습니다. 클라이언트와 서버는 HTTP(Hyper Text Transfer Protocol)를 사용하여 데이타를 교환합니다. REST API의 특징은 무상태입니다. 무상태는 서버가 요청간에 클라이언트 데이타를 저장하지 않음을 의미합니다. 서버에 대한 클라이언트 요청은 웹사이트를 방문하기 위해 브라우저에 입력하는 URL과 유사합니다. 서버의 응답은 웹페이지의 일반적인 그래픽 랜더링이 없는 텍스트 형식의 데이타입니다.

    pMqPcoI.png

     

     

    REST API는 아래와 같은 장점을 가지고 있습니다.

     

    • 통합 
      API는 새로운 애플리케이션을 기존 소프트웨어 시스템과 통합하는 데 사용됩니다. 그러면 각 기능을 처음부터 작성할 필요가 없기 때문에 개발 속도가 빨라집니다. API를 사용하여 기존 코드를 활용할 수 있습니다.
    • 혁신 
      새로운 앱의 등장으로 전체 산업이 바뀔 수 있습니다. 기업은 신속하게 대응하고 혁신적인 서비스의 신속한 배포를 지원해야 합니다. 전체 코드를 다시 작성할 필요 없이 API 수준에서 변경하여 이를 수행할 수 있습니다.
    • 확장
      API는 기업이 다양한 플랫폼에서 고객의 요구 사항을 충족할 수 있는 고유한 기회를 제공합니다. 예를 들어 지도 API를 사용하면 웹 사이트, Android, iOS 등을 통해 지도 정보를 통합할 수 있습니다. 어느 기업이나 무료 또는 유료 API를 사용하여 내부 데이터베이스에 유사한 액세스 권한을 부여할 수 있습니다.
    • 유지 관리의 용이성
      API는 두 시스템 간의 게이트웨이 역할을 합니다. API가 영향을 받지 않도록 각 시스템은 내부적으로 변경해야 합니다. 이렇게 하면 한 시스템의 향후 코드 변경이 다른 시스템에 영향을 미치지 않습니다.

     

    API는 아키텍처와 사용 범위에 따라 분류됩니다. API 아키텍처의 주요 유형은 이미 살펴보았으므로 사용 범위를 살펴보겠습니다.

    • 프라이빗 API
      프라이빗 API는 기업 내부에 있으며 비즈니스 내에서 시스템과 데이터를 연결하는 데만 사용됩니다.
    • 퍼블릭 API 
      퍼블릭 API는 일반에 공개되며 누구나 사용할 수 있습니다. 이러한 유형의 API와 관련된 권한 부여와 비용이 있을 수도 있고 없을 수도 있습니다.
    • 파트너 API 
      이는 B2B 파트너십을 지원하기 위해 권한이 부여된 외부 개발자만 액세스할 수 있습니다.
    • 복합 API 
      복합 API는 두 개 이상의 서로 다른 API를 결합하여 복잡한 시스템 요구 사항이나 동작을 처리합니다. 

     

    웹 API를 이용하면 아래와 같이 영어 단어를 입력하면, 자동으로 해석해주는 자동화 RPA 매크로를 만드는것도 가능합니다.

    영어 단어를 입력하면 자동으로 해석해주는 매크로 만들기 ]

     

     

    정부의 공공 데이타 포탈이라는 사이트가 있습니다. 회원 가입 후 데이타 사용 요청을 하면, 정말 많은 것들을 자동화할 수 있습니다. 이와 관련된 예제들도 [ 팁 & 테크 게시판 ] 게시판을 보면 많은 정보들이 공유되어 있습니다. 여러분들은 예제 내용을 따라하는 것만으로도 많은 것들을 자동화하고, 업무에 도움을 주는 인공지능 RPA 매크로를 제작할 수 있습니다. 물론, 처음 매크로를 접하는 분들은 다소 어려운 부분들이 있을겁니다. 하지만, 엔지엠 RPA 매크로는 여러분들의 제작 편의를 위해 [ 고객 서비스 ] 단톡방을 운영하고 있으니 부담없이 사용할 수 있을겁니다^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.