Sabado, Setyembre 21, 2013
1. List the websites that uses OpenID and explain how they implemented the system. (min. of 10 websites)
- Skitch.com - A Web service that gives you 1-click uploading of images for fast image sharing.
- PBWiki - Create a free wiki using your OpenID. It's as easy as making a peanut butter sandwich.
- LiveJournal - One of the first blogging platforms.
- Drupal - The official website of Drupal, an open source content management platform.
- Mixx - The well-known news site.
- 37Signals - Simple software to help you get organized. Basecamp, Highrise, and Backpack are all OpenID enabled.
- Foodio54 - Has a database of over half a million restaurants with reviews.
- ToodLedo - An easy to use Web-based to-do list.
- WetPaint - A popular wiki host.
- Grou.ps- Allows you to create sharing platforms for your social groups
- Jyte - Allows you to make claims about yourself and your friends, give and receive cred and manage your contacts and groups.
2. Create a diagram that illustrates the process of an OpenID and explain. (min. of 100 words)
The OpenId Sequence Diagram
OpenId very neatly solves the global identity problem within the constraints of working with legacy browsers. It is a complex protocol though as the following sequence diagram illustrates, and this may be a problem for automated agents that need to jump around the web from hyperlink to hyperlink, as hyperdata agents tend to do.
The diagram illustrates the following scenario. Romeo wants to find the current location of Juliette. So his semantic web user agent GET's her current foaf file. But Juliette wants to protect information about her current whereabouts and reveal it only to people she trusts, so she configures her server to require the user agent to authenticate itself in order to get more information. If the user agent can prove that is is owned by one of her trusted friends, and Romeo in particular, she will deliver the information to it (and so to him).
Explanation:
A User Agent fetches a web page that requires authentication. OpenId was designed with legacy web browsers in mind, for which it would return a page containing an OpenId login box such as the one to the right. openid login box In the case of a hyperdata agent as in our use case, the agent would GET a public foaf file, which might contain a link to an OpenId authentication endpoint. Perhaps with some rdf such as the following N3:
<> openid:login .
Perhaps some more information would indicate which resources were protected.
In current practice a human user notices the login box and types his identifying URL in it, such as http://openid.sun.com/bblfish This is the brilliant invention of OpenId: getting hundreds of millions of people to find it natural to identify themselves via a URL, instead of an email. The user then clicks the "Login button".
In our semantic use case the hyperdata agent would notice the above openid link and would deduce that it needs to login to the site to get more information. Romeo's Id ( http://romeo.net/ perhaps ) would then be POSTed to the /openidAuth.cgi authentication endpoint.
The OpenId authentication endpoint then fetches the web page by GETing Romeo's url http://romeo.net/. This returned representation contains a link in the header of the page pointing Romeo's OpenId server url. If the representation returned is html then this would contain the following in the header
The representation returned in step 3, could contain a lot of other information too. A link to a foaf file may not be a bad idea as I described in foaf and openid. The returned representation in step 3 could even be RDFa extended html, in which case this step may not even be necessary. For a hyperdata server the information may be useful, as it may suggest a connection Romeo could have to some other people that would allow it to decide whether it wishes to continue the login process.
Juliette's OpenId authentication endpoint then sends a redirect to Romeo's user agent, directing it towards his OpenId Identity Provider. The redirect also contains the URL of the OpenId authentication cgi, so that in step 8 below the Identity Provider can redirect a message back.
Romeo user agent dutifully redirects romeo to the identity provider, which then returns a form with a username and password entry box.
Romeo's user agent could learn to fill the user name password pair in automatically and even skip the previous step 6 . In any case given the user name and password, the Identity Provider then sends back some cryptographic tokens to the User Agent to have it redirect to the OpenId Authentication cgi at http://juliette.net/openidAuth.cgi.
Romeo's Hyperdata user agent then dutifully redirects back to the OpenId authentication endpoint
The authentication endpoint sends a request to the Openid Identity provider to verify that the cryptographic token is authentic. If it is, a conventional answer is sent back.
The OpenId authentication endpoint finally sends a response back with a session cookie, giving access to various resources on Juliette's web site. Perhaps it even knows to redirect the user agent to a protected resource, though that would have required some information concerning this to have been sent in stage 2.
Finally Romeo's user agent can GET Juliette's protected information if Juliette's hyperdata web server permits it. In this case it will, because Juliette loves Romeo.
All of the steps above could be automatized, so from the user's point of view they may not be complicated. The user agent could even learn to fill in the user name and password required by the Identity Provider. But there are still a very large number of connections between the User Agent and the different services. If these connections are to be secure they would need to protected by SSL (as hinted at by the double line arrows). And SSL connections are not cheap. So the above may be unacceptably slow. On the other hand it would work with a protocol that is growing fast in acceptance.
Biyernes, Hulyo 19, 2013
5 Web services that are available today.
WMS Acquisitions API
- A read-write Web service for the Acquisitions module of OCLC WorldShare Management Services so library staff can create, update, delete and submit orders and get invoices for materials they’d like to acquire. Provides developer-level access to order, invoice, budget and funding data.
XML and HTTP
- Are the foundation for calling web services with Web Services Link. A user interacts with the web service interfaces by sending XML messages over HTTP. XML and HTTP are useful for creating and sending messages because they are flexible and widely supported on many platforms and languages.
WebserviceX.NET
- provides programmable business logic components and standing data that serve as "black boxes " to provide access to functionality and data via web services.
Tagthe.net
- This API reads your text (English or German) and makes suggestions for meaningful tags for that content. Good tagging of your content will result in better visibility and utility on social networking sites.
ZipCodes
- Find near-by zip codes, distance between zip codes, coordinates of zip codes; also supports user-defined places. ZipCodes service contains functionality to search for near-by zip codes within a specified distance. The service also supports user-defined places. You can upload a list of your locations and perform searches on them similarly to zip codes and cities.
How does web service affect the evolution of TECHNOLOGY ?
Web services allow different applications from different sources to communicate with each other without time-consuming custom coding, and because all communication is in XML, Web services are not tied to any one operating system or programming language. For example, Java can talk with Perl, Windows applications can talk with UNIX applications.
Web Services can convert any application into a Web-application, which can publish its function or message to the rest of the world.
Web service has great contribution of the technology nowadays since many of us uses different software or programs in our different work stations and even gadgets. By the use of web service there's no problem between different platforms to communicate with each other.
Mag-subscribe sa:
Mga Post (Atom)