Information Over The Web Workshop


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Enterprise systems: 3-tier, strongly typed Distributed Object Technology (DCOM, CORBA) Web applications: multi-tier, loosely typed: Simplicity wins : exploit XML’s common illusion Access data from Multiple sources, On varied platforms, Across many enterprises Demand standards Portals demanding query support from providers
  • Information Over The Web Workshop

    1. 1. Information Over The Web Workshop Introduction by Jackie Assa
    2. 2. Outline <ul><li>The workshop goal </li></ul><ul><li>A few words about the workshop project </li></ul><ul><li>Links </li></ul><ul><li>Introduction </li></ul><ul><ul><li>Web 2.0 </li></ul></ul><ul><ul><li>Web services </li></ul></ul><ul><ul><li>BPEL and SOA </li></ul></ul><ul><li>‘ The stack’ </li></ul><ul><ul><li>XML </li></ul></ul><ul><ul><li>Web Services </li></ul></ul><ul><ul><li>BPEL </li></ul></ul><ul><li>Project details </li></ul>
    3. 3. Workshop - Goal <ul><li>Participate in a near to “ real-life ” development scenario. </li></ul><ul><li>Work with Web Services and BPEL. </li></ul><ul><li>Interact with internal/external development groups. </li></ul><ul><li>This workshop requires significant effort and ability to rapidly self-learn and incorporate state of the art technologies. Isn’t this as in real-life? </li></ul>
    4. 4. What we’ll teach here, and what we’ll not. <ul><li>We are here to show you the direction: </li></ul><ul><ul><li>Terminology </li></ul></ul><ul><ul><li>Technologies and standards </li></ul></ul><ul><ul><li>Options for implementation </li></ul></ul><ul><ul><li>Tools that you can use </li></ul></ul><ul><ul><li>Few high level examples </li></ul></ul><ul><li>In the little time we have, we cannot go over web/product resources: </li></ul><ul><ul><li>Specific APIs </li></ul></ul><ul><ul><li>Tutorials for the various tools and products </li></ul></ul>
    5. 5. Schedule 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)
    6. 6. Workshop project <ul><li>Have you ever thought how (really) a virtual store works? </li></ul><ul><li>For example: </li></ul><ul><li>Shopping processes </li></ul><ul><li>Payments </li></ul><ul><li>Business 2 business </li></ul><ul><li>Order management </li></ul><ul><li>Inventory </li></ul><ul><li>Support </li></ul><ul><li>… </li></ul><ul><li>By Using technologies </li></ul><ul><li>Such as: </li></ul><ul><li>XML/XSLT </li></ul><ul><li>Web services </li></ul><ul><li>BPEL </li></ul><ul><li>Application server </li></ul><ul><li>… </li></ul>
    7. 7. Behind the scenes System Processes Clients BPEL Server App Server Web Services Web Services GUI Process1 Process1 Process1 Process1 Process1 Web Services Web Services GUI
    8. 8. Links http:// http://
    9. 9. web 2.0 “ Web 2.0 applications often use a combination of techniques devised in the late 1990s, including public web service APIs (dating from 1998), Ajax (1998), and web syndication (1997).” From Wikipedia, the free encyclopedia
    10. 10. What is web 2.0
    11. 11. Examples http:// /  
    12. 12. Examples http:// /
    13. 13. <ul><li>How does it work… </li></ul>
    14. 14. Web Services <rate> 5.6% </rate> XML Network Centric Metadata GetCustomerInfo GetReport ListProducts Search CreditAccount ProcessOrder
    15. 15. For example… <ul><li>http://ww om/gp/aws/landing.html </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li>http:// / </li></ul><ul><li> </li></ul><ul><li>http:// / </li></ul>
    16. 16. BPEL ? BPEL IU PORTAL J2EE TOMCAT Web Service Java Service ERP SAP, Oracle, etc. User Tasks Database Stored Procedures
    17. 17. 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 <ul><li>10+ years of R&D from MSFT and IBM </li></ul><ul><li>SOAP but also Java, JCA </li></ul><ul><li>Rich Flow Semantics </li></ul><ul><li>Optimized Bindings </li></ul><ul><li>XPATH+XSLT+XQuery </li></ul><ul><li>WS-Security </li></ul><ul><li>A Process is a Service </li></ul>
    18. 19. The promise
    19. 20. JDeveloper BPEL Designer <ul><li>Native BPEL Support </li></ul><ul><li>Drag-and-drop process modeler </li></ul><ul><li>UDDI and WSIL service browser </li></ul><ul><li>Visual XSLT mapper </li></ul><ul><li>Visual XPATH editor </li></ul><ul><li>Visual Assign editor </li></ul><ul><li>One-click build and deploy </li></ul>KEY FEATURES
    20. 21. X M L
    21. 22. XML <ul><li>Language </li></ul><ul><li>to hold </li></ul><ul><li>Data </li></ul>
    22. 23. XML <ul><li>XML stands for E X tensible M arkup L anguage </li></ul><ul><li>XML 1.0 – a recommendation from W3C, 1998 </li></ul><ul><li>Roots: SGML (a very nasty language). </li></ul><ul><li>After the roots: a format for sharing data </li></ul><ul><li>XML is a markup language much like HTML </li></ul><ul><li>XML was designed to describe data </li></ul><ul><li>XML tags are not predefined. You must define your own tags </li></ul>
    23. 24. XML vs HTML (cont) <ul><li>HTML displaying information </li></ul><ul><li>XML describing information </li></ul>
    24. 25. Why XML is of Interest to Us <ul><li>XML is just syntax for data </li></ul><ul><ul><li>Note: we have no syntax for relational data </li></ul></ul><ul><ul><li>But XML is not relational: semistructured </li></ul></ul><ul><li>This is exciting because: </li></ul><ul><ul><li>Can translate any data to XML </li></ul></ul><ul><ul><li>Can ship XML over the Web (HTTP) </li></ul></ul><ul><ul><li>Can input XML into any application </li></ul></ul><ul><ul><li>Thus: data sharing and exchange on the Web </li></ul></ul>
    25. 26. XML Data Sharing and Exchange application relational data Transform Integrate Warehouse XML Data WEB (HTTP) application application legacy data object-relational Specific data management tasks
    26. 27. From HTML to XML HTML describes the presentation
    27. 28. HTML <ul><li>< h1 > Bibliography < /h1 > </li></ul><ul><li>< p > < i > Foundations of Databases < /i > </li></ul><ul><li>Abiteboul, Hull, Vianu </li></ul><ul><li>< br > Addison Wesley, 1995 </li></ul><ul><li>< p > < i > Data on the Web < /i > </li></ul><ul><li>Abiteoul, Buneman, Suciu </li></ul><ul><li>< br > Morgan Kaufmann, 1999 </li></ul>
    28. 29. XML <ul><li>< bibliography > </li></ul><ul><ul><li>< book > < title > Foundations… </ title > </li></ul></ul><ul><ul><li>< author > Abiteboul </ author > </li></ul></ul><ul><ul><li>< author > Hull </ author > </li></ul></ul><ul><ul><li>< author > Vianu </ author > </li></ul></ul><ul><ul><li>< publisher > Addison Wesley </ publisher > </li></ul></ul><ul><ul><li>< year > 1995 </ year > </li></ul></ul><ul><ul><li></ book > </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li></ bibliography > </li></ul>XML describes the content
    29. 30. XML Terminology <ul><li>tags: book , title , author , … </li></ul><ul><li>start tag: < book >, end tag: </ book > </li></ul><ul><li>elements: < book >…< book >,< author >…</ author > </li></ul><ul><li>elements are nested </li></ul><ul><li>empty element: < red ></ red > abbrv. < red /> </li></ul><ul><li>an XML document: single root element </li></ul>well formed XML document: if it has matching tags
    30. 31. More XML: Attributes <ul><li>< book price = “55” currency = “USD”> </li></ul><ul><li>< title > Foundations of Databases </ title > </li></ul><ul><li>< author > Abiteboul </ author > </li></ul><ul><li>… </li></ul><ul><li>< year > 1995 </ year > </li></ul><ul><li></ book > </li></ul>attributes are alternative ways to represent data
    31. 32. XML Semantics: a Tree ! <ul><li><data> </li></ul><ul><ul><li><person id=“o555” > </li></ul></ul><ul><ul><ul><li><name> Mary </name> </li></ul></ul></ul><ul><ul><ul><li><address> </li></ul></ul></ul><ul><ul><ul><ul><li><street> Maple </street> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><no> 345 </no> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><city> Seattle </city> </li></ul></ul></ul></ul><ul><ul><ul><li></address> </li></ul></ul></ul><ul><ul><li></person> </li></ul></ul><ul><ul><li><person> </li></ul></ul><ul><ul><ul><li><name> John </name> </li></ul></ul></ul><ul><ul><ul><li><address> Thailand </address> </li></ul></ul></ul><ul><ul><ul><li><phone> 23456 </phone> </li></ul></ul></ul><ul><ul><li></person> </li></ul></ul><ul><li></data> </li></ul>data Mary person person name address name address street no city Maple 345 Seattle John Thai phone 23456 id o555 Order matters !!! Element node Text node Attribute node
    32. 33. XML 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