목차
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
닫기