Transcript IS5101

전자상거래 원론: 제10장
XML과 EDI를 이용한 전자상거래
학습 목표






XML의 특징과 전자상거래에서의 필요성에 대해서 이해한다.
전통적인 B2B 전자상거래 기반 기술인 EDI의 특징과 동향에
대해서 정리한다.
전자상거래를 위해서 필요한 XML 핵심 표준에 대해 정리한다.
XML기반 전자상거래를 실현하기 위한 표준화의 의미와 동향을
파악한다.
전자상거래 프레임워크의 역할과 주요 프레임워크를 알아본다.
미래 전자상거래 기반으로서의 시맨틱 웹의 가능성을 탐구한다.
2
본문내용
전자상거래와 XML
 2. EDI
 3. XML 핵심 기술
 4. XML기반 전자상거래 동향
 5. 시맨틱 웹
 6. 결론
 1.
3
1. 전자상거래와 XML
HTML과 XML
XML DTD(Document Type Definition)
<!ELEMENT Catalog (Book)+>
<!ELEMENT Book (Title,Price)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Price (#PCDATA)>
<!ATTLIST Price Unit (W|Y|D) ”W">
Simplification
SGML DTD
Validation
Validation
Well-Formed / Validated XML Document
<Catalog>
<Book>
<Title>백과사전</Title>
<Price
Unit=”W">10000</Price>
</Book>
</Catalog>
XSL
Conversion
HTML
<table>
<tr>
<td>백과사전</td>
<td>10000원</td>
</tr>
</table>
Presentation
Store / Manimpulation
5
XML의 특성 비교
기준
XML
상호관계
SGML을 단순화한 것으로
사례정의 가능
확장성
복잡도
표준화
가능 (DTD정의)
다소 복잡
V1.0 권고안 (1998.2) 등
SGML
HTML
최초의 마크업 표준으로 SGML로 정의된 한 사례
사례정의 가능
가능 (DTD 정의)
불가능 (비표준 확장 가능)
매우 복잡
단순
1986년 ISO8879 표준
V4.01 권고안 (1999)
IE5.*
전용
범용
데이터 공유
가능
가능
불가능
스타일 처리
XSL
DSSSL
CSS
용 도
전자상거래
문서화
프리젠테이션
브라우져
전 망
웹 변화의기본 틀
표준화 주도
기업 경쟁력의 기준
CALS문서화
XML사례로 정의된
XHTML
6
Basic XML Standards
W3C Recommendations













XML 1.0: 1998.2
MathML 1.0: 1998.4
SMIL 1.0: 1998.6
DOM Level 1 1.0 : 1998.10
Namespaces in XML: 1999.1
RDF Model and Syntax: 1999.2
XSLT 1.0 and XPath 1.0: 1999.11
XHTML 1.0: 2000.1
RDF Schema: 2000.3
DOM Level 2 1.0: 2000.11
XHTML 1.1 - Module-based XHTML: 2001.5
XLink 1.0 and XPointer 1.0: 2001.6
SMIL 2.0: 2001.8
W3C
Proposed
Recommendations
W3C
Candidate
Recommendations
W3C
Working
Drafts
W3C
Notes
7
XML-Related Acronyms
XFRML
RosettaNet
Reg/Rep
WSDL
SOAP
UML/XMI
DTD
UDDI
DOM
Schema
BizTalk
SAX
HRXML
ebXML
WML
XLink
XSLT
NEWSML
BPML
FPML
XSL
XQuery
XML
Pandora’s Box
8
2. EDI
Traditional EDI
SIMPL-EDI
1990
1980
1970
1960
EDI-LITE
O
Mainstrea
O
m
UN/EDIFACT
ANSI X.12 GTDI
TDCC
개별기업간
10
EDI System Architecture
기업B
기업A
App1
In-house
Format
EDI
변환
S/W
EDIFACT
EDIFACT
VAN
EDI
변환
S/W
In-house
Format
App2
11
EDI 계층 구조
EDI Semantic Layer
Application-level Services
EDI Standard Layer
EDIFACT
ANSI X.12
EDI Transport Layer
Electronic Mail X.435, MIME
Point to Point
FTP
WWW
HTTP
Physical Layer
Dial-up Lines, Internet, X.25
12
EDI Message (PRICAT)
Segments
UNH+13579+PRICAT:D:96A:UN:EAN006
'
BGM+9+12345+2'
DTM+137:19971116:102'
DTM+273:1997111619971215:718'
RFF+PL:12333'
DTM+171:19971016:102'
NAD+BY+5790000000029::9'
NAD+SU+5790000000012::9'
...
Data Elements
13
EDI 보급률
95%
98%
5%
2%
FORTUNE 1000
OVERALL
Using EDI
EDI Capable
14
Advantage
EDI의 장단점
•산업별 표준
•개방형 국제 표준
•Secure Interchange: Private Network
•Legal Interchange
•Available Tools and Service Providers
–신뢰성
•Proven Business Benefits
–데이터 입력시의 오류 감소
–문서 처리를 위한 시간과 비용 절감
Disadvantage
•Low Flexibility
–Fixed Data Structure
–Knowledge embedded in Programs
•High Cost of Implementation
•Long Time to Implement
•Difficulty in Maintaining and Updating the Standards
•Difficulty in Version Control
•No Provision for Process and Information Exchange
15
EDI 발전 방향
 전통적인
EDI의 지속적인 성장
– Batch: 많은 양의 메시지를 모아 일정회수 전송
– Real-time: 메시지 발생 즉시 전송
– Interactive: 즉각적인 응답
 단순화된
–
–
–
–
EDI로의 발전
EDI-LITE: UN/EDIFACT근간의 웹솔루션
SITPRO: UN/EDIFACT근간의 Aligned Forms 지원
UKCEDIS: 메시지 교환 전에 마스터파일 교환
SIMPL-EDI: UN/CEFACT SIMAC
 업무
프로세스에 초점을 맞춘 Open EDI
– OO EDI: 객체지향 기법 적용
16
3. XML 핵심 기술
XML Prolog
XML Declaration
<?xml version=“1.0” encoding=“euc-kr”?>
Processing Instruction
<?xml-stylesheet type=“text/css” href=“greeting.css”?>
XML DTD (Document Type Definition)
내부 정의
<!DOCTYPE greeting [
<!ELEMENT greeting (#PCDATA)>
]>
외부 정의
<!DOCTYPE greeting SYSTEM “hello.dtd”>
18
XML Element
Element
Attribute
Element Content
<Price unit=“W”>1000</Price>
Empty
Element
Attribute
Start Tag
Start Tag
<image src=“lake.jpg”></image>
<image src=“lake.jpg” />
Attribute Name Attribute Value
<Quotation text=‘He said, “Not that!”’ />
<Person height=“5&apos;6&quot;” />
Generic Entity Reference
주의: 엘리먼트 이름과 속성이름은 대소문자를 구분합니다.
19
Element Content
Element Content
<Book>
<Title>B2B전자상거래</Title>
<Author>김형도</Author>
</Book>
<Book>
제목은 <Title>B2B전자상거래</Title> 이며
저자는 <Author>김형도</Author>입니다.
</Book>
Comment
<!-- 이것은 책에 관한 소개입니다. -->
CDATA Section
Markup이 아닌 문자열로 해석됨
<![CDATA[<greeting>Hello, world!</greeting>]]>
20
Well-formedness







XML 선언문
하나 이상의 엘리먼트가 존재
최상위 엘리먼트가 존재
Nesting with no overlap
속성 이름은 엘리먼트 내에서 유일함
Generic Entity Reference
– &amp; &lt; &gt; &quot; &apos;
...
Element Overlapping
<Parent>
<Child>
</Parent>
</Child>
Well-formed Document Sample
<?xml version="1.0" standalone="yes" ?>
<CUSTOMER>
<NAME>
<LAST_NAME>Smith</LAST_NAME>
<FIRST_NAME>Sam</FIRST_NAME>
</NAME>
<DATE>October 15, 2001</DATE>
<ORDERS>
<ITEM>
<PRODUCT>Tomatoes</PRODUCT>
<NUMBER>8</NUMBER>
<PRICE>$1.25</PRICE>
</ITEM>
<ITEM>
<PRODUCT>Oranges</PRODUCT>
<NUMBER>24</NUMBER>
<PRICE>$4.98</PRICE>
</ITEM>
</ORDERS>
</CUSTOMER>
21
경매 XML 문서 사례
<?xml version="1.0" encoding="euc-kr" ?>
<!DOCTYPE AUCTIONBLOCK SYSTEM auctionblock.dtd>
<AUCTIONBLOCK>
<ITEM>
<TITLE>Vase and Stones</TITLE><ARTIST>Linda Mann</ARTIST>
<DIMENSIONS>20x30 inches</DIMENSIONS>
<MATERIALS>Oil</MATERIALS><YEAR>1996</YEAR>
<DESCRIPTION>Still Life</DESCRIPTION>
<PREVIEW-SMALL src="burl-s.jpg" width="300" height="194" alt="Vase and Stones입니다."/>
<BIDS>
<BID>
<PRICE>6000원</PRICE><TIME>3:02:22 PM</TIME>
<BIDDER>Chris</BIDDER><TIMESTAMP>1307</TIMESTAMP>
</BID>
<BID>
<PRICE>5700원</PRICE><TIME>2:58:42 PM</TIME>
<BIDDER>John</BIDDER><TIMESTAMP>1315</TIMESTAMP>
</BID>
<BID>
<PRICE>5600원</PRICE><TIME>2:54:32 PM</TIME>
<BIDDER>Andrew</BIDDER><TIMESTAMP>1308</TIMESTAMP>
</BID>
<BID>
<PRICE>5500원</PRICE><TIME>2:48:08 PM</TIME>
<BIDDER>Chris</BIDDER><TIMESTAMP>1307</TIMESTAMP>
</BID>
<BID>
<PRICE>5000원</PRICE><TIME>2:47:58 PM</TIME>
<BIDDER>opening price</BIDDER><TIMESTAMP>1298</TIMESTAMP>
</BID>
</BIDS>
<TIMESTAMP>1315</TIMESTAMP>
</ITEM>
</AUCTIONBLOCK>
22
Validation
DTD: Document Type Definition
<!ELEMENT Catalog (Book)+>
<!ELEMENT Book (Title,Price)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Price (#PCDATA)>
<!ATTLIST Price Unit (W|Y|D) ”W">
Validation
Valid Document
<Catalog>
<Book>
<Title>백과사전</Title>
<Price
Unit=”W">10000</Price>
</Book>
</Catalog>
Validation
Invalid Document
<Catalog>
<Book page=“257”>
<Title>AI</Title>
<Price>10000</Price>
</Book>
</Catalog>
23
DTD (Document Type Definition)
<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE CUSTOMER SYSTEM “c.dtd”>
<CUSTOMER>
<NAME>
<LAST_NAME>Smith</LAST_NAME>
<FIRST_NAME>Sam</FIRST_NAME>
</NAME>
<DATE>October 15, 2001</DATE>
<ORDERS>
<ITEM>
<PRODUCT>Tomatoes</PRODUCT>
<NUMBER>8</NUMBER>
<PRICE>$1.25</PRICE>
</ITEM>
<ITEM>
<PRODUCT>Oranges</PRODUCT>
<NUMBER>24</NUMBER>
<PRICE>$4.98</PRICE>
</ITEM>
</ORDERS>
</CUSTOMER>
c.dtd
<!ELEMENT CUSTOMER (NAME, DATE, ORDERS)>
<!ELEMENT NAME (LAST_NAME, FIRST_NAME)>
<!ELEMENT LAST_NAME (#PCDATA)>
<!ELEMENT FIRST_NAME (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT ORDERS (ITEM)*>
<!ELEMENT ITEM (PRODUCT, NUMBER, PRICE)>
<!ELEMENT PRODUCT (#PCDATA)>
<!ELEMENT NUMBER (#PCDATA)>
<!ELEMENT PRICE (#PCDATA)>
심볼
A,B
A|B
A+
A*
A?
()
의미
순서화 (Ordering)
선택 (Selection)
반복 (Repetition)
반복 (Repetition)
조건화 (Optional)
그룹화
비고
최소 1 번
최소 0 번
최대 1 번
24
Attribute Definition
사용 가능한 값
<!ELEMENT month EMPTY>
<!ATTLIST month
name CDATA #IMPLIED
id
ID
#REQUIRED
>
속성이름
속성값 유형
CDATA
나열형
ID
IDREF
IDREFS
NMTOKEN
NMTOKENS
ENTITY
ENTITIES
Value
#IMPLIED
#REQUIRED
#FIXED Value
인용부호로 감싼 단순한
문자열로서 기본값을 의미
조건적으로 사용되는
속성임을 표현
반드시 엘리먼트에서
사용되어야 할 속성임을
표현
고정된 값을 가짐을 표현
단순한 문자열
사용 가능한 값을 나열
문서내에서 유일한 이름을 사용
연관된 다른 엘리먼트의 ID 유형 속성의 값을 인용
공백으로 구분된 복수의 IDREF 들
XML 에서 이름으로 정의될 수 있는 값
공백으로 구분된 복수의 NMTOKEN
DTD 내에 정의된 엔티티 이름
공백으로 구분된 복수의 ENTITY 들
25
Attribute Definition Samples
<!ELEMENT CUSTOMER EMPTY>
<!ATTLIST CUSTOMER
id
ID
#REQUIRED
employer
IDREF
#IMPLIED
points
CDATA
“100”
language
CDATA
#FIXED “EN”
credit
(TRUE|FALSE) “TRUE”
contacts
NMTOKENS #IMPLIED
>
Validation
<CUSTOMER id=“C123” employer=“C200”
points=“155” contacts=“Ringo Harrison” />
<CUSTOMER id=“C200” credit=“FALSE” />
26
경매 XML 문서 DTD
<!ELEMENT AUCTIONBLOCK (ITEM)*>
<!ELEMENT ITEM (TITLE,ARTIST,DIMENSIONS,MATERIALS,YEAR,
DESCRIPTION,PREVIEW-SMALL,BIDS*,TIMESTAMP)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT ARTIST (#PCDATA)>
<!ELEMENT DIMENSIONS (#PCDATA)>
<!ELEMENT MATERIALS (#PCDATA)>
<!ELEMENT YEAR (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>
<!ELEMENT PREVIEW-SMALL EMPTY>
<!ATTLIST PREVIEW-SMALL
src CDATA #REQUIRED
width CDATA #IMPLIED
height CDATA #IMPLIED
alt CDATA #IMPLIED>
<!ELEMENT BIDS (BID)*>
<!ELEMENT BID (PRICE,TIME,BIDDER,TIMESTAMP)>
<!ELEMENT PRICE (#PCDATA)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT BIDDER (#PCDATA)>
<!ELEMENT TIMESTAMP (#PCDATA)>
27
XML Schema
DTD의 문제점





XML 구조와는 다른 형태
– 이해하기 어려움
– 독자적인 처리 소프트웨어 필요
상속과 같은 객체지향 개념이 없음
이름공간 지원이 불가능
자료 유형을 정확히 표현하지 못함
반복 유형을 정확히 표현하지 못함
XML Schema DTD
XML DTD
Validation
Validation
XML 문서사례
Validation
XML Schema 문서사례
28
XPath
XPath란 XML 문서의 일부분을 지정하기 위한 표현방법
위치 경로는 상대경로와 절대경로 (/ + 상대경로) 로 표현
상대경로는 /로 구분된 하나 이상의 Step들로 구성됨
하나의 Step은 Axis, Node Test, Predicate 으로 구성됨
DOM Tree
catalog
Step Sample
child::price[attribute::unit=“W”]
book
Node
Predicate
Test
절대경로
Location Path Sample
Axis
title
“B2B EC @ XML”
price
“19000”
unit
“W”
/catalog/book/*
book/*
ancestor::catalog/book
상대경로
29
개념적인 XSL 변환 모델
XSL Formatting
XSL Transformation
입력 XML
변환결과 XML
출력
30
XSLT Sample
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY>
<TABLE border="1">
<TR style="font-size:12pt; font-family:Verdana; font-weight:bold;
text-decoration:underline">
<TD>Price</TD>
<TD>Time</TD>
<TD>Bidder</TD>
</TR>
<xsl:for-each select="AUCTIONBLOCK/ITEM/BIDS/BID">
<xsl:sort select="BIDDER">
<TR>
<TD>$<xsl:value-of select="PRICE"/></TD>
<TD><xsl:value-of select="TIME"/></TD>
<TD><xsl:value-of select="BIDDER"/></TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
31
XSLT 적용 결과
32
DOM (Document Object Model)
DOM Tree
catalog.xml
<?xml version=”1.0”?>
<catalog>
<book>
<title>B2B EC @ XML</title>
<price unit="W">19000</price>
</book>
</catalog>
catalog
book
Parsing
title
“B2B EC @ XML”
price
“19000”
unit
“W”
33
HTML에서의 문서연결과 링크참조
a.html
<HTML>
<A href=”a.html”>there</A><BR>
<P id=”First”>First</P><BR>
<P id=”Second”>Second</P><BR>
<P id=”Last”>Last</P><BR>
</HTML>
b.html
<HTML>
<A href=”a.html#First”>First</A><BR>
<A href=”a.html#Second”>Second</A><BR>
<A href=”a.html#Last”>Last</A><BR>
</HTML>
34
XLink를 사용한 속성 정의
<!ELEMENT MyLink ANY>
<!ATTLIST MyLink
type
(simple|extended|locator|arc|resource|title)
href
CDATA
role
NOTATION
title
CDATA
show
(embed|replace|new|undefined)
actuate
(onLoad|onRequest|undefined)
from
NOTATION
to
NOTATION
>
‘simple’
#REQUIRED
#IMPLIED
#IMPLIED
#IMPLIED
#IMPLIED
#IMPLIED
#IMPLIED
35
XHTML

Bad HTML Pages and Web Browsers
<TITLE>Bad HTML
<HEAD>
<TITLE>This is really bad</TITLE>
<BODY>
<H1>BAD HTML EXAMPLE
</BODY>

Strong Browsers
Weak Browsers
XHTML
– All the elements combined with the syntax of XML
– Stricter and cleaner version of HTML 4.01
– Processed by all XML-enabled devices
– Compatible with backward browsers
36
XHTML vs HTML









XHTML documents must be well-formed
– <b><i>This text is bold and italic</i></b>
Tag names must be in lowercase
– <html><body> <p>This is a paragraph</p> </body></html>
All XHTML elements must be closed
– <p>This is a paragraph</p>
Empty Elements must also be closed
– This is a break<br />
– This is a break too<br></br>
Attribute names must be in lower case
Attribute values must be quoted
– <font color=“red”>…</font>
Attribute minimization is forbidden
The id attribute replaces the name attribute
– <img src="picture.gif" id="picture1" />
The xml:lang attribute must be added for each lang
– <div lang=“kr" xml:lang=“kr">김형도!</div>
37
RDF Data Model
 Basic
Concepts: A Simple Frame System
– Resources
– Properties
– Statements: Resources + Properties + Literals
 Example
http://www.w3.org/Home/Lassila
Creator
Ora Lassila
<rdf:RDF>
<rdf:Description about="http://www.w3.org/Home/Lassila">
<s:Creator>Ora Lassila</s:Creator>
</rdf:Description>
</rdf:RDF>
38
RDF Schema





Resource
MotorVehicle
Truck

Specifying
– Classes of Resource Types, Property Types
– Constraints on the Allowed Combinations
Core Classes: rdf:Resource, rdf:PropertyType, rdfs:Class
Core PropertyTypes: rdf:instanceOf, rdfs:subClassOf
Core Constraints
– rdfs:ConstraintPropertyType, rdfs:range, rdfs:domain
Documentation: rdfs:comment, rdfs:label
Collections: rdfs:Collection, rdf:Bag, rdf:Seq, rdf:Alt
<rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description ID="MotorVehicle">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Description>
<rdf:Description ID="Truck">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
39
4. XML기반 전자상거래 동향
eCo 아키텍쳐
41
xCBL 문서 집합
분류




문서명
Catalog Content
ProductCatalog
Order Management
Order, OrderRequest, OrderResponse, ChangeOrder
Invoicing and Payment
Invoice, PaymentRequest, PaymentRequestAcknowledgement, RemittanceAdvice,
FXRateRequest, FXRateResponse, PaymentStatusRequest, PaymentStatusResponse
Shipping and Planning
AdvanceShipmentNotice, PlanningSchedule, PlanningScheduleResponse,
ShippingSchedule, ShippingScheduleResponse
Statistics and Forecasting
TimeSeriesRequest, TimeSeries, TimeSeriesResponse
Trading Partner Documents
TradingPartnerOrganizationInformation, TradingPartnerUserInformation,
TradingPartnerOrganizationDelete, TradingPartnerUserDelete, TradingPartnerResponse
Auction, Availability and
RFQ Documents
AuctionCreate, AuctionCreateResponse, AuctionResult, AuctionResultResponse,
RequestForQuotation, Quote, AvailabilityToPromise, AvailabilityToPromiseResponse
Synchronous Checks
(MRO)
PriceCheckRequest, PriceCheckResult, AvailabilityCheckRequest,
AvailabilityCheckResult, OrderStatusRequest, OrderStatusResult
Miscellaneous
MessageAcknowledgement
문서내용과 전송특성의 분리
모듈방식의 개발
잘 정립된 국제 표준의 활용
–

xCBL 3.0 기준
ISO 8601 (날짜와 시간), ISO 31 (측정), ISO 639 (언어), ISO 3166 (국가코드), ISO 4217 (화폐)
확장성
제품과의 독립성
42
RosettaNet의 개발 대상
Telephone
전자상거래 응용
Business Process
전자상거래 프로세스
Dialog
PIP
Grammar
Framework
Words
Dictionaries
Alphabet
HTML/XML
Sound
인터넷
43
RosettaNet PIP 개발 프로세스
Business Process Modeling
목적: 현재 시스템 분석
출력: 현재의 공급체인 프로세스
Business Process Analysis
목적: 정렬 가능성 확인
출력: 가능한 프로세스, 가능한 PIP 리스트와 영향분석
Partner Interface Process (PIP)
목적: 전자상거래 인터페이스 제공
출력: XML문서 + 모델 + 검증도구
Dictionaries
목적: 공통 속성 제공
출력: 속성/값
Implementation Framework
목적: 공통 교환 틀 제공
출력: XML 프로토콜 DTD
44
RosettaNet 전자상거래 모델
PIPs
Dictionaries
Non Repudiation
Authentication
Transport
Transfer
Message Structure
Message Processing
Implementation
Framework
45
XML/EDI 메시지
<Item>
Understandable
<Qty>20</Qty>
<Unit>DZ</Unit>
Exchangeable
<ItemNo>41358</ItemNo>
<Description>Pencils</Description>
<UnitPrice>9.55</UnitPrice>
<TotalPrice>191.00</TotalPrice>
</Item>
Insertable
Validatio
n
46
XML/EDI 구성요소
XML
Templates
Web
Foundation
Processing
Logic
Fusion
Fusion
EDI
Agents
Implementation
Methods
Repository
Global
Reference
Dictionary
Business
Methods
47
XML/EDI 아키텍쳐
XML
EDI
웹브라우져
XML/EDI
문서
웹서버
객체/프로세스/
문서라우팅
Integrated XML/EDI Business Process Objects
데이터 접근
U/I 형식
데이터 교환
데이터 I/F 객체
템플릿 관리
데이터 교환 포맷
에이전트
템플릿 저장소
프로세스
템플릿
SQL/Xbase: Local Data Store
Legacy Software
글로벌
저장소
EDI DTD’s
Templates,
Objects
기존 응용
48
웹 서비스
 A programmable
application component
accessible via standard Web protocols
How to Understand ?
Web
Service URL
How to Publish?
회사A
XML
Agent
XML
How to Query?
회사B
등록저장소
49
웹 서비스 통신규약 구조
Universal Service Interoperability Protocols
Web Service Description Language (WSDL)
Universal Description, Discovery, and Integration (UDDI)
Simple Object Access Protocol (SOAP)
Extensible Markup Language (XML)
공통의 인터넷 통신규약 (HTTP, SMTP, TCP/IP)
50
Why SOAP ?
기업 A
객체1
CORBA, DCOM, Java RMI
Binary, Complex,
Platform-dependent
Firewall
기업 B
객체2
SOAP: Simple Object Access Protocol
Format: XML
Protocol: HTTP, SMTP, …
Advantages: Easy to implement, Easy to install / administrate across firewalls
Disadvantages: No security facility, No enforced default data encoding
51
SOAP Sample
POST /BookStore HTTP/1.1
HTTP Request
Host: www.amazon.com
Content-Length: 162
Content-Type: text/xml; charset=“utf-8”
SOAP HTTP Binding
SOAPAction: “http://www.amazon.com/BookService#OrderBook”
<Envelope>
<Body>
<OrderBook>
<title>B2B Electronic Commerce</title>
SOAP Payload
<author>HDKIM</author>
</OrderBook>
</Body>
</Envelope>
52
UDDI의 설계 목표
상위계층의 탐색 기능들
전자시장
UDDI 등록기들과 통신규약
전자시장
전자시장
검색포털
검색포털
기술관련 사용자들
일반 사용자들
53
How UDDI Works
1.
SW companies, standards
bodies, and programmers
populate the registry with
descriptions of different types
of services
2.
UDDI Business Registry
Businesses
populate
the registry
with
descriptions of
the services
they support
Business
Registrations
3.
Segrvice Type
Reistrations
UBR assigns a programmatically unique
identifier to each service and business
registration
4.
Marketplaces, search
engines, and business
apps query the registry to
discover services at other
companies
5.
Business uses this
data to facilitate
easier integration
with each other over
the Web
54
Registry Data

Businesses register
public information
about themselves
White
Pages
Yellow
Pages
Green
Pages

Standards bodies,
Programmers,
Businesses register
information about their
Service Types
Service Type
Registrations
55
White / Yellow / Green Pages



White Page Information
– Business Name
– Text Description
 list of multi-language text strings
– Contact info
 names, phone numbers, fax numbers, web sites…
– Known Identifiers
 list of identifiers that a business may be known by - DUNS and others
Yellow Page Information
– 3 standard taxonomies in V1
 Industry: NAICS (Industry codes - US Govt.)
 Product/Services: UN/SPSC (ECMA)
 Location: Geographical taxonomy
– Implemented as name-value pairs to allow any valid taxonomy identifier to be attached to the business white page
Green Page Information
– Technical information on how to “do e-commerce” with businesses
– Nested model
 Business processes
 Service descriptions
 Binding information
– Programming/platform/implementation agnostic
– Services can also be categorized
56
Registration Example
businessEntity
TB993…
Harbour Metals
www.harbourmetals.co.au
“Serving Inner Sydney Harbour for …
contacts
businessServices
identifierBag
categoryBag
keyedReference
EE123…
NAICS
02417
keyedReference
DFE-2B…
DUNS
45231
tModelKeys
Peter Smythe
872-6891
4281 King’s Blvd, Sydney, NSW
[email protected]
businessService
businessService
23T701e54683nf…
Key
Online catalog
Name
“Website where you can …
Description
BindingTemplates
BindingTemplates
BindingTemplate
5E2D412E5-44EE-…
http://www.sydneynet/harbour…
tModelInstanceDetails
tModelInstanceInfo
4453D6FC-223C-3ED0…
http://www.rosetta.net/catalogPIP
57
xForms 프레임워크
58
ebXML의 임무
모든 거래 당사자들에게 상호 운용적이며 안전하고
일관성 있는 방법으로 광범위한
e-business 정보 사용이 가능하도록 개방된 XML
기반의 infrastructure를 제공하는 것을 목적으로 함
 Creating A Single Global Electronic Market
 UN/CEFACT & OASIS 후원으로 시작
 18 개월 프로젝트 ( 1999.11 – 2001.5)

59
ebXML의 개념적 처리 절차
산업별
XML
시나리오
객체 라이브러리
프로필
ebXML
등록기
⑥
기
업
A
기
업
A
프
로
필
프
로
필
내
용
질
문
⑦
기
업
A
시
나
리
오
요
청
① ebXML 규격서 요청
② ebXML 규격서 내용
④ 시나리오 / 프로필 제출
⑤ 시나리오 / 프로필 수락 확인
기
업
A
시
나
리
오
⑧
CPA 제출
업무 프로세스 명세서
③
시스템 구축
기업A
내
용
⑩⑪
CPA 수락 확인
⑨
⑫
거래 실행
객체 라이브러리
기업B
업무 프로세스 명세서
60
ebXML 프레임워크의 특징

Emphasizing business processes (scenarios) rather than
business documents
Assembling documents from context-sensitive components
Sharing objects using the set of distributed registries/repositories
Providing a way to define company profiles
Providing a standard message transport mechanism

Modular in nature




Technical Specification Name
ebXML Technical Architecture Specification
Business Process Specification Schema
Registry Information Model
Registry Services Specification
ebXML Requirements Specification
Collaboration-Protocol Profile and Agreement
Specification
Message Service Specification
Version
v1.04
v1.01
v1.0
v1.0
v1.06
v1.0
v1.0
61
Runtime
Design Time
ebXML Architecture
Business
Process
Business
Documents
Register &
Discover
Registries/
Repositories
Collaboration
Protocol
Profile
Business
Service
Interface
CP Agreement
Transport
Core/Domain
Components
XML based: XMI,
Specification Schema,
Document Schemas
Collaboration
Protocol
Profile
Business
Service
Interface
Package
Business
Services/App’s
Business
Services/App’s
62
Competition and Cooperation
XML Benefits




Structured, Meaningful Meta-language
– Customizable to your application
– Interoperability: Industry Standards
One Content, Many Presentations
Reusable Chunk of Information
Ubiquitous Tools
N2 변환문제
표준1
My XML is better than your XML!
표준 2
표준 3
표준 6
표준 5
표준 4
63
e-Business Frameworks
Vertical Market Vocabularies
WSDL
OBI
HRXML
BPML
WML
XFRML
NEWSML
FINML
many others...
e-Business Frameworks
ebXML
BizTalk
Rosetta Net
eCo
UDDI
Core XML Standards
XML 1.0
SAX
DOM
RDF
XQuery
XLink
XSL
XSLT
XMI
DTD’s
Schema
SOAP
64
Divergence and Convergence
•Need for interoperability
•Lack of adoption due to confusion
•Lack of adoption due to size of standard
•Standards compliance can be a competitive tool



Need for business applicability in the absence of
core horizontal standards
New technology with immature network of
communicating experts
Competitive forces
65
5. 시맨틱 웹
시맨틱웹의 개요

웹(Web)
– 1989년, Tim Berners-Lee
– 1991년 일반 공개
– URIs, HTML, HTTP

시맨틱 웹
– 1999년, Time BernersLee(W3C)
– 내용 중심의 정보 표현과
해석
– 기계(agent)에 의한 정보
추출, 통합, 가공 추론
– XML, RDF, Ontology,
에이전트
67
시맨틱웹의 개요
 인간
뿐만 아니라 기계도 정보를 이해할 수
있도록 하는 기술
– 현재의 웹은 인간을 위한 형태로 개발되어 기계가
처리하는 데 많은 한계점이 존재
웹
상의 정보에 컴퓨터가 쉽게 해석할 수 있는
잘 정의된 의미(semantic)를 부여
 데이터간의 연관 관계를 체계적으로 정의
 자동화되고 통합화 된 데이터의 공유를 제공
68
시맨틱 웹의 구조
Source:Tim Berners Lee의 XML 2000 학술대회 발표자료
69
시맨틱웹의 핵심기술
 XML
 RDF
(Resource Description Framework)
 온톨로지 (Ontology)
– DAML (DARPA Agent Markup Language)
– DAML + OIL (Ontology Inference Layer)
 지능형
에이전트 (Intelligent Agent)
70
RDF
Semantic 즉 문서의 의미를 지정하는 역할
 XML로 표현
 의미 부여를 위해서는 데이터 뿐만 아니라 데이터에
대한 추론을 규정하는 규칙(rule)을 표현할 수 있는
언어
 세 개의 정보를 지닌 쌍들을 정의

– 일반 문장의 주어, 동사(서술어), 목적어에 해당
– 사람이나 웹문서 등 특정 대상(object)이 특정
속성(attribute)에 대하여 특정 값(value)을 가지고 있는 것을
표현한다.
– 주어에 해당되는 대상과 목적어에 해당되는 값, 그리고
동사에 해당되는 속성들은 모두 URI로 지정
71
온톨로지(Ontology)




철학적인 개념으로써 존재의 본질과 유형에 관한 이론을 의미
인공지능이나 웹 관련 연구에서는 개념 규정을 의미
일반적으로 용어와 용어들 간의 관계를 표현하는 컴퓨터 판독이
가능한 공식 규정을 의미
시맨틱 웹
– 특정 주제에 관한 지식 용어들의 집합으로서 이들 용어뿐만 아니라
용어들 간의 의미적 연결 관계와 간단한 추론 규칙을 포함
– 시맨틱 웹에서는 몇몇의 복잡한 대규모 온톨로지 대신에 다수의 소규모
온톨로지와 이들 간의 상호 참조로 이루어진 웹을 추구
– 이러한 소규모의 온톨로지는 온톨로지 저장소(Repository)에 보관되어
검색될 수 있으며 필요한 온톨로지를 가져와 확장하거나 특화하여 사용이
가능
– 온톨로지를 웹 상의 정보 검색에 이용한 온톨로지 기반 검색(Ontologybased Search)은 새로운 차원의 선택도를 갖는 정보 검색이 가능해짐
72
DAML+OIL

DAML
– 웹 페이지에 존재하는 정보를 컴퓨터가 읽고 이해할 수 있도록 하기위해서 XML
기술을 기반으로 고안된 의미론적 언어 (Semantic Language)

OIL
– 온톨로지 정의 언어로서 Class를 표현하는데 중점을 둠

DAML+OIL
– DAML와 OIL을 결합하여 2001년도에 발표된 언어로서 컴퓨터가 쉽게 읽을 수
있고, 쉽게 이해할 수 있도록 정보를 표시할 수 있으며, 온톨로지를 생성하는 것이
가능한 언어
– 의미론적 웹(Web)을 만들고, 이를 프로그램이 자유롭게 사용하기 위한 핵심기술
– 웹 페이지, 데이터베이스, 프로그램 그리고 센서들간의 의미론적 상호
교환(Semantic Interoperability)을 가능하게 하는 것이 DAML+OIL의 목적임
– DAML+OIL은 서로 관련이 있는 웹 페이지들 간의 온톨로지를 제공함으로써,
기존에 장애였던 의미론적 장벽을 극복하여 단순히 웹 페이지를 가져와
디스플레이 하던 기존의 방식과는 다르게, 컴퓨터에 의해 읽혀지고, 이해될 수
있는 웹 페이지가 가능하게 됨
73
지능형 에이전트
지능형 에이전트간의 통신을 이용하여 자동으로
원하는 서비스에 대한 처리가 가능
 기존의 검색엔진을 대체하여, 검색 성능의 향상

– 지능형 에이전트는 여러 개의 웹페이지를 분석하여
개념적으로 연관되어 있는 웹페이지들을 연결하여 결과물로
제출 가능

지능형 에이전트는 사용자와의 대화를 통해 답변을
해석하여 다른 웹페이지의 정보를 보충하여 새로운
웹페이지를 동적으로 생성하는 것이 가능
74
지능형 에이전트
75
XRML(eXtensible Rule Markup
Language)
XML + Rule = XRML
 XML을 발전시킨 확장형 규칙 표식 언어(eXtensible
Rule Markup Language, XRML)
 XRML은 웹 페이지에 내재된 암묵적 규칙의 식별,
구조적인 규칙으로의 변환, 사람과 소프트웨어
에이전트간의 지식 공유를 가능하게 하며, 이를 통해
지식기반시스템(Knowledge Based System)과
지식관리시스템(Knowledge Management System)의
통합을 실현할 수 있기 위해 제안
 차세대 지식기반시스템과 지식관리시스템인 동시에 웹
공동체가 추구하고 있는 시맨틱웹을 위한 규칙표식
언어

76
Topology of XRML
Web Page
HTML
Web
Browsing
XML
Data
Processing
XRML
Rule
Processing
Human
Agent
Form
Agent
Form
Extensible Rule Markup Language
77
XRML 구성요소
Identification Markup Language(RIML) : 웹
문서에 내포되어 있는 암묵적 지식을 식별하기
위한 언어
 Rule Structure Markup Language(RSML) :
RIML에서 식별된 암묵적 규칙을 구조화된
규칙으로 표현하기 위한 언어
 Rule Triggering Markup Language(RTML) :
지식베이스에 저장되어 있는 규칙을 활용하여
추론을 수행하도록 하는 조건을 명시한 언어
 Rule
78
Architecture of XRML with
Components
KMS
KBS
Agent/Expert System
Consistency
HTML/
RIML
RSML
Transform
RB
RB
RB
Inference
Engine
DB
XML
HTML
XSL
RTML
Applications
Browse to Human
79
XRML의 적용가능분야
 기업
내 워크플로우(Workflow)에서의 자동화된
폼처리
 에이전트 기반의 기업간 전자상거래
 웹 기반의 지식기반시스템
 다양한 조직간의 지식 공유
80
시맨틱 웹의 응용 현황 및
기대효과

시맨틱 웹 관련 프로젝트 및 제품 개발 현황
– 교재 표 10-2 참조
기존 웹 기술의 실용화된 속도를 감안하면 시맨틱 웹은
2005년도에 실용화 되어 전세계 웹 기반 산업 발전의
차세대 성장엔진으로 떠오를 전망
 시맨틱 웹의 적용분야는 웹에서 발생하는 활동 전반을
대상으로 하고 있으므로, 전자상거래 및 지식관리
시스템 등으로 다양할 것으로 전망

– 시맨틱 웹을 통한 온톨로지와 표준화 방안을 이용한 국내
산업체의 웹 컨텐트 개발과업종별 전자카탈로그 및 저장소의
업체별 개발 노력이 대폭 감소되어 제품 경쟁력 향상에
기여할 것으로 기대됨
81
연습 문제
• XML이 HTML과 다른 점이 무엇인가?
• EDI의 장점 및 단점이 무엇인가?
• B2B환경에서 EDI 대신 XML을 사용하는 경우 장점이
무엇인가?
• 에코 프레임워크를 구성하는 7가지 계층을 제시하고, 간략히
설명하시요.
• ebXML의 구성요소는 무엇인가?
• 웹서비스에서 UDDI의 역할은 무엇인가?
• 시맨틱 웹에서 온톨로지란 무엇이며, 이것이 전자상거래에서
어떻게 활용될 수 있는가?
• XRML의 세가지 구성요소는 무엇인가?
82
질문 및 응답?
83