Enterprise ¡Architecture ¡ CS ¡4720 ¡– ¡Web ¡& ¡Mobile ¡Systems ¡ ¡ CS ¡4720 ¡
The ¡Concept ¡of ¡a ¡Web ¡Service ¡ • Each ¡service ¡is ¡built ¡around ¡a ¡func=on/feature ¡ • That ¡func=on ¡is ¡surrounded ¡by ¡a ¡specified ¡set ¡ of ¡protocols ¡(SOAP, ¡POX, ¡WSDL, ¡WSD, ¡etc) ¡to ¡ govern ¡communica=on ¡ • Services ¡can ¡be ¡distributed ¡in ¡such ¡a ¡way ¡that ¡ then ¡end ¡ “ applica=on ” ¡is ¡a ¡completely ¡ distributed ¡applica=on ¡that ¡is ¡transparent ¡to ¡ the ¡end ¡user ¡ CS ¡4720 ¡ 2
The ¡Concept ¡of ¡a ¡Web ¡Service ¡ • We ¡are ¡focused ¡on ¡crea=ng ¡a ¡full ¡ “ service ” ¡ • Something ¡that ¡has ¡a ¡fully ¡transparent ¡ methodology ¡for ¡talking ¡to ¡it ¡ • Something ¡that ¡can ¡be ¡invoked ¡by ¡remote ¡ applica=ons ¡(or ¡other ¡services) ¡ • All ¡for ¡the ¡purpose ¡of ¡crea=ng ¡a ¡larger ¡system ¡ solu=on ¡ CS ¡4720 ¡ 3
Defining ¡a ¡System ¡Solu=on ¡ • Computer ¡Science ¡educa=on ¡tends ¡to ¡be ¡rather ¡ product ¡focused ¡ • “ Build ¡an ¡app ¡that ¡does ¡x ” ¡ • Most ¡of ¡you ¡probably ¡think ¡about ¡taking ¡a ¡ programming ¡job ¡as ¡going ¡to ¡work ¡for ¡IBM, ¡ MicrosoS, ¡etc ¡and ¡building ¡soSware ¡that ¡is ¡ actually ¡sold ¡ CS ¡4720 ¡ 4
Who's ¡the ¡Customer? ¡ • Think ¡of ¡the ¡number ¡of ¡soSware ¡development ¡ companies ¡out ¡there ¡that ¡sell ¡soSware? ¡ • Name ¡some. ¡ ¡What ¡is ¡their ¡business ¡model? ¡ • Now ¡name ¡some ¡other ¡major ¡companies ¡that ¡ you ¡know ¡of ¡who's ¡core ¡business ¡isn’t ¡ soSware. ¡ • How ¡does ¡soSware ¡play ¡in ¡their ¡business? ¡ • Who ¡do ¡you ¡think ¡writes ¡that ¡code? ¡ ¡Who ¡are ¡ the ¡customers ¡of ¡those ¡systems? ¡ CS ¡4720 ¡ 5
The ¡Enterprise ¡ CS ¡4720 ¡ 6
The ¡Enterprise ¡ • A ¡business, ¡company, ¡or ¡other ¡comparable ¡ organiza=on ¡ • Businesses ¡have ¡business ¡models ¡and ¡goals ¡ • Businesses ¡have ¡various ¡resources ¡ – Staff ¡ – Products ¡ – Services ¡ – Informa=on ¡Technology ¡ • All ¡have ¡to ¡work ¡together ¡to ¡succeed ¡ CS ¡4720 ¡ 7
Enterprise ¡Architecture ¡ • “ The ¡primary ¡purpose ¡of ¡describing ¡the ¡ architecture ¡of ¡an ¡enterprise ¡is ¡to ¡improve ¡the ¡ effec=veness ¡or ¡efficiency ¡of ¡the ¡business ¡itself. ¡ • ¡This ¡includes ¡innova=ons ¡in ¡the ¡structure ¡of ¡an ¡ organiza=on, ¡the ¡centraliza=on ¡or ¡federa=on ¡of ¡ business ¡processes, ¡the ¡quality ¡and ¡=meliness ¡ of ¡business ¡informa=on, ¡or ¡ensuring ¡that ¡ money ¡spent ¡on ¡informa=on ¡technology ¡(IT) ¡ can ¡be ¡jus=fied. ” ¡ ¡ CS ¡4720 ¡ 8
Enterprise ¡Architecture ¡ CS ¡4720 ¡ 9
What ¡do ¡we ¡use ¡web ¡services ¡for? ¡ • Sure, ¡we ¡can ¡use ¡web ¡services ¡to ¡build ¡ applica=ons ¡that ¡we ¡distribute ¡or ¡sell ¡to ¡end ¡ users ¡ • But ¡what ¡if ¡we ¡need ¡some ¡very ¡specific ¡services ¡ based ¡around ¡our ¡very ¡specific ¡business ¡ model? ¡ • Not ¡necessarily ¡going ¡to ¡be ¡a ¡huge ¡market ¡for ¡ that ¡ • The ¡customer ¡is ¡internal ¡to ¡the ¡business ¡ CS ¡4720 ¡ 10
How ¡does ¡this ¡relate ¡to ¡web ¡services? ¡ • SOA ¡and ¡EA ¡both: ¡ – address ¡similar ¡architectural ¡domains ¡ – are ¡intended ¡to ¡closely ¡align ¡IT ¡with ¡business ¡ – use ¡input ¡based ¡on ¡business ¡objec=ves ¡ – require ¡similar ¡strategies ¡and ¡planning ¡ac=vi=es ¡ CS ¡4720 ¡ 11
How ¡does ¡this ¡relate ¡to ¡web ¡services? ¡ • SOA ¡is ¡(in ¡effect) ¡a ¡par=al ¡subset ¡of ¡EA ¡ • SOA ¡is ¡a ¡poten=al ¡tool ¡in ¡crea=ng ¡a ¡full ¡ enterprise ¡architecture ¡ – Businesses ¡build ¡services ¡around ¡core ¡func=ons/ features ¡in ¡the ¡enterprise ¡ • For ¡example: ¡UPS ¡might ¡have ¡a ¡service ¡that ¡finds ¡the ¡ current ¡loca=on ¡of ¡a ¡package ¡ • This ¡is ¡an ¡internally ¡created ¡service ¡that ¡has ¡both ¡ internal ¡and ¡external ¡uses ¡ • But ¡what ¡about ¡a ¡service ¡to ¡assign ¡a ¡driver ¡to ¡a ¡route? ¡ CS ¡4720 ¡ 12
Internal ¡Business ¡Services ¡ • These ¡services ¡are ¡geared ¡specifically ¡to ¡one ¡par=cular ¡ business ¡ • What ¡are ¡some ¡examples? ¡ • Our ¡favorite ¡example: ¡SIS ¡ • PeoplesoS ¡didn't ¡build ¡that ¡from ¡scratch ¡ • The ¡brought ¡together ¡exis=ng ¡components ¡and ¡make ¡ some ¡custom ¡changes ¡to ¡create ¡a ¡new ¡internal ¡ business ¡solu=on ¡ • That's ¡enterprise ¡architecture ¡(and ¡why ¡you ¡need ¡to ¡ learn ¡to ¡do ¡it ¡beber) ¡ CS ¡4720 ¡ 13
So… ¡why ¡are ¡we ¡talking ¡about ¡this? ¡ • Crea=ng ¡web-‑enabled ¡soSware ¡is ¡not ¡always ¡ about ¡building ¡web ¡pages ¡ • Crea=ng ¡mobile ¡soSware ¡is ¡not ¡always ¡about ¡ building ¡consumer ¡apps ¡ • Web ¡services ¡are ¡about ¡building ¡a ¡soSware ¡ solu=on ¡around ¡a ¡very ¡specific ¡problem ¡ • Where ¡do ¡we ¡see ¡some ¡of ¡the ¡most ¡change ¡in ¡ the ¡way ¡the ¡world ¡works? ¡ • Where ¡is ¡most ¡soSware ¡used? ¡ CS ¡4720 ¡ 14
That's ¡the ¡why; ¡now ¡the ¡how ¡ • We’ve ¡done ¡web ¡services ¡in ¡PHP/Python, ¡now ¡ Appian/BPEL/BPMN, ¡next ¡Java, ¡then ¡.NET ¡ CS ¡4720 ¡ 15
BPMN ¡ • Business ¡Process ¡Model ¡and ¡Nota=on ¡ • Latest ¡version ¡from ¡March ¡2011 ¡ • Used ¡to ¡model ¡and ¡specify ¡business ¡processes ¡ • Flowchart-‑like ¡nota=on ¡ • Meant ¡to ¡look ¡like ¡UML ¡ • Meant ¡to ¡be ¡easy ¡for ¡everyone ¡to ¡read ¡and ¡ understand ¡ CS ¡4720 ¡ 16
BPMN ¡ CS ¡4720 ¡ 17
BPMN ¡ CS ¡4720 ¡ 18
Appian ¡ CS ¡4720 ¡ 19
BPEL ¡ • Remember ¡BPEL? ¡ • Business ¡Process ¡Execu=on ¡Language ¡ • An ¡XML ¡format ¡that ¡is ¡meant ¡to ¡“orchestrate” ¡ various ¡func=ons/methods ¡that ¡are ¡built ¡in ¡ other ¡languages ¡ • Takes ¡inputs ¡and ¡outputs ¡and ¡passes ¡them ¡ between ¡ web ¡services! ¡ • BPMN ¡can ¡mesh ¡with ¡BPEL ¡ CS ¡4720 ¡ 20
BPEL ¡ • Why ¡build ¡from ¡the ¡ground ¡up? ¡ • Combining ¡web ¡services ¡(WSDL) ¡with ¡BPEL ¡to ¡ build ¡your ¡own ¡applica=ons ¡internal ¡to ¡an ¡ enterprise ¡ • Eclipse ¡plugins ¡and ¡open-‑source ¡projects ¡ CS ¡4720 ¡ 21
Our ¡Friend ¡Java ¡ • We ¡know ¡so ¡much, ¡but ¡actually ¡so ¡lible ¡ • Java ¡has ¡been ¡around ¡for ¡nearly ¡20 ¡years ¡ • Lots ¡of ¡people ¡know ¡it ¡ • Can't ¡hardly ¡find ¡a ¡college ¡CS ¡grad ¡that ¡can't ¡ program ¡something ¡in ¡Java ¡ CS ¡4720 ¡ 22
The ¡Java ¡Family ¡ • Java ¡is ¡Java ¡is ¡Java ¡no ¡maber ¡what ¡you ¡ download/run ¡ • The ¡core ¡is ¡the ¡same ¡– ¡that's ¡the ¡ “ Write ¡Once, ¡ Run ¡Anywhere* ” ¡idea ¡ • * ¡Well… ¡sorta ¡ • Java ¡might ¡be ¡too ¡big ¡for ¡some ¡devices ¡or ¡need ¡ more ¡func=onality ¡for ¡others ¡ • How ¡do ¡we ¡change ¡that? ¡ • We ¡change ¡the ¡imports ¡ CS ¡4720 ¡ 23
Recommend
More recommend