33
Information Information Over The Web Over The Web Workshop Workshop Introduction by Introduction by Jackie Assa Jackie Assa

Information Over The Web Workshop

  • Upload
    zubin67

  • View
    205

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Information Over The Web Workshop

Information Information Over The WebOver The Web

WorkshopWorkshopIntroduction byIntroduction by

Jackie AssaJackie Assa

Page 2: Information Over The Web Workshop

OutlineOutline The workshop goalThe workshop goal A few words about the workshop projectA few words about the workshop project LinksLinks IntroductionIntroduction

Web 2.0Web 2.0 Web servicesWeb services BPEL and SOABPEL and SOA

‘‘The stack’The stack’ XMLXML Web ServicesWeb Services BPELBPEL

Project detailsProject details

Page 3: Information Over The Web Workshop

Workshop - GoalWorkshop - Goal

Participate in a near to Participate in a near to ““real-lifereal-life”” development scenario.development scenario.

Work with Web Services and BPEL.Work with Web Services and BPEL. Interact with internal/external development Interact with internal/external development

groups.groups.

This workshop requires significant effort This workshop requires significant effort and ability to rapidly self-learn and and ability to rapidly self-learn and incorporate state of the art technologies. incorporate state of the art technologies. Isn’t this as in real-life?Isn’t this as in real-life?

Page 4: Information Over The Web Workshop

What we’ll teach here, What we’ll teach here, and what we’ll not.and what we’ll not.

We are here to show you the direction:We are here to show you the direction: TerminologyTerminology Technologies and standardsTechnologies and standards Options for implementationOptions for implementation Tools that you can useTools that you can use Few high level examplesFew high level examples

In the little time we have, we cannot go In the little time we have, we cannot go over web/product resources:over web/product resources: Specific APIs Specific APIs Tutorials for the various tools and productsTutorials for the various tools and products

Page 5: Information Over The Web Workshop

ScheduleSchedule

Feb Mar Apr May June

27/2 Introduction to the workshop. Overview, introduction to XML

6/3 Introduction to web services, and tools

13/3 Introduction to BPEL, tools, and project signoff

27/3 specs submission (electronic)

17/4 integration starts (if required inclass)

5/6 project submission (inclass)

Page 6: Information Over The Web Workshop

Workshop projectWorkshop project

Have you ever thought how (really) a virtual Have you ever thought how (really) a virtual store works?store works?

For example:

•Shopping processes•Payments•Business 2 business•Order management•Inventory•Support•…

By Using technologies Such as:•XML/XSLT•Web services•BPEL•Application server•…

Page 7: Information Over The Web Workshop

Behind the scenesBehind the scenesClients BPEL

ServerApp

Server

WebServices

WebServices

GUI

Process1

Process1

Process1

Process1

Process1

WebServices

WebServices

GUI

SystemProcesses

Page 8: Information Over The Web Workshop

LinksLinks

http://www.oracle.com/bpel

http://msdn.microsoft.com/webservices/

http://www.systinet.com/

http://www.xmethods.com

http://ws.apache.org/axis/java/reading.html

http://kokogiak.com/mashup/resources.html

http://searchwebservices.techtarget.com/

Page 9: Information Over The Web Workshop

web 2.0web 2.0

““Web 2.0 applications often use a Web 2.0 applications often use a combination of techniques devised in combination of techniques devised in the late 1990s, including public the late 1990s, including public web serviceweb service APIs (dating from 1998), APIs (dating from 1998), AjaxAjax (1998), and (1998), and web syndicationweb syndication (1997).” (1997).”

From Wikipedia, the free From Wikipedia, the free encyclopediaencyclopedia

Page 10: Information Over The Web Workshop

What is web 2.0What is web 2.0

Page 11: Information Over The Web Workshop

ExamplesExamples

http://www.liveplasma.com/  

Page 12: Information Over The Web Workshop

ExamplesExamples

http://www.mappr.com/www.mashupcoming.com

Page 13: Information Over The Web Workshop

How does it work…How does it work…

Page 14: Information Over The Web Workshop

Web ServicesWeb Services

<rate>5.6%

</rate>

XML

Network Centric

Metadata

GetCustomerInfoGetReportListProductsSearchCreditAccountProcessOrder

Page 15: Information Over The Web Workshop

For example…For example… http://wwhttp://www.amazon.c

om/gp/aws/landing.html http://ebaydeveloper.typepad.cohttp://ebaydeveloper.typepad.co

m/dev/m/dev/ http://www.google.com/apis/http://www.google.com/apis/ http://www.flickr.com/services/http://www.flickr.com/services/

api/api/ http://upcoming.org/services/api/http://upcoming.org/services/api/ http://http://www.xmethods.comwww.xmethods.com//

Page 16: Information Over The Web Workshop

BPELBPEL

?

BPEL

IU

PORTAL

J2EE

TOMCAT

Web Service

Java Service

ERPSAP, Oracle, etc.

User Tasks

DatabaseStored Procedures

Page 17: Information Over The Web Workshop

What is BPEL?What is BPEL?

Duplicate Number!

SalesDB start

end

Router

Billing

Markup language for composing a set of discrete services into

an end-to-end process flow

• 10+ years of R&D from MSFT and IBM

• SOAP but also Java, JCA

• Rich Flow Semantics

• Optimized Bindings

• XPATH+XSLT+XQuery

• WS-Security

• A Process is a Service

Page 18: Information Over The Web Workshop
Page 19: Information Over The Web Workshop

The promiseThe promise

Page 20: Information Over The Web Workshop

JDeveloper BPEL JDeveloper BPEL DesignerDesigner

• Native BPEL Support

• Drag-and-drop process modeler

• UDDI and WSIL service browser

• Visual XSLT mapper

• Visual XPATH editor

• Visual Assign editor

• One-click build and deploy

KEY FEATURES

Page 21: Information Over The Web Workshop

XXMMLL

Page 22: Information Over The Web Workshop

XMLXML

LanguageLanguage

to holdto hold

DataData

Page 23: Information Over The Web Workshop

XMLXML

XML stands for EXML stands for EXXtensible tensible MMarkup arkup LLanguageanguage

XML 1.0 – a recommendation from W3C, 1998XML 1.0 – a recommendation from W3C, 1998

Roots: SGML (a very nasty language).Roots: SGML (a very nasty language).

After the roots: a format for sharing After the roots: a format for sharing datadata

XML is a XML is a markup languagemarkup language much like HTML much like HTML

XML was designed to XML was designed to describe datadescribe data

XML tags are not predefined. You must XML tags are not predefined. You must define define your own tagsyour own tags

Page 24: Information Over The Web Workshop

XML vs HTML (cont)XML vs HTML (cont)

HTML HTML displayingdisplaying informationinformation

XML XML describingdescribing informationinformation

Page 25: Information Over The Web Workshop

Why XML is of Interest Why XML is of Interest to Usto Us

XML is just syntax for dataXML is just syntax for data Note: we have no syntax for relational dataNote: we have no syntax for relational data But XML is not relational: But XML is not relational: semistructuredsemistructured

This is exciting because:This is exciting because: Can Can translate translate any any datadata to XML to XML Can ship XML over the Web (HTTP)Can ship XML over the Web (HTTP) Can input XML into any applicationCan input XML into any application Thus: Thus: data sharingdata sharing and and exchangeexchange on the on the

WebWeb

Page 26: Information Over The Web Workshop

XML Data Sharing and XML Data Sharing and ExchangeExchange

application

relational data

Transform

Integrate

Warehouse

XML Data WEB (HTTP)

application

application

legacy data

object-relational

Specific data management tasks

Page 27: Information Over The Web Workshop

From HTML to XMLFrom HTML to XML

HTML describes the presentation

Page 28: Information Over The Web Workshop

HTMLHTML

<<h1h1> Bibliography <> Bibliography </h1/h1>>

<<pp> <> <ii> Foundations of Databases > Foundations of Databases <</i/i>>

Abiteboul, Hull, VianuAbiteboul, Hull, Vianu

<<brbr> Addison Wesley, 1995> Addison Wesley, 1995

<<pp> <> <ii> Data on the Web <> Data on the Web </i/i>>

Abiteoul, Buneman, SuciuAbiteoul, Buneman, Suciu

<<brbr> Morgan Kaufmann, 1999> Morgan Kaufmann, 1999

<<h1h1> Bibliography <> Bibliography </h1/h1>>

<<pp> <> <ii> Foundations of Databases > Foundations of Databases <</i/i>>

Abiteboul, Hull, VianuAbiteboul, Hull, Vianu

<<brbr> Addison Wesley, 1995> Addison Wesley, 1995

<<pp> <> <ii> Data on the Web <> Data on the Web </i/i>>

Abiteoul, Buneman, SuciuAbiteoul, Buneman, Suciu

<<brbr> Morgan Kaufmann, 1999> Morgan Kaufmann, 1999

Page 29: Information Over The Web Workshop

XMLXML

<<bibliographybibliography>>

<<bookbook> <> <titletitle> Foundations… > Foundations… </</titletitle>>

<<authorauthor> Abiteboul > Abiteboul </</authorauthor>>

<<authorauthor> Hull </> Hull </authorauthor>>

<<authorauthor> Vianu </> Vianu </authorauthor>>

<<publisherpublisher> Addison Wesley > Addison Wesley </</publisherpublisher>>

<<yearyear> 1995 </> 1995 </yearyear>>

</</bookbook>>

… …

</</bibliographybibliography>>

<<bibliographybibliography>>

<<bookbook> <> <titletitle> Foundations… > Foundations… </</titletitle>>

<<authorauthor> Abiteboul > Abiteboul </</authorauthor>>

<<authorauthor> Hull </> Hull </authorauthor>>

<<authorauthor> Vianu </> Vianu </authorauthor>>

<<publisherpublisher> Addison Wesley > Addison Wesley </</publisherpublisher>>

<<yearyear> 1995 </> 1995 </yearyear>>

</</bookbook>>

… …

</</bibliographybibliography>>

XML describes the content

Page 30: Information Over The Web Workshop

XML TerminologyXML Terminology

tags: tags: bookbook, , titletitle, , authorauthor, …, … start tag: <start tag: <bookbook>, end tag: </>, end tag: </bookbook>> elements: <elements: <bookbook>…<>…<bookbook>,<>,<authorauthor>…>…

</</authorauthor>> elements are nestedelements are nested empty element: <empty element: <redred></></redred> abbrv. > abbrv.

<<redred/>/> an XML document: single an XML document: single root elementroot element

well formed XML document: if it has matching tags

Page 31: Information Over The Web Workshop

More XML: AttributesMore XML: Attributes

<<bookbook priceprice = “55” = “55” currencycurrency = = “USD”>“USD”>

<<titletitle> Foundations of > Foundations of Databases </Databases </titletitle>>

<<authorauthor> Abiteboul </> Abiteboul </authorauthor>>

… …

<<yearyear> 1995 </> 1995 </yearyear>>

</</bookbook>>

<<bookbook priceprice = “55” = “55” currencycurrency = = “USD”>“USD”>

<<titletitle> Foundations of > Foundations of Databases </Databases </titletitle>>

<<authorauthor> Abiteboul </> Abiteboul </authorauthor>>

… …

<<yearyear> 1995 </> 1995 </yearyear>>

</</bookbook>>attributes are alternative ways to represent data

Page 32: Information Over The Web Workshop

XML Semantics: a Tree !XML Semantics: a Tree !

<data>

<person id=“o555” >

<name> Mary </name>

<address>

<street> Maple </street>

<no> 345 </no>

<city> Seattle </city>

</address>

</person>

<person>

<name> John </name>

<address> Thailand </address>

<phone> 23456 </phone>

</person>

</data>

<data>

<person id=“o555” >

<name> Mary </name>

<address>

<street> Maple </street>

<no> 345 </no>

<city> Seattle </city>

</address>

</person>

<person>

<name> John </name>

<address> Thailand </address>

<phone> 23456 </phone>

</person>

</data>

data

Mary

person

person

name address

name address

street no city

Maple 345 Seattle

JohnThai

phone

23456

id

o555

Elementnode

Textnode

Attributenode

Order matters !!!

Page 33: Information Over The Web Workshop

XML exampleXML example

<?xml version=“1.0” encoding=“ISO-8859-1”?>

<car make= “Honda Jazz”>

<model> Vti </model>

<engine capacity> 1.3 litres </engine capacity>

<max power> 81kW @ 6000 rpm </max power>

<fuel tank capacity><quantity> 42 </quantity><units> litres </units>

</fuel tank capacity>

</car>

19/23