multiuser-intro.xml 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="learning.multiuser.intro">
  4. <title>Building Multi-User Applications With ZF</title>
  5. <sect2 id="learning.multiuser.intro.zf">
  6. <title>Zend Framework</title>
  7. <para>
  8. When the original "web" was created, it was designed to be a publishing platform for
  9. predominantly static content. As demand for content on the web grew, as did the number of
  10. consumers on the internet for web content, the demand for using the web as an application
  11. platform also grew. Since the web is inherently good at delivering a simultaneous
  12. experience to many consumers from a single location, it makes it an ideal environment for
  13. building dynamically driven, multi-user, and more commonly today, social systems.
  14. </para>
  15. <para>
  16. HTTP is the protocol of the web: a stateless, typically short lived, request/response
  17. protocol. This protocol was designed this way because the original intent of the web was
  18. to serve or publish static content. It is this very design that has made the web as
  19. immensely successful as it is. It is also exactly this design that brings new concerns to
  20. developers who wish to use the web as an application platform.
  21. </para>
  22. <para>
  23. These concerns and responsibilities can effectively be summed up by three questions:
  24. </para>
  25. <itemizedlist>
  26. <listitem>
  27. <para>
  28. How do you distinguish one application consumer from another?
  29. </para>
  30. </listitem>
  31. <listitem>
  32. <para>
  33. How do you identify a consumer as authentic?
  34. </para>
  35. </listitem>
  36. <listitem>
  37. <para>
  38. How do you control what a consumer has access to?
  39. </para>
  40. </listitem>
  41. </itemizedlist>
  42. <note>
  43. <title>Consumer Vs. User</title>
  44. <para>
  45. Notice we use the term "consumer" instead of person. Increasingly, web applications
  46. are becoming service driven. This means that not only are real people ("users") with
  47. real web browsers consuming and using your application, but also other web applications
  48. through machine service technologies such as ReST, SOAP, and XML-RPC. In this respect,
  49. people, as well as other consuming applications, should all be treated in same with
  50. regard to the concerns outlined above.
  51. </para>
  52. </note>
  53. <para>
  54. In the following chapters, we'll take a look at these common problems relating to
  55. authentication and authorization in detail. We will discover how 3 main components:
  56. Zend_Session, Zend_Auth, and Zend_Acl; provide an out-of-the-box solution as well as the
  57. extension points each have that will cater to a more customized solution.
  58. </para>
  59. </sect2>
  60. </sect1>