Solved

jsf architecture

Posted on 2013-11-26
5
319 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 7

Author Comment

by:gudii9
ID: 39690933
please advise
0
 
LVL 35

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 35

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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How to get all the API from website? 11 129
couple of eclipse 5 52
eclipse console opening separately 2 38
Netbeans and org.apache.commons.lang3 issue 3 27
I had a project requirement for a displaying a user workbench .This workbench would consist multiple data grids .In each grid the user will be able to see a large number of data. These data grids should allow the user to 1. Sort 2. Export the …
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

733 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