-
이전글
2020/04/15 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 04 . 통합 구현(2/3)
XML(eXtensible Markup Laguage)
1. XML이란?
웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위한 다목적 마크업 언어
* SGML은 Standard Generalized Markup Language(표준 일반화 마크업 언어)의 약자로, 다목적 마크업 언어의 근간을 이루는 메타 언어. SGML은 문서의 구조와 의미를 기술하기 위한 표준화된 방법을 정의
2. 특징
- 유니코드를 기반으로 다국어 지원
- 대/소문자 구분
- 모든 태그는 종료태그를 가져야 하며, 시작/종료 태그의 이름은 같아야 함
- 사용자가 직접 태그 정의 가능하며 타인의 태그도 사용 가능
- 속성 값은 반드시 ""(큰 따옴표)로 묶어주어야 함
3. 구성
<? xml version="" encoding="laguage set" standalone="yes|no"?>
- 첫 문단만 <?로 시작
- 언어 셋을 설정하지 않는 경우 default는 UTF-8
- standalone은 외부 문서의 참조 여부, default는 no로 외부 문서 참조한다는 말
<요소 이름 속성 1="속성 값" 속성 2="속성 값 2".. > 내용 </요소 이름>
<?xml version="1.0" encoding="euc-kr" standalone="yes"?> <student school="위지원대학교"> <member> <name>위지원</name> <year>3</year> <major>데이터베이스</major> </member> </student>
연계 모듈의 구현 환경의 개요
연계 모듈의 구현 환경은 Trigger, 프로그래밍 언어를 이용한 EAI, ESB방식과 배치 프로그램 및 인터페이스 파일을 이용한 Web Service방식으로 구분
1. EAI(Enterprise Application Integration)
기업 내 각종 각종 애플리케이션 및 플랫폼 간의 상호 연동이 가능케 하는 설루션
유형 기능 point to point - 1:1로 연결
- 변경 및 재사용이 어려움Hub & Spoke - Hub를 중앙에 둔 중앙집중형 방식
- 확장 및 유지보수 용이
- 허브가 터지면 망함Message Bus(ESB방식) - 애플리케이션 사이에 미들웨어를 두어 처리함(BUS)
- 확정 및 대용량 처리 용이Hybrid - 위의 두 가지를 결합
- 그룹 내에는 Hub방법 그룹 간에는 Message 방법으로
- 필요하면 한 가지만으로 EAI 구현 가능
- 데이터 병목 현상 최소화2. ESB(Enterprise Service Bus)
- 애플리케이션 간 표준 기반의 인터페이스를 제공하는 설루션, EAI와 비슷하지만 애플리케이션보다는 서비스 중심의 통합 지향
- 범용성을 위해 결합도를 약하게 유지함
3. 환경 구축 절차( 암기 위해 키워드만 )
- DB 설치 및 계정 생성
- 정보 저장용 테이블 생성
- 프로그램 구현
4. Web Service
네트워크의 정보를 표준화된 서비스 형태로 만들어 공유, SOA(Service Oriented Architecture) 개념을 실현
- SOAP(Simple Object Aceess Protocol) : 메시지 교환 프로토콜
- UDDI(Universal Description, Discovery and Integration) : 서비스 및 서비스 제공자 검색하고 접근
- WSDL(Web Services Description Language) : 웹서비스에 대한 상세 정보를 XML로 구현
웹서비스 방식 환경 구현 절차(암기를 위해 키워드만)
- 파일 생성 위치/ 파일명 정의 후 디렉터리 생성
- 데이터 추출 후 XML 형식으로 변환 응용프로그램 구현
- 파일내용을 DB에 반영
5. SOAP
네트워크상에서 HTTP/HTTPS 등을 이용해서 XML을 교환하기 위한 통신 규약
- HTTP 기반이라 프록시/방화벽 영향 없이 통신 가능
- 요즘엔 XML이 무거워서 RESTful 프로토콜이 사용
- 다음으로 구성됨
Envelope XML 문서를 SOAP 메시지로 정의하는것, 메시지에 대한 요소/접근 방법 정의 Header SOAP 메시지에 포함되는 웹서비스 정의, 생략가능 Body 메시지 <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <soap:Header> ... </soap:Header> <soap:Body> ... <soap:Fault> ... </soap:Fault> </soap:Body> </soap:Envelope>
https://www.w3schools.com/xml/xml_soap.asp
6. WSDL
웹 서비스와 관련된 서식이나 프로토콜 등 표준적인 방법으로 기술하고 게시하기 위한 언어
- UDDI의 기초
ElementDescription
<types> Defines the (XML Schema) data types used by the web service <message>(2.0에서 삭제됨) Defines the data elements for each operation <portType>(2.0에서 interfafce로 변경) Describes the operations that can be performed and the messages involved. <binding> Defines the protocol and data format for each port type <operation> 메서드의 요청 및 응답 메시지를 정의 <service> port/endpoint를 통해 웹 서비스 정의 <port>(2.0에서 endpoint로 변경) 웹 서비스의 URL과 binfing을 연결 * message가 삭제된 이유가 2.0에서는 operation이 직접 types에 연결되서임, 원래는 중간에 message필요
<message name="getTermRequest"> <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>
https://www.w3schools.com/xml/xml_wsdl.asp
연계 테스트
1. 연계 테스트 순서
- 연계 TestCase 작성
- 연계 테스트 환경 구축
- 연계 테스트 수행
- 연계 테스트 수행 결과 검증
2. 검증 방법
- DB 테이블의 건수 확인
- 테이블/파일 열어 데이터 확인
- 파일 생성이 잘되었는가? 생성 위치와 크기 확인
- 모니터링 현황 확인
- log 확인
3. 테스트 케이스 작성
- 단위 테스트 케이스 : 송/수신 시스템에서 확인해야 할 항목 도출
- 송/수신 시스템에서 단순 개별 데이터의 유효값 확인 하는경우
- 송/수신 시스템에서 데이터 간의 연관 관계를 확인하는 경우
- 연계 테스트
- 송/수신용 연계 프로그램의 기능상 결함을 확인하는 단위 테스트 케이스 형태
- 송/수신절차의 흐름을 확인할 수 있도록 작성
다음글
2020/04/17 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 05 . 서버 프로그램 구현(1/3)
'2020년 > 정처기' 카테고리의 다른 글
[2020 정보처리기사 실기] Section 05 . 서버 프로그램 구현(2/3) (0) 2020.04.17 [2020 정보처리기사 실기] Section 05 . 서버 프로그램 구현(1/3) (0) 2020.04.17 [2020 정보처리기사 실기] Section 04 . 통합 구현(2/3) (0) 2020.04.15 [2020 정보처리기사 실기] Section 04 . 통합 구현(1/3) (0) 2020.04.15 [2020 정보처리기사 실기] Section 03 . 데이터 입력 및 출력 구현(3/3) (0) 2020.04.14