목차 일부
1장 소개
1.1 이 책의 중요성 ... 25
1.1.1 XML과 망치의 비교 ... 25
1.1.2 XML과 웹 서비스 ... 26
1.1.3 웹 서비스와 SOA ... 26
1.1.4 SOA와 망치 ... 26
1.1.5 여러분과 망치 ... 27
1.2 XML과 웹 서비스 통합 프레임워크...
더보기
목차 전체
1장 소개
1.1 이 책의 중요성 ... 25
1.1.1 XML과 망치의 비교 ... 25
1.1.2 XML과 웹 서비스 ... 26
1.1.3 웹 서비스와 SOA ... 26
1.1.4 SOA와 망치 ... 26
1.1.5 여러분과 망치 ... 27
1.2 XML과 웹 서비스 통합 프레임워크 ... 27
1.3 이 책은 어떻게 구성되었는가 ... 28
1.3.1 1부 : 기술적 전망 ... 29
1.3.2 2부 : 통합 기술 ... 30
1.3.3 3부 : 애플리케이션 통합 ... 32
1.3.4 4부 : 기업 통합 ... 35
1.3.5 확장된 기업 ... 36
PART 1 기술적 전망
2장 XML 기술 소개
2.1 XML ... 41
2.1.1 개념 ... 43
2.1.2 스키마 ... 44
2.1.3 프로그래밍 모델 ... 45
2.1.4 구문 ... 46
2.2 DTD ... 47
2.2.1 개념 ... 48
2.2.2 구문 ... 48
2.3 XSD ... 51
2.3.1 개념 ... 51
2.3.2 구문 ... 53
2.4 XSLT ... 57
2.4.1 개념 ... 57
2.4.2 구문 ... 59
2.5 XQuery ... 61
2.5.1 개념 ... 62
2.5.2 구문 ... 64
2.6 XPath ... 66
2.6.1 개념 ... 66
2.6.2 구문 ... 68
3장 웹 서비스 기술 소개
3.1 웹 서비스와 SOA ... 72
3.1.1 서비스의 이해 ... 72
3.1.2 XML 웹 서비스 ... 72
3.1.3 SOA ... 74
3.1.4 서비스 지향의 일반 원리 ... 76
3.1.5 웹 서비스의 역할 ... 77
3.1.6 웹 서비스 상호 작용 ... 81
3.1.7 서비스 모델 ... 85
3.1.8 웹 서비스 설명서 구조 ... 86
3.1.9 1세대 웹 서비스의 소개 ... 88
3.2 WSDL ... 88
3.2.1 추상적 인터페이스 정의 ... 90
3.2.2 구체적 구현 정의 ... 92
3.2.3 추가 생성자 ... 93
3.3 SOAP ... 94
3.3.1 SOAP 메시지 프레임워크 ... 96
3.3.2 SOAP 메시지 구조 ... 99
3.4 UDDI ... 103
4장 2세대(WS-*) 웹 서비스 기술 소개
4.1 2세대 웹 서비스와 SOE ... 113
4.1.1 2세대 명세로 해결할 수 있는 문제점 ... 115
4.1.2 2세대 전망 ... 116
4.2 WS-Coordination과 WS-Transaction ... 118
4.2.1 개념 ... 119
4.2.2 구문 ... 122
4.3 웹 서비스를 위한 비즈니스 프로세스 실행 언어 ... 123
4.3.1 최근의 비즈니스 프로세스 명세 ... 123
4.3.2 개념 ... 123
4.3.3 구문 ... 129
4.4 WS-Security와 웹 서비스 보안 명세 ... 132
4.4.1 일반적 보안 개념 ... 133
4.4.2 명세 ... 134
4.4.3 XML 키 관리(XKMS) ... 135
4.4.4 XACML과 XrML ... 135
4.4.5 SAML과 .NET Passport ... 136
4.4.6 XML-Encryption과 XML-Signature ... 136
4.4.7 SSL ... 136
4.4.8 WS-Security 프레임워크 ... 138
4.4.9 개념과 구문 ... 140
4.5 WS-ReliableMessaging ... 141
4.5.1 WS-Addressing ... 142
4.5.2 개념 ... 142
4.5.3 응답 ... 145
4.5.4 구문 ... 146
4.6 WS-Policy ... 148
4.6.1 개념 ... 149
4.6.2 구문 ... 149
4.7 WS-Attachments ... 150
PART 2 통합 기술
5장 애플리케이션과 XML 통합
5.1 XML 데이터 표현 통합 전략 ... 156
5.1.1 아키텍처에서 XML 데이터 표현의 위치 선정 ... 156
5.1.2 '트리'에 대한 생각(데이터 표현의 새로운 방법) ... 160
5.1.3 XML 문서 모델을 급하게 만들지 마라 ... 160
5.1.4 통찰력 있는 디자인 ... 161
5.1.5 확장성과 재사용성 ... 162
5.1.6 모델링 부담을 줄여라(문서를 정리하라) ... 163
5.1.7 엘리먼트 유형의 명명 : 성능 vs 가독성 ... 164
5.1.8 XML의 일관된 적용 ... 165
5.1.9 올바른 API 선택(DOM vs SAX vs 데이터 바인딩) ... 166
5.1.10 XML 문서 보안 ... 167
5.1.11 적합한 도구 선택 ... 168
5.1.12 극단적인 최적화 전략은 피하라 ... 170
5.2 XML 데이터 검증 통합 전략 ... 172
5.2.1 XSD 스키마와 DTD ... 172
5.2.2 아키텍처 내에 DTD 위치시키기 ... 175
5.2.3 아키텍처 내에 XSD 스키마 위치시키기 ... 177
5.2.4 XSD 스키마의 구문상 한계에 대한 이해 ... 181
5.2.5 XSD 스키마의 효율성 한계에 대한 이해 ... 182
5.2.6 더 많은 스키마 정의 언어 ... 182
5.2.7 XSD 스키마 확인을 보충하는 것 ... 183
5.2.8 분산 구조로 XML 검증 통합 ... 184
5.2.9 과도한 검증 회피 ... 186
5.2.10 검증 대상을 지정한 검증 방법 ... 187
5.2.11 모듈화되고 확장 가능한 XSD 스키마 ... 189
5.2.12 데이터베이스 통합의 한계 이해하기 ... 190
5.3 XML 스키마 관리 통합 전략 ... 191
5.3.1 XML 스키마와 숨겨진 불균형 패턴 ... 191
5.3.2 단계별 프로세스 ... 192
5.4 XML 변환 통합 전략 ... 195
5.4.1 아키텍처 안에 XSLT 배치하기 ... 195
5.4.2 정적인 캐시 방식을 위한 사전 변환 ... 198
5.4.3 동적 XSLT 스타일 시트 생성 ... 199
5.4.4 CSS로 미적인 변환을 단순화하라 ... 200
5.4.5 XSLT의 확장성 제한을 이해하라 ... 200
5.4.6 전략적 중복 ... 201
5.5 XML 데이터 쿼리 통합 전략 ... 201
5.5.1 아키텍처에서 XQuery의 위치 ... 202
5.5.2 다중 데이터 소스의 추상적 개념 ... 203
5.5.3 데이터 정책 관리 계층 확립 ... 204
5.5.4 문서와 데이터의 통합 ... 205
6장 애플리케이션과 웹 서비스 통합
6.1 서비스 모델 ... 209
6.1.1 유틸리티 서비스 ... 210
6.1.2 비즈니스 서비스 ... 212
6.1.3 컨트롤러 서비스 ... 212
6.2 서비스 지향 컴포넌트 클래스 모델링과 웹 서비스 인터페이스 ... 215
6.2.1 서비스 지향 컴포넌트 클래스 디자인(단계별 프로세스) ... 216
6.2.2 웹 서비스 인터페이스 디자인(단계별 프로세스) ... 227
6.3 서비스 지향 캡슐화 통합 전략 ... 235
6.3.1 일관적인 로직의 캡슐화와 인터페이스 단위성을 위한 표준을 정의하라 ... 235
6.3.2 명명 규칙에도 표준이 있어야 한다 ... 236
6.3.3 매개변수 구동 vs 기능 지향 인터페이스 ... 236
6.3.4 다양한 단위성을 위한 설계 ... 237
6.3.5 일반적인 서비스를 지속적으로 사용하라 ... 238
6.3.6 내부와 외부 서비스를 위한 별도의 표준을 만들어라 ... 238
6.3.7 서드 파티 웹 서비스를 고려하라 ... 240
6.4 서비스 구성 통합 전략 ... 241
6.4.1 서비스 구성을 포함한 모든 분야에서의 적절성 ... 241
6.4.2 서비스 구성 모델링 ... 242
6.4.3 복합적인 서비스 구성 ... 245
6.5 서비스 기능 강화 전략 ... 247
6.5.1 유저 인터페이스 정보 출력 ... 247
6.5.2 문자 데이터보다 많은 데이터의 저장 ... 247
6.5.3 패턴 사용을 통한 서비스 디자인의 능률화 ... 248
6.6 SOAP 메시징 통합 전략 ... 249
6.6.1 SOAP 메시지 성능 관리 ... 249
6.6.2 SOAP 메시지 압축 기술 ... 249
6.6.3 SOAP 메시징과 관련된 보안 이슈 ... 251
6.6.4 SOAP로의 점진적인 변화 ... 252
7장 XML과 데이터베이스 통합
7.1 XML과 관계형 데이터베이스 비교 ... 255
7.1.1 데이터 저장소와 보안성 ... 256
7.1.2 데이터 표현 ... 256
7.1.3 데이터 통합과 검증 ... 257
7.1.4 데이터 쿼리와 인덱스 ... 258
7.1.5 부가적인 특징 ... 258
7.2 XML과 관계형 데이터베이스 통합 아키텍처 ... 259
7.2.1 XML 문서를 데이터베이스 기록으로 저장 ... 260
7.2.2 데이터베이스 레코드 형태로 XML 문서 구조 저장 ... 263
7.2.3 데이터베이스 쿼리의 뷰를 표현하기 위해 XML 사용 ... 264
7.2.4 관계형 데이터 모델의 뷰를 표현하기 위해 XML 사용 ... 265
7.2.5 IMDB 안에서 관계형 데이터를 구현하기 위해 XML의 사용 ... 266
7.3 관계형 데이터베이스와 XML 통합 전략 ... 268
7.3.1 필요한 데이터에 목표를 두라 ... 268
7.3.2 특성화된 데이터 뷰를 생성함으로써 관계성을 피하는 법 ... 269
7.3.3 XML 친화적인 데이터베이스 모델을 만들라 ... 270
7.3.4 주석을 사용한 스키마 모델의 확장 ... 270
7.3.5 XML 스키마 안의 Non-XML 데이터 모델 ... 271
7.3.6 캐싱 전략 개발하기 ... 271
7.3.7 XSD 스키마 쿼리 ... 272
7.3.8 XSLT와 함께 XML 결과 통제 ... 273
7.3.9 쿼리 한계를 가지고 XML 통합 ... 273
7.3.10 텍스트 파일이 적당한 저장소인가? ... 274
7.3.11 약한 결합과 개발자 기술 ... 274
7.4 XML과 관계형 데이터 매핑 기술 ... 275
7.4.1 XML 문서를 관계형 데이터로 매핑하기 ... 275
7.4.2 Bear Sightings 애플리케이션 ... 276
7.4.3 XML과 일대일, 일대다 관계 ... 276
7.4.4 DTD와 함께 관계형 데이터에 XML 매핑하기 ... 278
7.4.5 XSD 스키마와 함께 관계형 데이터에 XML 매핑하기 ... 286
7.5 데이터베이스 확장 ... 292
7.5.1 SQL로 호환되지 않는 확장 ... 292
7.5.2 XML 명세의 호환되지 않는 버전 ... 293
7.5.3 호환되지 않는 XML과 데이터베이스 매핑 ... 293
7.5.4 XML 출력 형식 ... 293
7.5.5 저장된 프로시저 ... 294
7.5.6 XML 문서의 임포팅과 익스포팅 ... 294
7.5.7 호환되지 않는 데이터베이스 확장의 캡슐화 ... 295
7.6 XML 데이터베이스 ... 295
7.6.1 문서 중심 데이터의 저장 ... 296
7.6.2 XML 스키마 모델의 통합 ... 296
7.6.3 쿼리와 데이터 검색 ... 296
7.6.4 중계 저장소를 위한 원본 XML 데이터베이스 ... 297
PART 3 애플리케이션 통합
8장 애플리케이션 통합 메커니즘
8.1 애플리케이션 통합에 대한 이해 ... 303
8.1.1 통합 프로젝트 유형 ... 303
8.1.2 전형적 통합 요구 사항 ... 303
8.1.3 발전 대 효과 ... 304
8.1.4 통합 솔루션 유형 ... 305
8.2 통합 단위 ... 307
8.2.1 데이터 단위 통합 ... 308
8.2.2 애플리케이션 단위 통합 ... 309
8.2.3 프로세스 단위 통합 ... 310
8.2.4 서비스 지향 통합 ... 311
8.3 미들웨어 가이드 ... 312
8.3.1 EAI 대 미들웨어 ... 312
8.3.2 오레오 쿠키 조각 분리하기 ... 312
8.3.3 일반적인 미들웨어 서비스와 제품 ... 313
8.3.4 미들웨어를 구입하기 위한 점검 항목 ... 315
8.4 통합 경로 선택 ... 320
8.4.1 두 경로, 하나의 목적지 ... 320
8.4.2 EAI로의 움직임 ... 320
8.4.3 일반적인 잘못된 생각 ... 321
8.4.4 업그레이드의 영향력 ... 321
8.4.5 옵션 검토하기 ... 323
9장 레거시 통합을 위한 SOA
9.1 애플리케이션 통합을 위한 서비스 모델 ... 325
9.1.1 프록시 서비스 ... 326
9.1.2 래퍼 서비스 ... 328
9.1.3 코디네이션 서비스(단위 트랜잭션을 위한) ... 329
9.2 기본적인 통합 컴포넌트 ... 331
9.2.1 어댑터 ... 331
9.2.2 중개 ... 332
9.2.3 인터셉터 ... 334
9.3 웹 서비스와 단방향 통합 아키텍처 ... 335
9.3.1 일괄 익스포트와 임포트 ... 336
9.3.2 직접 데이터 접근 ... 339
9.4 웹 서비스와 점대점 아키텍처 ... 343
9.4.1 동종 레거시 애플리케이션 사이의 단단하게 결합된 통합 ... 343
9.4.2 이종 애플리케이션 사이의 단단하게 결합된 통합 ... 346
9.4.3 동종 컴포넌트 기반 애플리케이션 사이의 통합 ... 350
9.4.4 이종 컴포넌트 기반의 애플리케이션 사이의 통합 ... 353
9.5 웹 서비스와 집중된 데이터베이스 아키텍처 ... 356
9.5.1 전통적 아키텍처 ... 357
9.5.2 데이터 접근 제어기로 웹 서비스 이용하기 ... 358
9.6 레거시 아키텍처를 위한 서비스 지향 분석 ... 360
10장 기업 통합을 위한 SOA
10.1 기업 통합 아키텍처를 위한 서비스 모델 ... 369
10.1.1 프로세스 서비스 ... 369
10.1.2 비즈니스 액티비티를 위한 코디네이션 서비스 ... 373
10.2 기본적인 기업 통합 아키텍처 컴포넌트 ... 374
10.2.1 브로커 ... 375
10.2.2 오케스트레이션 ... 378
10.3 웹 서비스와 기업 통합 아키텍처 ... 383
10.3.1 허브와 스포크(바퀴살) ... 384
10.3.2 메시징 버스 ... 388
10.3.3 엔터프라이즈 서비스 버스(ESB) ... 390
11장 서비스 지향 통합 전략
11.1 능률적인 통합 종점 인터페이스 전략 ... 396
11.1.1 인터페이스를 더욱 일반화하라 ... 396
11.1.2 레거시 인터페이스를 통합하라 ... 397
11.1.3 프록시 인터페이스를 통합하라 ... 398
11.1.4 레거시 로직을 외부 로직으로 보완하라 ... 400
11.1.5 다중 데이터 출력 포맷에 대한 지원을 추가하라 ... 402
11.1.6 다른 SOAP 클라이언트를 위한 대체할 수 있는 인터페이스를 제공하라 ... 402
11.2 통합 종점 서비스 최적화 전략 ... 404
11.2.1 서비스 중개의 사용을 최소화하라 ... 404
11.2.2 서비스에 대한 인터셉터의 사용을 고려하라 ... 405
11.2.3 데이터 처리의 위임 ... 406
11.2.4 제공자 WSDL 정의 저장하기 ... 407
11.3 레거시 아키텍처 통합 전략 ... 409
11.3.1 부분 통합 계층을 추가해 변환 아키텍처를 만들라 ... 409
11.3.2 IMDB를 이용한 데이터 캐싱 ... 410
11.3.3 확장 요구 대응을 위한 큐의 활용 ... 411
11.3.4 미니 허브의 추가 ... 412
11.3.5 레거시 어댑터 기술의 추상화 ... 413
11.3.6 레거시 통합 아키텍처 확산하기 ... 413
11.3.7 레거시 통합 아키텍처에 웹 서비스 추가하기 ... 415
11.4 엔터프라이즈 솔루션 통합 전략 ... 416
11.4.1 실용적인 서비스 지향 통합 ... 417
11.4.2 이종 EAI 제품의 통합 ... 418
11.4.3 레거시 환경에서의 EAI 구축 ... 421
11.4.4 개인 서비스 레지스트리 구축 ... 421
11.5 웹 서비스 보안 통합 전략 ... 421
11.5.1 웹 서비스 보안 상세 내역에 대한 고찰 ... 422
11.5.2 표준화된 서비스 지향 보안(SOS) 모델을 이용한 서비스 구축 ... 422
11.5.3 보안 서비스 계층의 창조 ... 423
11.5.4 서드 파티 서비스에 대한 주의 ... 424
11.5.5 성능에 대한 악영향을 최소화할 수 있는 대비책 ... 425
11.5.6 SSO를 위한 적절한 시스템의 설계 ... 425
11.5.7 서비스의 과다 상세 기술 금지 ... 425
11.5.8 통합된 레거시 시스템의 방어 혹은 후퇴 ... 426
11.5.9 세분화된 보안의 이점 ... 426
11.5.10 웹 서비스와 80포트 ... 428
11.5.11 SOAP 첨부 문서와 바이러스 ... 428
11.5.12 보안 정책 개발에 대한 고려 사항 ... 429
11.5.13 운영에 대한 고려 사항 ... 429
PART 4 기업 통합
12장 XML 통합을 위한 30가지 베스트 프랙티스
12.1 XML 변환 프로젝트 기획 베스트 프랙티스 ... 435
12.1.1 스스로 어떠한 것을 해야 하는지 이해하라 ... 435
12.1.2 기술적 영향 평가 ... 436
12.1.3 XML 영향 분석에 대한 투자 ... 439
12.1.4 조직적 영향 평가 ... 440
12.1.5 레거시 데이터 목표 설정 ... 441
12.2 XML 프로젝트에서 지식 관리 베스트 프랙티스 ... 443
12.2.1 항상 XML을 데이터와 연관지어라 ... 443
12.2.2 조직에서 요구하는 교육의 범위를 결정하라 ... 445
12.2.3 훈련 계획을 최적화하라 ... 445
12.2.4 개발 프로젝트로 멘토링을 통합하라 ... 448
12.3 XML 애플리케이션 표준화 베스트 프랙티스 ... 449
12.3.1 표준을 통합하라 ... 449
12.3.2 표준화하라, 그러나 과도한 표준화는 하지 마라 ... 450
12.3.3 스키마 관리 전략을 수립하라 ... 451
12.3.4 데이터 접속 로직을 표준화하기 위해 XML을 사용하라 ... 454
12.3.5 통합에 앞서 툴을 평가하라 ... 454
12.4 XML 애플리케이션 디자인 베스트 프랙티스 ... 455
12.4.1 지식 배포를 위한 시스템을 구축하라 ... 455
12.4.2 'X'가 의미하는 것을 기억하라 ... 455
12.4.3 웹 서비스와 관계없는 서비스 지향 원칙 디자인 ... 457
12.4.4 균형 잡힌 통합 전략을 위해 노력하라 ... 458
12.4.5 추가적인 XML 기술의 역할을 이해하라 ... 459
12.4.6 새로운 기술에 적응하라 ... 460
13장 웹 서비스 통합을 위한 30가지 베스트 프랙티스
13.1 서비스 지향 프로젝트 기획 베스트 프랙티스 ... 463
13.1.1 웹 서비스를 이용할 시기를 파악하라 ... 463
13.1.2 웹 서비스 사용 방법을 숙지하라 ... 464
13.1.3 언제까지 웹 서비스를 사용하지 않을 것인가? ... 464
13.1.4 변환 아키텍처를 활용하라 ... 465
13.1.5 레거시를 개선하라 ... 465
13.1.6 유감이지만, 비용을 되돌려 받을 수는 없다 ... 466
13.1.7 변환 전략에 ROI를 사용하라 ... 467
13.1.8 미래를 건설하라 ... 468
13.2 웹 서비스 표준화 베스트 프랙티스 ... 469
13.2.1 통합 표준을 고려하라 ... 469
13.2.2 인프라를 분류하라 ... 470
13.2.3 단일 인터페이스부터 디자인하라 ... 472
13.2.4 서비스 인터페이스 디자이너 ... 473
13.2.5 서비스를 분류하라 ... 474
13.3 서비스 지향 환경 디자인 베스트 프랙티스 ... 474
13.3.1 비즈니스 모델을 능률적으로 만드는 SOA를 사용하라 ... 474
13.3.2 2세대 명세의 현 위치를 검토하라 ... 475
13.3.3 2세대 명세를 전략적으로 배치하라 ... 476
13.3.4 플랫폼의 한계를 이해하라 ... 476
13.3.5 레거시 종점의 변화를 막기 위해 추상화를 사용하라 ... 477
13.3.6. 보안 모델을 세워라 ... 479
13.4 서비스 지향 개발 프로젝트 관리 베스트 프랙티스 ... 481
13.4.1 개발 자원을 조직화하라 ... 481
13.4.2 개발자를 훈련시키는 것을 과소평가하지 마라 ... 482
13.5 웹 서비스 구현 베스트 프랙티스 ... 483
13.5.1 개인 서비스 레지스트리를 이용하라 ... 483
13.5.2 관리에 필요한 것을 준비하라 ... 485
13.5.3 서비스 제공 환경에서 변경에 대응하고 모니터링하라 ... 486
13.5.4 미지의 것에 대한 테스트 ... 487
14장 SOE 구축
14.1 SOE 모델링 기초 ... 489
14.1.1 액티비티 ... 491
14.1.2 서비스 ... 491
14.1.3 프로세스 ... 492
14.2 SOE 블록 구성 ... 494
14.2.1 SOE 비즈니스 모델링 블록 구성 ... 494
14.2.2 SOE 기술 아키텍처 블록 구성 ... 501
14.2.3 서비스 지향 보안 모델 ... 510
14.3 SOE 변환 전략 ... 512
14.3.1 LSM의 개요 ... 512
14.3.2 본질적 계층 ... 515
14.3.3 내부 계층 ... 517
14.3.4 A2A 계층 ... 520
14.3.5 EAI 계층 ... 523
14.3.6 통합 계층 ... 526
14.3.7 확장된 기업 ... 527
14.3.8 LSM의 최적화 ... 527
14.3.9 LSM의 대안 ... 529
더보기 닫기