Enterprise Architecture CS 4720 Web & Mobile Systems - - PowerPoint PPT Presentation

enterprise architecture
SMART_READER_LITE
LIVE PREVIEW

Enterprise Architecture CS 4720 Web & Mobile Systems - - PowerPoint PPT Presentation

Enterprise Architecture CS 4720 Web & Mobile Systems CS 4720 The Concept of a Web Service Each service is built around a


slide-1
SLIDE 1

CS ¡4720 ¡

Enterprise ¡Architecture ¡

CS ¡4720 ¡– ¡Web ¡& ¡Mobile ¡Systems ¡ ¡

slide-2
SLIDE 2

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 ¡
  • f ¡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 ¡

2

slide-3
SLIDE 3

CS ¡4720 ¡

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 ¡

3

slide-4
SLIDE 4

CS ¡4720 ¡

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 ¡

4

slide-5
SLIDE 5

CS ¡4720 ¡

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? ¡

5

slide-6
SLIDE 6

CS ¡4720 ¡

The ¡Enterprise ¡

6

slide-7
SLIDE 7

CS ¡4720 ¡

The ¡Enterprise ¡

  • A ¡business, ¡company, ¡or ¡other ¡comparable ¡
  • rganiza=on ¡
  • Businesses ¡have ¡business ¡models ¡and ¡goals ¡
  • Businesses ¡have ¡various ¡resources ¡

– Staff ¡ – Products ¡ – Services ¡ – Informa=on ¡Technology ¡

  • All ¡have ¡to ¡work ¡together ¡to ¡succeed ¡

7

slide-8
SLIDE 8

CS ¡4720 ¡

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 ¡
  • rganiza=on, ¡the ¡centraliza=on ¡or ¡federa=on ¡of

¡ business ¡processes, ¡the ¡quality ¡and ¡=meliness ¡

  • f ¡business ¡informa=on, ¡or ¡ensuring ¡that ¡

money ¡spent ¡on ¡informa=on ¡technology ¡(IT) ¡ can ¡be ¡jus=fied.” ¡ ¡

8

slide-9
SLIDE 9

CS ¡4720 ¡

Enterprise ¡Architecture ¡

9

slide-10
SLIDE 10

CS ¡4720 ¡

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 ¡

10

slide-11
SLIDE 11

CS ¡4720 ¡

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 ¡

11

slide-12
SLIDE 12

CS ¡4720 ¡

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? ¡

12

slide-13
SLIDE 13

CS ¡4720 ¡

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) ¡

13

slide-14
SLIDE 14

CS ¡4720 ¡

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? ¡

14

slide-15
SLIDE 15

CS ¡4720 ¡

That's ¡the ¡why; ¡now ¡the ¡how ¡

  • We’ve ¡done ¡web ¡services ¡in ¡PHP/Python, ¡now ¡

Appian/BPEL/BPMN, ¡next ¡Java, ¡then ¡.NET ¡

15

slide-16
SLIDE 16

CS ¡4720 ¡

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 ¡

16

slide-17
SLIDE 17

CS ¡4720 ¡

BPMN ¡

17

slide-18
SLIDE 18

CS ¡4720 ¡

BPMN ¡

18

slide-19
SLIDE 19

CS ¡4720 ¡

Appian ¡

19

slide-20
SLIDE 20

CS ¡4720 ¡

BPEL ¡

  • Remember ¡BPEL? ¡
  • Business ¡Process ¡Execu=on ¡Language ¡
  • An ¡XML ¡format ¡that ¡is ¡meant ¡to ¡“orchestrate” ¡

various ¡func=ons/methods ¡that ¡are ¡built ¡in ¡

  • ther ¡languages ¡
  • Takes ¡inputs ¡and ¡outputs ¡and ¡passes ¡them ¡

between ¡web ¡services! ¡

  • BPMN ¡can ¡mesh ¡with ¡BPEL ¡

20

slide-21
SLIDE 21

CS ¡4720 ¡

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 ¡

21

slide-22
SLIDE 22

CS ¡4720 ¡

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 ¡

22

slide-23
SLIDE 23

CS ¡4720 ¡

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 ¡

23

slide-24
SLIDE 24

CS ¡4720 ¡

The ¡Java ¡Family ¡

  • Any ¡Java ¡applica=on ¡is ¡con=ngent ¡on ¡the ¡

libraries ¡you ¡include ¡with ¡it ¡

  • Thus, ¡we ¡have ¡three ¡basic ¡branches ¡of ¡Java, ¡

based ¡on ¡the ¡core ¡set ¡of ¡libraries: ¡

– Java ¡SE ¡(Standard ¡Edi=on): ¡has ¡everything ¡for ¡ desktop ¡use, ¡including ¡GUIs, ¡basic ¡threading, ¡etc ¡ – Java ¡EE ¡(Enterprise ¡Edi=on): ¡has ¡more ¡than ¡SE, ¡and ¡ includes ¡packages ¡specifically ¡for ¡enterprise ¡arch ¡ – Java ¡ME ¡(Mobile ¡Edi=on): ¡has ¡less ¡than ¡SE ¡and ¡a ¡ different ¡GUI ¡package ¡

24

slide-25
SLIDE 25

CS ¡4720 ¡

Java ¡EE's ¡New ¡Packages ¡

  • javax.ejb ¡– ¡Enterprise ¡JavaBeans, ¡the ¡core ¡of ¡

Java's ¡EA ¡model, ¡includes ¡API ¡for ¡persistence, ¡ remote ¡procedure ¡calls, ¡concurrency ¡control, ¡ and ¡access ¡to ¡distributed ¡objects ¡

  • javax.jms ¡– ¡the ¡Java ¡Message ¡Service ¡provides ¡

methods ¡for ¡communica=ng ¡between ¡ enterprise ¡objects ¡

  • javax.resource ¡– ¡the ¡Java ¡EE ¡Connector ¡allows ¡

for ¡connec=ng ¡to ¡applica=on ¡servers ¡

25

slide-26
SLIDE 26

CS ¡4720 ¡

How ¡is ¡Java ¡EE ¡like ¡Web ¡Services? ¡

  • In ¡a ¡web ¡service ¡

26

slide-27
SLIDE 27

CS ¡4720 ¡

How ¡is ¡Java ¡EE ¡like ¡Web ¡Services? ¡

  • In ¡Java ¡EE ¡

27

slide-28
SLIDE 28

CS ¡4720 ¡

Why ¡Java ¡EE? ¡

  • When ¡dealing ¡with ¡business ¡processes, ¡you ¡will ¡
  • Sen ¡run ¡into ¡ques=ons ¡like ¡these: ¡

– “What ¡if ¡the ¡server ¡goes ¡down ¡while ¡I'm ¡assigning ¡ a ¡route ¡to ¡a ¡truck ¡delivering ¡packages?” ¡ – “How ¡do ¡we ¡keep ¡the ¡data ¡secure ¡on ¡our ¡ network?” ¡ – “We ¡have ¡thousands ¡of ¡people ¡using ¡this ¡system ¡– ¡ how ¡do ¡we ¡keep ¡it ¡online?” ¡ – “I ¡don't ¡want ¡to ¡have ¡to ¡keep ¡rewri=ng ¡business ¡ logic ¡for ¡every ¡=ny ¡program ¡we ¡need.” ¡

28

slide-29
SLIDE 29

CS ¡4720 ¡

Java ¡EE ¡Terminology ¡

  • JAR ¡(Java ¡Archive): ¡a ¡collec=on ¡of ¡Java ¡libraries ¡
  • WAR ¡(Web ¡Archive): ¡a ¡Java ¡web ¡applica=on, ¡consis=ng ¡of ¡JSP ¡

files ¡and ¡servlets ¡

  • JSP ¡(Java ¡Server ¡Pages): ¡dynamically ¡executed ¡HTML ¡+ ¡Java ¡

web ¡pages ¡

  • Servlet: ¡pre-­‑compiled, ¡request/respond ¡object, ¡kinda ¡like ¡a ¡pre-­‑

compiled ¡PHP ¡page ¡

  • EJB ¡(Enterprise ¡JavaBean): ¡where ¡the ¡business ¡logic ¡lies, ¡exists ¡

server-­‑side ¡

  • EAR ¡(Enterprise ¡Archive): ¡a ¡full ¡enterprise ¡solu=on ¡with ¡JARs, ¡

WARs, ¡and ¡EJBs ¡inside ¡

  • Applica=on ¡Server ¡/ ¡Container: ¡a ¡server ¡that ¡can ¡handle ¡EARs ¡

29

slide-30
SLIDE 30

CS ¡4720 ¡

How ¡it ¡all ¡fits ¡together ¡

30