|
1
|
|
|
2
|
- How do I utilize functionality on the web
- Amazon.com sells books
- Many websites provide stock quotes
- Measurisk.com provides complex risk analysis
|
|
3
|
- Web Sites and Web Applications have no good way to share functionality
- Can show a little Amazon functionality in a frame in your website
- Limited to HTML/XML
- Branding is an issue
- Another alternative is tricks like “Screen Scraping”
|
|
4
|
- Application Business rules implemented in Business Abstraction Layers
- Objects expose business functionality
- Objects usually use one of the major object technologies
- Each Object technology uses a defined protocol to communicate with the
object
|
|
5
|
- From MSDN – A set of semantic and syntactic rules that determine the
behavior of functional units in achieving communication.
- From IMDB - A mediocre movie with Goldie Hawn
|
|
6
|
- Most object technologies use binary protocols that are complex
- COM
- Corba
- Java
- C++ classes in DLL’s
|
|
7
|
- Security
- Objects usually run behind the firewall
- Exposing them directly to the outside world is completely unacceptable
|
|
8
|
- A beautiful world where Web Applications peacefully share functionality
of business abstraction layers
- A loving protocol where all object technologies can easily communicate
in harmony
- Some way to make a buck off of all that peace and love
|
|
9
|
- Simple
- Object
- Access
- Protocol
|
|
10
|
- HTTP is pretty much everywhere
- Maybe we can come up with some sort of system where someone can call our
object using HTTP
|
|
11
|
- Ad Hoc HTTP Object Sharing
|
|
12
|
- CalculatorLib.Calculator
- Add
- Subtract
- Multiply
- Divide
|
|
13
|
- Object exposed through HTTP
- Incoming requests can be checked using any security system currently in
place for the web system
- We’ve defined Biff’s Ultimately Reasonable Protocol
|
|
14
|
- We have to write a separate ASP page for each object
- Potential clients must know about our object and paste together the
correct HTTP request
- It’s not a very marketable acronym
|
|
15
|
|
|
16
|
- This will allow the development of tools that will handle mechanics of
the client and server side
- We need a flexible way to send structured data in a textual format to
the server
|
|
17
|
- SOAP’s XML schema are a solution to the problem – not the solution to
the problem
- The SOAP guys did about what I did
- They spent a lot more time on it
- They are a lot smarter than me
|
|
18
|
|
|
19
|
|
|
20
|
- <SOAP-ENV:Envelope>
- <SOAP-ENV:Header>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body xmlns:pmtcalc=“urn:schemas-gautw1-com:Calc”>
- <Calc:Add>
- <Op1>6</Op1>
- <Op2>4</Op2>
- </Calc:Add>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope
|
|
21
|
- <SOAP-ENV:Envelope>
- <SOAP-ENV:Header>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body xmlns:pmtcalc=“urn:schemas-gautw1-com:Calc”>
- <Calc:AddResponse>
- <return>10</return>
- </Calc:AddRsponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
|
|
22
|
- How do I tell the world what I can do and what I expect (a la COM Type
Libraries)
- Security
|
|
23
|
- “Type Libraries” for Web Services
- XML definition of available functionality
- Note – no longer SDL
|
|
24
|
|
|
25
|
|
|
26
|
- Authentication
- Anonymous
- Basic
- Challenge
- Certificates
- Authorization
- Encryption
|
|
27
|
|
|
28
|
- Works with VS 6.0
- Contents
- Client Side COM Object for assembling XML
- Server Side COM Object for processing XML
- WSDL Generator (w/WSML)
- Additional COM Objects
|
|
29
|
- Warning – Values not scientific
- DCOM Calculator calls – 75 / sec
- SOAP Calculator calls – 5 / sec
|
|
30
|
- Beta 1 - Now
- msdn.microsoft.com/downloads
- Under Software Development Kits
- Beta 2 - 2/28/01
- RTM - 3/30/01
|
|
31
|
- www.w3c.org (SOAP Spec)
- Understanding SOAP, SAMS Press
- SOAP Toolkit 2.0
- .NET Documentation
|
|
32
|
|
|
33
|
|
|
34
|
|