66
1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

1

The Ending Lecture of Web Programming (II)

Hope this is the beginning of your web adventure

Page 2: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

2

Final Project Reminder• What should you do next week (6/17)?

– Demo your project (a representative from each group), including GUI designs and functionalities

– Submit a project document and a CD containing all the files of project work (note: better use a file to explain the file structure of your project)

– Don’t Forget to include your e-mail address

Project Final Presentation Week18(15%)

GUI designs (6%)

Functionalities (7%)

Presentation (2%)

Page 3: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

3

• The Summary of XML

• XML vs. Web Service

• Web Service Architecture

• SOAP (Simple Object Access Protocol )

• WSDL (Web Service Description Language)

• UDDI (Universal Description, Discovery, and Integration )

• Resources

Page 4: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

4

The Big Picture of XML• A description of XML from W3C school:

XML is a cross-platform, software and hardware independent tool for transmitting information.

• A subset of Standard Generalized Markup Language (SGML, ISO 8879)

• How can XML be Used?

• If Developers have Sense (Sky is the limit!)

• XML Parsers; Characters; Markup; Namespaces

• Define the elements to be used to represent data

– Document Type Definition (DTD): A DTD defines the elements, their order, how they can be nested, and other basic details of XML document structure

– Schema: defines all document structures that you can put in a DTD and data types and more complicated rules than a DTD can

– XML Validator

Page 5: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

5

The Big Picture of XML (cont.)

• Why use DTD or Schema

– Data Definition

– Specific Format

– Commonality

– Verification (Receiving & Own)

Page 6: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

6

The Big Picture of XML (cont.)

• APIs for processing tree structure of an XML-based document:

– Document Object Model (DOM)

“Allow programs and scripts to dynamically access and update the content, structure and style of documents “

– Simple API for XML (SAX)

“Is SAX too hard for mortal programmers? And is the domination of DOM a bad thing?”

Page 7: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

7

The Big Picture of XML (cont.)

• Processing XML

– Create a Parser object Point the object to an XML doc. Process

• Basic Operations for processing an XML document

– A basic XML processing architecture

– 3 key layers: XML documents, The application, infrastructure for working with XML doc.

XML

Document(s)

Application

Character Stream

Serializer

Parser

Standardized

XML APIs

Page 8: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

8

Hybrid Parsing

Page 9: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

9

The Big Picture of XML (cont.)

• XML Path Language (XPath)

– Address the nodes of XML doc. Trees

– Providing expression syntax for other XML technologies to locate specific parts

– A string-based (expression) instead of structure-based language (XML)

Page 10: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

10

The Big Picture of XML (cont.)

• XPath vs. XSLT, XPoint, XQuery, …

XML

document

XPath

XSLTXPointXQuery

…………

Variabledocuments

the locations of document structures

or data

process the information

finding the information

using XPath

Generate

Page 11: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

11

The Big Picture of XML (cont.)

• XSL is a family of recommendations for defining XML document transformation and presentation

– XPath

– XSL: eXtensible Stylesheet Language Transformations (XSLT 2.0): A language for transforming XML documents into other text-based (including XML) documents

– XSL Formatting Objects (XSL-FO): A language for formatting XML documents

Page 12: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

12

The Object Formatting Process

Page 13: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

13

The Big Picture of XML (cont.)

• Linking in XML

– A way of creating hyperlinks in XML documents, Internal-Link and External-Link

– External-Link: XLink defines a standard way of creating hyperlinks in XML documents

• It defines how one document links to another document

– Internal-Link: XPointer allows the hyperlinks to point to more specific parts (fragments) in the XML document

• It defines how individual parts of a document are addressed

Page 14: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

14

XML vs. Web Service• The Web is based on several technologies:

– TCP/IP• The universal networking protocol. Everything from pagers to mobile phones to

laptops to mainframes can communicate through TCP/IP.

– HTML • The universal user interface. You can use HTML tags to render data on just about

any device you can think of.

– Java • The language for universal code. Write your code once, and it runs flawlessly

everywhere with great performance.

– XML • The language for universal data. XML documents make it easy to move

structured data across the Web.

• What do these technologies have in common? They're all open, cross-platform standards. It's openness that makes the Web possible; that openness is also the foundation for Web services.

Page 15: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

15

XML vs. Web Service (cont.)

• Where the Web is heading, Looking at the future of the Web, there are several important trends:

– Content is becoming more dynamic. The first Web pages were static. Today, sites provide up-to-the-minute content, incorporating news headlines, stock quotes, and pages customized on a per-user and per-browser basis.

– Bandwidth is getting cheaper. Some analysts predict that in a few years, there will be enough bandwidth for a full-motion video channel that chronicles the life of every person on Earth. Whether that happens or not, bandwidth is growing exponentially cheaper year after year.

– Storage is getting cheaper. The capacities of hard drives, DVDs, CD-ROMs, and removable storage media are far greater than they were a few years ago. That trend will continue.

– Pervasive computing is becoming more important. With hundreds of millions of devices such as mobile phones, pagers, and palmtop computers already in use, we're reaching the end of the days when PCs are the most common device on the Internet. As platforms become more diverse, technologies like XML become even more important.

Page 16: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

16

XML vs. Web Service (cont.)• All of these trends taken together mean that the ability to intelligently process,

manipulate, and aggregate content is crucial

– Content is becoming more dynamic. A Web service has to be able to combine content from many different sources. That may include stock quotes, weather reports, or news headlines. In a legacy environment, that content may include inventory levels, purchase orders, or directory information, all from back-end systems

– Bandwidth is getting cheaper. A Web service can now deliver types of content (streaming video or audio, for example) unthinkable a few years ago. As bandwidth continues to grow, Web services must adapt to new content types

– Storage is getting cheaper. A Web service must be able to deal with massive amounts of data intelligently. That means using technologies such as databases, LDAP directories, caches, and load balancing software to make sure that scalability isn't an issue.

– Pervasive computing is becoming more important. A Web service can't require that users run a traditional browser on some version of Windows. Web services have to serve all sorts of devices, platforms, and browser types, delivering content over a wide variety of connection types

Page 17: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

17

XML vs. Web Service (cont.)• XML and SOAP: Two enabling technologies, For Web services to address

all of these needs,

– XML

• XML is a great technology for moving structured data across the Web.

• If Web services are responsible for manipulating data in a reliable, automated way, HTML documents just don't fit the bill.

• If data is delivered as XML, Web services can process that data in a variety of useful ways.

• XML's separation of content and presentation is ideal.

– SOAP

• SOAP, the Simple Object Access Protocol, uses XML messages to invoke remote methods.

• A Web service could interact with remote machines through HTTP's post and get methods, but SOAP is much more robust and flexible.

Page 18: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

18

XML vs. Web Service (cont.)

• Web Services: The Next Horizon for e-business, The Web’s Next Evolution

– Definition, From W3C

• A Web service is a software system designed to support interoperable machine-to-machine interaction over a network.

• It has an interface described in a machine-processable format (specifically WSDL).

• Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

– What the Web did for program-to-user interactions, Web Services are poised to do for program-to-program interactions.

Page 19: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

19

XML vs. Web Service

• Web Services: The Next Horizon for e-business

– Web Services allow companies to reduce the cost of doing e-business, to deploy solutions faster and to open up new opportunities.

– The key to reaching this new horizon is a common program-to-program communications model,

– Built on existing and emerging standards such as HTTP, Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL) and Universal Description, Discovery and Integration (UDDI).

– Web Services allow applications to be integrated more rapidly, easily and less expensively than ever before

Page 20: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

20

XML vs. Web Service (cont.)

Page 21: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

21

XML vs. Web Service (cont.)

• Inside the Web Services

– Agents and Services

• A Web service is an abstract notion that must be implemented by a concrete agent.

• The agent is the concrete piece of software or hardware that sends and receives messages,

• The service is the resource characterized by the abstract set of functionality that is provided.

– Requesters and Providers

• The purpose of a Web service is to provide some functionality on behalf of its owner and a service requestor wishes to make use of a Web service

Page 22: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

22

XML vs. Web Service (cont.)

• Inside the Web Services

– Service Description

• The WSD is a machine-processable specification of the Web service's interface, written in WSDL.

• It defines the message formats, datatypes, transport protocols, and transport serialization formats that should be used between the requester agent and the provider agent

– Semantics

• The shared expectation about the behavior of the service, in particular in response to messages that are sent to it.

• In effect, this is the "contract" between the requester entity and the provider entity regarding the purpose and consequences of the interaction.

– Engaging a Web Service

Page 23: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

23

Service-Oriented Architecture (SOA)

• A Service Oriented Architecture (SOA) is a form of distributed systems architecture that is typically characterized by the following properties:

– Logical view: The service is an abstracted, logical view of actual programs, databases, business processes, etc., defined in terms of what it does, typically carrying out a business-level operation.

– Message orientation: The service is formally defined in terms of the messages exchanged between provider agents and requester agents, and not the properties of the agents themselves.

– Using the SOA discipline one does not and should not need to know how an agent implementing a service is constructed.

Page 24: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

24

Service-Oriented Architecture (SOA)• Service Oriented Architecture (SOA) is typically characterized

by the following properties (cont.):

– Description orientation: A service is described by machine-processable meta data.

• The description supports the public nature of the SOA: only public and important details are exposed to the public

– Granularity: Services tend to use a small number of operations with relatively large and complex messages.

– Network orientation: Services tend to be oriented toward use over a network, though this is not an absolute requirement.

– Platform neutral: Messages are sent in a platform-neutral, standardized format delivered through the interfaces.

• XML is the most obvious format that meets this constraint.

Page 25: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

25

Service-Oriented Architecture (SOA)

Page 26: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

26

Web Service Architecture

Page 27: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

27

Web Service Architecture

Page 28: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

28

Web Service Architecture (cont.)

Page 29: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

29

Web Service Architecture (cont.)

Page 30: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

30

Web Service Architecture (cont.)

Page 31: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

31

Web Service Architecture (cont.)

Page 32: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

32

Web Service Architecture (cont.)

Page 33: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

33

Web Service ArchitectureOrigin

Pic.

Page 34: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

34

WS Security

Page 35: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

35

A Use Case for Requesting Web Services

Page 36: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

36

XML vs. Web Service (cont.)

• Scenarios/Steps for a travel service request

1. The user is presented with a form (Designs of GUI requirements capturing) to fill in order to provide the travel agent service with details about dates of his/her travel and the destination.

2. The user submits the information to the service in order to get a list of flights corresponding to his/her schedule.

3. The travel agent service finds a list of flights from each service it has in its catalogue.

4. For each airline (providing flight Web Service):

• The travel agent service requests a list of flights accommodating the user.

5. The travel agent service presents the results of the queries to the user letting him choose the best option

Page 37: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

37

Page 38: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

38

Simple Object Access Protocol (SOAP)

• SOAP is a simple XML based protocol to let applications exchange information over HTTP.

• More simply: SOAP is a protocol for accessing a Web Service

• Why SOAP?

– Distributed applications: require to allow Internet communication between programs

– Current solution: Remote Procedure Calls (RPC) between objects like DCOM and CORBA, but HTTP was not designed for this. RPC represents a compatibility and security problem; firewalls and proxy servers will normally block this kind of traffic

Page 39: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

39

SOAP (cont.)

• Why SOAP?

– A better way to communicate between applications is over HTTP,

– HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this

– SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages

Page 40: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

40

SOAP (cont.)

• SOAP Syntax

– A SOAP message is an ordinary XML document containing the following elements:

– A required Envelope element that identifies the XML document as a SOAP message

– An optional Header element that contains header information

– A required Body element that contains call and response information

– An optional Fault element that provides information about errors that occurred while processing the message

Page 41: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

41

SOAP (cont.)• Skeleton SOAP Message

<?xml version="1.0"?><soap:Envelope

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Header> ... ...</soap:Header><soap:Body> ... ... <soap:Fault> ... ... </soap:Fault></soap:Body></soap:Envelope>

Page 42: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

42

SOAP (Simple Object Access Protocol )

Example 1: SOAP message containing a SOAP header block and a SOAP body

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">

<env:Header>

<n:alertcontrol xmlns:n="http://example.org/alertcontrol">

<n:priority>1</n:priority>

<n:expires>2001-06-22T14:00:00-05:00</n:expires>

</n:alertcontrol>

</env:Header>

<env:Body>

<m:alert xmlns:m="http://example.org/alert">

<m:msg>Pick up Mary at school at 2pm</m:msg>

</m:alert>

</env:Body>

</env:Envelope>

Page 43: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

43

• A GetStockPrice request is sent to a server.

• The request has a StockName parameter

• The namespace for the function is defined in "http://www.stock.org/stock" address

<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock">   <m:GetStockPrice> <m:StockName>IBM</m:StockName>    </m:GetStockPrice> </soap:Body></soap:Envelope>

Page 44: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

44

• A SOAP response

• A Price parameter is returned in the response.

<?xml version="1.0"?>

<soap:Envelope

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.stock.org/stock">

<m:GetStockPriceResponse>

<m:Price>34.5</m:Price>

</m:GetStockPriceResponse>

</soap:Body>

</soap:Envelope>

Page 45: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

45

WSDL (Web Service Description Language)

• WSDL (Web Services Description Language) is an XML-based language for describing Web services and how to access them

• WSDL is used to describe Web services

• WSDL is also used to locate Web services

• A WSDL document specifies the location of the WS and the operations (or methods) the service exposes

• WSDL is not yet a W3C standard

• A WSDL document is just a simple XML document. It contains set of definitions to define a web service

Page 46: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

46

WSDL (cont.)

• The WSDL Document Structure

• A WSDL document defines web services using these major elements:

Element Defines

<portType> •Defines a web service, the operations that can be performed, and the messages that are involved.

•The element can be compared to a function library (or a module, or a class) in a traditional programming language.

<message> Defines the data elements of an operation

<types> Defines the data type that are used by the web service

<binding> Defines the message format and protocol details for each port

Page 47: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

47

WSDL (cont.)

• An instance of the WSDL protocol describes five things:

– Data types of the Web service interface (its parameters and return types).

– Messages which group data type variables into network transmissions.

– PortTypes which group messages into logical operations.

– Bindings which describe how a portType is mapped to a transport/messaging protocol.

– Services that list the connection information for a particular binding.

Page 48: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

48

WSDL (cont.)• The main structure of a WSDL document looks like this

<definitions>

<types>

definition of types........

</types>

<message>

definition of a message....

</message>

<portType>

definition of a port.......

</portType>

<binding>

definition of a binding....

</binding>

</definitions>

Page 49: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

49

WSDL (cont.)• WSDL Example

<message name="getTermRequest">

<part name="term" type="xs:string"/>

</message>

<message name="getTermResponse">

<part name="value" type="xs:string"/>

</message>

<portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation></portType>

Page 50: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

50

WSDL (cont.) – WSDL 2.0 Components Containment Hiearchy

Page 51: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

UDDI Overview

• Web Services Registry

• SOA Enabler

Page 52: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

What Is UDDI?

• Universal Description, Discovery, and Integration

• Protocols for web services registry

• Public implementation of standard

• Part of web services stack, with SOAP, WSDL, etc.

Page 53: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

Why a Registry?

• Structure for otherwise ad hoc process of component interactions

• Location and invocation metadata for run-time binding

• Flexibility for business rules: security, transport, quality of service, etc.

Page 54: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

Typical Registry Applications

• Publishing or finding web services (within an organization or across organizational boundaries) that meet arbitrary criteria

• Determining the security and transport protocols supported by a given web service

• Insulating applications (and providing fail-over) from failures or changes in invoked services

Page 55: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

The UDDI Standard

• UDDI specifies protocols for:

– Publishing and searching services registry

– Controlling access to registry

– Distributing and delegating to other registries

• Managed by OASIS standards body

Page 56: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

The Public Registry

• The UDDI Business Registry (UBR):

– Public reference implementation of standard

– Directory of publicly available services

Page 57: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

Key Functional Concepts

• UDDI data model

– businessService, businessEntity, bindingTemplate, tModels (metadata)

• Hierarchy of registry instances

– Nodes, registries, affiliated registries

• Key programmatic interfaces

– Publish, search, replicate, subscribe, key management, authentication

• Multiple, flexible service taxonomies

Page 58: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

58

UDDI (cont.)• How can UDDI be Used

– If the industry published an UDDI standard for flight rate checking and reservation, airlines could register their services into an UDDI directory.

– Travel agencies could then search the UDDI directory to find the airline's reservation interface.

– When the interface is found, the travel agency can communicate with the service immediately because it uses a well-defined reservation interface.

• Who is Supporting UDDI?

– UDDI is a cross-industry effort driven by all major platform and software providers like Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, and Sun, as well as a large community of marketplace operators, and e-business leaders.

– Over 220 companies are members of the UDDI community

Page 59: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

59

UDDI from IBM (1)

Page 60: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

60

UDDI from IBM (2)

Page 61: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

UDDI v3 History

VERSION YEAR GOALS

1.0 2000 Public registry foundation

2.0 2003Web services alignment and

extensible taxonomies

3.0 2004Flexible and secure registry

interaction models

Page 62: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

www.uddi.org

• Specification

• Technical notes

• Best practices

• Case studies

• Committee membership

Page 63: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

63

Resources

• Ontologies and the semantic web

– http://www.semanticweb.org

– http://www.kr.org/top/projects.html

– http://www.w3.org/RDF

– http://www.daml.org

– T. Berners-Lee et al. : “The semantic Web” http://www.sciam.com/2001/0501issue/0501berners-lee.html

– E. Miller : “An Introduction to the Resource Description Framework” http://www.dlib.org/may98/miller/05miller.html

– R. Fike and D. McGuinness: “An Axiomatic Semantics for RDF, RDF-S and DAML+OIL” http://www.daml.org/2001/03/axiomatic-semantics-030101.html

Page 64: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

64

Resources

• Software Agent

– http://agents.umbc.edu

– http://www.cs.umbc.edu/kqml

– http://www.csee.umbc.edu/kif

– http://www.fipa.org

– S. Franklin and A. Graesser: “Is It an Agent, or Just a Program?: A Taxonomy for Autonomous Agents” http://www.msci.memphis.edu/~franklin/AgentProg.html

– D. Lang and M. Oshima: “Programming and Deploying Java Mobile Agents with Aglets ( Addison-Welsley, 1998)

– J. Bigus : “Constructing Intelligent Agents with Java” (John & Wiley & Sons, 1997)

Page 65: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

65

Resources

• Grid Computing

– http://www.gridforum.org

– http://www.eu-datagrid.org

– http://www.griphyn.org/

– http://www.accessgrid.org/

– http://www.gridcomputing.com

• Embedded Web Services

– http://aladdin.grc.nasa.gov

– http://www.csdmag.com/main/9803fe2.htm

– http://www.w3.org/Addressing

– http://www.pocketsoap.com

Page 66: 1 The Ending Lecture of Web Programming (II) Hope this is the beginning of your web adventure

66

Finally, we reach the end of this semester. I and TAs (尚純、紹楷 ) do hope that the course

content have presented you the core knowledge of “Web Programming (II)”

Any Comment? Send me an E-Mail, Appreciated!