 Data Mining Laboratory, Univ. of Seoul Software Engineering :Introduction to Web Services.

Slides:



Advertisements
Similar presentations
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Advertisements

Dept. Computer Science, Korea Univ. Intelligent Information System Lab. 웹 서비스와 시멘틱 웹의 연동 방안 연구 고려대학교 지능정보시스템 연구실 이 윤 수.
LHC 데이터 처리 Grid computing
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
일반 요구 사항 비즈니스 요구사항 고객/정보/위치/상태 탐색방법 제품/서비스 홍보 및 광고 방법
Oozie Web API 기능 테스트 이승엽.
네트워크 기술을 통한 현재와 미래 소개.
Web Service XML Security
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
Ch.07-5 xml-rpc 사용하기 김상엽.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
10장. 웹 서비스 공격 (Attacking Web Service)
컴퓨터 프로그래밍 기초 [Final] 기말고사
PHP입문 Izayoi 김조흔.
Introduction to Service-oriented Architecture & Web Service Computing
Introduction to Web Service Computing
웹 서비스 (Web Services).
1. 컴포넌트 개요 – [빅데이터] 기능 개요 컴포넌트 기능 구성도 주요 기능 정의 JDBC Interface 데이터 가공제공
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
11 장 LAN 기본 개념과 Ethernet LAN
소개. 소개 Silverlight, WPF, RIA, UX.... ? Silverlight, WPF, RIA, UX.... ? IT환경의 진화.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
웹 서비스 (Web Services).
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
SOAP 클라이언트 개발 Guide
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
Wireless Java Programming
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
Method & library.
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Smart Workplace 개발자 가이드
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
WSDL 의공학과 3학년 김 기 흔.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
CHAP 21. 전화, SMS, 주소록.
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Distributed Multimedia System Lab.
뇌를 자극하는 Solaris bible.
네트워크 프로그래밍 (모바일 주문 프로그램 )
Introduction to JSP & Servlet
모바일(폰)메일 서비스 정흠수 최동훈.
JSP Programming with a Workbook
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
MIDP 네트워크 프로그래밍 ps lab 김윤경.
발표자 : 이지연 Programming Systems Lab.
다자간 채팅프로그램 김형도 허영민
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
CHAP 15. 데이터 스토리지.
DBMS & SQL Server Installation
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

 Data Mining Laboratory, Univ. of Seoul Software Engineering :Introduction to Web Services

 Data Mining Laboratory, Univ. of Seoul 2 목차  프로그래밍 환경의 발전  Web Services 개요  Web Services 전망  Web Services 프로그래밍 예제

 Data Mining Laboratory, Univ. of Seoul 3 What is Web Services? Component Technology Web Services Web Technology

 Data Mining Laboratory, Univ. of Seoul 4 프로그래밍 환경 발전 (1/5)  정보시스템 패러다임의 변화 1970 년대 : 로컬 머신 환경 1980 년대 : 클라이언트 서버 환경 1990 년대 : 분산 컴퓨팅 환경 2000 년대 : 서비스 중심 아키텍처 환경 출처 : “ 공공정보화 웹 서비스 도입방안 연구 ”, 한국전산원 Service Oriented Distributed Client-Server Monolithic 1970’s 2000’s Increasing adaptability and Flexibility

 Data Mining Laboratory, Univ. of Seoul 5 프로그래밍 환경 발전 (2/5)  로컬 머신 환경 컴퓨터 내부 자원만을 가지고 프로그래밍

 Data Mining Laboratory, Univ. of Seoul 6 구조적 프로그래밍 함수를 호출하는 부분 호출된 함수가 실행되는 부분 인자로 전달 반환값으로 전달

 Data Mining Laboratory, Univ. of Seoul 7 프로그래밍 발전 (3/5)  클라이언트 서버 환경 Client Program Server Side Client Side Server Program 서비스 요청 ( 인자 전달 ) 서비스 결과 ( 반환값 전달 ) Network

 Data Mining Laboratory, Univ. of Seoul 8 프로그래밍 발전 (4/5)  분산컴퓨팅 환경 Network

 Data Mining Laboratory, Univ. of Seoul 9 프로그래밍 발전 (5/5)  서비스 중심 아키텍처 (Service-Oriented Architecture, SOA) 서비스들의 모임과 이들의 연결성을 강조하는 추상적 개념 데이터 통합 어플리케이션 통합  서비스 지향 아키텍처를 구현한 기술들 RPC, CORBA, DCOM, RMI 등  웹 서비스 서비스 지향 아키텍쳐의 개념을 현실적으로 구현한 것

 Data Mining Laboratory, Univ. of Seoul 10 Web Services 기초 다양한 OS, Programming languages 다양한 Hardware platforms

 Data Mining Laboratory, Univ. of Seoul 11 The Web Today: The Human-centric Web

 Data Mining Laboratory, Univ. of Seoul 12 Web services: The Application-centric Web

 Data Mining Laboratory, Univ. of Seoul 13 Web services: The Application-centric Web Inventory application Inventory application Service Registry Service Registry Web server Service description Order status service 1 Discover services 2 Retrieve service description 3 Invoke remote service

 Data Mining Laboratory, Univ. of Seoul 14 서비스 기반 아키텍처  기본 구성요소 서비스 제공자 (Service Provider) 서비스 사용자 (Service Consumer) 서비스 중개자 (Service Broker)  기본 오퍼레이션 서비스 등록 (Publish) 서비스 검색 (Find) 서비스 연결 (Bind) FIND Publish BIND Service Provider Service Consumer Service Broker

 Data Mining Laboratory, Univ. of Seoul 15 Web Services 구조  웹 서비스 컴포넌트 Web Service Provider ( 웹 서비스 제공자 ) Web Service Broker ( 웹 서비스 중개자 ) Web Service Consumer ( 웹 서비스 사용자 ) FIND Publish (WSDL) BIND (SOAP) UDDI Web Service Provider Web Service Consumer

 Data Mining Laboratory, Univ. of Seoul 16 Web Services 컴포넌트  Web Service Provider ( 웹 서비스 제공자 ) 웹 서비스를 운영하며 제공 UDDI 레지스트리에 사용 가능한 웹 서비스 등록  Web Service Broker ( 웹 서비스 중개자 ) 서비스 중개자는 제공자와 소비자 사이에서 제공자가 서비스를 출판하고 이를 소비자가 검색할 수 있도록 편의를 제공  Web Service Consumer ( 웹 서비스 사용자 ) 서비스 브로커를 통해 원하는 웹 서비스의 위치를 발견 및 사용 웹 서비스 제공자를 통해 웹 서비스와 연결

 Data Mining Laboratory, Univ. of Seoul 17 Web Services 오퍼레이션  Publish ( 등록 ) 서비스 제공자는 서비스 브로커 (UDDI) 에 사용 가능한 웹 서비스 등록  Find ( 검색 ) 웹 서비스 사용자는 원하는 웹 서비스를 발견하기 위해 서비스 브로커 검색  Bind ( 연결 ) 웹 서비스 사용자는 원하는 웹 서비스에 접근 및 호출 하기 위해 웹 서비스 제공자와 협의 및 연결

 Data Mining Laboratory, Univ. of Seoul 18 Web Services 핵심 기술

 Data Mining Laboratory, Univ. of Seoul 19 SOAP 예제  XML-based protocol for exchanging information between computers RPCs transported via HTTP  A simple weather service: Request

 Data Mining Laboratory, Univ. of Seoul 20 SOAP 예제  A simple weather service  A simple weather service: Request

 Data Mining Laboratory, Univ. of Seoul 21 WSDL 예제  Describe the public interface for the weather service

 Data Mining Laboratory, Univ. of Seoul 22 WSDL 예제 C:\\Java clients.DynamicInvoker getWeather 10016http://localhost:8080/wsdl/WeatherService.wsdl  실행결과 Reading WS 이 Document from ‘ 이 /Weatherservice.ws 이 ’ Executing operation getWeather Result: Temperature: 65 Done !

 Data Mining Laboratory, Univ. of Seoul 23 웹서비스 공개 예  Google 자사의 검색서비스를 타사이트 또는 어플리케이션에 활용할 수 있도록 웹서비스 API 를 무료로 제공  eBay 자사의 경매 데이터베이스를 통해 비즈니스하고자 하는 파트너에게 웹서비스 API 를 제공  Amazon 자사가 보유하고 있는 서적 DB, 카탈로그 검색서비스, 구매업무 등을 웹서비스로 외부에 공개 15% 의 로얄티 지불

 Data Mining Laboratory, Univ. of Seoul 24 Web Services 플랫폼

 Data Mining Laboratory, Univ. of Seoul 25 웹 서비스와 유비쿼터스 (1/3)  유비쿼터스 컴퓨팅 다양한 디바이스들이 실세계의 사물 및 환경과 상호연결하여 언제, 어디서나 이용할 수 있는 컴퓨팅 환경 제공  유비쿼터스 컴퓨팅 핵심 기술 하드웨어 : 특히, Embedded System), 모바일 기술 네트워크 : IPv6 소프트웨어 : 웹 기술, 소프트웨어 기술 연구 취약 상태  웹 서비스 기존의 분산객체 미들웨어 기술들의 한계 ( 통합성 ) 를 극복 플랫폼 독립적인 애플리케이션 통합을 지원 유비쿼터스 컴퓨팅의 소프트웨어 통합 기반구조의 핵심

 Data Mining Laboratory, Univ. of Seoul 26 웹 서비스와 유비쿼터스 (2/3)  특징 다양한 장치 ( 플랫폼 ) 들과의 네트워크 연결 임베디드 OS + 미들웨어 모바일, 유선 랜 네트워크 P2P 분산 컴퓨팅

 Data Mining Laboratory, Univ. of Seoul 27 웹 서비스와 유비쿼터스 (3/3)  유비쿼터스와 웹 통합을 위한 분산 컴퓨팅 표준 유비쿼터스 분산 컴퓨팅 + 웹 서비스 분산 컴퓨팅 유비쿼터스 웹 서비스 컴퓨팅 유비쿼터스와 웹 환경을 위한 통합된 P2P 분산컴퓨팅 INTERNET Home Office

 Data Mining Laboratory, Univ. of Seoul 28 웹 서비스와 그리드 (1/2)  그리드 컴퓨팅 지리적으로 분산된 컴퓨터 시스템, 대용량 저장 장치 등의 자원들을 초고속 네트워크에 연결해 가상적 초대형 컴퓨팅 기능 제공 컴퓨팅 파워, 컨텐츠 관리, 애플리케이션, 스토리지 등의 공유 및 분산 협업 서비스 제공 OGSA (Open Grid Service Architecture) 표준  그리드 환경에서 소프트웨어 통합을 위해 웹 서비스를 인프라 자원 통합 기술로 사용

 Data Mining Laboratory, Univ. of Seoul 29 웹 서비스와 그리드 (2/2)  웹 서비스 형태로 변화하는 그리드 서비스 Web Service Resource Framework

 Data Mining Laboratory, Univ. of Seoul 30 Developing web service  Service request perspective Step 1: Find services via UDDI Step 2: Retrieve service description file Step 3: Create SOAP client Step 4: Invoke remote service

 Data Mining Laboratory, Univ. of Seoul 31 Developing web service  Service provider perspective Step 1: Create core functionality Step 2: Create a SOAP service wrapper Step 3: Create WSDL service description Step 4: Deploy service Step 5: Register new service via UDDI

 Data Mining Laboratory, Univ. of Seoul 32 피보나치 웹 서비스 소개  실습 웹 서비스 정의 입력 값에 따른 피보나치 수열 [Fibonacci sequence] 결과값을 전달하는 서비스  웹 서비스 기술 사용 SOAP : 피보나치 수열 서비스 호출과 결과 수신을 위한 방법으로 사용 WSDL : 피보나치 수열 서비스 의 인터페이스 제공 ( 서비스 호출 방식 제공 ) 방법으로 사용 UDDI : 피보나치 수열 서비스 제공자를 검색하기 위한 방법으로 사용

 Data Mining Laboratory, Univ. of Seoul 33 피보나치수열 [Fibonacci sequence]  실습 웹 서비스 정의 제 1 항과 제 2 항을 1 로 하고, 제 3 항부터는 순차적으로 앞의 두 항을 취하는 수열 특정 항의 피보나치 수를 구한다  예시 입력 값 : 5 일 경우 결과 값 : 1, 1, 2, 3, 5 => 5 가 반환

 Data Mining Laboratory, Univ. of Seoul 34 서비스 인터페이스 정의  피보나치 수열의 합을 구하는 웹 서비스 Parameter : int ( 피보나치 수열의 범위 ) Return : int ( 피보나치 수 )

 Data Mining Laboratory, Univ. of Seoul 35 서비스 시나리오 흐름도 Internet Web Server Fibonacci Web Service other Web Services SOAP Message 개인 기업

 Data Mining Laboratory, Univ. of Seoul 36 서비스 아키텍처 Client Program UDDI SDK 라이브러리.NET BCL 라이브러리 UDDI Server Service API HTTP 프로토콜 SOAP 프로토콜 IIS HTTP Server ASP.NET Runtime Fibonacci Service

 Data Mining Laboratory, Univ. of Seoul 웹 서비스 어플리케이션 구축

 Data Mining Laboratory, Univ. of Seoul 38 실습 웹 서비스 어플리케이션 구축 프로세스  피보나치 수열 서비스 서비스 구현 피보나치 수열 알고리즘 서비스 구현  피보나치 수열 서비스 등록 (publish) Microsoft UDDI 서버에 서비스 등록  클라이언트 프로그램 개발 UDDI SDK 를 이용한 UDDI 서비스 검색 VS.NET 을 사용하여 WSDL 내용에 대한 Proxy 코드 생성.NET BCL 라이브러리를 이용한 서비스 호출 부분 개발

 Data Mining Laboratory, Univ. of Seoul 39 실습 웹 서비스 구현 프로젝트 생성  Web Service 를 만들기 위한 프로젝트를 생성 프로젝트 형식의 Visual C# 프로젝트 선택 템플릿의 ASP.NET 웹 서비스 선택 “ 로 작성

 Data Mining Laboratory, Univ. of Seoul 40 피보나치 수열 서비스 구현

 Data Mining Laboratory, Univ. of Seoul 41 피보나치 수열 서비스 컴파일 및 확인 Compilation 결과 실행 테스트

 Data Mining Laboratory, Univ. of Seoul 42 피보나치 수열 서비스 실행 확인 실행 결과 : XML 기반의 반환 값 출력

 Data Mining Laboratory, Univ. of Seoul UDDI SDK 를 사용한 웹 서비스 등록

 Data Mining Laboratory, Univ. of Seoul 44 UDDI 연결  UddiConnection 객체를 통해 UDDI 의 각 접근 점 (Access Point) 들과 연결  Access Points Private UDDI Server InquireURLhttp://servername/uddi/inquire.asmx PublishURLhttp://servername/uddi/publish.asmx ExtensionURLhttp://servername/uddi/extension.asmx Business UDDI Server InquireURLhttp://uddi.microsoft.com/inquire PublishURLhttp://uddi.microsoft.com/publish ExtensionURLhttp://uddi.microsoft.com/extension.asmx Test UDDI Server InquireURLhttp://test.uddi.microsoft.com/inquire PublishURLhttp://test.uddi.microsoft.com/publish ExtensionURLhttp://test.uddi.microsoft.com/extension.asmx

 Data Mining Laboratory, Univ. of Seoul 45 인증처리  UDDIAuthentication UDDI Server 를 통한 단일 기반 인증 사용 시

 Data Mining Laboratory, Univ. of Seoul 46 businessEntity 구조 정의 및 등록  businessEntity 객체 UDDI 의 businessEntity 구조를 정의 웹서비스를 제공하는 업체 또는 개체에 대한 정보  SaveBusiness 객체 businessEntity 객체정보를 UDDI 에 등록 실제 UDDI 에 등록되는 businessEntity 의 XML 정보

 Data Mining Laboratory, Univ. of Seoul 47 businessService 구조 정의 및 등록  businessService 객체 UDDI 의 businessService 구조를 정의 비즈니스가 제공하는 세부 서비스에 대한 설명 정보  SaveService 객체 businessService 객체정보를 UDDI 에 등록 UDDI 에 등록되는 BusinessService 객체의 XML 정보

 Data Mining Laboratory, Univ. of Seoul 48 tModel 구조 정의 및 등록  TModel 객체 UDDI 의 tModel 구조를 정의 웹서비스에서 사용되는 기술표준 ( 통신프로토콜, 보안 매커니즘 등 ) 및 기술정보에 대한 참조리스트를 정의  SaveTModel 객체 TModel 객체 정보를 UDDI 에 등록

 Data Mining Laboratory, Univ. of Seoul 49 UDDI 에 등록되는 TModel 객체의 XML 정보

 Data Mining Laboratory, Univ. of Seoul 50 UDDI 서버의 등록 결과  Private UDDI Server 의 웹 서비스 게시 관리자 화면 공급자 정보와 tModel 의 등록정보를 확인할 수 있다.

 Data Mining Laboratory, Univ. of Seoul 웹 서비스 클라이언트 구현

 Data Mining Laboratory, Univ. of Seoul 52 피보나치 웹 서비스 클라이언트 구현 프로젝트 형식의 Visual C# 프로젝트를선택 템플릿의 Windows 응용 프로그램 선택

 Data Mining Laboratory, Univ. of Seoul 53 Web Service 의 웹 참조 추가 하기  프로젝트 -> 웹 참조 추가 를 선택  URL 창에 “ 프로젝트명 /asmx 파일이름 ” 의 형태로 입력한다.( 예 : )  Service1 에 대한 설명 확인 후 참조 추가 선택

 Data Mining Laboratory, Univ. of Seoul 54 웹 참조 추가 확인 하기  클래스 View 에서 선택한 웹서비스에서 제공해주는 클래스와 메소드를 확인 가능  솔루션 탐색기 -> Web references 에 가보면 localhost 가 추가 되어 있음을 확인

 Data Mining Laboratory, Univ. of Seoul 55 Window Form 작성  해당 Component 의 name attribute 를 정의 txtInput btnCal txtResult

 Data Mining Laboratory, Univ. of Seoul 56 Source 웹 참조 추가를 한 후 웹 서비스로 제공해 주는 객체는 일반 객체를 생성하는 방 법과 동일한 방법으로 생성

 Data Mining Laboratory, Univ. of Seoul 57 결과 화면

 Data Mining Laboratory, Univ. of Seoul The End