45
Copyright 2002 Global Optima, Inc. All rights reserved. Celebrating the 18 th Anniversary of Electronic Pizza July 9, 2002 Gail Honda, Global Optima, Inc. and Kipp Martin, University of Chicago Important Trends in Internet Software Technology

Copyright 2002 Global Optima, Inc. All rights reserved. Celebrating the 18 th Anniversary of Electronic Pizza July 9, 2002 Gail Honda, Global Optima, Inc

Embed Size (px)

Citation preview

Copyright 2002 Global Optima, Inc. All rights reserved.

Celebrating the 18th Anniversary of Electronic Pizza

July 9, 2002

Gail Honda, Global Optima, Inc.

and

Kipp Martin, University of Chicago

Graduate School of Business

Important Trends in Internet Software Technology

Copyright 2002 Global Optima, Inc. All rights reserved.

www.globaloptima.com

Slides can be downloaded at:

Copyright 2002 Global Optima, Inc. All rights reserved.

The Essential Guide to InternetBusiness Technology

(Prentice Hall, February 2002)

More detailed information in:

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.

Copyright 2002 Global Optima, Inc. All rights reserved.

Topics to be covered:

3. Unix/Java vs. Microsoft?

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?

Copyright 2002 Global Optima, Inc. All rights reserved.

1. Why did Bill Gates say he’s “embracing XML in everything we do?”

• What is XML?

• How is XML used?

• Why is XML important?

Copyright 2002 Global Optima, Inc. All rights reserved.

Why is XML Important?

Consider the following scenarios:

4. Problem with recipe data

1. Problem with online clothing retailer

2. Problem with company using reorder Web service

3. Problem with Web search engine

Copyright 2002 Global Optima, Inc. All rights reserved.

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.

Copyright 2002 Global Optima, Inc. All rights reserved.

It is changing the way data are exchanged between businesses

• Enormous amounts of data are exchanged daily between businesses

Why is XML important?

• Electronic data exchange used to be the purview of only the largest companies

• With XML, small and medium-sized businesses can engage in electronic data exchange

• EDI (Electronic Data Interchange) required a mainframe, private networks, and expensive transactions

Copyright 2002 Global Optima, Inc. All rights reserved.

GUI – Human Based Interaction

Monitor

Data

Copyright 2002 Global Optima, Inc. All rights reserved.

Component Software Based Interaction

Data

Copyright 2002 Global Optima, Inc. All rights reserved.

Middleware – Without XML

6 Translations (N (N - 1)/ 2 in General)

Data

Data Data

Data

Copyright 2002 Global Optima, Inc. All rights reserved.

Middleware – XML Based Integration

Only 4 Translations (N in General)

Data

Data Data

Data

Copyright 2002 Global Optima, Inc. All rights reserved.

What is HTML?

<html> <head> </head> <body> <center> See <b> Spot </b> Run </center> </body></html>

HTML tags

The document

The actual document.

Copyright 2002 Global Optima, Inc. All rights reserved.

What is XML?

<purchaseorder><sku>

<id>674a

</id><price>

$55.27</price><salesrep>

[email protected]</salesrep>

</sku></purchaseorder>

XML tags

Data

The actual document.

Copyright 2002 Global Optima, Inc. All rights reserved.

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.

Copyright 2002 Global Optima, Inc. All rights reserved.

Why are companies switching to XML?

How is XML Used?

• Ideally, this information should be in an “open” easily understood format

• Nearly all major software firms are developing software that is XML-enabled

• This saves time, labor, money, and eliminates human error

• Software components need to exchange information, e.g.

purchase orders, invoices, etc.

Copyright 2002 Global Optima, Inc. All rights reserved.

2. How are Web services changing the way software is purchased and used?

• 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?

Copyright 2002 Global Optima, Inc. All rights reserved.

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.

3. Whether software is new or on a legacy system becomes irrelevant.

Copyright 2002 Global Optima, Inc. All rights reserved.

What are the great promises of Web services?

Web services may lower costs

1. Reduces the cost and headaches of multiple platforms running on everything from mainframes to servers to desktops to PC

2. Lowers the cost of collaborating with external partners, vendors, or clients

3. Offers a way to maintain and integrate legacy systems at a lower cost than adopting entirely new enterprise application software

Copyright 2002 Global Optima, Inc. All rights reserved.

What are the great promises of Web services?

Who’s actually using Web services?

1. In software development: Adobe Systems

2. In computer manufacturing: Compaq

3. In travel: Dollar Rent-A-Car

Copyright 2002 Global Optima, Inc. All rights reserved.

What exactly are Web services?

The general definition:

The technical definition:

Software or data storage available over the Web.

A software component accessible to client using:

1. HTTP2. XML

Copyright 2002 Global Optima, Inc. All rights reserved.

Why are they so great?

1. Uses open standards – XML, HTTP, TCP/IP

3. Client software not restricted to browser interface

2. Can be used by components – people not necessary

4. Only need to worry about HTTP port in the firewall – close the other ports

What exactly are Web services?

Copyright 2002 Global Optima, Inc. All rights reserved.

Middleware – Web Service

Copyright 2002 Global Optima, Inc. All rights reserved.

Middleware – Web Service

Client Server

Request:POST /asmx/mortgage.asmx

HTTP/1.1

Header:SOAPAction: "http://gsbkxm/

MonthlyPayment"

Body:SOAP Envelope

Response:HTTP1.1/20HTTP/1.1 200 OK

Header:Content-Type: text/xml;

charset=utf-8

Body:<?xml version="1.0"encoding="utf-8" ?>

<double xmlns="http://gsbkxm">

341.08814002809504</double>

Copyright 2002 Global Optima, Inc. All rights reserved.

The Holy Trinity

1. SOAP (Simple Object Access Protocol) - A middleware APIprotocol 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?

Copyright 2002 Global Optima, Inc. All rights reserved.

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?

Copyright 2002 Global Optima, Inc. All rights reserved.

SOAP

• The HTTP POST Request

• The Request SOAP Envelope

• The HTTP Response

• The Return XML

What exactly are Web services?

Copyright 2002 Global Optima, Inc. All rights reserved.

Web Service

Copyright 2002 Global Optima, Inc. All rights reserved.

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?

Copyright 2002 Global Optima, Inc. All rights reserved.

WSDL

• We need to know the details of a Web service APIin order to use it.

• Here is the Mortgage WSDL.

• You write a program that uses the WSDL to makethe necessary calls. This is trivial to do withthe new Visual Studio .NET

What exactly are Web services?

Copyright 2002 Global Optima, Inc. All rights reserved.

UDDI

• Use UDDI to find your Web Services

• Go to uddi.org

• See the IBM Web site for some examples of Web Services.

What exactly are Web services?

Copyright 2002 Global Optima, Inc. All rights reserved.

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

• Microsoft – Office.NET and Passport

• Sun – SunRay and StarPortal

Copyright 2002 Global Optima, Inc. All rights reserved.

3. Unix/Java vs. Microsoft?

• What is the open source movement?

• What are the strengths and weaknesses of Unix/Java and Microsoft?

• How does the battle affect your business?

Copyright 2002 Global Optima, Inc. All rights reserved.

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

How does the battle affect your business?

Copyright 2002 Global Optima, Inc. All rights reserved.

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?

Copyright 2002 Global Optima, Inc. All rights reserved.

• 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

As Richard Stallman says – think freedom of speech not freebeer!

What is the difference between open sourcesoftware and “free” software?

What is the open source movement?

Copyright 2002 Global Optima, Inc. All rights reserved.

• Other open source examples: MySQL, Apache, and Gnome

• IBM is making a huge commitment to Linux

• Linux a threat to Microsoft?

Open Source Examples

Linux – Unix based operating system

• Linux a threat to Sun?

Copyright 2002 Global Optima, Inc. All rights reserved.

• Perhaps the greatest open source/free software example

• Still has a small penetration in the desktop market.

• Key trend – lots of small servers running Linux

Open Source Examples

The importance of Linux

• 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)

Copyright 2002 Global Optima, Inc. All rights reserved.

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

What are the strengths and weaknesses ofUnix/Java and Microsoft?

Copyright 2002 Global Optima, Inc. All rights reserved.

MacintoshCompiler

MacintoshApplication

Macintosh

Macintosh SourceCode

WindowsCompiler

WindowsApplication

Windows SourceCode

UnixCompiler

UnixApplication

Unix Source Code

Workstation

IBM Compatible

The Software Process for Different Operating Systems

Copyright 2002 Global Optima, Inc. All rights reserved.

Key Concept: ONLY ONE operating system dependent piece of software is required!

Macintosh

JavaCompiler

ApplicationBytecode

Java Source Code

UnixWorkstation

IBM Compatible

Mac JRE

IBM JRE

Unix JRE

Java

Copyright 2002 Global Optima, Inc. All rights reserved.

Java/Unix Weaknesses

1. May be very expensive if you go the Sun/Oracleroute.

2. May have to deal with multiple vendors.

What are the strengths and weaknesses of Unix/Java and Microsoft?

Copyright 2002 Global Optima, Inc. All rights reserved.

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

What are the strengths and weaknesses of Unix/Java and Microsoft?

Copyright 2002 Global Optima, Inc. All rights reserved.

Key Concept: Similar to Java -- .NET compiler compilesinto platform independent language. The Microsoft equivalentof the JRE is the CLR (Common Language Runtime)

Macintosh

.NETCompiler

ApplicationMSIL

C#, VB, C++Source Code

UnixWorkstation

IBM CompatibleMS CLR

?

?

Microsoft .NET

Copyright 2002 Global Optima, Inc. All rights reserved.

Microsoft Weaknesses

1. Commitment to one platform - Wintel

2. Until recently, not proven for reliability and scalability

What are the strengths and weaknesses of Unix/Java and Microsoft?

3. Security!