Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University Agenda • Business Models • Business to Business and Business to Consumer • The beginning - Electronic Data Interchange (EDI) • Network Architectures • Internet and Web Architectures • E-Commerce Architectures • Intranet, Extranet, Internet • IBM E-Commerce Success Steps Business to Consumer Business to Business Indirect supplier 1 Indirect supplier 2 Direct Suppliers Transportation of Supplies Corporation Government Manufacturer Sales Distribution IT Electronic UPS/Fedex Marketing Financial Institution Credit Card Processing Services Store Front Layered Architecture for eBusiness Electronic Commerce Applications (Supply chain management, video on demand, on-line marketing and advertising, home shopping) Common Business Services Infrastructure (security/authentication, electronic payment, directories/catalog) Messaging and information distribution infrastructure (EDI, e-mail, HTTP) Multimedia content and network publishing infrastructure (HTML, Java, WWW) Network Infrastructure (telecom, cable TV, wireless, internet) Vendor Centric Versus Customer Centric Customer A Customer B Vendor Vendor Centric Customer C Customer D Vendor A Vendor B Customer Customer Centric Vendor C Vendor D User Buyer Procurement Server Internal External Server Browser Intranet Server Internal Intranet Browser Admin Functional Units User Production Supplier Other Firewall Server External Internet Supplier Functional Units connection Use r Browser Intranet Web Architecture Server External Server Internal The Web Commercial Community Consumer University Software Developers Quicken Online resources Search Engines Simulations GDSS Mutual Fund DB Bank Online Magazines Web catalogs Payment System Products on the Web WebAd Manager Cybermediaries Web compatible software Virtual Reality Online Services Supplier Delivery Service Web DBMS Web-based Transactions Web Business Community Buyer 1. Select product via browsers. Seller 3. Buyer pays by credit cards Browser 5. Ship product to buyer 2. Put selected merchandise into shopping cart. Web catalog system Payment System 4. Authorization from bank or credit card company Bank 1. Provide product and pricing information. 2. Update info periodically. ProductAd Manager Manages product ad etc. Web Catalog Product Product Components of the Web DB Web Browser TCP/IP based network (HTTP) Web Clients 1. Browser establishes connection with server. 2. Browser issues request to server. 3. Server sends a response (page or graphics) 4. Both browser and server disconnect and the transaction ends. CGI Web Servers (web pages) HTML describes the contents of each Web page Content Software applications Common Gateway Interface (CGI) CGI defines how external applications can interact with Web servers Business-to-Business and Business-to-Consumer Business-to-Business • The selling of products and services between corporations and the automation of systems via integration • Typical players involved – suppliers – distributors – manufacturers – stores Business to Business • Most of the attention recently focused on prominent well established firms – Cisco – Dell – Eliminate old-economy middlemen and sell directly to business customers Business-to-Business • Most of the transactions occur directly between two systems – automation of the supply chain – Supply Chain Management; the process of tying together multiple suppliers of goods to create a final product • Daimler-Chrysler Corporation – over 20,000 suppliers of parts – SPIN B2B solution increased productivity over 20% in first year Business-to-Business • Other forms of B2B E-Commerce – Malls • QVC; offers a common interface for buyers to access different supppliers • Buyers manage their own back end DBs (product information) • Helps retailers collaborate with worldwide supply chain • www.qvc.com Business-to-Business • Other forms of B2B E-Commerce – Catalogs • Used for purchases between companies • Allow corporate buyers to search for products based on features or price • Single interface for individual sellers or multiple sellers of similar products • Benefits include – ease of use – flexibility – easy updating Key Themes for B2B • B2B will be much larger than B2C • The timing is now • Exchanges will introduce unprecedented market transparency • B2B winners will establish platforms that link deeply with customers (ehub) • Many B2B business models will fail • Buyers and Suppliers win What Problems are We Solving? • Commerce is fragmented by geography • Most interactions between businesses are complex and laborand information sensitive • Supply chains are bloated with excess inventory because of the inability to see and plan for the right mixes and volume of products A Question of Transparency • Price transparency • Availability transparency • Supplier transparency • Product transparency Customer Feeding Frenzy: e-retailers vie for $185 billion • Latest consumer ecommerce forecasts estimate at least a five-fold increase in sales from 1999 to 2003. Forrester Research issued the most detailed - and aggressive - outlook, predicting $185 billion in U.S. e-commerce sales by 2004. Economic Spotlight: IT and Net Industries Drive U.S. Economy The U.S. Department of Commerce has compiled the latest analysis on the impact of the information technology and Internet industries in "The Emerging Digital Economy II." Available at www.ecommerce.gov, the report shows these industries contributed 29 percent of the nation's economic growth in 1998. The Economic Impact of E-commerce Toy-giant Mattel will spend $50 million to launch an e-commerce venture that the company says will bring in $60 million this year, at gross margins greater than those of its traditional business. Sound good? A report from the Organization for Economic Cooperation and Development policy group has compiled over 150 pages of economic reasons why governments and businesses worldwide should pay attention to the ramifications of digital commerce. The Economic Impact of E-commerce “The Economic and Social Impact of Electronic Commerce” report says business-to-business sales will help drive ecommerce revenues to $1 trillion in the 2003 to 2005 time frame. Companies like Mattel are taking advantage of the economic efficiencies of e-commerce: low-cost distribution, ordering and customer service, improved productivity and tighter inventory control. The OECD says the Net economy will result in lower prices for consumers, better information access and increased competitiveness of small and midsize businesses. It will also pave the way for a true global trading community. The Economic Impact of E-commerce Equal access to e-commerce benefits is critical to the Internet Economy. Rich folks are more likely to have Internet access than poor folks in every country studied by the OECD. The report warns of a continuing worldwide shortage of skilled technology professionals. But an OECD analysis shows that, in the U.S. at least, traditional retail and information workers will have less to fear from a digital marketplace than their European counterparts. B-to-B Forecasts B-to-B Forecasts But Gartner’s corporate focus is understandable, given the way b-to-b conversion happens. “B-to-b gets adopted in chunks,” says Knight. “You’ve got entire companies, entire supply chains adopting e-commerce. It’s like a snowball effect.” Despite methodological and definitional variations, everyone agrees b-to-b will be big: in the neighborhood of $2 trillion in the U.S. by 2003, up from approximately $100 billion in 1999. Behind the Numbers: The Mystery of B-to-B Forecasts Revealed One of the segments expected to grow the fastest is “e-marketplaces,” third parties that bring together multiple buyers and sellers online. According to Gartner, there were about 30 emarketplaces in January 1999 and 300 by December. Forrester Research predicts that by 2004 more than half of all online b-to-b trade will be marketplace-driven. Online Population Spotlight: Net Businesses Go Back to College Every year, marketers spend millions of dollars targeting college students just entering their prime as consumers. Now dozens of Net firms want in on the act. Source: Student Monitor Source: Cyber Dialogue Geographic Market Fragmentation S S B B S S B S S B B Geography 1 B S B B S S B Premier B seller S Source: Morgan Stanley Dean Witter Internet Research Premier buyer B S B S Geography 3 Geography 2 Enhanced Buyer and Seller Discovery S B S S S S S B S S S Source: Morgan Stanley Dean Witter Internet Research B B B B B B B The Implications • Strong competitors become dominant in efficient markets • Weaker competitors get weaker • Intermediaries at risk • Suppliers become more specialized • Buyers initiate/terminate relationships more easily • Uniform prices Time is Right for B2B • • • • • • • • • Infrastructure ready Board room acceptance Speed and simplicity Lure of cost savings and efficiency Early adopters common Year of evaluation behind us Buyers are getting equity Vendors are pushing the next thing Well financed start ups and a good economy B2B - Past, Present, and Future • Phase 1 - Batch EDI • Phase 2 - Basic ECommerce • Phase 3 Communities of commerce • Phase 4 Collaborative commerce Business-to-Consumer • Interactions and transactions between a company and its consumers • Focus is on selling goods and services and marketing to the consumer • Dell, Amazon.com, eBay Traditional vs Direct Selling Chain Supplier Supplier Manufacturer Manufacturer Distributor Distributor Wholesaler Wholesaler Reseller Reseller Customer Customer Business Models Introduction to Business Segments • Consumer Retail – businesses selling physical goods to an individual end consumer • Business-to-Business cataloging – businesses with online catalogs selling products to other businesses • Information commerce – businesses distributing digital goods Segment Granularity, Market Size, and Timing • Segmentation because of focus – concentrating on exactly those elements that are essential to the application or market – not diverting effort towards those elements that are either not needed or not appreciated by the customer Segment Granularity, Market Size, and Timing • Difficult to get right – too broad => development resources may not stretch across all necessary features – too narrow => market may not be large enough to support the business Segment Similarities and Differences • All have the need to attract customers, present products, assemble orders, do transactions, accomplish fulfillment, and deliver customer service • Retail segment has more need for merchandising capability Segment Similarities and Differences • B2B have a greater need for payment by purchase order and for approval workflow • Information commerce has a great need for online fulfillment Consumer Retail - Value Proposition • Ability to reach a global market • Reduced marketing and selling expenses • Increased efficiency of operations • Ability to target consumers more precisely • Ability to convey more accurate product and availability information Consumer Retail - System Functionality • Small shop – static catalog and simple requirements • Medium sized direct marketing – product database and display templates • Large Retailer – Enterprise Resource Planning (ERP) Attract - Advertising and Marketing • Advertising – banners on popular sites – e-mail newsletters – listings on widely used search engines • Expense for the retailer • Revenue to a vendor in the information commerce segment Attract - Advertising and Marketing • Coupons – internet-based digital coupons may directly link to a transaction service • Sales • Promotions • Frequent buyer programs Attract - Advertising and Marketing • One-to-One marketing – Internet removes geographical basis for convenience – price is always a difficult basis for competition – leaves quality of service – knowing a lot about the customer helps provide high quality service Interact - Content • Registration with Internet search engines • Printed hypertext links on traditional menus, catalogs, and advertising • Internet advertising on popular or related sites Act - Order Processing • Shopping cart or order aggregation function – logical DB ot items considered for purchase • Order validation – validation based on business rules • Application of coupons or other discounts – affinity programs and quantity discounts Act - Order Processing • Cross selling – offer buyer additional merchandise based on contents of shopping cart • Calculation of sales and other taxes – complex rule sets involving tax classification of product, location and tax status of buyer and seller • Calculation of shipping and delivery charges – bundled into price or extra and different forms Act - Order Processing • Presentation of the rolled-up order to the buyer – reduces downstream issues • customer service • return • dispute handling Act - Order Processing • Electronic cash – low transaction cost • Microtransactions and tokens – fractions of a penny transactions • Transaction Aggregation – charging multiple events by the batch – taxi meter or charge up • meter accumulates usage charges – parking meter or pay down • buyer prepays a lump sum Act - Fulfillment • Traditional channels for physical goods • On line for information commerce • Downloading – charge for the download itself • appropriate for small downloads (unlikely to fail) – charge for access rights to the download area • access for a reasonable amount of time to do all the downloads Act - Fulfillment – charge for a license key • delivering the key and content separately may be difficult – planning for download failures • Subscriptions; ongoing access • Push Content; actively delivered by the content service React - Customer Service • Key issues are the same – I didn’t buy that – I didn’t receive the delivery (or broken) – I didn’t like what I received – I was charged the wrong amount – With E-Commerce technology ensures that “I didn’t receive the delivery” is rare Copy Protection and Rights Management • Digital content can be copied • Don’t worry about it • Make copying very difficult – container technology or license keys • Make tracing the thief easy – register each copy (fingerprint or watermark) • Make paying for copies easy – honest customers will use it Electronic Data Interchange EDI • Inter-organizational exchange – business documents – standardized electrical form – directly between computer applications • purchase orders • invoices • material releases – easy and inexpensive and structured Industries that use EDI • • • • • • • • Automotive Retail Chemical Electronics Petroleum Metals Paper and Office products Still a relatively small percentage (about 100,000 companies) Key Aspects of EDI • Utilization of an electronic transmission medium (VAN) • Use of structured formatted messages • Relatively fast delivery of electronic documents (hours or minutes) • Direct communication between applications (rather than just systems) EDI costs • Reaching a legal agreement (lawyers!) • Building and installing the EDI system • Modifying and interfacing with the existing computer system • Obtaining network services • Testing and installation • Reengineering of internal processes • Training EDI Costs • Rate-of return analysis should be done – # transactions to amortize the cost effectively – turnkey systems payment about 36 months • Cost shifting – dominant purchaser – better economies of scale – smaller companies have higher transaction cost System Approach • Single dedicated PC • Group of computer performing many related functions • Individual modems or modem pool • Server as the interface to outside – other computers for business applications – dialup with a ISDN or dedicated link Layered Architecture of EDI EDI semantic layer EDI Standard layer EDI transport layer Physical layer Application level services EDIFACT business form standards ANSI X12 business form standards Electronic mail X.435, MIME Point to Point FTP, Telnet WWW HTTP Dial up lines, Internet Information flow without EDI Buyer Purchase request initiated in the organization Seller Finance department Finance department Bill Payment Purchase department Inventory and warehousing Order delivery Paper based mailroom Paper based mailroom Receiving department Shipping department Product delivery Order confirm Sales department Manufacturing department Information flow with EDI Buyer Purchase request initiated in the organization Seller Payment details Purchase department Finance department Finance department EDI capable computer Billing details Purchase order delivery EDI capable computer Sales department Shipping department Manufacturing department Automated order confirmation Inventory and warehousing Receiving department Product delivery EDI Process Network Vendor Buyer receive send send ack receive ack EDI software • • • • • Application software Message translator Routing manager Communication handler Shrink wrapped software available that provides many EDI functions Communication approach • Dial up is entry level • Companies internal networks limit who you can interact with (VAN) • Lots of competition between companies • Internet is an appealing alternative Open EDI • Using the internet • Cost of transferring messages is cheaper on the internet • More cost effective movement of large files – supplement purchase orders with product descriptions, graphics, video clips, etc EDI across the Internet • FTP – login ID and password required for all trading partners – directory names and files name agreement • E-mail – more secure – less administration – may not be able to handle large documents – SMTP treats EDI as printable text (use MIME) Challenges • Internet security – use encryption and digital signatures • Not all VANs have connection to the internet – may not have staff/expertise to switch – MIME formatted EDI headers cannot be interpreted by VANs • SMTP only supports negative delivery notifications – use functional acknowledgment transaction Network Architecture Internet Service Providers On-Line Services vBNS Backbone Internet Society Internet Registry Regional Network Internet Registrar Regional Network Modem Modem Satellite link Router Internet Provider T3 line Network Access Point Regional Network Router Backbone Router Ethernet Network T1 line Network Access Point THE OPEN SYSTEM INTERCONNECTION (OSI) MODEL Application Layer Presentation Layer Logical Flow Network User Transaction Services Provides application services, such as distributed database access and document interchange, to network users Transaction Services Presentation Services Formats data for different presentation media and coordinates resource sharing Presentation Services Data Flow Control Synchronizes flow between end-points, correlates exchanges and group related data into indivisible units Data Flow Control Transmission Control Paces data exchange to match end-point processing capacity and Enciphers user data, if needed security Transmission Control Network Layer Path Control Routes data in “packets” between source and destination and controls traffic and congestion in the network Path Control Data Link Layer Data Link Control Transmits data reliably between adjacent nodes all along any route Data Link Control Physical Layer Physical Control Connects adjacent nodes physically and electrically Physical Control Session Layer Transport Layer Node B Network User Physical Flow Node A Communications Network Architectures ISP Service Categories Web Hosting Services Dial-up Internet Access Dedicated Internet Access Managed Router Services VPN Services Security Services Wholesale transit Services Colocation Provider Basic Network • Regardless of the size of the ISP network, basic components are the same – access devices – data forwarding network elements (routers) – information servers ISP Size • Small ISPs – modem pools (access concentrator) • 24 modems connected to a local exchange carrier (LEC) via a T1 or primary rate ISDN • Larger ISPs – add more Points of Presence (POP) – increase density of current POP – POP is a location where the service provider is allowed to install equipment • may be owned by somebody else Internet Components Regional Point of Presence Major Point of Presence Residential Subscriber Backbone Modem Pool Router Routers Backbone Data Routers • Hardware and/or software that determines the next network point to forward a packet of data • Connected to at least two network pathways • Determines which pathway to route each information packet – based on understanding of the state of the networks Current Internet Network Architecture Very High Speed Backbone (operated by MCI) Backbone Network Access Provider California (PacBell) Chicago (Ameritech) New York (Sprint) Washington (MFS) Internet Access Provider Sprint AOL UUNet Local Access Provider Local Local Local Local Providers Providers Providers Providers Local Providers End users MCI Home Customers AT&T Small Bsinesses PSI Local Providers Large Government Businesses Internet Topology • Home Users dial into a local access provider using a PC modem – use twisted pair existing telephone lines – relatively slow – businesses may choose faster access • ISDN (Integrated Digital Systems Network) • T-1 lines (1.544 Mbps) • T-3 lines (45 Mbps) Internet Topology • All lines routed to a local access provider – users switched through the direct connect access provider to the closest network access point (NAP) • These access providers have proprietary, high-speed nationwide communication networks – these are the local access points – also called Points of Presence (POP) – allow access to Internet with phone line Internet Topology – POPs necessary to reduce toll charges – Established in major cities (local call for users) – Modem pools and network interfaces convert analog dial-up signals from user into digital for more efficient transport to the backbone • POPs connected by high speed telephone circuits to central hubs • Hubs are connected to high-capacity network backbone Hardware in a POP • Server Platform – powerful system for multiple users (Sun Workstation) • Networking Infrastructure – routers, terminal servers, switches – provides POP to the internet • Leased telecommunication lines – from a local telephone company Hardware in a POP • Modems – batch of modems to allow users to access the IAP – racks of single or digital modems Structure of a Point of Presence National Independent Backbone Internet T3 ATM Switch 28.8 Kbps or ISDN connections Fast ethernet ISDN terminal server Inside a typical point of presence Distribution router USENET server T3 T1 connections to customers T1 Terminal Server 56K connections to customers Analog modems 9.6, 14.4, 28.8 Kbps Dial up Access Connectivity Residential Subscriber Public Switched Telephone Network ISP Point of Presence (POP) Internet Backbone Modem Modem Voice Switch Router Dial up Access POP Modem Web Cache Residential Subscriber Major Point of Presence Backbone Voice Switch Residential Subscriber Router Public Switched Telephone Network Regional Point of Presences Router Router Backbone Modem Router Web Cache Web Cache ISP dial up POPS are similar • Access concentrator – device that connects several modems into a single chassis • Access concentrator connected to a colocated router across a LAN within the POP (ethernet hub) • Router connected through telecom carrier to the ISPs IP transit provider (or upstream POP) Digital Subscriber Access • xDSL – asymmetric (most common) – symmetric – very high speed • Typical deployment – 1.5 Mbs from ISP to customer – 128Kbs back channel • Similar to dial up – connectivity with modem or NIC – DSL modems connect to PC with ethernet Digital Subscriber Line Access Multiplexer ISP Point of Presence Modem Residential Subscriber DSL Access Multiplexer Internet Modem Modem Residential Subscriber Voice Switch Router Network Infrastructure for Electronic Commerce • The Internet Architecture • World Wide Web –Concept and Architecture –Protocol –Gateway interfaces –Web extensions Information Superhighway Infrastructure I-way—the network infrastructure for electronic commerce Network Access Equipment Local On-ramps Global Information Distribution Networks Telecom-based infrastructure Consumer/ business premises equipment Cable TV-based infrastructure Wireless infrastructure Commercial on-line infrastructure Backbone communications and satellite networks Internet Access Providers • Telco companies—long distance telephone companies who traditionally focus on large business users and are now moving into consumer access market (e.g. AT&T, MCI, Sprint) • Cable companies—access providers for home users via cable modems. May bundle Internet with other services (e.g. Time Warner, TCI) Internet Access Providers • Online companies—companies that package a range of information and Internet access for a monthly fee via local telephone number (e.g. America Online, CompuServe, Microsoft Network) • National independents—for-profit entities that offer connectivity services nationwide or internationally Internet Access Providers • Targets business users and other smaller providers who do not have resources to provide widespread coverage (e.g. PSI, UUNET) • Regional—nonprofit university affiliated enterprises that forming strategic alliances with larger players (e.g. SURAnet, NEARnet). Internet Access Providers • Local service providers—small businesses operate in one physical location and offer services within a single metropolitan area. Internet Architectures ISP Service Categories Web Hosting Services Dial-up Internet Access Dedicated Internet Access Managed Router Services VPN Services Security Services Wholesale transit Services Colocation Provider Basic Network • Regardless of the size of the ISP network, basic components are the same – access devices – data forwarding network elements (routers) – information servers ISP Size • Small ISPs – modem pools (access concentrator) • 24 modems connected to a local exchange carrier (LEC) via a T1 or primary rate ISDN • Larger ISPs – add more Points of Presence (POP) – increase density of current POP – POP is a location where the service provider is allowed to install equipment • may be owned by somebody else Internet Components Regional Point of Presence Major Point of Presence Residential Subscriber Backbone Modem Pool Router Routers Backbone Data Dial up Access Connectivity Residential Subscriber Public Switched Telephone Network ISP Point of Presence (POP) Internet Backbone Modem Modem Voice Switch Router Dial up Access POP Modem Web Cache Residential Subscriber Major Point of Presence Backbone Voice Switch Residential Subscriber Router Public Switched Telephone Network Regional Point of Presences Router Router Backbone Modem Router Web Cache Web Cache ISP dial up POPS are similar • Access concentrator – device that connects several modems into a single chassis • Access concentrator connected to a colocated router across a LAN within the POP (ethernet hub) • Router connected through telecom carrier to the ISPs IP transit provider (or upstream POP) Digital Subscriber Access • xDSL – asymmetric (most common) – symmetric – very high speed • Typical deployment – 1.5 Mbs from ISP to customer – 128Kbs back channel • Similar to dial up – connectivity with modem or NIC – DSL modems connect to PC with ethernet Digital Subscriber Line Access Multiplexer ISP Point of Presence Modem Residential Subscriber DSL Access Multiplexer Internet Modem Modem Residential Subscriber Voice Switch Router Common Internet Access Methods Type of Internet Access Protocol Speed Dial-up(shell account): Easy and inexpensive, but cannot use Netscape. Terminal 9.6, 14.4 Emulation Kbps Cost $6-$20 / month, unlimited usage Dial-up IP: Full access to SLIP, PPP Internet, but more complex to configure and set up 14.4 Kbps 28.8 Kbps Digital dial-up (ISDN): PPP Not widely available, and has problems with procurement and installation. 64, 128 Kpbs $30-$300 / month + installation 1 cent/minute Leased line: High-speed dedicated link, but can be expensive if not used frequently 56 Kbps 1.544 Mbps (T1) IP $20 / month for 20 hours, $1-$2 / hour thereafter $2500 $10K+$1500 / month The Web Enterprise Extranet Suppliers Distributors Enterprise Banks Intranet Electronic Storefront Logistics Provider Business Intelligence • Knowledge Management • Internal Communicati on • Project Management Customer Services Internet Information Dissemination Components of the Web Databases Web Browser TCP/IP based network (HTTP) Web Clients 1. Browser establishes connection with server. 2. Browser issues request to server. 3. Server sends a response (page or graphics) 4. Both browser and server disconnect and the transaction ends. CGI Web Servers (web pages) HTML describes the contents of each Web page Content Software applications Common Gateway Interface (CGI) CGI defines how external applications can interact with Web servers Worldwide Web (WWW) • The most popular Internet service (since 1993) • WWW documents are linked to other documents by means of a technology called “Hypertext” • The Web essentially contains an unlimited number of documents using a variety of media. • When browsing Web resources, you decide how to navigate through the documents. Worldwide Web (WWW) • Web functions: view multimedia documents, download files, e-mail, discussion groups, run programs interactively, buy and sell goods and services. • Middleware that operates on top of the Internet to support a community of users and applications Worldwide Web (WWW) • WWW makes hypermedia available on the Internet in what has evolved into a global information system. • Web users can access corporate information by using Web gateways. The World Wide Web (WWW) • Web access to non-Web resources is provided through Web gateways – Web access to relational databases is provided through “relational gateways” that serve as translators and mediators between Web browsers and relational database managers. The World Wide Web • Organizations can standardize on Web browsers for end-user access to all applications. The same Web interface can be used for applications that cross company, industry and country boundaries. • Java is a programming language designed to work on the Web. Its application components run on the Web browser site, hence implementing the first-tier C/S applications. Conceptual View of WWW UNIX Macintosh Web Browser (X Mosaic) Web search tools HTTP Web Browser (Netscape) PC Web Browser (Microsoft) HTTP HTTP URL://http//seas.smu.edu/faculty.html Web Site www.shoes.com • Web server (program) • HTML documents • Gateway for Database Access databases Web Site cs.um.edu • Web server (program) • HTML documents • (Faculty.html, courses.html) Why is the Web appealing? 1. All Web applications and technologies are standards-based => eliminate the need to port to multiple platforms to reach new markets 2. Web technologies are client/middleware/server applications =>users can readily utilize distributed computing resources Why is the Web appealing? =>minimize need for end users to frequently upgrade existing hardware, OS or network infrastructures 3.New Web-based applications are maturing quickly =>Web technology may replace functionality of many current desktop and platform-centric applications of today. Key Concepts of the WWW • Global hypertext publishing—a seamless world in which all online information are accessed and retrieved in a consistent and simple way. • Universal readership—a universal user interface can be used to read a variety of documents. Key Concepts of the WWW • Client/server interaction; Web can grow without any centralized control • Web provides a way to interconnect computers running different operating systems and display information created in different media formats. Protocol • Greek; protocollon (leaf of paper glued to a manuscript) is a special set of rules for communicating • Exist at several levels in a telecommunications connection • Often describe an industry or international standard Protocols • Protocol stacks—a set of rules for inter-computer communication that has been agreed upon and implemented by many vendors, users and standard bodies. • Two architectures: Open System Interconnection (OSI) and Transmission Control Protocol (TCP). Protocols OSI Application Layer Presentation Layer Application or process Layer Session Layer Transport Layer Hot-to-host transport Layer Network Layer Internetwork (IP) Data Link Layer Network Interface Physical Layer Physical Layer TCP OSI Protocol Stack Application Layer Application messages Presentation Layer Encyphered or compressed Session Layer Session messages Transport Layer Multiple packets Network Layer Packets Data Link Layer Frames Physical Layer Bits TCP/IP • TCP; uses a set of rules for exchanging messages with other internet points at the information packet level • IP; uses a set of rules to send and receive messages at the Internet address level • Others – HTTP – FTP TCP/IP • Basic communication language or protocol of the Internet • Also used for intranets and extranets • Setup with direct access to the Internet requires copy of TCP/IP program • Two layers – TCP; manages the assembling of a message or file into smaller packets that are transmitted over the Internet TCP/IP – IP; handles the address part of each packet so that it gets to the right destination • gateway computers on the network checks address to see where to forward the message • packets re-assembled on the other end • Uses the client/server model of communication TCP/IP • Communication is primarily point to point • Connectionless – freed network paths TCP/IP • Upper layer protocols often ties to TCP/IP as a suite – HTTP – FTP – SMTP TCP Protocol Stack FTP HTTP TELNET SNMP TCP MBONE UDP IP (ICMP, IGMP) Internet Addressing Physical layer Physical wiring Sender 01100101 10001101 11011000 01010111 Receiver TCP/IP TCP 126.119.6.4 IP packets 126.119.6.4 Checksum Packet order Destination address Sender address Amount of time before discarding 126.119.6.4 01100101 10001101 11011000 01010111 WWW Middleware • Web sites: provide the content that is accessed by Web users. Usually managed by content providers. • Web server: a program (a server process) that receives calls from Web clients and retrieves Web pages and/or receives information from gateways. WWW Middleware • Web browsers: The graphical user interfaces that clients use to wander through the Web sites. • Uniform Resource Locator (URL): A string of characters that uniquely identifies a resource. Used to locate resources in WWW. WWW Middleware http://seas.smu.edu/faculty.html HTTP request initiated Name of machine running the Web server Name of the file on the machine cs.um.edu WWW Middleware • Hypertext Markup Language (HTML): a language that tags the text files for display at Web browsers – Through HTML, users can flip through Web documents in a manner similar to flipping through a book or catalog. • Hyperlinks: hypertext links that provide a path from one document to another. • Hypertext Transfer Protocol (HTTP): application-level protocol designed for Web users – establishes connection with the Web server specified in the URL, retrieves the document and closes the connection. Generic Web Gateway Interfaces Web Browsers HTTP Web Site Web Server Web Content (HTML Pages) Web Gateway Non-Web Content Web gateways bridge the gap between Web browsers and the corporate applications and databases. Types of Web gateways: • Dedicated relational database gateway • Common Gateway Interface (CGI) • Java-based gateway Standalone Server A Dedicated Relational Database Gateway Web Browsers Response 5 in HTML Web Site 1 Request Web Server 4 1) 1 2) SQL Gateway 3) 3 2 Relational Database Manager 4) 5) A specialized standalone server can be developed to behave as a gateway. Every call received by the server performs a gateway function: Dedicated DB gateway receive SQL calls from a Web browser. Sends SQL statements to target databases. Receives results of SQL query. Build HTML pages from results. Send results back to Web browsers CGI Gateways • CGI gateway is a program that resides on the Web server • The program can be a script (e.g. Perl script) or an executable program (e.g. a C++ program) • Hyperlinks to this program are included in HTML documents – When the user clinks on the hyperlink, The gateway URL is passed to the Web server which locates the program in the /cgi-bin/ directory and executes it – Results sent back to the Web browser. CGI Gateways Web Browsers Results Web Site Query Web Server CGI Gateway Single Step CGI Gateway Two Step Web Content (HTML Pages) Application E.g. DBMS CGI Gateways HTML Web page Web Browser (5) User receives reply Web Server (1) User enters information (2) Sends message to CGI program (4) Construct reply to user CGI program CGI program 3) Process message (May call other programs) Application Common Gateway Interface • Generic interface between serve and gateway programs. • Specifies how data are sent to and returned from gateway programs. • Sending: – environment variables e.g. REMOTE_ADDR, QUERY_STRING, REMOTE_HOST etc. – data from clients (from standard input) Common Gateway Interface • Returning: – Results that the server can process – I.e. A HTML Web page with in HTML format. – Server displays this Web page on the Web browser, which the user reads. CGI Program Construct Directory where Perl is located #!/usr/bin/perl #program.pl -- name of program May invoke another program to break down the input string into meaningful attributes and values <Read input from client> Generate a reply HTML Web page Process data : : print “Content-type: text/html\n\n”; <HTML Web page codes> Java-Based Gateway Web Browser (Java Compliant) Applications Java Applets Java Applets Web Site Request Web Server Java Powered Pages • Gateway distributes code of the target application and sends it to the Web client where it executes. • Access to remote application and databases can be invoked indirectly from the browser. Example: Java applet asks the user to query and sends it to a remote application or database. Java and Java Applets • Java is an object-oriented programming language similar to C++ developed by Sun Microsystem. • Java supports user interactions with Web pages. • Java applets are small Java programs embedded in Web pages Java and Java Applets • These Java Web pages (along with Java applets) are downloaded to the Web client and make the Web browsers a powerful tool by enabling user interactions. • A Java application is a complete standalone application that uses text input and output Java and Java Applets • Java applets are not standalone applications and run as part of a Java-enabled browser (e.g. Hot Java). • Clients need a Java-enabled browser to run Java-powered pages. Examples: HotJava, Netscape 2.0 and higher Java Characteristics • • • • • Simplicity Object Orientation Distributed Robust Architectural Neutral • • • • • Portable Interpreted High performance Multithreaded Dynamic Advantages: • Network traffic reduction -- Java applets execute on the client side and thus do not suffer from the issues of network traffic between the Web client and Web server. • Plug-and-play Java applets -- Java applets once built can run on many machines. They also have access to a wide range of libraries. Downloading and running Java applets The Java browser load process consists of the following steps: • User selects and HTML page. • Browser locates the page and starts loading it. While loading, it starts to format text. • It loads graphics if indicated by IMG or FIG tags in HTML. Downloading and running Java applets • Java applets are indicated by an APPLET tag • Example <APPLET CODE=myapplet.class WIDTH=100 HEIGHT=100> </APPLET> Downloading and running Java applets • Browser loads the indicated class and other needed classes. • Java-”enabled” browsers also keep local classes that may be used by the applets. • After the applet has been loaded, the browser asks it to initialize itself (init() method) and draw a display area that is used for input/output. Multimedia Web Extensions • Virtual Reality Modeling Language (VRML) – An object-oriented 3-D protocol that enables the creation of interactive 3-D environments on the Internet. – Applications: virtual reality applications like molecular modeling, flight simulation, computer-aided product design Multimedia Web Extensions • RealAudio – Streaming audio—sound files are played as they are being downloaded. – Applications: live and rebroadcast music and audio – Streaming video—towards video online? • Internet/Web-based telephony – E.g. Cool Talk—communication across the Internet with full duplex sound. – Applications: cheap phone calls, shopping, customer service over WWW, Communications Network Architectures THE OPEN SYSTEM INTERCONNECTION (OSI) MODEL Application Layer Presentation Layer Logical Flow Network User Transaction Services Provides application services, such as distributed database access and document interchange, to network users Transaction Services Presentation Services Formats data for different presentation media and coordinates resource sharing Presentation Services Data Flow Control Synchronizes flow between end-points, correlates exchanges and group related data into indivisible units Data Flow Control Transmission Control Paces data exchange to match end-point processing capacity and Enciphers user data, if needed security Transmission Control Network Layer Path Control Routes data in “packets” between source and destination and controls traffic and congestion in the network Path Control Data Link Layer Data Link Control Transmits data reliably between adjacent nodes all along any route Data Link Control Physical Layer Physical Control Connects adjacent nodes physically and electrically Physical Control Session Layer Transport Layer Node B Network User Physical Flow Node A Communications network architectures. The OSI model is recognized as an international standard. IBM’s SNA is the leading network architecture for mainframe-based telecommunications networks. E-Commerce Architectures Electronic Commerce Architecture Client Browser WWW Server Functions 3rd Party Service Local or company specific data Information Retrieval Digital library of document/ data servers Mosaic/WWW browser Data and transaction management Third party information processing tools/services Browser extensions Secure messaging Electronic payment servers A typical E-Commerce architecture Back End Relational Database Web/Commerce Servers Document Management Payment System Imaging Proprietary ERP Web Clients Web Clients • Web client (perspective of merchant) • Browser (perspective of customer) • Examples – Mosaic – Netscape Navigator – Internet Explorer Web Server/Commerce Server Web/Commerce Servers Commerce Server S/W Web Server S/W HTTP TCP/IP Web Clients Web Server Software SITE SERVER COMMERCE SITE SERVER FRONT PAGE OPTION PACK/IIS SERVICE PACK 3 NT SERVER Back End Servers Back End Web/Commerce Servers Web Clients Back End Systems • • • • SQL DB2 Oracle ERP – PeopleSoft – SAP Clustered Servers Web/Commerce Servers Web Clients Router Clustering Real-time Updates Replicated Servers Web/Commerce Servers Web Clients Router Replication Scheduled Updates Common Internet Access Methods • Dial-up – Easy and inexpensive – Protocol; terminal emulation – Speed; 9.6, 14.4 Kbps • Dial-up IP – full access to internet but more complex to configure and setup – Protocol; SLIP, PPP – Speed 14.4, 28.8 Kbps Common Internet Access Methods • Digital dial-up (ISDN) – procurement and installation – Protocol; PPP – Speed; 64, 128 Kbps • Leased Line – high speed dedicated link – Protocol; IP – Speed; 56 Kbps, 1.544 Mbps (T1) Point-to-Point Protocol • Protocol for communication between two computers using a serial interface – PC connected by phone line to a server – ISP provides customer with PPP • server responds to requests • pass request on to internet • forwards requested Internet responses back to you • Uses IP • Layer 2 (data link layer) Point-to-Point Protocol • Packages PC’s TCP/IP packets and forwards them to the server where they can then be put on the Internet • Full duplex protocol – twisted pair – fiber optic – satellite • High Speed Data Link Control (HDLC) for packet encapsulation Point-to-Point Protocol • Can handle asynchronous as well as synchronous communication • Can share the line with other users • Generally preferred over SLIP (Serial Line Internet Protocol) Another Configuration Front End Back-end databases Web/Commerce Servers Internet Software HTTP Protocols TCP/IP Router Internal Credit Verification System Internet Protocols TCP/IP External Web Clients Replication Internal Web Clients Firewall A Typical Configuration Front End Back-end databases Web/Commerce Servers Internet Software HTTP Protocols TCP/IP Router Internal Credit Verification System Internet Protocols TCP/IP Internal Web Clients External Web Clients Firewall Merchant Server - Physical View Merchant Server Financial Network Internet Buyer with Browser Catalog and order Database Merchant Server - Logical View Catalog Data Order Data Catalog Page Static Content Generation Web Server Credit Card Order Capture Forms Secure Electronic Transaction (SET) Architecture Merchant Server with SET module Interchange Network (mastercard, Visa, etc Internet Buyer with browser and SET wallet SET payment gateway Open Market Commerce Architecture: Physical View Catalog servers with secure link Financial Network Internet Shared transaction server Buyer with browser Shared Transaction Engine Customer Data Order Data Payment Data Data Management Catalog Server Catalog DB (Items, Pricing) Catalog Application SecureLink Web Server Customer Management (Registration, Profiles) Order Capture (Order Form) Order Completion (Tax, shipping) Payment Processing (SET, Purchase Order) Web Server Web Server Internet Fulfillment and Customer Service Open Buying on the Internet (OBI) Business Purchasing Process Browse Request Approve Fill Receive Pay OBI Architecture Catalog Browse/Buy Order Status Query Requisitioner Profile Information, Pending orders View/Update Buying Organization Order creation and approval Payment Validation Supplier Corporation Payment Vehicle Authorization Clearance Payment Authority OBI Transaction Flow Buyer home page (with list of suppliers) Seller catalog 1. Requisitioner selects supplier 2. Requisitioner browses catalog and orders Requisitioner 5. Buyer approves requisitioners order 3. Catalog routes order to OBI server 4. Seller sends OBI request to buyer Buyer OBI server (approvals, etc) 6. Buyer sends complete OBI order to seller 7. Seller routes order for fulfillment and payment Seller OBI server Seller fulfillment systems Intranets and Extranets The Web Enterprise Extranet Suppliers Distributors Enterprise Banks Intranet Electronic Storefront Logistics Provider Business Intelligence • Knowledge Management • Internal Communicati on • Project Management Customer Services Internet Information Dissemination Intranets • A private network that is contained within an enterprise • May consist of many interlinked local area networks and also use leased lines in the wide area network • Typically includes connections through one or more gateway computers to the outside Internet Intranets • The main purpose of an intranet is to share company information and computing resources among employees • An intranet can also be used to facilitate working in groups and for teleconferences. Intranets • An intranet uses TCP/IP, HTTP, and other Internet protocols and in general looks like a private version of the Internet • Can send private messages through the public network using tunneling – public network with special encryption/decryption and other security safeguards to connect one part of the intranet to another Intranets • Larger companies allow users within their intranet to access the public Internet through firewall servers – that have the ability to screen messages in both directions so that company security is maintained • When part of an intranet is made accessible to customers, partners, suppliers, or others outside the company, that part becomes part of an extranet Internet vs. Intranet Internet • A large collection of TCP/IP networks that are tied together through network interconnectivity such as routers and gateways. • Computers on the public Internet have publicly known Internet Protocol (IP) addresses that are used to exchange information over the public Internet. Internet vs. Intranet Intranet • TCP/IP networks used by corporations for their own business, especially by exploiting Web technologies. • Use the same technology as the public Internet. • Any applications and services that are available on the public Internet are also available on the Intranets. Intranet Benefits and Drawbacks Benefits • Easy to publish internally • Low cost since most organizations already have TCP/IP networks. • Corporate users can easily access information on internal Web sites. • Low maintenance and easy upgrading since information resides in only one place—the Web server • Easy to scale the computing resources upwards or downwards. Intranet Benefits and Drawbacks • Easy software distribution through Web browsers. Drawbacks • Collaborative applications for Intranets are not as powerful as those offered by traditional groupware. • Short-term risk since Web programming technology is still relatively new. • Less back-end integration since applications are separate unlike groupware. Intranet Architecture Corporate Intranet Clients Legacy systems Public/ External WWW Users Firewall Intranet Databases E-mail servers Web servers Extranet • An extranet is a private network that uses the Internet protocols and the public telecommunication system to securely share part of a business's information or operations with suppliers, vendors, partners, customers, or other businesses • An extranet can be viewed as part of a company's intranet that is extended to users outside the company Extranet • An intranet that is partially accessible to authorized outsiders • Provides various levels of accessibility to outsiders – intranet resides behind a firewall and is accessible only to people who are members of the same company or organization • Must have a valid username and password, and your identity determines which parts of the extranet you can view. Extranet • It has also been described as a "state of mind" in which the Internet is perceived as a way to do business with other companies as well as to sell products to customers • The same benefits that HTML, HTTP, SMTP, and other Internet technologies have brought to the Internet and to corporate intranets now seem designed to accelerate business between businesses Extranet • An extranet requires security and privacy. These require firewall server management, the issuance and use of digital certificates or similar means of user authentication, encryption of messages, and the use of virtual private networks (VPNs) that tunnel through the public network Extranet • Companies can use an extranet to: – Exchange large volumes of data using Electronic Data Interchange (EDI) – Share product catalogs exclusively with wholesalers or those "in the trade" – Collaborate with other companies on joint development efforts – Jointly develop and use training programs with other companies Extranet – Provide or access services provided by one company to a group of other companies, such as an online banking application managed by one company on behalf of affiliated banks – Share news of common interest exclusively with partner companies Extranet • An extension of an enterprise’s Intranet to its business partners. • Benefits: – Leverage existing investment in technology since most companies already have their documents online and Internet access. – Extranet applications developed to Internet standards are virtually guaranteed to work with Web browsers Extranet – Extranet applications can be customized to individual partners. Furthermore, the applications are accessible on a 24-hour basis, improving customer satisfaction. • Issues: – Security and access privileges – Web site management and maintenance Extranet Architecture Enterprise intranet Banks N Contractors N Email Broadcast Discussion room rd 3 party cybermediary IS Search engine N Product catalog extranet N Suppliers N Manufacturer N Distributor N Retailers Purchasing system Legend Intranet Extranet Internet Web browser Firewall Firewall servers N Product Info Purchasing System Chat rooms Direct-toconsumer Virtual community N N N Consumer Consumer Consumer Internet, Intranet, Extranet • Internet refers to outward-facing systems, with little or no connection to any other internal systems • The Internet is the public, global network of networks which is based on the Internet Protocol (IP) and related standards • Designed to provide a standard means of interconnecting networks (any system can communicate with any other system) Internet, Intranet, Extranet • It operates as a confederated network of networks (an "internet"), and offers universal accessibility Internet, Intranet, Extranet • Intranet refers to inward-facing or staff-facing systems • A private application of the same internetworking technology, software, and applications within a private network, for use within an enterprise Internet, Intranet, Extranet • May be entirely disconnected from the public Internet – usually linked to it and protected from unauthorized access by security firewall systems Internet, Intranet, Extranet • An intranet has two fundamental functions – provide secure, customized access to relevant, up-to-date information found in transaction systems – let users act on that information by managing how it flows through process systems Internet, Intranet, Extranet • An extranet is a use of Internet/intranet technology to serve an extended enterprise, including defined sets of customers or suppliers or other partners • Typically behind a firewall, just as an intranet usually is • Closed to the public (a "closed user group"), but is open to the selected partners, unlike a pure intranet Internet, Intranet, Extranet • More loosely, the term may apply to mixtures of open and closed networks. • Extranet refers to the marriage of these two otherwise separate systems into a single, seamless system — a market-facing system. IBM’s Ten Success Factors for E-Business • 1. E-business is as much about business vision as technology • 2. Key to a successful E-Business transition is making your E-Business priorities the same as your business priorities • 3. When you move to E-Business, it pays to move quickly • It pays to integrate E-Business with your core operations from the start IBM’s Ten Success Factors for E-Business • 5. Scalability, availability, and security are not optional • 6. Customer knowledge is everything on the web • 7. The key to transforming any major process is to identify all the subprocess • 8. It pays to overbuild for traffic you do not expect IBM’s Ten Success Factors for E-Business • 9. A vital component of E-Business is a way to manage the performance of all your systems, networks, and applications - as a single enterprise • 10. Plan for change - tomorrow will be different So What is Distributed Computing? Distributed Computing • Computing is said to be "distributed" when the computer programming and data that computers work on are spread out over more than one computer, usually over a network • Computing prior to low-cost computer power on the desktop, was organized in centralized "glass houses" (so-called because the computers were often shown to visitors through picture windows) Distributed Computing • Modern enterprises are using a mix of desktop workstations, local area network servers, regional servers, Web servers, and other servers Distributed Computing • A popular trend has been clientserver computing which is simply the view that a client computer can provide certain capabilities for a user and request others from other computers that provide services for the clients – (The Web's HTTP protocol is an example of this idea.) Client/Server Computing What is Client/Server Computing The client–server model consists of three parts: • client - the active component that initiates a request • server - the passive component that returns a service • network - the media that enable the transmission of requests and services Server /Client Client Server What are the Models of Client/Server Computing? • The key is the leverage of computing power between Clients and the Server How much work or how many functions are to be handled by the client versus its server Major Components in Client/Server • User Interface (I/O functions - Thin Client, WWW, Phone) User Interface (e.g., Browser, I/O routines) Functional Process (Business Rules) Functional Obj. (e.g., Stored procedures/Triggers) DBMS (for data access and retrievals, networking, services) Data Mgmt (e.g., DB2, Oracle, SQL/Server) Major Models for Client/Server Three-Tier Model • Client requests its service via some pre-compiled modules (COM) to interact with data access software on the server Client Agent (COM) Server Component Object Module (e.g., precompiled stored procedures) 3 Tier Client/Server “Desktop” - Compound Documents, Controls, Scripting H T T P C O M Mid-Tier - HTTP, Biz Objects, Active Server Pages, Scripting C O M SNA etc... CORBA Third-Tier - Databases, Legacy Data Three-Tier Client/Server Model Data Mgmt Communication Network DB Server Client Functions User Interface (e.g., Browsers) Function Server A New Trend in Object-oriented Client/Server - N-tier Model N-tier Architecture First tier Client Interface 2nd-tier Business COM 3rd-tier Business COM x-tier Business COM Database Server Mail Server Gateway Server DNS Server Back-end-tier System Server Distributed Computing • Most popular distributed object paradigms – Common Object Request Broker Architecture (CORBA) – Distributed Component Object Model (DCOM) – Java/Remote Method Invocation (Java/RMI) CORBA and ORBs CORBA • Common Object Request Broker Architecture • Brokers requests for services from objects that may reside elsewhere on a network • Provides location independence • Provides vendor and language interoperability CORBA • Everything in the CORBA architecture depends on an Object Request Broker (ORB) – acts as a central Object Bus over which each CORBA object interacts transparently with other CORBA objects located either locally or remotely CORBA • Since CORBA is just a specification, it can be used on diverse operating system platform – mainframes – UNIX boxes – Windows machines – handheld devices • As long as there is an ORB implementation for that platform CORBA Architecture • Object Request Broker (ORB) is the most important component • Object Services are the low-level services that must be available on all platforms in a distributed system (e.g., lifecycle) CORBA Architecture • Common Facilities are the commonly-found services in particular distributed systems (e.g., email, print queuing) • Application Objects are the highlevel applications themselves (e.g., spreadsheets, word processors, programmable controllers) CORBA Architecture CORBA Applications CORBA Domains CORBA ORB CORBA Services CORBA Facilities Object Request Broker • A CORBA Object Request Broker (ORB) is the middleware that establishes the client-server relationship between objects • Using an ORB, a client object can invoke a method on a server object that can be on the same machine or across a network Object Request Broker • The ORB intercepts the call and finds an object that can implement the request, pass it the parameters, invoke its method, and return the results • CORBA, like SQL, provides both static and dynamic interfaces to its services Object Request Broker • The client does not have to know the object's location, its programming language, its operating system, or any other system aspects that are not part of an object's interface • Also, the client and server roles are dynamic: an object on the ORB can act as either client or server, depending on the occasion Communicating via ORBs Local Host Remote Host Java Interpreter or Browser Request Request Object Implementation Client Applet ORB Distributed Computing with CORBA • The client application does not need to know whether the object resides on the same computer or on a remote computer elsewhere on the network • The client application needs to know only two pieces of information – the object's name – how to use the object's interface Distributed Computing with CORBA • The ORB takes care of the details – locating the object – routing the request – returning the result Features and Benefits • Each object encapsulates the details of its inner workings and presents a well-defined interface, reducing application complexity • The CORBA approach also reduces development costs, because once an object is implemented and tested, it can be used over and over again Features and Benefits • CORBA's platform independence lets you run and invoke the object from any platform; you can run an object from the platform that makes the most sense for that object • CORBA's language independence lets you reuse existing code and leverage your existing programming skills Features and Benefits • CORBA is based on an open, published specification • Implemented on and supported by numerous hardware and operating system platforms • CORBA Java objects are portable – build objects on one platform and deploy them on any other supported platform Features and Benefits • Interoperability. CORBA objects are fully interoperable because they communicate using the Internet Inter-ORB Protocol (IIOP) • Software bridges enable communications between CORBA objects and objects developed using Microsoft's DCOM technology Features and Benefits • Modularity. CORBA objects interact via interfaces – developers can modify objects without breaking other parts of the application – Changing an object's implementation does not affect other objects or applications because that object's interface stays the same Features and Benefits • Compatibility. CORBA protects your investment in existing systems – You can encapsulate a legacy application, module, or entry point in a CORBA IDL wrapper that defines an interface to the legacy code • Security. CORBA provides security features such as encryption, authentication, and authorization to protect data and to control user access to objects and their services CORBA Environment Source: Netscape CORBA in a Three Tier Architecture Source: Netscape Example • Parcel-tracking application • Suppose an Internet user wants to track delivery of a package • From a browser, the user enters a URL that points to the delivery company's Web server Source: Netscape Example • The server uses HTTP to send a Web page to the user – that page contains an embedded Java applet, which is the client component of the parcel-tracking system • So far, nothing is different from a traditional HTTP Web transaction Example • Next, the user enters a parceltracking number into the appropriate field in the Java applet • Using the client-side ORB, the applet then generates and sends an IIOP message across the network, looking for a specifically-named server object that can obtain the status of the parcel Example • The ORB on the server with the appropriate parcel-tracking object picks up the message and invokes the object's status-finding method • Through the server ORB, the object then generates another IIOP message looking for an object on a legacy system that contains all the parcel company's data Example • Upon obtaining the last request through its ORB, the mainframe containing the data-tracking object determines that status of the parcel from its database • The mainframe returns an IIOP message with the information to the server object Example • The server then routes the information-again with IIOP and the ORBs-to the Java applet running on the client, which displays the results to the user Example Source: Netscape COM • COM (Component Object Model) is Microsoft's framework for developing and supporting program component objects • It is aimed at providing similar capabilities to those defined in CORBA COM • COM provides the underlying services of interface negotiation, life cycle management (determining when an object can be removed from a system), licensing, and event services (putting one object into service as the result of an event that has happened to another object) • COM includes COM+, DCOM, and ActiveX interfaces and programming tools COM Principles • Rigorous Encapsulation – Black box -- no leakage of implementation details – All object manipulation through strict interfaces • Polymorphism IUnknown – via multiple interfaces per class IDispatch – “Discoverable”: QueryInterface IRobot COM Object COM Architecture Client COM run time Security provider COM run time Security provider RPC Inprocess Protocol stack LPC Component RPC Protocol stack Local DCOM networkprotocol Source: Microsoft Remote COM Runtime Architecture Flexible and extensible Pluggable Transports Proxy TCP, UDP SPX,IPX Net BUI HTTP “Falcon” COM Runtime COM Client Server Machine COM Runtime Client Machine Other Component Source: Microsoft Component The COM Architecture A scalable programming model In the same process Client Component Client Process On the same machine Fast, direct function calls Client COM Component Fast, secure IPC Across machines Server Process Secure, reliable and flexible DCE-RPC based DCOM protocol Client Server Machine Client Machine DCE COM RPC COM Source: Microsoft Component DCOM • DCOM which is often called 'COM on the wire', supports remoting objects • A DCOM server is a body of code that is capable of serving up objects of a particular type at runtime • DCOM server components can be written in diverse programming languages like C++, Java, Object Pascal (Delphi), Visual Basic and even COBOL DCOM • As long as a platform supports COM services, DCOM can be used on that platform • DCOM is now heavily used on the Windows platform COM/DCOM Lets ActiveX components run anywhere Client Server COM COM Object running on client Remote object on any server Object running on client Source: Microsoft COM and DCOM Sun Solaris (Sparc) 2.5 HP/UX COM COM RC COM Client DCOM Q3’97 Q4’97 Digital Unix 4.0 (Alpha) RC COM Q3’97 Digital Open VMS IBM MVS 5.2.2 (OS390) Siemens Nixdorf SINIX COM COM Q1’98 IBM OS/400 COM H1’98 H1’98 Linux 2.0 (Intel) H1’98 IBM AIX COM COM BETA COM Q4’97 SCO UnixWare H1’98 Source: Microsoft COM H1’98 Architecture Overview Containers ActiveX documents Internet Explorer ActiveX HTMLcontrols Windows VRML Shell HTML VRML RealAudio Office Binder MPEG Word Shockwave ODBC Visio Mosaic ActiveX scripting MicroGrafx Services URL resolution HTTP, FTP Hyperlinking History Favorites Visual Basic Basic Visual Script Script Code download JavaScript and security REXX PERL COM+ • COM+ is an extension of COM • COM+ is both an object-oriented programming architecture and a set of operating system service • It adds to COM a new set of system services for application components while they are running, such as notifying them of significant events or ensuring they are authorized to run COM+ • COM+ is intended to provide a model that makes it relatively easy to create business applications that work well with the Microsoft Transaction Server (MTS) in a Windows NT system COM+ • It is viewed as Microsoft's answer to the Sun Microsystems-IBM-Oracle approach known as Enterprise JavaBeans (EJB) • Among the services provided by COM+ are: – An event registry that allows components to publish the possibility of an event and other components to subscribe to be notified when the event takes place COM+ – The interception of designated system requests for the purpose of ensuring security – The queueing of asynchronously received requests for a service Technology Scenario COM+ MTS COM COM+ Services: Events Security Load Balancing Queued Components In Memory Database Compensating COM+Resource Manager caring, sharing Administration A environment for your components MTS Services: Transactions Resource Pooling Security Administration The Model Tools Support Multi-Language Discovery (QI)