Saif Kamaal Java Server Faces (JSF) Next Generation User Interface.

Slides:



Advertisements
Similar presentations
Castafiore platform Consists or intend to consist of 1.Advanced Web framework 2.Advanced Graph database 3.Designer studio (something like visual basic)
Advertisements

Java OSS Web Technologies By Dave Ford Introduction Purpose Describe Javas relationship to the OSS community Describe OSS tools used on recent project.
Carlo Tarantola Senior Director EMEA Mobile and Wireless Center of Expertise Warsaw, Poland Oracle Corporation.
Welcome to Middleware Joseph Amrithraj
Apache Struts Technology
The Developer Perspective Michelle Osmond. Design – Requirements Gathering Sales & Research projects –Prototypes/Demos User group meetings Usability workshops.
פתרונות J2EE וטכנולוגיות Oracle Mr. Liran Zelkha, Chief Architect
2136: Developing Web GUI Using JSF  Vishy Kasar.
6/2/2015Page 1 SOA Development and Deployment B. Ramamurthy.
DT228/3 Web Development Introduction to Java Server Pages (JSP)
Model-View-Controller ("MVC") This is a architectural design pattern for interactive applications. This design pattern organizes an interactive application.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
VS.NET Course Introduction By Peter Huang. About Me Peter Huang –Microsoft Certified Solution Developer (MCSD) –Sun Certified Java 2 Programmer (SCJP)
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Apache Struts Technology A MVC Framework for Java Web Applications.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
J AVA SE, EE, AND ME Compiled (with permission) from Sang Shin’s Introduction to Java EE Online Course Introduction to Java EE Online Course.
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
Praxis Softek Solutions Statement Of Qualification – J2EE.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
Java Server Faces St. Louis JavaSIG June 8, 2006 Jay Meyer, Harpoon Technologies.
Web Applications Harry R. Erwin, PhD University of Sunderland CIT304/CSE301.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
1 CHAPTER 1 OVERVIEW of JDEVELOPER. 2 Overview of JDeveloper Oracle’s JDeveloper 10g (JDeveloper) is an integrated development environment for Java programming.
AJAX Without the “J” George Lawniczak. What is Ajax?
JBoss Developer Studio. JBoss Developer Studio provides a certified open source development environment that includes and integrates: Eclipse Eclipse.
JDeveloper 10g and JavaServer Faces: High-Performance UIs on the Web Avrom Roy-Faderman Senior Programmer May, 2006.
Introduction to J2EE Architecture Portions by Kunal Mehta.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Cloud Computing Computer Science Innovations, LLC.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
Team S07. Agenda Scope of project Global use case diagram Analysis use cases High Level design (Software Architecture) Prototype challenges faced and.
Java GUI building approaches Aleksandar Kartelj Faculty of Mathematics, Belgrade 11 th Workshop “Software Engineering Education and.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
Paperless Timesheet Management Project Anant Pednekar.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
3246 JSF Support in JBuilder 2005 Karl Ewald R&D Engineer Borland Software Corporation.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
JAVA EE 6 Best Practices for Migrating Spring to WTF ?!?
ThinStructure: An Overview Support for ThinStructure demonstration. Jean Georges Perrin – Annandale, 21 st April 2004.
® IBM Software Group © 2003 IBM Corporation IBM WebSphere Studio V5.1.2: Making Java Development Easier May 2004.
2 Copyright © 2004, Oracle. All rights reserved. ADF Development Process.
Apache Struts Technology A MVC Framework for Java Web Applications.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
CS320 Web and Internet Programming Web Application and MVC Chengyu Sun California State University, Los Angeles.
Java Application Development Services on Different Platforms.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Recent trends in estimation methodologies
Introduction to J2EE Architecture
IBM Start Now Host Integration Solutions
Enterprise Application Architecture
Design and Maintenance of Web Applications in J2EE
CIS16 Application Development – Programming with Visual Basic
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
JavaServer Faces: The Fundamentals
Intro to J2EE Concepts.
Presentation transcript:

Saif Kamaal Java Server Faces (JSF) Next Generation User Interface

About Me Masters in Computer Applciation from Mumbai University. Software developer for 3 years (2007) Java Web development since 2006 SCJP, SCWCD, Weblogic Certified. Recent projects use JSF- Richfaces, Hibernate, JBoss, Oracle Working on Code Generation.

Summary Brief History of JSF. Motivations for JSF, the Java Landscape. JSF details. Demo apps in JSF and Richfaces.

How UI Framework originated? Tradition applications were desktop applications based on AWT and then Swing. The origin of internet and increase in the number of clients gave rise to web based applications. Traditional web based applications were written in servlets (still a number of projects are based on servlets). Then came JSP and people said “We have got what we always wanted” – no sooner they realized how wrong they were . Some technologies came here and went like light.

Application Development a Layered Approach

Why go for a Layered Approach ? strategic separation of different elements each layer is organized to provide support and base functionality to the next easier to solve multiple small problems than fewer big ones mitigates risk of technological evolution value in consistency helps maintenance

A Common Layer Stack

Benefits of a Layered Approach Change to a different Data Source with minimal effort - through Data Access Layer Add new Deployment Options - e.g. Add a Web Services Layer over the Business Services Layer Storage & Data Structures are independent of the Presentation Layer and so on …

Layer Deployments on Tiers Layers reside on the same machine, same runtime and any object visible to one layer can be passed to the other either by Value or by Reference. Tiers could be on different machines or on different runtimes, hence the data has to passed by Value only - as serialized objects.

Issues with Servlet In terms of creating a Grapical user interface,servlet is tough to use.Because you have to write huge code to send html text to client. No separation of concern. Java and HTML mix. Change in presentation part also required compiling the whole servlet. And the list goes on….

Sample Servlet Code

Issues with JSP JSP were created beacause complaints of developers like me and you who were tired of typing out.println(" " + pageInfo.getTitle() + " "); into their servlet code. To solve the problem of separation of concerns but … And so on..

Sample JSP Code

Saif Kamaal Emirates Group IT Enters JSF Next Generation User Interface

What is Java Server Faces? JSF is a spec which defines a component-based MVC framework JSF 1.2 is included in the larger JEE5 spec The spec was developed by involving many people from orgs like Sun, Apache, IBM, Oracle Not tied to a Web framework, nor a thick-client GUI – theoretically could be applied to either Implementations, frameworks: Sun RI vs. Apache MyFaces JBoss Seam vs. Apache Struts 2 Shale IBM, Oracle have proprietary solutions

The Problem with Web apps HTML? HTML? Java people like Objects, HTML is not Objects Web programming is more difficult than GUI programming Java programming is hard – and J2EE is even more difficult: Servlets? JSP? EJBs!?! Microsoft has VisualStudio which turns web programming into drag-and-drop, that looks easy! 10 minute demo!

Answer: a Framework! (yet another framework, of course) Struts – reduced lines of code, made apps pretty complex, created a niche of skilled Struts mercenaries WebWork – fixed some of the Struts hassle SpringMVC – brought powerful AOP concepts to web dev Tapestry – JSP? dump it, XML rules!

MVC WARS any Web apps in 2006 means seeing a mix of Struts, Tapestry, Spring MVC, and Webwork (consultant: which one pays the best?) the battle rages on, who will win? how can you tell who won? Trust Craig? Trust Rod? How can a OSS project define victory? Converting legacy apps: Struts is dead! long live Struts 2 Action and Struts 2 Shale!!! How can I possibly pick one for a new project, when the technology is under attack?

JSF to the rescue Make Committees, Not War! get the big players together to solve MVC problems in a standard way, argue, compromise, repeat... publish final Spec Use components, not actions, more like Swing, less like Struts Set a standard so we can build derivative products like IDEs with drag-n- drop ease, without worrying about change The differentiator that JSF brings, which other similar frameworks do not have, is the backing of a standard specification (JSR127). Because JSF is part of the J2EE standard specification, it is a top priority for every major J2EE tools vendor in the market (including Oracle, IBM, Borland, and Sun) to support it, which in turn will guarantee a wide adoption and good tools support. and the main objective...

We will hit the target !!!!

3 Tier Application

MVC – not again …

How the two brothers are different?

How the JSF Specification Fits In

errr... What’s a component? the JSF spec defines a standard set of components and relationships the View layer (e.g. JSP) and the Java code on the server use these components to interact and pass data JSF tree is the current set of components in a Java object graph Struts, Webwork, SpringMVC use actions, not components

typical JSF component tree View Form input command combo input

Enough of bla bla..some real action please Setup tools like Eclipse 3.5, Maven, 2.x, Tomcat/JBoss. Download the jsf jars. Additionally can use JBoss Tools.