web services and service oriented architecture
play

Web Services and Service Oriented Architecture CS 4720 - PowerPoint PPT Presentation

Web Services and Service Oriented Architecture CS 4720 Web & Mobile Systems CS 4720 The tradi0onal so5ware model Organiza0ons build it


  1. Web ¡Services ¡and ¡ ¡ Service ¡Oriented ¡Architecture ¡ CS ¡4720 ¡– ¡Web ¡& ¡Mobile ¡Systems ¡ ¡ CS ¡4720 ¡

  2. The ¡tradi0onal ¡so5ware ¡model ¡ • Organiza0ons ¡build ¡it ¡all ¡from ¡scratch ¡ – “ We ¡can't ¡trust ¡anyone! ¡ ¡Our ¡compe0tors ¡will ¡ sabotage ¡us! ” ¡ – “ We ¡must ¡own ¡everything! ¡ ¡Hardware ¡and ¡ so5ware! ” ¡ • Companies ¡that ¡build ¡so5ware ¡need ¡ components ¡that ¡do ¡X ¡or ¡Y… ¡ – … ¡so ¡they ¡buy ¡COTS ¡components ¡ – Service ¡contracts, ¡new ¡releases, ¡regression ¡ tes0ng… ¡ CS ¡4720 ¡ 2

  3. The ¡tradi0onal ¡so5ware ¡model ¡ ¡ • How ¡well ¡does ¡this ¡work? ¡ • Some ¡project ¡data ¡from ¡the ¡DOD: ¡ – 47% ¡of ¡so5ware ¡delivered ¡could ¡not ¡be ¡used ¡ • Usually ¡didn't ¡meet ¡requirements ¡ – 29% ¡of ¡funded ¡so5ware ¡never ¡delivered ¡ • Usually ¡canceled ¡due ¡to ¡cost/schedule ¡overruns ¡ – 19% ¡of ¡so5ware ¡useful ¡a5er ¡extensive ¡rework ¡ • Costs ¡36 ¡0mes ¡more ¡to ¡fix ¡problems ¡a5er ¡release ¡ CS ¡4720 ¡ 3

  4. A ¡push ¡to ¡distribu0on ¡ • “ We're ¡really ¡good ¡at ¡__________, ¡how ¡can ¡we ¡ get ¡our ¡__________ ¡out ¡for ¡people ¡to ¡use? ” ¡ • The ¡idea ¡of ¡distributed ¡compu0ng ¡ – “ We're ¡good ¡at ¡X, ¡but ¡not ¡so ¡good ¡a ¡Y… ” ¡ – “ What ¡if ¡we ¡got ¡someone ¡to ¡help ¡us ¡with ¡Y… ¡but ¡in ¡ a ¡way ¡that ¡we ¡didn’t ¡have ¡to ¡include ¡any ¡fancy ¡ libraries… ¡ ¡ – … ¡and ¡we ¡could ¡use ¡them ¡in ¡web ¡apps! ¡ ¡And ¡mobile ¡ devices! ¡ ¡And ¡even ¡desktop ¡apps! ” ¡ CS ¡4720 ¡ 4

  5. A ¡Web ¡Service ¡ • From ¡W3C: ¡ “ a ¡so5ware ¡system ¡designed ¡to ¡ support ¡interoperable ¡machine-­‑to-­‑machine ¡ interac0on ¡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 ¡descrip0on ¡using ¡SOAP-­‑messages, ¡ typically ¡conveyed ¡using ¡HTTP ¡with ¡an ¡XML ¡ serializa0on ¡in ¡conjunc0on ¡with ¡other ¡Web-­‑ related ¡standards ” ¡ CS ¡4720 ¡ 5

  6. A ¡Web ¡Service? ¡ • Huh? ¡ • A ¡bit ¡more ¡simply: ¡A ¡program, ¡accessible ¡via ¡ the ¡Internet, ¡that ¡can ¡do ¡some ¡func0on ¡(either ¡ for ¡free ¡or ¡a ¡fee) ¡and ¡can ¡be ¡dynamically ¡ discovered ¡and ¡used. ¡ • So… ¡ ¡I ¡use ¡web ¡apps ¡all ¡the ¡0me… ¡are ¡those ¡ web ¡services? ¡ CS ¡4720 ¡ 6

  7. Web ¡Service ¡as ¡RPC ¡ • The ¡earliest ¡form ¡of ¡a ¡true ¡ “ web ¡services ” ¡was ¡ an ¡RPC ¡– ¡remote ¡procedure ¡call. ¡ • Exactly ¡what ¡it ¡sounds ¡like ¡– ¡there ¡is ¡an ¡ exposed ¡func0on/method ¡that ¡is ¡accessed ¡via ¡ the ¡web ¡where ¡you ¡pass ¡the ¡parameters ¡and ¡ the ¡method ¡name ¡and ¡you ¡get ¡back ¡a ¡return ¡ value. ¡ • No0ce ¡how ¡this ¡is ¡very ¡different ¡from ¡the ¡ RESTful ¡model ¡(verbs ¡vs. ¡nouns) ¡ CS ¡4720 ¡ 7

  8. Web ¡Service ¡as ¡SOA ¡ • RPC ¡was ¡okay… ¡but ¡it ¡turned ¡out ¡to ¡be ¡a ¡bit ¡ more ¡language ¡specific ¡than ¡we'd ¡like ¡ • What ¡if ¡we ¡just ¡a ¡structured ¡message ¡(like ¡an ¡ XML ¡document) ¡that ¡described ¡what ¡we ¡ wanted, ¡as ¡opposed ¡to ¡knowing ¡the ¡exact ¡ func0on ¡call? ¡ • This ¡is ¡the ¡basis ¡of ¡the ¡Service-­‑Oriented ¡ Architecture ¡ CS ¡4720 ¡ 8

  9. Word ¡By ¡Word ¡ • What ¡is ¡a ¡service? ¡ • "A ¡service ¡is ¡a ¡discoverable ¡resource ¡that ¡ executes ¡a ¡repeatable ¡task, ¡and ¡is ¡described ¡by ¡ an ¡externalized ¡service ¡specifica:on. ” ¡ • Business ¡alignment ¡– ¡business ¡requirements ¡ • Specifica0ons ¡– ¡self-­‑contained, ¡well ¡specified ¡ • Reusability ¡– ¡general ¡enough ¡to ¡be ¡reused ¡ • Agreements ¡– ¡based ¡on ¡func0on, ¡not ¡plalorm ¡ • Hos0ng ¡and ¡discoverability ¡– ¡available ¡ • Aggrega0on ¡– ¡can ¡be ¡combined ¡to ¡make ¡bigger ¡services ¡ CS ¡4720 ¡ 9

  10. Word ¡By ¡Word ¡ • What ¡is ¡an ¡architecture? ¡ • "A ¡formal ¡descrip:on ¡of ¡a ¡system, ¡or ¡a ¡detailed ¡ plan ¡of ¡the ¡system ¡at ¡component ¡level ¡to ¡guide ¡ its ¡implementa:on. ” ¡ ¡ • “ The ¡structure ¡of ¡components, ¡their ¡ interrela:onships, ¡and ¡the ¡principles ¡and ¡ guidelines ¡governing ¡their ¡design ¡and ¡evolu:on ¡ over ¡:me." ¡ ¡ CS ¡4720 ¡ 10

  11. Architecture ¡ • Architecture ¡is: ¡ – A ¡high-­‑enough ¡level ¡of ¡abstrac0on ¡that ¡the ¡system ¡ can ¡be ¡viewed ¡as ¡a ¡whole ¡and ¡yet ¡s0ll ¡provides ¡ enough ¡informa0on ¡to ¡make ¡decisions. ¡ – Supports ¡the ¡func0onality ¡of ¡the ¡system. ¡ – All ¡implementa0on ¡details ¡are ¡hidden. ¡ • Service ¡orienta:on ¡is ¡a ¡way ¡of ¡integra:ng ¡a ¡ business ¡as ¡a ¡set ¡of ¡linked ¡services. ¡ CS ¡4720 ¡ 11

  12. What ¡are ¡we ¡actually ¡trying ¡to ¡do? ¡ Fork Receive PO Update Customer Profile Get Items from Inventory Branch Compute Subtotal Compute Export Tax [ship outside US] [ship within US] Compute Shipping Cost Merge Compute International Shipping Compute Total Ship Order Join CS ¡4720 ¡ 12

  13. OSI ¡Model ¡ CS ¡4720 ¡ 13

  14. OSI ¡Model ¡ CS ¡4720 ¡ 14

  15. The ¡Stack ¡ CS ¡4720 ¡ 15

  16. The ¡Stack ¡ ebXML UDDI Registries Discovery ebXML Contracts and CPA agreements OWL-S Service Process and workflow BPEL4WS BPML Model orchestrations WS-AtomicTransaction and WS- BTP QoS: Transactions XLANG BusinessActivity WS-Reliable OWL-S Service WSCL WS-Coordination QoS: Choreography ebXML Messaging Profile WSCI BPSS OWL-S Service WS-Security WSCL QoS: Conversations Grounding ebXML QoS: Service WS-Policy WSDL OWL PSL CPP descriptions and bindings ebXML RDF SOAP Messaging messaging Encoding XML, DTD, and XML Schema HTTP, FTP, SMTP, SIP, etc. Transport CS ¡4720 ¡ 16

  17. The ¡Stack ¡ CS ¡4720 ¡ 17

  18. SOA ¡– ¡The ¡Quick ¡Version ¡ • Right ¡now, ¡you ¡probably ¡think ¡of ¡a ¡so5ware ¡ system ¡as ¡being ¡a ¡collec0on ¡of ¡classes ¡/ ¡objects ¡ • But ¡users ¡don't ¡think ¡of ¡systems ¡like ¡that… ¡they ¡ think ¡of ¡systems ¡as ¡sets ¡of ¡func0onality ¡that ¡ help ¡them ¡do ¡something ¡ • So… ¡why ¡do ¡we ¡use ¡objects? ¡ – Easier ¡to ¡model ¡ – Easier ¡to ¡program ¡ – Easier ¡to ¡explain ¡to ¡other ¡programmers ¡ CS ¡4720 ¡ 18

  19. Or ¡is ¡it ¡actually ¡easier? ¡ • Turn ¡our ¡idea ¡of ¡a ¡system ¡90 ¡degrees ¡ • Func0onality ¡objects ¡(procedural ¡abstrac0on) ¡ is ¡the ¡key ¡idea, ¡not ¡world ¡objects ¡(data ¡ abstrac0on) ¡ • This ¡is ¡the ¡key ¡in ¡SOA ¡ – An ¡SOA ¡system ¡has ¡the ¡func0onali0es ¡as ¡the ¡main ¡ players, ¡not ¡the ¡objects ¡themselves ¡ – But ¡more ¡so, ¡these ¡services ¡are ¡provided ¡by ¡many ¡ different ¡players ¡ CS ¡4720 ¡ 19

  20. But ¡what ¡language ¡do ¡we ¡speak? ¡ • SOAP ¡-­‑ ¡ Simple ¡Object ¡Access ¡Protocol ¡ – A ¡communica0on ¡protocol ¡ – A ¡format ¡for ¡sending ¡messages ¡ – Plalorm ¡independent ¡ – XML ¡based ¡ – Follows ¡the ¡rules ¡that ¡allow ¡for ¡transmission ¡easily ¡ over ¡HTTP, ¡SMTP, ¡etc. ¡ • Not ¡really ¡much ¡more ¡than ¡an ¡HTTP ¡request ¡ that ¡follows ¡XML/SOAP ¡standards ¡ CS ¡4720 ¡ 20

  21. SOAP ¡Model ¡ CS ¡4720 ¡ 21

  22. SOAP ¡Model ¡ CS ¡4720 ¡ 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend