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'6"” /> 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 – & < > " ' ... 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