The original Powerpoint Slides

advertisement
“IF MY CALCULATIONS ARE CORRECT, WHEN THIS
BABY HITS EIGHTY-EIGHT MILES PER HOUR,
YOU'RE GOING TO SEE SOME SERIOUS SHIT…”
1
TUTORIAL
STARTS
7PM
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!
2
(Note to moderator: Check max. simultaneous talkers)
T320
TUTORIAL
THREE
3
WEB SERVICES, TMA03
PROPOSED AGENDA
• 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!
4
• Where are we?
PROPOSED UN-AGENDA(?)
• The practical work
5
• Thoroughly described in Block material
• Excellent support from the appropriate national forums
• Best worked through at your own pace (IMHO)
“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”
6
WHERE ARE
WE?
OVERVIEW
Block 1 – E-Business in context
TMA01
Block 2 – Protocols and Data
TMA02
Block 3 – Web Services
You
Are
Here
TMA03
E
M
A
pt
2
Block 4 – Business Processes
7
EMA pt 1
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
8
(More on the TMA later…)
“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.”
9
WEB
SERVICES –
WHY?
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”)
10
•
•
•
•
THE SINGLE COMPUTER FUNCTIONAL DECOMPOSITION
• Everything is under developer control
• Problem typically broken down into
discrete functional blocks
• Typical design concerns:
11
• Maintainability
• Performance
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“
12
• Little or no conversion required
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“
13
• Maybe a little conversion required
• E.g. floats to double
THE SINGLE COMPUTER MAINTAINABILITY
• Quite hard to change things
• Switching libraries?
• Probably different functions / arguments
• In general, system is rigid / inflexible
14
• But also mostly under the developer’s complete
control
DISTRIBUTED SYSTEM –
FUNCTIONAL DECOMPOSITION
• Most things under developer control
• Except libraries & database
• Design emphasises “division of labour”
• Typically presentation / logic / database
• Typical design concerns
15
• Minimising latency (communication delay)
• Maintainability
DISTRIBUTED SYSTEM –
COMMUNICATION PROTOCOLS
• Probably very low level
• E.g. “sockets” - a simple pipe for binary
data
• 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
16
• Remote procedure calls (RPC)
• Object Request Brokers (ORBs)
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
17
• Didn’t really catch on
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
18
(Movie quotes clue!)
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
19
• BPEL executable description of a business process
• More of this in block 4
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
20
• Arguments defined at the time of use
• WSDL describes this also
SERVICE ORIENTATED
ARCHITECTURE –
SHARING & DISCOVERY
• Any service available to anyone
• UDDI + WSDL all you need
• Dynamic service end point discovery
• UDDI
• (Theoretically) dynamic choice
21
• Based on cost / response time / quality
• Automatic load balancing / failover
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
22
• Because of high level protocols (e.g. HTTP)
• And standardised data formats (e.g. SOAP)
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
23
• Because of high level protocols (e.g. HTTP GET / POST)
• Can use standardised data formats (e.g. SOAP / JSON)
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?”
24
•
•
•
•
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
25
• So SOAP / XML / JSON widely used
“WHY ARE THINGS SO HEAVY IN THE FUTURE?
IS THERE A PROBLEM WITH THE EARTH'S
GRAVITATIONAL PULL?”
26
TMA03 TIPS
Q&A
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
Look carefully at the mark breakdown!
27
• Cut & Paste + description of how to locate
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
Look carefully at the mark breakdown!
28
• Referencing (as per TMA01)
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”
29
• Block 3 companion, P.9
“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!”
30
ANY
QUESTIONS?
“TELL ME, FUTURE BOY, WHO'S PRESIDENT OF
THE UNITED STATES IN 1985?”
“RONALD REAGAN” “ THE ACTOR? ”
31
BLOCK 4
PREVIEW
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?
32
• Less “abstract”, closer to reality (i.e. business)
BPMN –
BUSINESS PROCESS
MODELLING NOTATION
• Rather than describing what we want to do in a
programming language…
Can we draw a helpful
diagram of our business
process?
33
With BPMN we can!
BPEL –
BUSINESS PROCESS
EXECUTION LANGUAGE
• Even better than describing it, can we make it happen?
And it understands web services!
34
• With BPEL we can!
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!
35
•
•
•
•
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
36
• 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…
“WHAT ABOUT ALL THAT TALK ABOUT SCREWING
UP FUTURE EVENTS? THE SPACE-TIME
CONTINUUM?”
“WELL, I FIGURED, WHAT THE HELL?”
37
WHAT
NEXT?
• 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 k.r.wilcox@open.ac.uk
• Expect reply within 48 hours
• If no response, please use global forums!
THANK YOU FOR
WATCHING!
38
• Check the Tutor Group Forum for slides & recordings
Download