Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
XML, Web Services and Middleware 國立台灣師範大學 資訊教育系 葉耀明 [email protected] 內容大綱 • • • • • • • • • • • • • • 第二代Web與Component Software 何謂Middleware Middleware的演進 CORBA的概念 Web Service的概念 Web Services的發展過程 Web Services的架構 SOAP WSDL UDDI Web Service與ebXML Web Services的應用 台灣的殺手級應用:e-Taiwan計畫 總結 網路發展過程 • 1960-:網路源起 – Bitnet, IBM Network (獨立網路) – ARPANET: TCP/IP (1968-) • 1980-:Internet – WAN:TCP/IP (網路進入網網相連時代) – LAN:Ethernet, Token Ring • 1990-:World-Wide Web(第一代) – HTML (1989-) (網路進入多媒體時代) • 2000-: World-Wide Web(第二代) – XML (1998-) (網路進入自動化資訊處理時代)!!! – Web Services (2001-) (程式獨立於網頁之外) 下一代全球資訊網(一) • 全球性網路整合知識庫 • 全球性網路整合服務 web service web data web service web data web data web service web data web data 下一代全球資訊網(二) • 第一代Web: HTML – 網頁資訊Web Data (for human) • 第二代Web: XML – Web Data: Semantic Web (XML網頁)可形成整合 知識庫的知識網頁 • XML Schema/RDF/OWL (for human & machine) – Web Service: 可透過網路動態整合的網路服務 Web program, Web software (XML訊息) • SOAP/UDDI/WSDL (for human & machine) • Software in a nodeSoftware integrated through Web 中介軟體Middleware的概念 • Middleware的定義 • 起源: – 主從架構技術:RPC • Intranet Middleware: – CORBA/DCOM/RMI • Internet Middleware: – Web Service Types of Distributed Processes • Peer-to-Peer send – Send/Receive – Role: no – Application: MP3 exchange receive B A receive send • Filter – Receive/Forward – Role: calling/filter/called – Application: Router, Proxy Server • Client/Server – Request/Reply (or Response) – Role:Client/Server – Application: WWW, MIS, Agent… • Multicast B A calling calling C filter called request B A reply server client – Multicast/response – Role: Coordinator/Partner reply – Application: B2B Collaboration, Media A Distribution coordinator multicast B partner B B Type of Client/Server System • Desktop client – Traditional client/server • Intrasystem client/server – DDE (Dynamic Data Exchange) Server – Browser/Personal Web Server • Desktop server – X-terminal Client/Server Architecture • 3 Layer Architecture Client Server AP AP AP OS System Services System Services Hardware Hardware Hardware Fundamental AP Client/Server AP Middleware的定義 • • Middleware: a layer of software whose purpose is to mask heterogeneity and to provide a convenient programming model to application programmers. Middleware[Renaurd]:提供control integration,做data management, communication management, object management Client Server AP AP API API Middleware Middleware OS OS Protocol Hardware Hardware Client/Server AP 註:Application Program Interface Application Framework User Interface Userware Presentation Interface Task Management Middleware Control Integration Data Repository Enterpriseware System Service Hardware Computer and Communication Facility A P P L I C A T I O N Middleware Framework Foundation Components Control Integration Data Object Communication Management Management Management Data Repository Federated Distributed Data Base System API RPC Session Layer System Service Operating System Transport Layer Network Layer Computer and Communication Facility Device Driver OSI 7 Layers ORB Application Layer 應用層 network service RPC Presentation Layer 表現層 data conversion RPC Session Layer 交談層 connection service Socket Transport Layer 傳輸層 end-to-end delivery TCP, UDP Network Layer 網路層 routable packet IP Data Link Layer 資料鏈結層 data frame Ethernet MAC Physical Layer 實體層 raw bit stream Ethernet Base-band RPC Procedure Call的發展 • Procedure Call – Pascal, C – Compiler provides mechanisms • Inter-Process Communication (IPC) – C – OS provides service • Remote Procedure Call (RPC) – ODBC, HTTP/HTML – Middleware provides service • Object-Oriented Remote Procedure Call (OORPC) – CORBA(IIOP, GIOP), DCOM • XML-based Remote Procedure Call (XML-Based RPC) – XML-RPC (Remote Procedure Call) – SOAP (Simple Object Access Protocol) – WDDX (Web Distributed Data Exchange) Procedure Call Process • Process內的Procedure Call – Same Address Space – Pascal, C – Compiler provides mechanisms • Procedure name linking • Parameter binding • Variable Stack Main(){… call pc(a,b,c); …} Procedure pc(x,y,z){… Return(z=result); } Inter-Process Communication (IPC) • Node內的Procedure Call – Same Operating System – C; SVC (supervisor call) – OS provides service • Process IDProcedure name • Message Passing • Send/Receive Process A Process B Main(){… send(pid,a,b); receive(pid,c); …} receive(pid,x,y)) … send(pid,z); RPC (Remote Procedure Call) • 用RPC做concurrent process由White 1976提出 • Node間的Procedure Call – Different Operating System – VB, Delphi, VC++, ODBC – Middleware provides service • NodeIDProcess IDProcedure name • Message Passing • Request/Reply RPC Protocol Client Process Server Process Main(){… RPC Library call rpc(a,b,c); …} HARNESS: Main(){ Request Call rpc(x,y,z); RPC Library Send(z,client) STUB: rpc(a,b,c){ send((x=a,y=b),server) Receive((x,y),client) Reply } Receive(c=z,server) Application Return(c); Procedure rpc(x,y,z){… } Return(z=result); } Client/Server Communication的特性 • Client特性:主動者 – GUI • Server特性:被動者 – Data Processing, Computing, . . . • Communication特性: – Transactional: • • • • • atomic:原子性 consistency:一致性 isolation:獨立性 serialization:循序性 durability:永久性 – Cooperative: not master/slave RPC ISSUES • Connection: 連線方式 – Connectionless封包式: datagram(packet switched) – Connection-oriented連線式:datastream(circuit switched) • Addressing: 位址取得 – Name resolution:名稱解讀 – Dynamic binding:動態連結 • • • • Synchronization: 同步方式 Failure Handling:容錯處理 Security:安全 Data Conversion;資料格式轉換 Connection Issues • Circuit switching: connection-oriented – 電話網路, • Packet switching: connectionless – TCP/IP • Hybrid: – connectionless(low level) + connectionoriented(high level) – ATM Connection Issues 特性 connection-oriented connectionless message type datastream datagram routing Static Dynamic message addressing full destination address to establish circuit; circuit ID only broadcast to all nodes to full destination address to specific node reliability sequenced,error control, flow control, delivery guaranteed no guaranteed;message can be lost or arrive out of order option can be negotiated during setup N/A synchronization overhead circuit setup and release Message routing Addressing Issues • • • • • • • by name: object X by address: object at location x by content: object with value x by route: object found at end of path x by source: all my objects broadcast identifier: all objects of type x group identifier: all objects related to x Static Binding • • Internet較低階部份用static binding (compile time) global name: – network+subnetwork+host+process-id+name – internet domain name: [email protected] e.g. [email protected] – 有時加上hostname eg: [email protected] socket context server nameport (8 bit) network context portIP address (32 bit) datalink context IP addressEthernet address (48 bit) TCP/IP layered naming context Dynamic Binding • • client/server 較高階部份用(run time) via convention: 用configuration convention – – • via broadcast:提供name resolution service – • 用environment variable: set MYSERVER=123456 用configuration file:含global name table Microsoft NetBEUI(NetBIOS Extended User Interface)網路上的芳鄰 via name server – Novell SPX/IPX Microsoft NetBEUI (NetBIOS Extended User Interface) Client Local NetBIOS ADD.NAME “client21” CALL “Server4” Remote NetBIOS Update Name Table Send(Client21 at address21”, ,broadcast) Update Name Table Update Name Table Send(“Server4 at address46,broadcast) Receive Update Name Table Receive Session Starts SEND“Request”, ”Server4” Lookup Name Send(Session1,Address46) RECEIVE Session1 Process Message HANGUP Lookup Name Send(Request,Address46, Session1) Lookup Name Send(Reply,address21) Server ADD.NAME “Server4” LISTEN Session Starts Receive Session 1 Process message” Send “Reply”,”client21” HANGUP Novell SPX/IPX Client@987654 Bindery ScanBindery “GreateServer” Address 123456 Server@123456 AdvertiseServer Address 123456 “GreatServer” Socket 78 IPXOpenSocket IPXGetLocalTarget Socket 78 IPXSendPacket [(0,123456,78),(0,987654,32),Request] IPXReceive Process Message IPXSendPacket [(0,987654,32),(0,123456,78),Reply] Synchronization Issues • blocking protocol: – blocking send/blocking receive :synchronized – strict RPC • nonblocking protocol: – nonblocking send/nonblocking receive – master/slave: rendezvous model Master/slave Server process Server Process Client Process MASTER: Loop( ) {receive((x,y),client) spawn slave(x,y,client) Main(){… call rpc(a,b,c); …} } Request RPC Library STUB: rpc(a,b,c){ send((x=a,y=b),server) Receive(c=z,server) Return(c); } Reply SLAVE:{ call rpc(x,y,z); send(z,client) } Application Procedure rpc(x,y,z){… Return(z=result); } Failure Modes • client call後crash: – • message lost: – – • 處理: 用ACK, timeout, resend: three-packet protocol: request, reply, ACK no-more-than-once RPC semantics:用sequence number控制server resend server crash: – – • 處理: client discard message 處理: (1)client resend call, retry幾次後,依靠 server callback或user abort request (2)server做atomic-transaction service server lost message Three-Packet Protocol Server Process Client Process Main(){… call rpc(a,b,c); …} RPC Library STUB: rpc(a,b,c){ Inc RPC Sequence No. send((x=a,y=b),rpc) receive(c=z,server) if (Timeout(receive)) retry else send(ACK,rpc) Request Reply resend ACK RPC Library HARNESS: Main(){ Receive((x,y),client) Check rpc Sequence if Sequence > Last Msg call rpc(x,y,z); } Application Procedure rpc(x,y,z){… Return(z=result); } Inc Last Msg send(z,caller) receive(ACK,caller) if (Timeout(receive)) resend(z,caller) CORBA (Common Object Request Broker Architecture) 由 OMG (Object Management Group)所 制定的分散式物件標準規格 目前為CORBA 3.0 介面定義語言 (IDL; Interface Definition Language) 讓各種語言所寫成的物件可 以達到共用的目的 以 ORB (Object Request Broker)為物件 間溝通的管道 CORBA Architecture Application Objects Common Facilities CORBA ORB ... ... Event LifeCycle Query Naming Time Common Object Services (16) CORBA 架構 Java C++ Client Stub Ada Java C++ Ada IDL IDL IDL Server Skeleton CORBA ORB Web Services的發展過程 • SOAP發展: – – – – – XML-Based Remote Procedure Call: Loosely-Coupled Distributed System XML-RPC: Userland WDDI: WebMethod SOAP:Microsoft SOAP 1.2: W3C (Web基礎建設的一環) • UDDI/WSDL發展 – UDDI協會:產業電子目錄 • Microsoft, IBM, Ariba – Basic SOA (Web Services基礎架構) • Web Services發展:SOA (e-Business主軸技術) – – – – – OASIS協會:和ebXML整合 WS-Security WS-Reliability WS-Choreography WSDM (Distributed Management) Web Services 技術概念: SOA: Services Oriented Architecture 新型態的入口網站: - 給程式(Web Service)用的 Service Broker WSDL UDDI Publish Request SOAP Service Provider Bind and Request Service Requester Reply UDDI 2.0: Universal Description, Discovery and Integration (2001/6) WSDL: Web Service Description Language SOAP: Simple Object Access Protocol (2001/7) Basic Web Services Stack Service Publication/Discovery UDDI Service Description WSDL XML Messaging SOAP Transport Network HTTP,SMTP,FTP over TCP/IP 一個Web Service是什麼? • Some software functional block – Location, platform, code are irrelevant • “Loosely coupled software components that encapsulate discrete functionality and that are accessible over standard Internet protocols.”—The Stencil Group • “Web Services are a new breed of web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web.”– IBM • Web服務的提供者;Web的主要居民 • 資訊系統的動態組件 Service-Oriented Architecture: Conceptual Model Business Content Business or Application Standards Security Universal Business Content Registry/Repository Business Process-Workflow Partner Profiles Reliable Messaging Core XML Standards Network/Transport Platform Management Industry Vertical Content Technical Infrastructure Standards Architecture of Web Services: Extended SOA WS-Security (Federation, Trust, Conversation, SecurityPolicy) Directory (UDDI) Management WSDM Inspection (WSIL) WS-Addressing WS-Reliability WS-Reliable Messaging WS-Attachments (DIME) Discovery Process Flow and Pattern Description (Workflow, Orchestration, Transaction, Policy, Portal) RDF (meta data) Semantic Web SOAP XML Service Description (WSDL) Structure (XML Schemas) Description Messaging/Wire (Invocation) Web Services Implementation UDDI Registry Service Discovery Service Publish Web Services System Service Description Web Services Client WSDL SOAP over HTTP Web Server Web Service Runtime SOAP Business Functionality Web Service的運作模式 • 兩種Web Service型態 – Message Producer • 做服務動作和加內容到訊息內 – Message Consumer • 取用訊息內容和做服務動作 • Pipeline:message flow – Pipeline is a sequence of services • Messages grow and shrink on the way Web Services的發展類型 • Enterprise Web Services – 新型態的EAI (Enterprise Application Integration) – 使用技術:LAN+SOAP+WSDL • Internet Web Services – 新型態的B2Bi (Business to Business Integration) – 使用技術:Basic SOA • SOAP+UDDI+WSDL • Internet Security • Semantic Web Services – Integrated e-Business (Global e-Marketplace) – 使用技術:Extended SOA • SOAP+UDDI+WSDL • WS-Security+WS-Reliability+WS-Choreography+WSDM – 整合Semantic Web Architecture • RDF+OWL+XTM(XML Topic Map) … Business Collaboration Through Web Service Integration Wrap intra-enterprise Application Wrap intra-enterprise Application Business Process Layer WSFL,XLANG,ebXML, Rosettanet Web Services Web Services Content Layer WSDL,ebXML,Rosettanet EAI Workflows ERP EAI Workflows ERP Communication Layer SOAP,HTTP,FTP,SMTP Components Components B2B Interactions Data Repository Data Repository Business Partner 1 Business Partner 2 Web Service 電子化企業協同合 作架構圖 Transactions Context/Privacy Security Qos Reliable Messaging Routing intermediaries Attachments (binary) Invocation: SOAP SOAP XML Messaging/Wire (Invocation) Why XML-Based RPC ? COM/CORBA Client or Server XML-Based RPC Client or Server HTTP: port 80 Server (WEB) Server Tightly-Coupled System v.s. Loosely-Coupled System • 平行處理系統 – Tightly-Coupled System:Shared memory, Synchronous – Loosely-Coupled System:Distributed memory, Asynchronous • 分散式系統 – Tightly-Coupled System:LAN-based Distributed System • CORBA, DCOM – Loosely-Coupled System:Web-based Distributed System • XML-RPC • SOAP Tightly Coupled Distributed System Request GetCurrency(country) Reply Request Server1 GetExchangeRate(currency) Reply Request SubmitExchange(amount,currency) Reply Server2 Loosely Coupled Distributed System Request <method> GetCurrency(country) GetExchange(currency) SubmitExchange(amount,currency) </method> Server1 Reply <response> reply data … </response> Server2 傳統RPC v.s. Web-Based RPC(SOAP) • RPC: – (typically) binary representation – protocol model – transport dependent – programming language centric – not extensible – secure – robust – not easily transformed • XML: – text representation – document/message model – transport independent – language independent – extensible – not secure (yet) – not robust – easily transformed • It’s implementation-centric • It’s application-centric SOAP • Simple Object Access Protocol – – – – – – a lightweight protocol based on XML W3C Notes (2000/5/8)(Microsoft主導, Userland) SOAP Version 1.2: W3C Recommendation(2003/6/24) Part 0: Primer Part1: Messaging Framework Part2: Adjuncts • 升級版的XML-RPC – 改善Verbosity(冗言) – 改善Data Typing SOAP Message Main(){… call rpc(a,b,c); …} RPC Library STUB: rpc(a,b,c){ send((x=a,y=b),server) Receive(c=z,server) Return(c); } Client Process Envelope Message Header Message Body (Payload) Envelope, body (payload) and header defined in XML RPC Library HARNESS: Main(){ Receive((x,y),client) Call rpc(x,y,z); Send(z,client) } Application Procedure rpc(x,y,z){… Return(z=result); } Server Process SOAP範例:RPC • PlaceOrder([in] Title string, [in] Author string, [out] DaysToDelivery integer); SOAP範例:Request • The request message in HTTP POST /BookServer HTTP/1.1 Host: www.quickbooks.com Content-Type: text/xml Content-Length: nnnn SOAPMethodName: Some-Namespace-URI#PlaceOrder <SOAP:Envelope xmlns:SOAP=“urn:schemas-xml-xmlsoap-org:v1?gt;”> <SOAP:Body> <m:PlaceOrder xmlns:m=“Some-Namespace-URI?gt;”> <Title>Happy All The Time</Title> <Author>Laurie Colwin</Author> </m:PlaceOrder> </SOAP:Envelope> SOAP範例:Response • The reply message in HTTP HTTP/1.1 200 OK Connection: close Content-Type:text/xml Content-Length: nnnn <SOAP:Envelope xmlns:SOAP=“urn:schemas-xmlsoap-org:soap.v1?gt;”> <SOAP:Body> <m:PlaceOrderResponse xmlns:m=“Some-Namespace-URI?gt;”> <return>1</return> <DaysToDelivery>7</DaysToDelivery> </m:PlaceOrderResponse> </SOAP:Body> </SOAP:Envelope> WSDL Structure Binding PortType Abstract Definition Messages (Reusable Part) Types Service Port Implementation Specific WSDL Working Mechanism Obtain WSDL WSDL Published Web Service Application (client, server) SOAP Service Description: WSDL Documents • • • • • • • Types: structure types of data Messages: logical messages Operations: messages group (unit of work) Port types: operations group Bindings: operation protocol Ports: binding with protocol-specific address Services: collection of ports WSDL Document(1): Abstract Definition <definitions> <types> [XML Schema describing the used datatypes] </types> <message> [Description of message] </message> <portType> <operation> <input>…</input> <output>…</output> <fault>…</fault> </operation> </portType> <binding> [Description of network protocol for invocation] </binding> ... </definition> WSDL Document(2): implementation <definitions> … <service> <port> [Reference to actual location of service] </port> </service> </definitions> WSDL Transmission Primitives • • • • One-way Operation Request/Response Operation Solicit/Response Operation Notification Operation One-way Operation <portType name=“submitOrderType”> <operation name=“submitOrder”> > <input message=“SubmitOrderInput”/> </operation> </portType> One-way input Client Service endpoint Request/Response Operation <portType name=“ItemDescriptionType”> <operation name=“GetItemDescription”/> <input message=“ItemDescriptionRequest”/> <output message=“ItemDescription”/> </operation> </portType> Request (input) Response (output) Client Service endpoint Solicit/Response Operation <portType name=“OrderStatusType”> <operation name=“SendOrderStatus”/> <output message=“OrderStatus”/> <input message=“OrderStatusReceipt”/> </operation> </portType> Solicit (output) Response (input) Client Service endpoint Notification Operation <portType name=“NotificationType”> <operation name=“Notification”/> <output message=“NotificationMessage”/> </operation> </portType> Notification (output) Client Service endpoint Discovery: UDDI Directory (UDDI) Inspection Discovery UDDI Working Mechanism Service Discovery Layer Service Publication Layer UDDI Registry 2. Obtains WSDL Information 1. Publishes WSDL Information Service Description Layer Application (client, server) WSDL 3. SOAP Messages Published Web Service XML messaging & Transport Layer UDDI Business Structure Business Service Service Technical Specification UDDI Registry Data • Businesses register public information about themselves • Standards bodies, Programmers, Businesses register information about their Service Types White Pages Business Units Yellow Pages Taxonomies Green Pages Descriptions of Services Service Type Registrations UDDI Data Structures UDDI Business Entity(1) <businessEntity> <discoveryURL> [URL returning related document about business] </discoveryURL> <name> [business name] </name> ... </businessEntity> UDDI Business Entity(2) <businessEntity> ... <contact> <personName> [Name of contact person] </personName> <email> [email address] </email> <address> <addressLine> [address information] </addressLine> </address> </contact> </businessEntity> UDDI Business Service(1) <businessService> <name> [service name] </name> <description> [service description] </description> <bindingTemplate> <description> …</description> <accessPoint>…</accessPoint> <tModelInstanceDetails>…</tModelInstanceDetails> </ bindingTemplate> ... </businessEntity> UDDI Business Service(2) <businessService> ... <categoryBag> <keyedReference> <keyName>…</keyName> <keyValue>…</keyValue> <tModelKey> [taxonomy, one of 4 predefined keys, e.g. UUID] </tModelKey> </keyedReference> </categoryBag> </businessEntity> UDDI tModel <tModelInstanceDetails> <tModelInstanceInfo> <tModelKey>…</tModelKey> <description>…</description> <tModelDetails> <overviewDoc>…</overviewDoc> <instanceParms>…</instanceParms> </tModelDetails> </tModelInstanceInfo> </tModelInstanceDetails> UDDI API • Inquiry API – Find things • • • • find_business find_service find_binding find_tModel – Get Details about things • • • • get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail • Publishers API – Save things • • • • save_business save_service save_binding save_tModel – Delete things • • • • delete_business delete_service delete_binding delete_tModel – security… • get_authToken • discard_authToken .NET Platform Visual Studio .NET .NET Enterprise Servers .NET Building Block Services .NET Framework Operating System on Servers, Desktops, and Devices Web Services Web Forms Windows Forms Data and XML Classes Base Classes Common Language Runtime (CLR) Java Platform • JAXM: – Java API for XML Messaging • JAXR: – Java API for XML Registries and Repositories – uddi4j, wsdl4j: IBM • JAXP: – Java API for XML Processing – Xerces: Apache • JAX-RPC: – Java API for XML based Remote Procedure Calls • JAXB: – Java Architecture for XML Binding Java Platform: Sun ONE Service Creation and Assembly Applications And Web Services Any Device Service Delivery Backend Service Integration Service Container Identity and Policy Platform System Web Services應用 • Business Information with rich content – – – – Weather reports News feed Airline schedules Stock quotes - Credit check - Credit card validation - Request for quote - Auctions • Transactional Web Services for B2B or B2C – Airline reservations - Supply chain management – Rental car agreements - Purchase order processing • Business Process Externalisation – Business linkages at a workflow level – Allows complete integration at a process level 台灣在XML的導入應用 • 電子化公文系統:行政院研考會(1999-2001) (XML, DTD) • B2B電子商務計畫:經濟部(1999-) – – – – – A計畫、B計畫:資訊流 (Rosettanet)電子業B2B C計畫:金流 D計畫:物流 E計畫:協同設計 產業電子化標準計畫:傳統產業B2B • E-Taiwan共通平台計畫:行政院研考會+各單位(2002-2008) (Web Services) • 國家型數位學習計畫:國科會(2002-2007) (SCORM) • 國家型數位典藏計畫:中研院(2000-)(Dublin Core) • 註:IPv6建置發展計畫:交通部電信總局(2003-2007) 台灣e化:e-Taiwan • 台灣的G2G、G2B、和G2C基礎建設 – 2002-2007 • 政府單一入口網站 •政府目錄服務:Web Service(UDDI/WSDL) • 共通作業平台: Web Service(SOAP) 政府單一入口網站 政府目錄服務整體架構 全國政府機關 目錄服務 GDS GCA GCA 討論區服務 跨機關目錄服務 X-GDS X-GDS Update Module DMS-2 跨機關應用 目錄服務 X-APDS 全國政府機關 電子公佈欄服務 網路電話服務 網路安全通報 主計人員服務網 組織 U-GDS 機關 U-APDS DS維護人員 其他應用服務 機關A 機關B 共通作業平台 認證 認證機構 GDS GRCA 授權 User Profile Single Sign-On 目錄 Context Publish Browser Interface Hand Phone Interface PDA Interface Kiosk Interface Service Flow Service Flow Service Flow Service Flow XML Metadata Service Accounting GCA 內政部CA 工商CA Service Execution Environment(Session/Transaction/Event Handling) Web Service Repository OID 註冊 XML / HTTP 戶役政 Gateway 稅務 Gateway 地政 Gateway Authorization Web Service Accounting Web Service Authentication Web Service 監理 Gateway 工商 Gateway Gateway Payment Web Service Digital Signiture Organization Web Service Document Web Service Gateway Message Web Service User Profile Web Service 金融機構 Gateway Services Common Services 登錄機制 Gateway Legacy System Legacy System Legacy System 資料來源:資策會 Service Server Service Server Service Server Service Server Bank 導入36項便民網路服務 • 92年規劃項目(2003) – 交通監理 – 公司登記 • 93年規劃項目(2004) – – – – 觀光旅遊 就業服務 戶政服務 醫療服務 總結 • 第二代全球資訊網已經來臨 – XML技術平台即為主流的Web技術平台 – Browse the Web Program the Web – XML技術基礎平台已經成熟(1998-2003) • 下一波的主流資訊技術發展重點 – Service Oriented Architecture (2001-2005?or 2007?) • Basic SOA (1999-2003) • Extended SOA (2003-2005?or 2007?) – Semantic Web Architecture (2001?-2010?) • Bottom-Layer: RDF (1999) • OWL/XTM/DAML-OIL . . . • 第二波 .COM熱潮:Global e-Marketplace – – – – 2005? 2007? ebXML (Web Service) 3G+WLAN PKI (G2G, G2C, B2B)