Solved

jsf architecture

Posted on 2013-11-26
5
310 Views
Last Modified: 2013-12-17
Hi,

I was reading

JSF  is a framework for developing, building server side User Interface Components and using them in a web application.
JSF  based on MVC architecture for separating logic from presentation.
 Model: Carries Data and login
View :Shows User Interface
 Controller: Handles processing of an application

What is meaning of server side user interface components and how they are different from client side user interface components(which i guess should be there in similar way). For me server side 'user interface' component does not make any sense.
Also what it mean by 'Model carries login and data'
what are other similar  server side 'user interface' component frameworks available. what are different client side user interface component frameworks.
What are advantages, practical uses of server side 'user interface' component frameworks.
please advise
Any links resources ideas highly appreciated. Thanks in advance
0
Comment
Question by:gudii9
  • 2
  • 2
5 Comments
 
LVL 7

Author Comment

by:gudii9
ID: 39690933
please advise
0
 
LVL 34

Expert Comment

by:Gary Patterson
ID: 39701453
What is meaning of server side user interface components and how they are different from client side user interface components(which i guess should be there in similar way). For me server side 'user interface' component does not make any sense.

In a web application, the "user interface" is generally made up of CSS, HTML, and JavaScript.  In a static web site, the CSS, HTML, and JS is pre-built at design time, and just gets downloaded to the client each time a page is requested.  So the UI is fixed at design time.

Server-side and client-side frameworks are built on top of dynamic web page generating technologies (JSP, ASP, PHP, JavaScript, web services, etc), and allow the user interface to be flexible, and to automatically display new content (a blog entry, changing weather information, or a stock ticker).  

The difference is simple:

Server side frameworks dynamically create each web page on the server, each time a page is requested by the client, and the HTML, CSS, and JavaScript is downloaded as a "finished product" to the client each time a page is requested.

Client side frameworks are different.  First page downloads CSS, HTML, and JavaScript (including the framework JavaScript).  Instead of sending page requests back to the server, it the client framework code sends messages, and the server responds with messages (JSON for example).  The client framework takes these responses and dynamically renders the page on the client.

Also what it mean by 'Model carries login and data'

Don't know where you got that phrase, but it doesn't make any sense to me.  There are thousands of article on MVC.  Google is your friend.  Here's one to get you started:

http://www.codinghorror.com/blog/2008/05/understanding-model-view-controller.html

what are other similar  server side 'user interface' component frameworks available. what are different client side user interface component frameworks.

Struts, Spring MVC, Ruby on Rails, and many, many more.  There are lots and lots of frameworks out there: both client side and server side. Google.

What are advantages, practical uses of server side 'user interface' component frameworks.

Both have their advantages and disadvantages.

Well-designed and implemented sites using server side frameworks generally require more server resources and fewer client resources to operate - since more of the work is done on the server.  Server side frameworks can also require more bandwidth, since entire pages are built and downloaded more often.

Well-designed and implemented client side frameworks can require fewer server resources, but require more client resources to operate - since more work is done on the client.  Client side frameworks can be used to create low-bandwidth applications.  

Server-side vs client-side isn't as black-and-white as it may seem.  Server side frameworks can still take advantage of some client-side rendering, and vice-versa.
0
 
LVL 7

Author Comment

by:gudii9
ID: 39712496
Server side frameworks dynamically create each web page on the server, each time a page is requested by the client, and the HTML, CSS, and JavaScript is downloaded as a "finished product" to the client each time a page is requested.

Client side frameworks are different.  First page downloads CSS, HTML, and JavaScript (including the framework JavaScript).  Instead of sending page requests back to the server, it the client framework code sends messages, and the server responds with messages (JSON for example).  The client framework takes these responses and dynamically renders the page on the client.

Open in new window



I am still not clear on client side framework.

Also how Server side frameworks can still take advantage of some client-side rendering, and vice-versa.
Please advise
0
 
LVL 34

Accepted Solution

by:
Gary Patterson earned 500 total points
ID: 39712678
In a pure server-side framework, the each HTML page gets built on the server, and downloaded to the client.  The client renders each page based on the HTML.

In a pure client-side framework, a script is downloaded to the client from the server, and the page is built on the client by the script.

But this isn't an "either-or" thing.  A web page can (and often is) designed to use a combination of the two techniques, with some of the page being built on the server, and some being handed on the client side.

You can find HUNDREDS of articles that explain the differences:

http://www.forbes.com/sites/quora/2013/07/10/web-development-what-are-the-tradeoffs-of-client-side-rendering-vs-server-side-rendering/

A lot of this is going to be meaningless to you unless you have some basic proficiency  with web programming.  Do you know php, jsp, or ASP?  These are server-side scripting languages.  What about JavaScript - this is a client-side scripting language.  If you don't know the difference, I'd suggest you get online and find a couple of tutorials so that you can understand the distinction.  Then it'll be easier to understand the difference between server-side and client-side frameworks.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
more than one jdk and one jre 1 41
use lov values 2 50
Error in @AspectJ Based AOP with Spring 2 13
How to convert from xls to xlsx using java 7 39
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question