• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Carey Brown
  • Stephan van Hulst
  • Tim Holloway
  • Peter Rooke
  • Himai Minh
Bartenders:
  • Piet Souris
  • Mikalai Zaikin

stateless webservers and security

 
Ranch Hand
Posts: 1419
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The Java Blueprints advises keeping session state in the EJB tier, when EJBs are used. This allows easier and faster clustering and fail-over of multiple webservers.

If one follows that pattern, how is login security handled? Likewise, doesn't the use of SSL assume durable connections between web tier and server?

How does one use SSL and declarative security when clustering multiple stateless webservers to a single EJB tier?

(This is relevant to the SCJEA assignment, in which we are told that there are two webservers.)
 
Ranch Hand
Posts: 317
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Frank Silbermann:
The Java Blueprints advises keeping session state in the EJB tier, when EJBs are used. This allows easier and faster clustering and fail-over of multiple webservers.

If one follows that pattern, how is login security handled? Likewise, doesn't the use of SSL assume durable connections between web tier and server?

How does one use SSL and declarative security when clustering multiple stateless webservers to a single EJB tier?

(This is relevant to the SCJEA assignment, in which we are told that there are two webservers.)



Frank,
Lets take one concept at a time and see where it fits in the overall architecture.

SSL - This is mainly used between the browser and the web server, so that each can authenticate the other and trust relationship is created for the duration of the session. I dont think we need SSL between the web server and the application server (Correct me if I am wrong). SSL will make sure that the data is properly encrypted during transit, no one alters it nor does anyone assume false identity etc. This is part of our non-functional requirements. It has nothing to do with login, user profile etc.

Login Authentication - This is mainly a business requirement. We need to authenticate the user to make sure that he/she is a part of the system and has an existing profile. The user can be authenticated declaratively via the web container and in case of the web app, the User Principal is propogated to the application server. This is handled transparent to the system and is between the web server and appserver.
Now that we have couple of web servers, we can design a cluster and also make sure that server affinity is maintained. Server affinity will make sure that the server which first serves or responds to a particular client request is used for the entire session. That way, the session will be maintained by that particular web server and propogated to the app server, whenever needed.


Now that we have defined these concepts..does it answer your question? If not, could you please re-phrase it, so I could understand it better

Thanks,
Parag
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic