Which technology will be used to implement this interface? SI4 Project by Pierre Arnoux, Jérémy...

Preview:

Citation preview

Which technology will be used to implement this interface?

SI4 Project byPierre Arnoux, Jérémy Benabu, Steve Colombié and Xavier Gentile

Supervised by Mireille Blay-Fornarino and Sébastien Mosser

Friday, 12th June, 2009

1

StructureStructureProject contextPHP user interfaceJSF user interfaceComparisonConclusion

2Project context › PHP user interface › JSF user interface › Comparison › Conclusion

Project context Project context › Existent› Existent

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 3

PhotosEvents

Menus

INTERFACE (to do)

Bad way!Data base

Good way!

Project context Project context › Objectives› ObjectivesWhich technology is the best?

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 4

STRUTS ?.NET ?PHP ?JSP/JSF ?…

PHP ?JSF ?

Project context Project context › Objectives› ObjectivesCriteria to compare

Diffusion & reliabilityInstallation costUse costInteroperability

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 5

Project context Project context › Planning› Planning

planning

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 6

Use of existing Web ServicesUse of existing Web Services

Jérémy Benabu & Steve Colombié

Pierre Arnoux & Xavier Gentile

Jérémy Benabu & Steve Colombié

Pierre Arnoux & Xavier Gentile

PHP user interfacePHP user interfaceNUSOAP library

Easy installationWell documented Lot of examples

ApachePHP is executed by the serverEasy PHP

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 7

Index.phpIndex.phpIndex.phpIndex.phpMenusMenusMenusMenus

DeleteDeleteDeleteDelete

ModifyModifyModifyModify

CreateCreateCreateCreate

ListingListingListingListing

CoursesCoursesCoursesCourses

CreateCreateCreateCreate DeleteDeleteDeleteDelete

ModifyModifyModifyModifyListingListingListingListing

ProxyProxy ProxyProxy

Courses_proxiesCourses_proxiesCourses_proxiesCourses_proxies Menus_proxiesMenus_proxiesMenus_proxiesMenus_proxies

ProxyProxyProxyProxy

NuSOAPNuSOAP NuSOAPNuSOAP

nusoapnusoapnusoapnusoap

ClassClass.ClassClass.

nusoapmimenusoapmimenusoapmimenusoapmime

PHP user interface PHP user interface › Architecture› Architecture

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 8

PHP user interface PHP user interface › Development› DevelopmentClass Proxy (client):

Call web service with WSDLCall methods

Classes Courses / MenusUse their own proxy ObjectOne file for each functionnality

Easy to call a method (by generic function) Complex to receive parameters

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 9

ProxyServerWSDL

Request

SOAPClient

Answer

PHP user interface PHP user interface › Demonstration› Demonstration

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 10

JSF user interface JSF user interface › Architecture› Architecture

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 11

JSF Pages

Managed Bean

WebServices

Java-based Web Application framework JSF uses a component-based approach

JSF user interface JSF user interface › Development› DevelopmentManaged Bean :

Getting WSDL’s Webservice Creating methods

Calling the WebService methods intuitively Called by JSF pages easily

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 12

Managed Bean

Controller

Web Service

WSDL

JSF user interface JSF user interface › Demonstration› Demonstration

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 13

ComparisonComparison

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 14

JAVA API

VersusJSF PHP

ComparisonComparison

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 15

ComparisonComparison

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 16

ComparisonComparison

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 17

ComparisonComparison

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 18

Comparison Comparison › Results› ResultsJSF is reliable (it’s a standard made by Sun)

JSF is lighter than PHP to build interfaces.

JSF is easier and lighter to use than PHP for managing types (int, String…) .

JSF isn’t trivial to use, learning is needed.

We have chosen JSF

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 19

ConclusionConclusionJSF will be used to implement the

user interfaces of the project jSeduite.

In our report we had made a tutorial about JSF and how to use it.

It was interesting to compare two great technologies.

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 20

Thank you for you attentionThank you for you attentionAny question ?

Project context › PHP user interface › JSF user interface › Comparison › Conclusion 21