3. Resource URLs
[discussion]
Three types of Resource URLs:
1. Direct URL
A simple URL to any resource
on the web, neither proxied or served by the portlet entity.
2. Portlet Entity URL (link to portlet
which serves a resource via getMarkup)
A URL pointing back to the
portlet entity which tells the consumer to execute getMarkup to retrieve a
specific resource
3. Proxied URL
A URL to a resource
somewhere on the web (perhaps on the portlet entities host) which must be
proxied by the consumer so that clients retrieve all resources for a
particular portlet entity from the consumer.
[Eric VanLydegraf] I would
like to confirm my understanding of 2 &
3
[2] - are
we talking specifically WSRP/SOAP only for retrieving Resources
?
Then you have to consider the cost
of SOAP marshalling and
unmarshalling (Unless the attachments issue works
out)
Streaming URL resources wouldn't
work
The Producer has to be willing or able to wrap all
resources around SOAP - given that many resources will
probably
already be deployed on FTP or HTTP servers in
possibly alternate locations than the WSRP Producer container might be hard
pressed to support this.
On the positive side it certainly keeps everything in
the WSRP protocol which has a real nice appeal ;)
[3] Proxied URL - Consumer makes URL protocol connection on
behalf of client and returns URL content to
client.
- Browser URL location and url's on the same page are
consistent ("Consumer URL Branding")
- cookies and security can be
kept at Consumer and used for proxy services.
e.g. Basic Auth, or Form Based Auth doesn't have to
be repeated for external URL's ( kind of poor mans Single Sign On
(SSO)
so user is only prompted once (assuming Consumer and
Producer have worked out security credential sharing (e.g. LDAP) or secure
token passing, or consumer is holding on to a password vault of Producer user
passwords)
A 3rd party SSO service can alleviate the multiple
logins, but that may not be available to Consumer or Producer so Proxy would
have to be used.
-
Resource is not directly available to client but is directly available to
Consumer
Note:
one motivation for Consumer brokerage of resource access is
Auditing for consumer
= can track resource downloads or usuage, site exit
points (Usage tracking, or producer auditing for contractual
validation purposes aka proof for lawyers - note a 3rd party source is more
likely but that would just mean somebody else is doing the proxying instead of
the consumer )
[Eric VanLydegraf]
There was some discussion
that Proxied URLs are not required if we allow portlets to serve resources
themselves. The idea is that the producer container can handle the
resources. This would further simplify the consumer
container.
TODO: We should identify if there are use
cases where a proxied URL would be required. Do we need both portlet
URLs and proxied URLs?
4. Attachments
a. Sending in response
(use case)
[discussion]
Portlet entities should be able to provide markup
and other resources via the getMarkup call.
b. Posting in request
(use case)
[discussion]
A portlet entity should be able to post large
binary content back to itself from the consumer. An example of this is
posting multi-part form encoded content.
c. SOAP vs.
DIME
[discussion]
Soap attachments are bound to SOAP where as WSRP
should not be bound to a specific protocol. DIME is supported by .NET
while SOAP is supported by JAX-RPC. It seems likely that JAX-RPC will
support both, down the road.
TODO: Carsten will investigate the status of
these specifications and relay the information to the group.
Postponed topics
- Window States
a. Can portlet entities
render action links which change window
state?