연계 모듈 구현 환경 구성 및 개발
02. 웹 서비스 연동
1) 시스템 연동
- 서버와 네트워크를 활용하는 자동화 시스템 등에서 같은 기능을 수행하지 않는 서로 다른 시스템을 연결(접속)하여 특정 업무(기능)를 수행하는 것을 의미
2) 데이터 연동
- 데이터베이스를 공유하여 다른 시스템과 연계하는 방법
- 다른 연동 방식보다 자원 이용과 구축 시간을 절약할 수 있음
- 주로 내부 시스템의 연동을 위해 사용
- 자바 데이터베이스 연동(JDBC)이 대표적인 데이터 연동
- 관련 테이블과 상호 관계, 데이터의 참조 관계 등을 고려하여 설계 작업을 진행
3) 인터페이스 연동
- 인터페이스는 서로 독립적인 시스템의 상호 작용을 위한 접속 경계(Boundary)나 규칙을 의미
- 인터페이스 연동을 하기 위해서는 API, RMI 등을 통해 다른 시스템과 연동
- API(Application Program Interface)
- 부품화된 프로그램을 누구나 사용할 수 있도록 사용 방법이나 기능을 제공
- RMI(Remote Method Invocation)
- 서로 다른 위치에 있는 컴퓨터에 존재하는 API를 호출하고 실행하는 기능을 담당
- API(Application Program Interface)
- 인터페이스가 변경되는 경우 해당 인터페이스를 사용하는 다른 시스템에 대한 영향의 범위를 확인해야 함
- 인터페이스 연동은 인터페이스 표준화, 연계 목록 및 방식, 처리 내용 등에 대한 지속적인 갱신과 관리, 모니터링 수행이 필요
4) 웹 서비스 연동
- 네트워크나 인터넷상에서 서로 다른 시스템 간에 표준화된 HTTP, XML 및 여러 웹 페이지 기술을 이용하여 시스템 간에 연동할 수 있는 기술
5) 웹 기술
- WWW(World Wide Web)
- 텍스트, 이미지, 음성, 동영상 등의 데이터를 분산 네트워크 환경에서 상호 교환할 수 있도록 제공되는 서비스
- 웹 브라우저(Web Browser)
- 웹 서비스를 하는 서버 컴퓨터에 접속하여 서비스되는 정보를 받아 자신의 컴퓨터 화면에 보여주는 프로그램
- 웹 문서들을 연결해 주거나 다양한 멀티미디어 서비스를 효과적으로 서비스 받을 수 있도록 지원하는 프로그램
- Explorer, Chrome 등이 가장 일반화된 웹 브라우저
- 웹 브라우저에서 실행되지 못하는 응용 프로그램은 플러그인(Plug In)을 통해 웹 브라우저에서 실행되는 것처럼 할 수 있음
- 플러그인(Plug In) : 웹 브라우저가 웹 서버에서 지원하는 모든 프로그램을 수용할 수 없을 때 지원해주는 프로그램으로 사운드 플레이어, 문서 지원 프로그램, 동영상 지원 프로그램 등이 있음
- HTML(HyperText Markup Language)
- 인터넷에서 효과적으로 웹 문서를 공유하기 위한 목적으로 개발된 인터넷상의 표준 언어
- HTML 문서는 어떤 컴퓨터 기종이나 운영체제의 종류와 상관없이 웹 브라우저만 있으면 볼 수 있음
- HTML은 고급 언어와 같은 컴파일 과정을 거치지 않고 해석됨
- SGML의 기준에 맞게 만들어진 가장 일반적인 마크업 언어
- HTML은 정해진 태그만을 사용하는 언어
- HTML만으로 동적인 웹 페이지를 만들 수 없음
- HTML 문서는 텍스트(ASCII 문자) 형태로 저장됨
- HTML의 확장자는 .htm 또는 .html로 사용
- XML(eXtensible Markup Language)
- HTML의 구조적이지 못한 부분과 확장성의 한계를 극복한 마크업 언어
- XML은 전자 문서를 표현하는 확장 가능한 표준 마크업 언어
- HTML의 문서를 보여주거나, 문서를 연결하거나, 데이터를 입력받는 정도의 수준에서 벗어나 동적으로 프로그래밍도 가능한 언어
- XML은 사용자가 임의로 태그를 만들어 사용할 수 있는 언어
- XML은 데이터베이스와 연결되어 다양한 데이터 처리가 가능
- HTML의 동작 원리
- 웹 브라우저는 사용자가 입력한 URL로 웹 서버에 접속하여 웹 문서를 요청
- 웹 서버는 요청한 웹 문서를 검색하여 어떤 형태로 만들어져 있는지 확인함
- HTML이나 자바스크립트로만 되어 있는 웹 문서인 경우, 웹 서버는 해석하지 않고 웹 브라우저로 전송함
- 자바스크립트는 웹 브라우저에서 직접 해석하여 처리됨
- 웹 브라우저는 전달받은 웹 문서를 해석하여 사용자가 이해할 수 있도록 변환하여 보여줌
- 동적인 웹 문서는 HTML 문서 안에 스크립트 언어가 포함되어 있음
- 동적인 웹 문서를 작성하기 위해서는 웹 응용 프로그램을 개발하기 위한 스크립트 언어인 ASP, PHP, JSP 등을 사용해야 함
- 웹 서버는 웹 브라우저에서 요청한 웹 문서에 스크립트 언어가 포함되어 있으면 스크립트 언어를 처리할 수 있는 프로그램에 요청함
- 스크립트 언어는 대부분 데이터베이스에 데이터를 저장하거나 검색하는 용도로 사용
6) 웹 서비스 기본 구조 및 구성 요소
- 웹 서비스
- 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 SOA 개념을 실현하는 대표적인 기술
- SOA(Service Oriented Architecture, 서비스 지향 아키텍처) : 대규모 네트워크상의 업무를 소프트웨어 기능의 서비스로 판단하여 그 서비스들을 연동하여 시스템 전체를 구축해 나가는 방법론
- 네트워크상에서 서로 다른 컴퓨터 시스템 간에 상호 작용을 하기 위한 소프트웨어 시스템
- 분산 컴퓨팅 기술의 일종으로 SOAP, WSDL, UDDI 등의 주요 표준 기술로 이루어짐
- 웹 서비스의 모든 메시지에는 XML이 사용됨
- 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 SOA 개념을 실현하는 대표적인 기술
- 웹 서비스의 기본 주체
- Web Service Concumer(웹 서비스 소비자) : 웹 서비스 중재자에서 해당하는 서비스를 검색하여 웹 서비스 제공자의 서비스를 요청하는 주체로 웹 서비스 제공자의 서비스가 있는지 웹 서비스 중재자를 통해 의뢰하여 서비스를 제공 받음
- Web Service Broker(웹 서비스 중재자) : 웹 서비스 제공자의 서비스를 등록 및 검색 저장 관리를 통하여 서비스 소비자가 원하는 서비스를 연결해줌
- Web Service Provider(웹 서비스 제공자) : 웹 서비스를 구현하여 제공하는 주체
- SOAP(Simple Object Access Protocol)
- HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크상에서 교환하는 프로토콜
- 다양한 프로그램 언어에서 쉽게 작성 및 실행 가능
- 인터넷에 연결된 컴퓨터 내부에 존재하는 각 객체를 사용하기 위한 프로토콜
- HTTP로 XML 구문을 사용하여 COM, DCOM, Java 등을 수행할 수 있음
- SOAP의 지원 서버가 대중화가 되면서 대부분의 SOAP 서버들을 웹에서 접근할 수 있으며 다양한 프로그램 언어에서도 쉽게 실행할 수 있음
- UDDI(Universal Description, Discovery, and Integration)
- 웹 서비스를 찾기 위한 XML 기반의 표준
- 개방형 시스템의 표준 기술
- 플랫폼 독립적인 기술로 개발된 범용적이고 통합적인 레지스트리
- 사용자가 다양한 웹 서비스를 쉽게 검색하여 사용할 수 있음
- 개방형 표준과 비독점적 기술을 기반으로 개발된 전역 업무용 레지스트리
- 레지스트리를 이용하여 다양한 웹 서비스를 사용자를 쉽게 검색하여 사용할 수 있음
- 웹 서비스에 대한 정보인 WSDL을 등록, 검색, 저장하여 접근, 검색이 가능한 레지스트리
- 검색 엔진처럼 UDDI에서 웹 서비스 정보를 검색하여 사용
- 알려진 송수신 시스템의 통합 구현에서는 서비스의 공개 및 검색 과정이 필요 없으므로 UDDI를 구축하지 않음
- WSDL(Web Service Description Language)
- 웹 서비스를 기술하기 위한 표준 형식
- 웹 서비스에서 제공하는 기능과 상호 작용 방법을 XML 기반으로 설명하기 위한 언어
- 웹 서비스에서 제공하는 기능들의 사용 방법을 알려주는 인터페이스 언어로 XML 기반으로 작성됨
- 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보를 기술한 파일로 XML 형식으로 구현
7) 웹 서버와 웹 응용 서버
- 웹 서버(Web Server)
- 웹 브라우저의 요청을 받아 HTML 문서 파일이나 이미지, 자바스크립트의 정적 데이터를 제공
- 대표적인 웹 서버로 Apache, IIS 등이 있음
- 웹 응용 서버(WAS : Web Application Server)
- 서버에서 응용 프로그램이 동작할 수 있는 환경을 제공
- 안정적인 트랜잭션 처리 및 관리, 서로 다른 시스템 사이에서 응용 프로그램 연동을 지원
- 웹 서버는 정적 데이터를 서비스하고, 웹 응용 서버는 동적 데이터를 서비스함
- 웹 서버와 웹 응용 서버의 일반적인 구성
- 사용자가 웹 브라우저를 통해 요청하는 경우 정적 데이터는 웹 서버가 처리함
- 동적 데이터(데이터베이스 접속, 동적 외부 시스템 연동 등)의 경우 WAS 서비스를 요청하여 서버 자원을 효율적으로 사용할 수 있도록 함
8) 연계 모듈 구현 환경 구축 절차
- 송수신 파일 생성 위치 및 파일명 정의
- 송신 시스템 : 송신 인터페이스 파일, 로그 파일, 오류 로그 파일이 생성될 위치와 파일명을 정의한 후 디렉터리를 생성
- 수신 시스템 : 수신 인터페이스 파일, 로그 파일, 오류 로그 파일이 생성될 위치와 파일명을 정의한 후 디렉터리를 생성
- 송신 시스템의 연계 응용 프로그램 구현
- 송신 시스템에서 운영 데이터베이스로부터 연계 데이터를 추출하여 송신 파일을 XML 형식으로 생성하는 Java 프로그램을 구현
- Java로 구현되는 연계 응용 프로그램에서는 송신 시스템의 운영 데이터베이스에 연결을 생성함
- 운영 데이터베이스로부터 데이터를 추출하여, 코드 매핑 및 데이터 변환을 수행한 후 인터페이스 파일을 생성
- 구현된 서비스는 주기적인 실행을 위해 DBMS의 Job Scheduler에 등록함
Job Scheduler : 데이터베이스를 운영할 때 주기적으로 운영 서버의 데이터를 특정 서버에 전달하거나 처리하는 작업을 수행하게 하는 프로그램
- 파일 전송 및 수신 시스템의 데이터베이스 반영 서비스 호출 처리
- 웹 서비스 방식에서 파일 전송은 HTTP 기반의 SOAP을 사용하여 송수신함
- SOAP은 복잡하고 무거운 구조이기 떄문에 RESTful 프로토콜로 대체할 수 있음
- 인터페이스 파일을 수신 위치로 전송 후 전송된 파일 내용을 수신 시스템 운영 데이터베이스에 반영하는 서비스를 실행함
- 수신 시스템의 서비스 실행을 위해 서비스 위치, 서비스명 등 서비스에 대한 상세 내용이 포함된 서비스 명세서인 WSDL을 작성하여 송수신 시스템 간에 공유
- WSDL에는 수신 시스템에 연계 파일을 전송 후, 연계 파일의 내용을 수신 시스템 운영 데이터베이스에 반영하는 서비스의 위치, 서비스명 등이 기술되어 있음
- SOAP, WSDL은 XML 형식으로 구현
- 수신 시스템의 연계 응용 프로그램 구현
- WSDL에 기술된 운영 데이터베이스에 인터페이스 데이터를 반영하는 서비스를 구현
- 서비스 구현 방식은 송신의 인터페이스 응용 프로그램과 동일하게 Java를 사용
- 인터페이스 파일의 데이터를 수신 시스템의 운영 데이터베이스에 반영
- 수신 시스템의 운영 데이터베이스에 반영한 처리 과정을 기록하는 내용으로 구현
- 구현한 서비스는 수신 시스템의 서비스 호출이 가능한 위치에 배치함
- 호출이 가능한 위치는 인터넷 URL을 통해 접근할 수 있는 위치
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
제품 소프트웨어 패키징 2 (0) | 2023.05.17 |
---|---|
제품 소프트웨어 패키징 1 (0) | 2023.05.17 |
통합 구현 6 (1) | 2023.05.17 |
통합 구현 5 (0) | 2023.05.17 |
통합 구현 4 (1) | 2023.05.17 |