Title: 563.4 Web Services
1563.4 Web Services
- Presented by Carl A. Gunter
- University of Illinois
- Spring 2006
2Todays Web
- Designed for applications involving human
interactions - Intended purpose
- Information sharing a distributed content
library - Enabled B2C e-commerce
- Non-automated B2B interactions
- How did it happen?
- Built on very few standards http html
- Simple interaction model very few assumptions
- Result was ubiquity
3Whats Next?
- Improve machine-to-machine protocols to enable
more automation. - Use a readily-extensible foundation.
- Build in security from the start.
- Overcome limits to widespread web deployment of
Corba, DCOM, etc.
4Web Services
- Strategy use XML as a foundation for both
infrastructure and application formats. - Build a stack of XML-based processing layers.
- Create XML-based security mechanisms that
integrate with existing approaches (e.g. X.509).
5Typical Web Service Components
6Web Services Architecture
UDDI Universal Description, Discovery, and
Integration
- Provide a Directory of Services on the Internet
WSDL Web Services Description Language
- Web Services are defined in terms of the formats
and ordering of messages
SOAP
- Web Services consumers send and receive SOAP
messages
XML HTTP
- Built using open Internet protocols
7XML
- Extensible Markup Language
- Meta language that
- Allows to create and format own document markups
- A method for putting structured data into a text
file - - easy to read
- - unambiguous
- - extensible
- - platform-independent
8Sample XML Example
- lt?xml version1.0 encoding?gt
- ltmsgmessage fromid toid xmlnsmsgURI
xmlnspoURIgt - ltmsgtextgt
- Hi please bill to the following address
- lt/msgtextgt
- ltmsgitemgt
- ltpopo id123gt
- ltpobilltogt
- ltpocompanygt Skateboard lt/pocompanygt
- ltpostreetgt One Warehouse Park
lt/postreetgt - ltpocitygt Boston lt/pocitygt
- lt/pobilltogt
- lt/popogt
- lt/msgitemgt
- lt/msgmessagegt
9XML Declaration
- lt?xml version1.0 encoding?gt
- lt?xml ?gt the XML declaration
- Not required, but typically used
- Attributes include
- Version
- Encoding the character encoding
10XML Element
- ltmsgmessage fromid toid
xmlnsmsgURI xmlnspoURIgt - ltmsgtextgt
- Hi please bill the following
- lt/msgtextgt
- ltmsgitemgt
- ltpopo id123gt
-
- lt/popogt
- lt/msgitemgt
- lt/msgmessagegt
11XML Attribute
- ltmsgmessage fromid toid xmlnsmsgURI
xmlnspoURIgt -
- ltpopo id123gt
-
- lt/popogt
- lt/msgmessagegt
- XML Attribute
- Describes additional information about an element
- lttag keyvaluegt textlt/taggt
12XML Namespaces
- ltmsgmessage fromid toid
xmlnsmsgURI xmlnspoURIgt -
- lt/msgmessagegt
- Namespaces
- Not mandatory, but useful in giving uniqueness to
an element - Declared using the xmlnsname value
13SOAP
- An XML envelope for XML messaging
- Headers body
- SOAP is transport independent
- Supports both messaging and RPC
SOAP Envelope
SOAP Header encoding, authentication,
transaction information, etc.
SOAP Body
SOAP Body Block parameters, return values, etc
SOAP Fault
14SOAP Message Example
- lt?xml ?gt
- ltSOAP-ENVEnvelope xmlnsSOAP-ENVURI gt
- ltSOAP-ENVHeadergt
- lttTransaction xmlnstURI
- SOAP-ENVmustUnderstand1 gt
- 12345
- lt/tTransactiongt
- ltpPriority xmlnspURIgt
- Very High
- lt/pPrioritygt
- lt/SOAP-ENVHeadergt
- ltSOAP-ENVBodygt
- XML Document
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
15AMPol Project
- Adaptive Messaging Policy Project concerns
next-generation messaging systems with improved
security, flexibility, and integration. - Principal activities
- WSEmail
- Dynamic policy adaptation
- Attribute-Based Messaging (ABM)
16AMPol Principal Activities
- WSEmail
- Dynamic policy adaptation
- Attribute-based messaging
17Internet Email
- Based on a collection of protocols
- SMTP, POP, IMAP, S/MIME
- Evolved over a vast installed base
- Shortcomings
- Flexibility
- Security
- Integration
18Approaches to Improvement
- Make incremental changes and overlays for the
existing protocols - Redesign the system from a low level
- Example instant messaging
- Create a design from another high-level
foundation - Example use HTTP and SSL
19WSEmail Project
- Began at Penn with support from Microsoft
- Aim use web services as a new foundation for
email as a way to improve security, flexibility,
and integration - Ongoing project at both UIUC and Penn
- Applications
- Instant messaging
- Routed forms
- On-demand attachments
- Theory
- Using Proverif and TuleFale
- Performance
- .NET implementation on a small testbed
Lux May Bhattad Gunter 05
20Application Integrated IM
21Application Routed Forms
22Implementation
- WSEmail implemented over .NET framework with Web
Services Enhancement (WSE) - Messages stored on SQL Server 2000
- Version 1.0 has
- 68 interfaces
- 343 classes
- 30 projects
- C .NET-managed code created with MS Visual
Studio - DNS SRV records used for routing.
23WSEmail Test-bed
Machines Pentium4 Network 100Mb switched
Ethernet Client Machines 2.8GHz, 512MB
RAM Server (Si) 2.8GHz, 1GB RAM Database (Sdb)
2.4GHz, 1GB RAM Internet Emulator (Se) 2.8GHz,
512MB RAM
24Parameters
- Each client will send 2000 requests to Si
- Operations send message, list headers, retrieve
message, delete message (each with equal chance) - Sent messages include local recipient (a user on
Si) and an external recipient (a user on Se).
- Test coordinator holds test parameters that
clients receive and parse - Message database is pre-populated with a few
entries - Test coordinator signals test start
- Clients non-deterministically pick an action to
perform, based on upon test parameters
25Results
- Average latency .274 sec / msg
- Rate of 1786 msg / min
- Client machines sent 36.4MB and received 369.4MB
- Test took 1824 sec to execute
- Benchmark comparison to SMTP on our machines
showed .170 sec / msg with messages of similar
size - Benchmark UW Parkside peak usage figures were
1716 msg / min
26Performance Results
- Average latency .274 sec / msg
- Rate of 1786 msg / min
- Client machines sent 36.4MB and received 369.4MB
- Test took 1824 sec to execute
- Benchmark comparison to SMTP on our machines
showed .170 sec / msg with messages of similar
size - Benchmark UW Parkside peak usage figures were
1716 msg / min
27Theory
- On Demand Attachments Protocol
- Nine messages, four parties
- Complex messages
- Want to prove that receiving an attachment means
it was sent by the sender in the from field
28AMPol Principal Activities
- WSEmail
- Dynamic policy adaptation
- Attribute-based messaging
Afandi Zhang Hafiz Gunter 06
29Policy Adaptation
- Large-scale systems often cannot operate under a
uniform policy - Scalability can be aided by allowing parties to
express policies that must be satisfied in
interactions - Apply this idea to messaging systems to achieve
adaptive messaging policy - Case study for email based on WSEmail
30Architectural Components
- Policy Model
- What policies can be expressed
- Our instantiation AMPL and APES (Attachments,
Payment, Encryption, Signature) - Policy Discovery
- Policy merging
- Policy Query Protocol (PQP)
- Extension and Enforcement
- Conformance
- Extension
- Enforcement
31Policy Architecture
RMTA
SMTA
Egress Policies
Merged Policies
Ingress Policies
Client Policies
Recipient
Sender
32Policy Architecture
RMTA
SMTA
Merged Policies
Recipient
Sender
33Policy Architecture
RMTA
SMTA
Egress Policies
Ingress Policies
Client Policies
Recipient
Sender
Plug in Server
34Demo
- A message from Afandisandy1 to Afandigary1
- Two MTAs
- Afandisandy1s egress policy is HashCash (cycle
exhaustion) - Afandigary1s ingress policy includes RTT
(Reverse Turing Test) and Identity-Based
Encryption (IBE) - Run demo
35AMPol Principal Activities
- WSEmail
- Dynamic policy adaptation
- Attribute-based messaging
Bobba Fatemieh Kahn Gunter Khurana 06
36Problem and Approach
- Problem
- Limited scope for targeted messaging
- Unwanted messages
- Approach
- Target messages based on recipient attributes
- Create recipient lists dynamically
37Scenarios and Challenges
- Scenarios
- Address all faculty going on sabbatical next term
- Address all the people working on security
related projects in an organization - Address all TeraGrid system administrators
- Address doctors in the tri-state area who have
expertise in a specific kind of operation
- Challenges
- User attribute assimilation and query
- User privacy
- Access rights
- Inter-domain messaging
- Attribute mapping
- Privacy policy
- AAA
38Architecture
Domain A
39Phase 1 Architecture
PDP
XACML
Engine
Policy
.
Policy Specialization Path
xml
Web Server
WEB Interface
ABM Host
XML DB
Address Resolution Path
MUA
Send Mail
Run Demo
40Phase I
- Attribute assimilation and query
- Native XML attribute database
- XQuery
- Privacy and privileges
- Restricted access to attributes
- Policy specification and enforcement using XACML
- Performance evaluation
- 60,000 users and 100 attributes
41Policy Specialization Time
42Address Resolution Time RDB
Relational DB
43Address Resolution Time XMLDB
XML DB
44Conclusions
- Crossroads for important technology advances
- Adaptive policies
- Web services (Service Oriented Architectures)
- Formal models and verification for security
protocols - Messaging systems
- Critical in their own right
- Good domain for developing and applying core
advances