Solved

jsf architecture

Posted on 2013-11-26
5
305 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Java 1603 Error 3 50
Securing Jmx Console and web console 2 64
Checkbox and ListView in Android Layout 4 56
Eclipse with gitlab 1 8
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
The viewer will learn how to implement Singleton Design Pattern in Java.

948 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now