The IVOA Parameter Descrip3on Language (PDL) C.M. Zwlf, - - PowerPoint PPT Presentation

the ivoa parameter descrip3on language pdl
SMART_READER_LITE
LIVE PREVIEW

The IVOA Parameter Descrip3on Language (PDL) C.M. Zwlf, - - PowerPoint PPT Presentation

The IVOA Parameter Descrip3on Language (PDL) C.M. Zwlf, P. Harrison, J. Garrido, J.E. Ruiz, F Le Pe3t Interoperability ? Yes Please! Interoperability


slide-1
SLIDE 1

The ¡IVOA ¡Parameter ¡Descrip3on ¡Language ¡ (PDL) ¡

C.M. ¡Zwölf, ¡P. ¡Harrison, ¡J. ¡Garrido, ¡ J.E. ¡Ruiz, ¡F ¡Le ¡Pe3t ¡

slide-2
SLIDE 2

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

slide-3
SLIDE 3

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

slide-4
SLIDE 4

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

Norm ¡/ ¡Standard ¡(accepted ¡diameter, ¡ width,…) ¡ Norm ¡/ ¡Standard ¡(diameter, ¡width,…) ¡

slide-5
SLIDE 5

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

Norm ¡/ ¡Standard ¡(accepted ¡diameter, ¡ width,…) ¡ Norm ¡/ ¡Standard ¡(diameter, ¡width,…) ¡

slide-6
SLIDE 6

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

Norm ¡/ ¡Standard ¡(accepted ¡diameter, ¡ width,…) ¡ Norm ¡/ ¡Standard ¡(diameter, ¡width,…) ¡

Seman3c, ¡ defining ¡the ¡sense ¡of ¡ interoperability: ¡is ¡the ¡ tyre ¡for ¡the ¡front ¡or ¡rear ¡ wheel? ¡May ¡it ¡be ¡used ¡ for ¡the ¡spare ¡wheel ¡too? ¡ ¡

slide-7
SLIDE 7

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

Technical ¡Interoperability: ¡ Bits ¡and ¡bytes ¡are ¡exchanged ¡in ¡an ¡ unambiguous ¡manner ¡via ¡a ¡set ¡of ¡ standards/communica3on ¡protocols ¡ Syntac3c ¡Interoperability: ¡ A ¡common ¡data ¡format ¡is ¡defined ¡for ¡the ¡ unambiguous ¡sharing ¡of ¡informa3on. ¡ Seman3c ¡Interoperability: ¡ The ¡meaning ¡of ¡data ¡is ¡exchanged ¡through ¡ a ¡common ¡informa3on ¡model ¡an ¡the ¡ meaning ¡of ¡informa3on ¡is ¡unambiguously ¡ defined ¡and ¡shared ¡

slide-8
SLIDE 8

Interoperability ¡? ¡Yes ¡Please! ¡

  • Interoperability ¡is ¡a ¡loaded ¡term, ¡it ¡has ¡been ¡used ¡and ¡abused. ¡ ¡

Interoperability: ¡

¡ The ¡ability ¡of ¡systems, ¡ components ¡to ¡provide ¡ services ¡to ¡and ¡accept ¡ services ¡from ¡other ¡ systems, ¡components ¡ and ¡to ¡use ¡the ¡services ¡ so ¡exchanged ¡to ¡enable ¡ them ¡to ¡operate ¡ effec3vely ¡together ¡

Technical ¡Interoperability: ¡ Bits ¡and ¡bytes ¡are ¡exchanged ¡in ¡an ¡ unambiguous ¡manner ¡via ¡a ¡set ¡of ¡ standards/communica3on ¡protocols ¡ Syntac3c ¡Interoperability: ¡ A ¡common ¡data ¡format ¡is ¡defined ¡for ¡the ¡ unambiguous ¡sharing ¡of ¡informa3on. ¡ Seman3c ¡Interoperability: ¡ The ¡meaning ¡of ¡data ¡is ¡exchanged ¡through ¡ a ¡common ¡informa3on ¡model ¡an ¡the ¡ meaning ¡of ¡informa3on ¡is ¡unambiguously ¡ defined ¡and ¡shared ¡

The ¡IVOA ¡ Parameter ¡ descrip-on ¡ language ¡fits ¡into ¡ this ¡category ¡

slide-9
SLIDE 9

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

slide-10
SLIDE 10

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

Two ¡double ¡parameters ¡ required: ¡temp ¡and ¡dens. ¡ Post ¡it ¡in ¡using ¡REST: ¡ serviceURL/temp/dens ¡

slide-11
SLIDE 11

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

Two ¡double ¡parameters ¡ required: ¡temp ¡and ¡dens. ¡ Post ¡it ¡in ¡using ¡REST: ¡ serviceURL/temp/dens ¡ Temp ¡should ¡ be ¡a ¡ temperature, ¡ in ¡C°? ¡

slide-12
SLIDE 12

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

Two ¡double ¡parameters ¡ required: ¡temp ¡and ¡dens. ¡ Post ¡it ¡in ¡using ¡REST: ¡ serviceURL/temp/dens ¡ Temp ¡should ¡ be ¡a ¡ temperature, ¡ in ¡C°? ¡ Sending ¡temp=-­‑10 ¡; ¡dens=10 ¡

slide-13
SLIDE 13

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

Sending ¡temp=-­‑10 ¡; ¡dens=10 ¡

slide-14
SLIDE 14

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

I ¡need ¡two ¡parameters: ¡temp ¡is ¡a ¡ Kelvin ¡temperature ¡and ¡dens ¡is ¡ an ¡electronic ¡density ¡in ¡cm^-­‑3. ¡ Both ¡are ¡always ¡posi3ve. ¡The ¡ product ¡dens*temp ¡must ¡be ¡in ¡ the ¡range ¡[10; ¡10^4] ¡

With ¡PDL ¡

Ok, ¡ everything ¡ is ¡clear ¡

slide-15
SLIDE 15

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡

I ¡need ¡two ¡parameters: ¡temp ¡is ¡a ¡ Kelvin ¡temperature ¡and ¡dens ¡is ¡ an ¡electronic ¡density ¡in ¡cm^-­‑3. ¡ Both ¡are ¡always ¡posi3ve. ¡The ¡ product ¡dens*temp ¡must ¡be ¡in ¡ the ¡range ¡[10; ¡10^4] ¡

With ¡PDL ¡

Sending ¡temp=-­‑10 ¡; ¡dens=10 ¡ Checking ¡algorithms ¡are ¡automa3cally ¡ generated ¡star3ng ¡from ¡the ¡expressed ¡ constraints ¡ ¡ Ok, ¡ everything ¡ is ¡clear ¡

slide-16
SLIDE 16

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡ With ¡PDL ¡

  • PDL ¡is ¡intended ¡to ¡be ¡a ¡lingua ¡franca ¡of ¡parameters ¡

Ø Describes ¡parameters ¡in ¡a ¡sufficient ¡detail ¡to ¡allow ¡workflow ¡tools ¡to ¡ check ¡if ¡parameters ¡can ¡be ¡“piped” ¡between ¡services ¡

  • Physical ¡proper3es ¡ ¡
  • Nature, ¡meaning, ¡unit, ¡precision,… ¡
  • Compu3ng ¡
  • Numerical ¡Type, ¡UCD, ¡Utype, ¡SKOS ¡concept,… ¡

Ø Also ¡has ¡ability ¡to ¡describe ¡constraints ¡involving ¡parameters ¡

  • Physical ¡constraints ¡
  • Arbitrary ¡condi3ons ¡

Ø Is ¡a ¡descrip3ve ¡layer ¡that ¡can ¡be ¡overlaps ¡exis3ng ¡services, ¡regardless ¡of ¡ the ¡standard/technology ¡adopted ¡for ¡the ¡service ¡implementa3on ¡ ¡ Ø Is ¡an ¡IVOA ¡recommenda3on: ¡hpp://ivoa.net/documents/PDL/ ¡

  • PDL ¡sentences ¡are ¡composed ¡of ¡syntac3c ¡elements, ¡fixed ¡into ¡a ¡

XML ¡schema. ¡Sentences ¡are ¡made ¡combining ¡those ¡elements. ¡

slide-17
SLIDE 17

Needs ¡for ¡a ¡sema3c ¡interoperability ¡

  • Data ¡are ¡discovered, ¡extracted, ¡handled ¡through ¡online ¡services ¡
  • The ¡first ¡step ¡for ¡the ¡seman3c ¡interoperability ¡of ¡data ¡is ¡the ¡sema3c ¡

interoperability ¡of ¡the ¡scien3fic ¡web ¡services. ¡ With ¡PDL ¡ USES ¡ ¡

  • Searching ¡for ¡compa3ble ¡services ¡
  • Defini3ons ¡in ¡registry ¡
  • Auto ¡genera3on ¡of ¡user ¡interfaces ¡(dynamic ¡client) ¡
  • Descrip3ons ¡allow ¡automa3c ¡genera3on ¡of ¡client ¡applica3ons ¡
  • Generic ¡service ¡containers ¡are ¡configured ¡with ¡a ¡PDL ¡descrip3on ¡

instance ¡to ¡create ¡new ¡services ¡quickly. ¡ ¡

  • Automa3c ¡(on ¡the ¡fly ¡and/or ¡a ¡priori) ¡computa3on ¡of ¡interoperability ¡

graphs ¡between ¡services ¡

slide-18
SLIDE 18

Components ¡of ¡the ¡PDL ¡framework ¡

PDL ¡Grammar ¡

PDL ¡parser ¡ (based ¡on ¡JaxB) ¡ Checking ¡algorithm ¡ generator ¡ Dynamic ¡(assists ¡ users) ¡graphical ¡ client ¡ Workflow ¡(Taverna) ¡ Plugin ¡ PDL ¡server ¡(UWS ¡like ¡ service ¡container) ¡

reads ¡ Interact ¡with ¡

PDL-­‑descrip3on ¡ graphical ¡editor ¡ Generates ¡PDL ¡ ¡ descrip3ons ¡ ¡

Final ¡user ¡layer ¡ Developer ¡ layer ¡ Service ¡ provider ¡layer ¡ Standard ¡ layer ¡

slide-19
SLIDE 19

Components ¡of ¡the ¡PDL ¡framework ¡

PDL ¡Grammar ¡

PDL ¡parser ¡ (based ¡on ¡JaxB) ¡ Checking ¡algorithm ¡ generator ¡ Dynamic ¡(assists ¡ users) ¡graphical ¡ client ¡ Workflow ¡(Taverna) ¡ Plugin ¡ PDL ¡server ¡(UWS ¡ like ¡service ¡ container) ¡

reads ¡ Interact ¡with ¡

PDL-­‑descrip3on ¡ graphical ¡editor ¡ Generates ¡PDL ¡ ¡ descrip3ons ¡ ¡

Final ¡user ¡layer ¡ Developer ¡ layer ¡ Service ¡ provider ¡layer ¡ Standard ¡ layer ¡

slide-20
SLIDE 20

Focus ¡on ¡the ¡dynamic ¡client ¡

Generic ¡PDL ¡ graphical ¡client ¡ Specific ¡client ¡for ¡ the ¡described ¡ service ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configures ¡ becomes ¡

slide-21
SLIDE 21

Focus ¡on ¡the ¡dynamic ¡client ¡

Generic ¡PDL ¡ graphical ¡client ¡ Specific ¡client ¡for ¡ the ¡described ¡ service ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configures ¡ becomes ¡

Why ¡dynamic? ¡It ¡automa3cally ¡reshapes ¡following ¡descrip3on ¡and ¡user ¡ac3ons: ¡

slide-22
SLIDE 22

Focus ¡on ¡the ¡dynamic ¡client ¡

Generic ¡PDL ¡ graphical ¡client ¡ Specific ¡client ¡for ¡ the ¡described ¡ service ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configures ¡ becomes ¡

Why ¡dynamic? ¡It ¡automa3cally ¡reshapes ¡following ¡descrip3on ¡and ¡user ¡ac3ons: ¡

slide-23
SLIDE 23

Focus ¡on ¡the ¡dynamic ¡client ¡

Generic ¡PDL ¡ graphical ¡client ¡ Specific ¡client ¡for ¡ the ¡described ¡ service ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configures ¡ becomes ¡

Why ¡dynamic? ¡It ¡automa3cally ¡reshapes ¡following ¡descrip3on ¡and ¡user ¡ac3ons: ¡

slide-24
SLIDE 24

Focus ¡on ¡the ¡dynamic ¡client ¡

Generic ¡PDL ¡ graphical ¡client ¡ Specific ¡client ¡for ¡ the ¡described ¡ service ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configures ¡ becomes ¡

Why ¡dynamic? ¡It ¡automa3cally ¡reshapes ¡following ¡descrip3on ¡and ¡user ¡ac3ons: ¡

slide-25
SLIDE 25

Focus ¡on ¡the ¡dynamic ¡client ¡

Generic ¡PDL ¡ graphical ¡client ¡ Specific ¡client ¡for ¡ the ¡described ¡ service ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configures ¡ becomes ¡

Why ¡dynamic? ¡It ¡automa3cally ¡reshapes ¡following ¡descrip3on ¡and ¡user ¡ac3ons: ¡

  • The ¡client ¡implementa3on ¡developed ¡for ¡the ¡RFC ¡is ¡based ¡on ¡Java ¡Swing ¡
  • The ¡French ¡SME ¡Artenum ¡(www.artenum.com) ¡adopted ¡PDL ¡and ¡has ¡

developed ¡a ¡ ¡Java ¡FX ¡version, ¡based ¡on ¡our ¡parser ¡and ¡checking ¡ algorithms ¡generator. ¡

slide-26
SLIDE 26

Focus ¡on ¡the ¡dynamic ¡client ¡

slide-27
SLIDE 27

Focus ¡on ¡the ¡dynamic ¡client ¡

slide-28
SLIDE 28

Focus ¡on ¡the ¡dynamic ¡client ¡

slide-29
SLIDE 29

Focus ¡on ¡the ¡dynamic ¡client ¡

slide-30
SLIDE 30

Focus ¡on ¡the ¡dynamic ¡client ¡

slide-31
SLIDE 31

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

slide-32
SLIDE 32

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

Reads ¡the ¡PDL ¡descrip3on ¡and: ¡ ¡

  • For ¡each ¡expected ¡

parameter, ¡try ¡to ¡get ¡the ¡ value ¡provided ¡by ¡the ¡user ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

Param1=10 ¡ Param2=12.4 ¡ Param3=toto ¡ Param4=true ¡

slide-33
SLIDE 33

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

Reads ¡the ¡PDL ¡descrip3on ¡and: ¡ ¡

  • For ¡each ¡expected ¡

parameter, ¡try ¡to ¡get ¡the ¡ value ¡provided ¡by ¡the ¡user ¡

  • Check ¡if ¡the ¡set ¡of ¡the ¡

provided ¡values ¡fits ¡with ¡all ¡ the ¡PDL ¡constraints ¡

  • No ¡à ¡constraint(s) ¡

viola3on ¡are ¡no3fied ¡to ¡ user ¡as ¡server ¡response ¡

  • OK ¡

¡

Param1=10 ¡ Param2=12.4 ¡ Param3=toto ¡ Param4=true ¡

slide-34
SLIDE 34

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

Reads ¡the ¡PDL ¡descrip3on ¡and: ¡ ¡

  • For ¡each ¡expected ¡

parameter, ¡try ¡to ¡get ¡the ¡ value ¡provided ¡by ¡the ¡user ¡

  • Check ¡if ¡the ¡set ¡of ¡the ¡

provided ¡values ¡fits ¡with ¡all ¡ the ¡PDL ¡constraints ¡

  • No ¡à ¡constraint(s) ¡

viola3on ¡are ¡no3fied ¡to ¡ user ¡as ¡server ¡response ¡

  • OK ¡

¡

Param1=10 ¡ Param2=12.4 ¡ Param3=toto ¡ Param4=true ¡

Crea3on ¡of ¡ a ¡new ¡job ¡

slide-35
SLIDE 35

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

Param1=10 ¡ Param2=12.4 ¡ Param3=toto ¡ Param4=true ¡

Crea3on ¡of ¡ a ¡new ¡job ¡

slide-36
SLIDE 36

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

Param1=10 ¡ Param2=12.4 ¡ Param3=toto ¡ Param4=true ¡

Crea3on ¡of ¡ a ¡new ¡job ¡

Reads ¡the ¡papern ¡file ¡and ¡create ¡a ¡new ¡ file ¡by ¡replacing ¡each ¡parameter ¡name ¡ by ¡the ¡user ¡provided ¡correspondent ¡ value ¡

slide-37
SLIDE 37

Focus ¡on ¡the ¡PDL ¡server ¡

Generic ¡PDL ¡server ¡ (based ¡on ¡JSP) ¡ Specific ¡UWS ¡like ¡ service ¡for ¡the ¡ described ¡code ¡

PDL ¡ Service ¡ ¡ descrip3on ¡

configure ¡ becomes ¡

Papern ¡ Files ¡

Param1=10 ¡ Param2=12.4 ¡ Param3=toto ¡ Param4=true ¡

Crea3on ¡of ¡ a ¡new ¡job ¡

Reads ¡the ¡papern ¡file ¡and ¡create ¡a ¡new ¡ file ¡by ¡replacing ¡each ¡parameter ¡name ¡ by ¡the ¡user ¡provided ¡correspondent ¡ value ¡ ./myProcess ¡–o ¡Param1 ¡Param2 ¡ ./myPostProcess ¡Param4 ¡> ¡Param3 ¡ Param1; ¡Param2 ¡ Param3 ¡ Param4 ¡

File ¡ ¡ Papern ¡1 ¡ File ¡ ¡ Papern ¡2 ¡

./myProcess ¡–o ¡10 ¡12.4 ¡ ./myPostProcess ¡true ¡> ¡toto ¡ 10; ¡12.4 ¡ toto ¡ true ¡

Processed ¡ File ¡1 ¡ Processed ¡ File ¡2 ¡

slide-38
SLIDE 38

Focus ¡on ¡the ¡PDL ¡server ¡

PDL ¡server ¡ main ¡ features ¡

Supports ¡user ¡authen3ca3on ¡ (a ¡user ¡cannot ¡see ¡the ¡jobs ¡of ¡other ¡users) ¡ Supports ¡grids ¡of ¡models ¡ (jobs ¡are ¡grouped ¡by ¡users ¡in ¡arbitrary ¡sets ¡of ¡runs) ¡ Has ¡three ¡interfaces ¡for ¡job ¡

  • administra3on. ¡Two ¡are ¡machine ¡

ac3onable, ¡the ¡other ¡is ¡for ¡ humans ¡ “speaking” ¡XML ¡(for ¡Taverna ¡plugin) ¡ “speaking” ¡JSON ¡(for ¡alternate ¡clients) ¡ Web ¡client ¡based ¡on ¡Google ¡Web ¡Toolkit ¡

Based ¡on ¡UWS, ¡but ¡

Uses ¡JSP ¡for ¡Job ¡Management ¡instead ¡of ¡REST. ¡ ¡ Recall ¡REST ¡is ¡just ¡a ¡binding ¡example ¡for ¡UWS. ¡It ¡is ¡not ¡the ¡ core ¡part ¡of ¡the ¡norm ¡(historically ¡a ¡soap ¡binding ¡was ¡ proposed) ¡ Has ¡extra ¡features ¡for ¡dealing ¡with ¡

  • Grid ¡of ¡Jobs ¡(e.g. ¡search ¡jobs ¡by ¡Id ¡of ¡Grid) ¡
  • User ¡authen3ca3on/authorisa3on ¡
  • Live ¡no3fica3on ¡of ¡violated ¡constraints ¡
slide-39
SLIDE 39

Focus ¡on ¡the ¡PDL ¡server ¡

slide-40
SLIDE 40

Focus ¡on ¡the ¡PDL ¡server ¡

slide-41
SLIDE 41

Focus ¡on ¡the ¡PDL ¡server ¡

slide-42
SLIDE 42

Concluding ¡remarks ¡

The ¡Parameter ¡Descrip3on ¡Language ¡ ¡ ¡

  • is ¡a ¡very ¡convenient ¡way ¡for ¡exposing ¡codes: ¡
  • It ¡is ¡fast ¡to ¡deploy ¡new ¡services ¡using ¡the ¡PDL ¡framework ¡
  • avoids ¡“dummy ¡computa3on” ¡(runs ¡with ¡non-­‑sense ¡parameters): ¡

parameters ¡are ¡verified ¡before ¡job ¡crea3on ¡

  • PDL ¡server ¡architecture ¡na3vely ¡fits ¡with ¡distributed ¡(clusters, ¡grids, ¡cloud) ¡

resources ¡

  • Enables ¡“seman3c ¡interoperability” ¡between ¡services ¡
  • ¡May ¡be ¡seen ¡as ¡a ¡meta-­‑language ¡for ¡describing ¡workflows ¡
  • May ¡be ¡used ¡to ¡bring ¡processes ¡to ¡data. ¡