450 likes | 695 Views
Important Trends in Internet Software Technology. Celebrating the 18 th Anniversary of Electronic Pizza July 9, 2002. Gail Honda, Global Optima, Inc. and Kipp Martin, University of Chicago Graduate School of Business. www.globaloptima.com. Slides can be downloaded at:.
E N D
Important Trends in Internet Software Technology Celebrating the 18th Anniversary of Electronic PizzaJuly 9, 2002 Gail Honda, Global Optima, Inc. and Kipp Martin, University of Chicago Graduate School of Business
www.globaloptima.com Slides can be downloaded at:
More detailed information in: The Essential Guide to InternetBusiness Technology (Prentice Hall, February 2002) www.amazon.comwww.barnesandnoble.com Book Signings this Saturday, July 13, at:Borders Ward Centre 12 Noon – 1:00 p.m.Borders Waikele 3:00 p.m. – 4:00 p.m.
Topics to be covered: 1.Why did Bill Gates say he’s “embracing XML in everything we do?” 2.How are Web services changing the way software is purchased and used? 3.Unix/Java vs. Microsoft?
1.Why did Bill Gates say he’s “embracing XML in everything we do?” •Why is XML important? •What is XML? • How is XML used?
Why is XML Important? Consider the following scenarios: 1. Problem with online clothing retailer 2. Problem with company using reorder Web service 3. Problem with Web search engine 4. Problem with recipe data
Why is XML Important? There are three key problems illustrated: 1. We want data in an open format that is easily exchanged. 2. We want to give meaning to the data. 3. All parties must agree to the meaning of the data.
Why is XML important? It is changing the way data are exchanged between businesses • Enormous amounts of data are exchanged daily between businesses • Electronic data exchange used to be the purview of only the largest companies • EDI (Electronic Data Interchange) required a mainframe, private networks, and expensive transactions • With XML, small and medium-sized businesses can engage in electronic data exchange
Middleware – Without XML 6 Translations (N (N - 1)/ 2 in General)
Middleware – XML Based Integration Only 4 Translations (N in General)
What is HTML? <html> <head> </head> <body> <center> See <b> Spot </b> Run </center> </body> </html> HTML tags The document The actual document.
What is XML? <purchaseorder> <sku> <id> 674a </id> <price> $55.27 </price> <salesrep> anoriki@wahiawa.com </salesrep> </sku> </purchaseorder> XML tags Data The actual document.
What is XML? XML stands for extensible markup language. How does it differ from HTML (hypertext markup language)? 1. HTML is for formatting data – syntax. 2. XML gives meaning to data – semantics. 3. With XML you can separate data from the document. 4. XML is object-oriented. 5. XML is meta-language—you can create your own tags. 6.XML breaks a Web page into three parts: the data, the document description, and the formatting.
How is XML Used? Why are companies switching to XML? • Software components need to exchange information, e.g. purchase orders, invoices, etc. • Ideally, this information should be in an “open” easily understood format • This saves time, labor, money, and eliminates human error • Nearly all major software firms are developing software that is XML-enabled
2.How are Web services changing the way software is purchased and used? • What are the great promises of Web services? • What exactly are Web services? The general definition and the technical definition. • Why are HP, IBM, Microsoft, Oracle, and Sun emphasizing development tools for Web services?
What are the great promises of Web services? In a word: Interoperability 1. Software languages and operating systems become irrelevant. 2. Location of software becomes irrelevant. • Whether software is new or on a legacy system becomes • irrelevant.
What are the great promises of Web services? Web services may lower costs • Reduces the cost and headaches of multiple platforms running • on everything from mainframes to servers to desktops to PC • Lowers the cost of collaborating with external partners, • vendors, or clients • Offers a way to maintain and integrate legacy systems at • a lower cost than adopting entirely new enterprise application • software
What are the great promises of Web services? Who’s actually using Web services? • In software development: Adobe Systems • In computer manufacturing: Compaq 3. In travel: Dollar Rent-A-Car
What exactly are Web services? The general definition: Software or data storage available over the Web. The technical definition: • A software component accessible to client using: • HTTP • XML
What exactly are Web services? Why are they so great? 1. Uses open standards – XML, HTTP, TCP/IP 2. Can be used by components – people not necessary 3. Client software not restricted to browser interface • Only need to worry about HTTP port in the firewall – close • the other ports
What exactly are Web services? The Holy Trinity 1. SOAP (Simple Object Access Protocol) - A middleware API protocol based on XML 2. WSDL (Web Service Description Language) - Description (using XML) of how a Web service is used; this document “exposes” the Web service API, an IDL for SOAP 3. UDDI (Universal Description and Discovery) – A “yellow pages” for Web services
What exactly are Web services? Wow, this is complicated!!!!! • API – this is a concept, not software or a physical thing • WSDL – a language (XML based) to describe the API, we create an actual WSDL document • SOAP envelope – contains an actual instance of the data that conforms to the API
What exactly are Web services? SOAP • The HTTP POST Request • The Request SOAP Envelope • The HTTP Response • The Return XML
What exactly are Web services? SOAP • Here is the file mortgage.asmx <%@ WebService Codebehind="mortgage.cs“ Class="Mortgage" %> • Here is the Codebehind – the C# program
What exactly are Web services? WSDL • We need to know the details of a Web service API in order to use it. • Here is the Mortgage WSDL. • You write a program that uses the WSDL to make the necessary calls. This is trivial to do with the new Visual Studio .NET
What exactly are Web services? UDDI • Use UDDI to find your Web Services • Go to uddi.org • See the IBM Web site for some examples of Web Services.
Why are HP, IBM, Microsoft, Oracle, and Sun emphasizing development tools for Web services? Emergence of Web services due to: • The weak client-strong server paradigm • The popularity of Internet devices • Sun – SunRay and StarPortal • Microsoft – Office.NET and Passport
3.Unix/Java vs. Microsoft? •How does the battle affect your business? •What is the open source movement? • What are the strengths and weaknesses of Unix/Java and Microsoft?
How does the battle affect your business? You are going to have to decide • Strong or weak client on the desktop • Which operating system on the desktop • Which operating system on the servers • Which development languages to use
What is the open source movement? What does open mean? • Can the source code be seen? • What are the restrictions on its use? - can you modify it - can you redistribute it • Who controls the standard? • Is it multi-platform?
What is the open source movement? What is the difference between open source software and “free” software? As Richard Stallman says – think freedom of speech not free beer! • Freedom Zero: the user may run the program for any purpose • Freedom One: the owner may alter the source code • Freedom Two: the owner may distribute copies of the software • Freedom Three: the owner may modify and distribute modified source code • GPL: general public license – designed to protect these freedoms
Open Source Examples Linux – Unix based operating system • IBM is making a huge commitment to Linux • Linux a threat to Sun? • Linux a threat to Microsoft? • Other open source examples: MySQL, Apache, and Gnome
Open Source Examples The importance of Linux • Perhaps the greatest open source/free software example • Unix based operating system – actually GNU/Linux • Expected to have about 30% of server market in 2002 (at the expense of other versions of Unix) • Still has a small penetration in the desktop market. •Key trend – lots of small servers running Linux
What are the strengths and weaknesses of Unix/Java and Microsoft? Java/Unix Strengths 1. The big one – write once, run anywhere 2. Proven reliability and scalability 3. Rapid development: object-oriented with lots of classes available
The Software Process for Different Operating Systems
Java Key Concept:ONLY ONE operating system dependent piece of software is required!
What are the strengths and weaknesses of Unix/Java and Microsoft? Java/Unix Weaknesses • May be very expensive if you go the Sun/Oracle • route. 2. May have to deal with multiple vendors.
What are the strengths and weaknesses of Unix/Java and Microsoft? Microsoft Strengths 1. Gives the same vendor/OS on front and back end 2. Usually a low cost solution 3. Technology easy to implement and getting easier 4. Can use multiple languages
Microsoft .NET Key Concept: Similar to Java -- .NET compiler compiles into platform independent language. The Microsoft equivalent of the JRE is the CLR (Common Language Runtime)
What are the strengths and weaknesses of Unix/Java and Microsoft? Microsoft Weaknesses 1. Commitment to one platform - Wintel 2. Until recently, not proven for reliability and scalability 3. Security!