tutorial starts 7pm “if my calculations are correct, when this baby hits eighty-eight miles per...

38
TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

Upload: earl-lawder

Post on 15-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

1

TUTORIALSTARTS7PM

“IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…”

Page 2: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

2

START RECORDING!• Recordings in various formats will be available in a few

days

• Check out the Tutor Group Forums for:

• Recording links• Copies of slides• Any follow up questions and answers

• Please use the chat box for chat!

(Note to moderator: Check max. simultaneous talkers)

Page 3: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

3

T320TUTORIALTHREEWEB SERVICES, TMA03

Page 4: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

4

PROPOSED AGENDA• Where are we?

• Web Services• Why?• Why not?

• TMA03 Tips, Q & A

• Block 4 Preview

• Important dates

Any questions, please click the “raise your hand” icon

Then type question in chat box

Or use microphone!

Page 5: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

5

PROPOSED UN-AGENDA(?)• The practical work

• Thoroughly described in Block material• Excellent support from the appropriate national forums• Best worked through at your own pace (IMHO)

Page 6: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

6

WHERE ARE WE?

“I'M SURE THAT IN 1985 PLUTONIUM IS AVAILABLE IN EVERY CORNER DRUG STORE, BUT IN 1955 IT'S A LITTLE HARD TO COME BY”

Page 7: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

7

OVERVIEW

Block 1 – E-Business in context

Block 2 – Protocols and Data

Block 3 – Web Services

Block 4 – Business Processes

TMA01

TMA02

TMA03

EMA

pt2

EMA pt 1

YouAre

Here

Page 8: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

8

BLOCK 3

You need to have completed all the practicals before starting TMA03 Part 1

You need to have read most of the material before starting TMA03 Part 2

(Possibly leave Part 7 until later, but very short anyway!)

You have 2 ½ weeks remaining

Do not panic!

Contact your tutor if you have any questions or problems

(More on the TMA later…)

Page 9: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

9

WEB SERVICES –WHY?

“LAST NIGHT, DARTH VADER CAME DOWN FROM PLANET VULCAN AND TOLD ME THAT IF I DIDN’T TAKE LORRAINE OUT, THAT HE’D MELT MY BRAIN.”

Page 10: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

10

APPROACH• I Will talk about a single application on 3 architectures

• A single computer• A distributed system (client / server, N-tier )• A Service Orientated Architecture (SOA)

• And consider them from several points of view

• Functional decomposition (“what gets done where”)• Communication protocols (“how stuff gets passed around”)• Sharing & Discovery (“re-using stuff from elsewhere”)• Maintainability (“Keeping it all going”)

Page 11: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

11

THE SINGLE COMPUTER -FUNCTIONAL DECOMPOSITION• Everything is under developer control

• Problem typically broken down intodiscrete functional blocks

• Typical design concerns:

• Maintainability• Performance

Page 12: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

12

THE SINGLE COMPUTER -COMMUNICATION PROTOCOLS• Typically a single programming

language is used

• So data representation is consistent• Data passed in function calls

• Or shared memory• Everything is “internal“

• Little or no conversion required

Page 13: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

13

THE SINGLE COMPUTER -SHARING & DISCOVERY• Probably use “library” functions

• Typically part of the programming language• But may also be “bought in”

• “Discovered” through printed documentation

• Description of what the function does• Definition of “arguments” (data passed in/out)

• Everything is still mostly “internal“

• Maybe a little conversion required• E.g. floats to double

Page 14: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

14

THE SINGLE COMPUTER -MAINTAINABILITY• Quite hard to change things

• Switching libraries?

• Probably different functions / arguments• In general, system is rigid / inflexible

• But also mostly under the developer’s completecontrol

Page 15: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

15

DISTRIBUTED SYSTEM –FUNCTIONAL DECOMPOSITION• Most things under developer control

• Except libraries & database• Design emphasises “division of labour”

• Typically presentation / logic / database• Typical design concerns

• Minimising latency (communication delay)• Maintainability

Page 16: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

16

DISTRIBUTED SYSTEM –COMMUNICATION PROTOCOLS• Probably very low level

• E.g. “sockets” - a simple pipe for binarydata

• Data representation issues

• Different processor architectures (e.g. 16 / 32 bit)• How to define strings? Floats? Dates? Currency?• Recall Block 2 Part 1 “Exchanging Data”

• Some low level standards available

• Remote procedure calls (RPC)• Object Request Brokers (ORBs)

Page 17: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

17

DISTRIBUTED SYSTEM –SHARING AND DISCOVERY• Typically, each layer is “fixed” in relation

each of the others

• Similar situation to single computer

• Just spread around different boxes• No real “sharing” of much except database engine

• Object Request Brokers tried to address some of this

• (In theory) included dynamic linking• Some “late binding” of function calls

• i.e. argument types defined as late as possible

• Didn’t really catch on

Page 18: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

18

DISTRIBUTED SYSTEM –MAINTAINABILITY• More scalable in terms of performance

• Add more clients, more database servers• But still rigid / inflexible in components

• Hard to change libraries / databases• Inflexible interfaces / rigid design

(Movie quotes clue!)

Page 19: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

19

SERVICE ORIENTATED ARCHITECTURE –FUNCTIONAL DECOMPOSITION

• System broken down into discrete,re-usable “services”

• With scalability benefits• High level design of system in terms

of these lower level services

• BPEL executable description of a business process• More of this in block 4

Page 20: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

20

SERVICE ORIENTATED ARCHITECTURE –COMMUNICATION PROTOCOLS

• Standard way of invoking services

• WSDL describes this• Standard ways to transfer data

• XML-RPC, SOAP• High level, network independent communication protocols

• HTTP / SSL• Very late binding of function (service) calls

• Arguments defined at the time of use• WSDL describes this also

Page 21: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

21

SERVICE ORIENTATED ARCHITECTURE –SHARING & DISCOVERY

• Any service available to anyone

• UDDI + WSDL all you need• Dynamic service end point discovery

• UDDI• (Theoretically) dynamic choice

• Based on cost / response time / quality• Automatic load balancing / failover

Page 22: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

22

SERVICE ORIENTATED ARCHITECTURE –MAINTAINABILITY

• Flexibility through “late binding”

• Services chosen dynamically at time of need• All necessary information to use service

defined by WSDL• Adherence to standards provable

• WSI-Compliance• BPEL easy to modify to reflect business changes

• Nice, graphical diagrammatic interface (block 4)• Network independent communication

• Because of high level protocols (e.g. HTTP)• And standardised data formats (e.g. SOAP)

Page 23: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

23

SOA COMPARED TO REST• Services less flexible / not dynamic

• Effectively “point to point” links• Data formats not dynamic

• Look them in the documentation• Network independent communication

• Because of high level protocols (e.g. HTTP GET / POST)• Can use standardised data formats (e.g. SOAP / JSON)

Page 24: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

24

WHY HASN’T SOA CAUGHT ON?• SOA appears to have lots of advantages

• Discovery, scalability, flexibility, resilience…• However, the discovery process benefits from “network”

effects

• The more services that can be “discovered” the more likely it is that someone will use the process

• But preparing a service for discovery incurs costs

• Defining the WSDL, UDDI entries etc.• There is a “first mover disadvantage”• Extra costs, no immediate benefits• “No one else uses it, why should I?”

Page 25: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

25

WHY HASN’T SOA CAUGHT ON?• If we decide not to use UDDI, then:

• “Discovery” becomes part of the design process, not operation

• Chose a service provider, “hard-code” that service address• If the service address is “hard coded” then:

• There is less incentive to dynamically define the service interface (e.g. WSDL entries)

• If you can’t dynamically chose another service, you might as well “hard code” the function arguments

• But we still have the data format compatibility issues

• So SOAP / XML / JSON widely used

Page 26: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

26

TMA03 TIPS Q & A

“WHY ARE THINGS SO HEAVY IN THE FUTURE? IS THERE A PROBLEM WITH THE EARTH'S GRAVITATIONAL PULL?”

Page 27: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

27

TMA03 PART 1• (1) List of Steps – 10 marks

• Include “why” – or discuss problems & attempted solutions• (2) Suggest two applications – 5 marks

• Explain what data used, & why• (3) WSI-Conformance Report – 5 marks

• Include and (briefly) explain its signficance• (4) Working web service –10 marks

• Will be tested in a RESTful fashion by browser• UDDI Entries and Description – 10 marks

• Cut & Paste + description of how to locate

Look carefully at the mark breakdown!

Page 28: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

28

TMA03 PART 2• (1) Contrasting Architectures – 10 marks

• Background information / comparison• (2) Web Services for the Company – 20 marks

• Specific to the business, NOT generic• (3) Tools and Standards – 10 marks

• Make justified recommendations, with alternatives• (4) Recommendations – 15 marks

• Summary and justification (your opinion - can disagree)• References & Sources – 5 marks

• Referencing (as per TMA01)

Look carefully at the mark breakdown!

Page 29: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

29

TMA03 TIPS• There are no tricks or traps!

• So don’t look for them…• Largely straight forward

• But don’t leave it too late to start…• Word count limits

• But not too challenging (500 + 1500)• Organise your report to help your marker!

• Follow suggested headings / mark breakdown• Carefully read (and follow) “What to submit”

• Block 3 companion, P.9

Page 30: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

30

ANY QUESTIONS?

“AND SOON I SHALL HAVE UNDERSTANDING OF VIDEO CASSETTE RECORDERS AND CAR TELEPHONES. AND WHEN I HAVE UNDERSTANDING OF THEM, I SHALL HAVE UNDERSTANDING OF COMPUTERS. AND WHEN I HAVE UNDERSTANDING OF COMPUTERS, I SHALL BE THE SUPREME BEING!”

Page 31: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

31

BLOCK 4PREVIEW

“TELL ME, FUTURE BOY, WHO'S PRESIDENT OF THE UNITED STATES IN 1985?”“RONALD REAGAN” “THE ACTOR?”

Page 32: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

32

THE STORY SO FAR• By the end of block you will understand “web services”

• A discrete, re-usable “chunk” of functionality with a dynamically defined interface

• We can (and people do) use web services in a conventional programming language (Java, Javascript etc.)

• Treat it like a “library function”• But given its flexible, self defining nature

• And useful “granularity” (if well designed!)• Can we do things at a “higher” level?

• Less “abstract”, closer to reality (i.e. business)

Page 33: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

33

BPMN – BUSINESS PROCESS MODELLING NOTATION

• Rather than describing what we want to do in a programming language…

Can we draw a helpfuldiagram of our business process?

With BPMN we can!

Page 34: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

34

BPEL –BUSINESS PROCESSEXECUTION LANGUAGE

• Even better than describing it, can we make it happen?

• With BPEL we can!

And it understands web services!

Page 35: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

35

BLOCK 4 ACTIVITIES• We will learn to understand BPMN diagrams

• And how to turn these into BPEL “programs”

• Using a nice diagramming tool in Eclipse• We will be provided with some example web services

• Including their WSDL definitions• And a simulation engine that allows us to “execute” our

business process, using these web services

• Also running in Eclipse• Watch SOAP messages fly back and forth!• See web services invoked on the fly!• Test your business logic in operation!

Page 36: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

36

BLOCK 4 TMA• Hah! Fooled you – there isn’t one!

• BUT

• Your knowledge of BPEL WILL be tested in the EMA project

• You WILL need to complete this to gain anything more than a pass grade

• But there will be nothing required for the project that is not already covered in the practicals

• Although you can take it further if you want to…

Page 37: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

37

WHAT NEXT?

“WHAT ABOUT ALL THAT TALK ABOUT SCREWING UP FUTURE EVENTS? THE SPACE-TIME CONTINUUM?”

“WELL, I FIGURED, WHAT THE HELL?”

Page 38: TUTORIAL STARTS 7PM “IF MY CALCULATIONS ARE CORRECT, WHEN THIS BABY HITS EIGHTY-EIGHT MILES PER HOUR, YOU'RE GOING TO SEE SOME SERIOUS SHIT…” 1

38

THANK YOU FOR WATCHING!

• TMA03 Submission date 19th June

• Block 4 Material available “Early June”

• EMA Work Plan Submission Date 31st July – NO EXTENSIONS!

• Next tutorial: 15th July (For EMA Part 1 + Q&A)

• Any questions or problems email [email protected]

• Expect reply within 48 hours• If no response, please use global forums!

• Check the Tutor Group Forum for slides & recordings