Web Development in Java Part I

Size: px
Start display at page:

Download "Web Development in Java Part I"

Transcription

1 Web Development in Java Part I Vítor E. Silva Souza (vitorsouza@inf.ufes.br) ~ vitorsouza Department of Informatics Federal University of Espírito Santo (Ufes), Vitória, ES Brazil

2 License'for'use'and'distribu0on' This'material'is'licensed'under'the'Crea0ve'Commons'' license'a9ribu0on:sharealike'4.0'interna0onal;' You'are'free'to'(for'any'purpose,'even'commercially):' Share:'copy'and'redistribute'the'material'in'any'' medium'or'format;' Adapt:'remix,'transform,'and'build'upon'the'material;' Under'the'following'terms:' A9ribu0on:'you'must'give'appropriate'credit,'provide'a'link'to' the'license,'and'indicate'if'changes'were'made.'you'may'do' so'in'any'reasonable'manner,'but'not'in'any'way'that'suggests' the'licensor'endorses'you'or'your'use;' ShareAlike:'if'you'remix,'transform,'or'build'upon'the' material,'you'must'distribute'your'contribu0ons'under'the' same'license'as'the'original.' More information can be found at: February'2014' Web'Development'in'Java' 2'

3 Outline'of'part'I' Basic'concepts:'what'are'Web'Applica0ons?' History'&'evolu0on'of'WebApps;' Quick'demonstra0ons;' Java'EE'Web'Profile;' Tools'for'Java'EE'Web'Profile'development;' Learning'in'prac0ce' 'the'java'hostel'demo:' Decora0on'with'Facelets;' Pages'and'controllers'in'JSF;' Wiring'components'with'CDI;' Persistence'with'JPA.' February'2014' Web'Development'in'Java' 3'

4 So'you ve'mastered'java ' What'about ' AWT/Swing, SWT, JavaFX? Android, Java ME, Java Card? Servlets, JSP, JSF, Facelets, CDI Java EE! Our focus: Java + Web February'2014' Web'Development'in'Java' 4'

5 What'is'a'Web'Applica0on?' A'distributed'system;' Access'via'a'Web'browser:' HyperText'Transfer'Protocol'(HTTP);' HTML,'JavaScript,'CSS,' ;' Popular'and'ubiquitous'user'client.' Similarity'to' vanilla '(non:web,'regular)'applica0ons:' Composed'of'GUI,'business'rules,'domain'data,' persistence'media,'etc.;' Can'range'from'a' Hello,'world! 'to'very'complex,' millions:of:users,'mlocs'systems.' According to Facebook has ~ 60 MLOCs (including backend) February'2014' Web'Development'in'Java' 5'

6 It'started'with'the'(sta0c)'Web' Born'in'1989'as'a'more'effec0ve'communica0on'system' for'cern'(european'organiza0on'for'nuclear'research).' GET /index.html HTTP/1.0 Host: [...] HTTP Request Looks for index.html file, merges with headers and sends back HTTP Response HTTP/ OK Date: Fri, 15 Apr :12:30 GMT Server: Apache/ [...] Last-Modified: Wed, 23 Mar :43:22 GMT Content-Length: Content-Type: text/html [...] Tim Berners-Lee, creator of the WWW February'2014' Web'Development'in'Java' 6'

7 Soon'enough'pages'were'built'dynamically' GET /index.cgi HTTP/1.0 Host: [...] HTTP Request HTTP Response HTTP/ OK Date: Fri, 15 Apr :12:30 GMT Server: Apache/ [...] Last-Modified: Wed, 23 Mar :43:22 GMT Content-Length: Content-Type: text/html [...] 1: Runs a program associated with index.cgi; 2: Program returns text contents in HTML 3: Merges the result with HTTP headers and sends it back to client. February'2014' Web'Development'in'Java' 7'

8 Web'Development'was'born' Web'Development'consists'in'wri0ng'programs'that' respond'to'requests'using'http'and'produce'results'in' a'browser:compa0ble'language'(not'just'html!);' Many'components'involved:' The'Web'server;' The'Web'pages,'style'sheets,'scripts,'images,'etc.;' Code'in'a'programming'language;' Exis0ng'APIs,'frameworks,'libraries.' February'2014' Web'Development'in'Java' 8'

9 Evolu0on'of'Web'technologies' 1993:'CGI' 'Common'Gateway'Interface' 'C,'C++,' Fortran,'Perl,'etc.;' 1994:'Macromedia'Coldfusion,'PHP;' 1995:'Microsoq'ASP;' 1996:'Java'Servlets;' 1999:'JavaServer'Pages'(JSP);' ' Today:'Rich'Internet'Applica0ons' AJAX;' Flash'Ac0onScript;' HTML5,'etc.' February'2014' Web'Development'in'Java' 9'

10 A'brief'word'on'AJAX' AJAX'='Asynchronous'JavaScript'and'XML;' S0ll'request:response,'that'hasn t'changed!' JavaScript'makes'a'smaller'request,'using'an' object'called'xmlhttprequest;' Small'XML'chunks'are'exchanged'between' browser'and'server,'with'par0al'data;' The'webpage s'document'object'model' (DOM)'is'manipulated;' Only'parts'of'the'(X)HTML'page' are'changed'as'result.' We will see how to do this in Java! February'2014' Web'Development'in'Java' 10'

11 Evolu0on'of'Java'Web'technologies' 1995:'official'launch,'in'the'beginning'was'the'Applet;' 1996:'Java'Servlets;' 1999:'JavaServer'Pages'(JSP);' 1999:'J2EE'plauorm'(1.3'in'2001,'1.4'in'2003);' 2000:'Apache'Struts,'pioneer'MVC'framework;' 2004:'JavaServer'Faces;' 2006:'Java'EE'5;' 2009:'Java'EE'6;' 2013:'Java'EE'7.' February'2014' Web'Development'in'Java' 11'

12 Java'Servlets' 1) Read configuration: which class responds to this request? GET /hello HTTP Request web.xml HTTP Response Hello, World! The time now is 3) The method produces an appropriate response, to send back to client. Servlet Container 2) Instantiates the Servlet and calls the appropriate method. Servlet Business Logic February'2014' Web'Development'in'Java' 12'

13 Container???' A'container'is'a'soqware'that'manages'components' with'a'very'specific'lifecycle;' A'Servlet'(one'of'many'such'components):' Is'created'when'its'URL'is'requested;' Executes'a'method'that'corresponds'to'the'request;' Is'collected'by'the'GC'aqer'the'response.' Combined'with'a'soqware'that' talks 'in'http'through' a'port'(80,'8080,'etc.),'you'get'a'java'web'server.' February'2014' Web'Development'in'Java' 13'

14 Back'to'Servlets ' Not'necessarily'for'the'Web;' The'Web'Servlet,'the'most'used'one,'implements' javax.servlet.http.httpservlet:' doget(),'dopost(),'etc.;' init(),'destroy();' HttpServletRequest/Response;' response:'setcontenttype(),'getwriter().' February'2014' Web'Development'in'Java' 14'

15 Java'Servlets' Live Demo February'2014' Web'Development'in'Java' 15'

16 Comple0ng'the'Web'Applica0on' A'default'index.html' webpage;' A'form'in'the'page'sends' data'to'the'servlet:'name' of'the'visitor;' The'Servlet'now'says' Hello,'<visitor s'name> ' instead.' February'2014' Web'Development'in'Java' 16'

17 GET'and'POST'requests' Known as query string, this is how a GET request sends data. Let s try sending it via POST instead February'2014' Web'Development'in'Java' 17'

18 Fast'forward'to'Servlets'3.1 ' Annota0ons'for'URL'mapping;' Asynchronous'requests;' Non:blocking'I/O;' HTTP'upgrade'protocol;' Security'upgrades'against'session'fixa0on'a9acks;' Etc.' February'2014' Web'Development'in'Java' 18'

19 Servlets'are'annoying' Wri0ng'an'en0re'page'with'a'PrintWriter:' try (PrintWriter out = resp.getwriter()) { out.write("<html><head><title>hello!</title></head><body>"); out.write("<h1>hello, " + req.getparameter("visitor") + "!</h1>"); out.write("<p>the time now is " + new Date() + "</p>"); out.write("</body></html>"); } ' = "HelloServlet", urlpatterns = {"/hello"}) (Also, remember that initially Servlets had to be mapped in web.xml!) February'2014' Web'Development'in'Java' 19'

20 JavaServer'Pages'(JSP)' 1) Looks for the helloworld.jsp file GET/POST /helloworld.jsp HTTP Request Web pages HTTP Response Hello, visitor! The time now is 3) The response looks like the execution of the page as a script (like PHP) Servlet Container 2) Automatically transforms the JSP in a Servlet and calls it Transformed Servlet Business Logic February'2014' Web'Development'in'Java' 20'

21 JSP'Standard'Tag'Library' Tag'Libraries'provide'tags'that'encapsulate'func0onality' common'to'many'jsp'applica0ons;' JSTL'defines'a'standard'set'of'tags'that'all'Java'Web' Servers'must'implement'(standardiza0on'effort):' Core:'variable'support,'flow'control,'URL' management,'miscellaneous;' XML:'XML'transforma0on'and'other'func0ons;' I18N:'locale'se{ng,'message'forma{ng,'number/ date'forma{ng;' SQL:'database'opera0ons;' Func0ons:'collec0on'length,'string'manipula0on.' February'2014' Web'Development'in'Java' 21'

22 JSP'Standard'Tag'Library' Examples:' taglib uri=" prefix="c" %> <c:foreach var="item" items="${sessionscope.cart.items}">... </c:foreach> <c:set var="bookid" value="${param.remove}"/> <jsp:usebean id="bookid" type="java.lang.string" /> <% cart.remove(bookid); %> <sql:query var="books" datasource="${applicationscope.bookds}"> select * from PUBLIC.books where id =? <sql:param value="${bookid}" /> </sql:query> <c:url var="url" value="/catalog" > <c:param name="add" value="${bookid}" /> </c:url> <p><strong><a href="${url}"> February'2014' Web'Development'in'Java' 22'

23 Something'wrong'with'this'model ' Not'the'ideal'place'for'business'logic:' <html> [...] <% Connection conn; PreparedStatement stmt; conn = Database.connect(); stmt = conn.preparestatement("sql"); ResultSet rs = stmt.executequery(); // Business logic here... stmt = conn.preparestatement("sql"); stmt.executeupdate(); %> [...] </html> February'2014' Web'Development'in'Java' 23'

24 Model'2'or'MVC' GET/POST /hello.action HTTP Request HTTP Response Hello, visitor! The time now is *.action Servlet Container 1) Read configuration: which class responds to this request? some.xml 3) Depending on the response, chooses the appropriate view and sends it back to the client Front Controller 2) Instantiates and executes the action class. Action class Business Logic February'2014' Web'Development'in'Java' 24'

25 Model:View:Controller' Born'in'the'1970s'for'Smalltalk'in'the'Xerox'PARC;' Originally'for'GUIs'(Swing'also'based'on'it);' But'also'well:suited'for'the'Web:' Web'pages'and'other'Web'resources'are'the'view:' focus'on'presenta0on;' Your'business'logic'is'the'model:'informa0on'and' func0onality,'independent'of'presenta0on;' The'framework'and'your'ac0on'classes'are'the' controller:'mediator'between'model'and'view.' February'2014' Web'Development'in'Java' 25'

26 Example'in'Struts 2' <s:form namespace="/examples" action= calculateage" method="post"> <s:textfield label= Name" name= name" /> <s:textfield label= Birth date" name= birthdate" /> <s:submit value= Calculate Age" /> </s:form> public class CalculateAgeAction extends ActionSupport { private String name; private Date birthdate; private int age; // + getters and setters From the Struts 2 tag library, by the way } public String execute() throws Exception { age = calculatedifference(birthdate, new Date()); return SUCCESS; } <p>hello ${name}, you are ${age} years old.</p> This, instead, is FreeMarker February'2014' Web'Development'in'Java' 26'

27 Further'room'for'improvement ' Low'produc0vity'due'to'lack'of'reusable'components;' Vast'range'of'frameworks,'no'standard;' Lack'of'good'IDE'support'(related'to'previous'issues);' Separa0on'of'roles'could'be'further'improved.' February'2014' Web'Development'in'Java' 27'

28 JavaServer'Faces' Standard'specifica0on:'1.0,'1.1'in'2004,'1.2'in'2006' (Java'EE'5),'2.0'in'2008'(Java'EE'6);' Currently'in'version'2.2,'part'of'Java'EE'7;' Builds'on'the'idea'of'reusable'components;' Similar'to'an'MVC'framework:' Component:based'instead'of'ac0on:based;' Represents'UI'components'and'manages'their'state;' Event'handling;' Naviga0on'control;' Component'tag'library.' February'2014' Web'Development'in'Java' 28'

29 JSF'component'libraries' February'2014' Web'Development'in'Java' 29'

30 JSF'component'libraries' February'2014' Web'Development'in'Java' 30'

31 JavaServer'Faces' Live Demo February'2014' Web'Development'in'Java' 31'

32 Java'Edi0ons' Standard'Edi0ons:' Java'1.0'(1996);' Java'1.1'(1997);' J2SE'1.2'(1998);' J2SE'1.3'(2000);' J2SE'1.4'(2002);' Java'1.5'/'Java'5'(2004);' Java'SE'6'(2006);' Java'SE'7'(2011);' Java'SE'8'(expected'2014);' Java'SE'9'(expected'2016).' Enterprise'Edi0ons:' JPE'project'(1998);' J2EE'1.2'(1999);' J2EE'1.3'(2001);' J2EE'1.4'(2003);' Java'EE'5'(2006);' Java'EE'6'(2009);' Java'EE'7'(2013).' February'2014' Web'Development'in'Java' 32'

33 Java'for'the'enterprise' Sun'Microsystems'started'with'extensions'for' enterprise'java'customers.'examples:' JNDI:'Java'Naming'and'Directory'Interface;' JTS:'Java'Transac0ons'Service;' Loose'extensions'were'confusing'at'first,'so'eventually' Sun'joined'them'together'in'a'plauorm:'J2EE;' Sun'provided'the'spec,'a'reference'implementa0on'and' a'compa0bility'test'suite'to'cer0fy'applica0on'servers;' [Applica0on'Programming' 'Service'Provider]'Interface:' Programmers'write'code'to'the'API;' Vendors'implement'the'API'via'SPIs.' (In theory) February'2014' Web'Development'in'Java' 33'

34 Remember'containers?' Java'EE'applica0on'servers'are'also'containers'to:' Servlets;' Enterprise'Java'Beans;' Transac0ons;' Etc.' J2EE 1.2 JDBC Standard Extension API 2.0 Java Naming and Directory Interface Specification (JNDI) February'2014' Web'Development'in'Java' 34' 1.2 RMI-IIOP 1.0 Java Servlets 2.2 JavaServer Pages (JSP) 1.1 Enterprise JavaBeans (EJB) 1.1 Java Message Service API (JMS) 1.0 Java Transaction API (JTA) 1.0 JavaMail API 1.1 JavaBeans Activation Framework (JAF) 1.0

35 Enterprise'Java'Beans' At'the'core'of'J2EE:' Session'EJBs'provided'func0onality;' En0ty'EJBs'represented'domain'concepts'and' provided'persistence;' Message:driven'EJBs'respond'to'events.' Unfortunately,'it'suffered'a'lot'of'problems:' Very'complex'API,'driqed'away'from'OO;' Persistence'of'En0ty'EJBs'was'terrible;' Poor'performance.' Trivia: EJB-OSS! JBOSS! JBoss Got'eventually'replaced'by' lightweight 'frameworks,' such'as'hibernate'and'spring'framework.' February'2014' Web'Development'in'Java' 35'

36 De'facto'vs.'de'jure' Popularity'of'frameworks'led'to'a'major'change'of' standards;' Beginning'in'Java'EE'5,'many'of'its'technologies'were' inspired 'by'frameworks:' JPA'is'just'like'Hibernate'(Gavin'King'led'the'spec);' CDI'uses'dependency'injec0on,'like'Spring;' Facelets'provides'decora0on'like'Sitemesh/Tiles;' JSF'has'MVC:like'behavior.' If you can t win February'2014' Web'Development'in'Java' 36'

37 Java'EE'6:'pruning'and'Web'Profile' Bean Validation CDI (Contexts and Dependency Injection) for the Java EE Platform EL (Expression Language) Java EE 6 Web Profile Common Annotations for the Java Platform EJB (Enterprise Java Beans) Lite Entity Beans JACC (Java Authorization Service Provider Contract for Containers) Java EE Deployment API JavaMail JAX-RS (Java API for RESTful Web Services) JAXR (Java API for XML Registries) JMS (Java Messaging Service) JSF (JavaServer Faces) JSTL (Standard Tag Library for JavaServer Pages) Managed Beans Interceptors JASPIC (Java Authentication Service Provider Interface for Containers) Java EE Management API JAX-RPC (Java API for XML-based RPC) JAXB (Java Architecture for XML Binding) JCA (Java EE Connector Architecure) JPA (Java Persistence API) JSP (JavaServer Pages) JTA (Java Transaction API) Web Services Metadata for the Java Platform Servlet February'2014' Web'Development'in'Java' 37'

38 My'proposed'architecture' Facelets Primefaces Web pages Entities JSF JPA Managed Beans Session Beans DAOs CDI February'2014' Web'Development'in'Java' 38'

39 Tools/for/Java/EE/development/ Installing'and'configuring'the'database,'IDE'and' applica0on'server' February'2014' Web'Development'in'Java' 39'

40 Vast'assortment'of'tools' IDEs Application Servers Database Management Systems And these are just some examples February'2014' Web'Development'in'Java' 40'

41 Our'choice'for'this'tutorial' WildFly 8 CR1 (formerly JBoss Application Server) Eclipse IDE (Kepler) MySQL Community Server 5 February'2014' Web'Development'in'Java' 41'

42 Eclipse'4.3.1' February'2014' Web'Development'in'Java' 42'

43 Eclipse'4.3.1' Download'Eclipse'IDE'for'Java'EE'Developers;' Make'sure'you'check'the'OS'version;' Unpack;' Execute.' February'2014' Web'Development'in'Java' 43'

44 WildFly'8'CR1' February'2014' Web'Development'in'Java' 44'

45 WildFly'8'CR1' Download;' Unpack;' Manual'opera0on:' Start'it'via'scripts'inside'bin/'folder;' Deploy'applica0ons'by'copying'them'to'standalone/ deployments/'folder;' Alterna0vely,'integrate'with'Eclipse'with ' February'2014' Web'Development'in'Java' 45'

46 'JBoss'Tools' Integrate'Eclipse'&'WildFly:' Help'>'Install'New'Soqware ;' Work'with:'h9p://download.jboss.org/jbosstools/ updates/stable/kepler/;' Install'JBoss'Web'and'Java'EE'Development''>' JBossAS'Tools,'restart'Eclipse;' File'>'New'>'Other '>'Server'>'Server;' Select'WildFly'and'point'to'the'server s'directory.' Deploy/undeploy,'start/stop' the'server'from'eclipse.' February'2014' Web'Development'in'Java' 46'

47 MySQL'Community'Server'5' February'2014' Web'Development'in'Java' 47'

48 MySQL'Community'Server'5' Run'installer:' MacOS'DMG,'Windows'MSI,'Debian'DEB,'etc.;' Also'install'the'MySQL'WorkBench:' h9p://dev.mysql.com/downloads/tools/workbench/' You'will'also'need'MySQL'Connector/J:' h9p://dev.mysql.com/downloads/connector/j/' Make'sure'the'MySQL'server'is'running'for'the'tutorial' (instruc0ons'depend'on'opera0ng'system).' February'2014' Web'Development'in'Java' 48'

49 Giving'WildFly'a'way'to'connect'to'MySQL' February'2014' Web'Development'in'Java' 49'

50 Giving'WildFly'a'way'to'connect'to'MySQL' Contents'of'module.xml:' Folder structure <?xml version="1.0" encoding="utf-8"?> <module xmlns="urn:jboss:module:1.1" name="com.mysql"> <resources> <resource-root path="mysql-connector-java bin.jar"/> </resources> <dependencies> <module name="javax.api"/> </dependencies> </module> MySQL Connector/J depends on basic Java EE APIs Name of the JAR file inside modules/com/mysql/main February'2014' Web'Development'in'Java' 50'

51 The/Java/Hostel/tutorial/ Developing'a'Java'EE'Web'Profile'applica0on'from'scratch.' An'overview'of'basic'Java'EE'6'Web'Profile'technologies.' February'2014' Web'Development'in'Java' 51'

52 Learn'by'example' Overview'of'some'of'the'main'Java'EE'(Web'Profile)' technologies:'jsf,'facelets,'cdi,'jpa;' Development'of'a'simple'but'real'applica0on:'the' website'for'a'hostel;' Detailed'instruc0ons'(a'bit'outdated)'in'my'blog:' h9p:// a:java:ee:6:web:profile:applica0on:from:scratch' Other'resources:' h9ps://github.com/feees/sigme/wiki/como:obter:e: executar:o:sigme'(in'portuguese);' h9ps://github.com/nemo:ufes/nemo:u0ls/wiki.' February'2014' Web'Development'in'Java' 52'

53 We'need'a'database'and'user' February'2014' Web'Development'in'Java' 53'

54 We'need'a'database'and'user' Database: javahostel User: javahostel Password: javahostel February'2014' Web'Development'in'Java' 54'

55 We'also'need'a'data'source'in'WildFly' Change'standalone/configura0on/standalone.xml:' <subsystem xmlns="urn:jboss:domain:datasources:2.0"> <datasources> <datasource jndi-name="java:jboss/datasources/javahostel" poolname="javahostelpool" enabled="true" jta="true" use-javacontext="true" use-ccm="true"> <connection-url> jdbc:mysql://localhost:3306/javahostel </connection-url> <driver>mysql</driver> <security> <user-name>javahostel</user-name> <password>javahostel</password> </security> </datasource> <drivers> <driver name="mysql" module="com.mysql"/> </drivers> </datasources> February'2014' Web'Development'in'Java' 55'

56 Ready!'What s'the'plan?' Create'the'project'with'the'appropriate'configura0on;' Apply'a'decorator'so'it'looks'good'right'away;' Facelets Write'domain'classes'and'create'the'DB'schema;' JPA Implement'the'guest'registra0on'feature.' JSF CDI JPA February'2014' Web'Development'in'Java' 56'

57 1':'Ini0al'project'configura0on' Some'Java'EE'technologies'require'configura0on:' JSF:'' WEB:INF/faces:config.xml;' Resource'bundles,'locale,'naviga0on'rules,'etc.;' Not'used'in'JavaHostel;' JPA:' META:INF/persistence.xml;' Data'source,'persistence'provider'and'its'proper0es.' February'2014' Web'Development'in'Java' 57'

58 How'does'it'work?' Mul0ple'JPA'providers:' The'container'has'one'(or'more)'implementa0on(s):' WildFly'"'Hibernate,'GlassFish'"'EclipseLink;' You'can'add'your'favorite'one'to'the'container;' JPA'Providers'are'not'standard'(persistence.xml'is):' Hibernate:'hibernate.hbm2ddl.auto'='create;' EclipseLink:'eclipselink.ddl:genera0on'='create:tables;' Once'JPA'is'configured,'the'container'is'ready'to'provide' us'with'an'en0ty'manager,'which'can'perform'orm' opera0ons'(we ll'get'there);' JSF'just'needs'the'configura0on'file'to'be'there ' February'2014' Web'Development'in'Java' 58'

59 2':'Let s'decorate'with'facelets' Download'an'exis0ng'template'(or'make'your'own):' h9p:// templatemo_104_hotel;' Create'a'decorator'file:'HTML'file'with'placeholders'' for'parts'of'the'page;' Apply'the'decorator'to'all'pages;' You'can'have'different'decorators'for'different' sec0ons,'different'users/roles,'etc.;' We'will'use'XHTML'(HTML'+'XML)'from'now'on.' Trust'me,'it s'be9er.' February'2014' Web'Development'in'Java' 59'

60 How'does'it'work?' Facelets'is'based'on'JSF:' xmlns:ui=" xmlns:h=" The'decorator'is'a'standard'(X)HTML'page,'but:' <h:body>'and'<h:head>'allow'jsf'features'to'work;' Tags'in'the'decorator'show'where'content'goes:' <ui:insert name="title" /> <ui:insert name="contents">blank page.</ui:insert> Default value if page doesn t provide contents for a specific section. February'2014' Web'Development'in'Java' 60'

61 How'does'it'work?' Pages'that'use'the'decorator'are'not'HTML'documents,' but'facelets'composi0ons:' <ui:composition xmlns=" xmlns:ui=" xmlns:f=" xmlns:h=" template="/resources/decorator.xhtml"> Pages'only'need'to'worry'about'their'contents.'No'need' to'repeat'layout'code:' <ui:define name="title">welcome</ui:define> <ui:define name="contents"> <h1>welcome to JavaHostel</h1> <p>under development.</p> </ui:define> CSS'also'helps'a'lot ' February'2014' Web'Development'in'Java' 61'

62 3':'Let s'talk'about'the'domain' Implement'the'following'domain'classes,'plus'tell'JPA' how'to'map'them'to'rela0onal'database'tables:' February'2014' Web'Development'in'Java' 62'

63 How'does'it'work?' public class... Although'not'mandatory,'en00es'should'have'ar0ficial' = GenerationType.AUTO) private Long id; Simple'a9ributes'need'no'annota0on'(but'if'must,'you' private String name; February'2014' Web'Development'in'Java' 63'

64 How'does'it'work?' private Date birthdate; Associa0ons'can'be'one:to:many,'many:to:one'and' private Guest private Set<Bed> beds; Bi:direc0onal'associa0ons'need'to'be'connected'with' = CascadeType.ALL, mappedby = "room") private Set<Bed> beds; February'2014' Web'Development'in'Java' 64'

65 4':'We'need'to'create'the'DB'tables ' Do'we'really?' February'2014' Web'Development'in'Java' 65'

66 How'does'it'work?' <property name="hibernate.hbm2ddl.auto" value="create"/> For even the very wise cannot see all ends. February'2014' Web'Development'in'Java' 66'

67 5':'Let s'actually'do'something ' Guest'registra0on:' Guest'enters'her'name,'birthDate,' 'and' password;' If'guest'is'underage,'display'a'message'explaining' minors'cannot'register;' Otherwise,'save'the'informa0on'in'the'database'and' display'a'success'message.' February'2014' Web'Development'in'Java' 67'

68 February'2014' Web'Development'in'Java' 68'

69 How'(the'****)'does'it'work?' JSF Page JSF Expression Language / CDI JSF Controller <h:inputtext id="name" value="#{registrationcontroller.guest.name}" size="30" /> <h:inputtext id="birthdate" value="#{registrationcontroller.guest.birthdate}" size="10"> <f:convertdatetime pattern="dd/mm/yyyy" /> </h:inputtext> JSF Converters! <h:commandbutton action="#{registrationcontrolle r.register}" value="register" public class RegistrationController implements Serializable {... Guest getguest() String register() getname() setname() getbirthdate() setbirthdate()... Guest.java February'2014' Web'Development'in'Java' 69'

70 JSF'page'<:>'controller'communica0on' Whenever'a'JSF'page'is'rendered,'EL'is'interpreted:' I.e.,'#{registra0onController.guest.name}'becomes' registra0oncontroller.getguest().getname();' The'registra0onController'object'is'created'for'you;' When'you'send'the'next'request'to'the'server,'JSF'will' update'the'state'of'the'components'at'the'controller:' I.e.,'registra0onController.getGuest().setName(n)'is' called,'where'n'='contents'of'the'field;' This'happens'in'any'request,'not'only'the'ones'that' call'registra0oncontroller.somemethod()!' If'the'field'has'a'forma9er,'it'parses/formats'the'data.' February'2014' Web'Development'in'Java' 70'

71 Enters'CDI' Why'is'this'par0cular'class'instan0ated'when'the'EL' There'are'other'scopes:'request,'conversa0on,' applica0on,'flash'(this'last'one'is'jsf,'not'cdi);' There'is'much'more'to'CDI ' February'2014' Web'Development'in'Java' 71'

72 CDI'meets'EJBs' JSF Controller CDI everywhere Inject RegistrationService private RegistrationService registrationservice; public class private EntityManager entitymanager; entitymanager.persist(guest); Entity Manager provided by the application server (WildFly provides Hibernate) February'2014' Web'Development'in'Java' 72'

73 The'container'can'have'a'share'pool'of'instances;' @LocalBean'means'the'EJB'is'not'split'between' interface'and'implementa0on;' Now'that'I'think'about'it,'it' should'have'been ' Remote'vs.'local' interface.' February'2014' Web'Development'in'Java' 73'

74 Back'to'JSF' Where'to'go'aqer'the'controller'executes?' catch (UnderAgeGuestException e) { age = e.getage(); return "/registration/underage.xhtml"; } return "/registration/success.xhtml"; Returning'null'or'void,'the'same'page'is'reloaded;' You'can'also'have'naviga0on'rules'in'faces:config.' Data'from'the'controller'is'shown'in'the'result'page:' <p>dear <h:outputtext value="#{registrationcontroller.guest.name} />, unfortunately underage people are not allowed to register as guests and, according to your birth date, you have only <h:outputtext value="#{registrationcontroller.age}" /> years.</p> <p>dear <h:outputtext value="#{registrationcontroller.guest.name} />, welcome to JavaHostel.</p> February'2014' Web'Development'in'Java' 74'

75 Next' More'on'JSF:'AJAX'support,'converters,'forma9ers,' i18n,'facelets'components,'etc.;' More'on'CDI:'scopes,'producers,'qualifiers,' interceptors,'decorators,'events,'etc.;' More'on'JPA:'element'collec0ons,'bean'valida0on,' JPQL,'criteria'API,'etc.;' More'on'EJBs:'authoriza0on,'local/remote'interfaces,' singleton'ejbs,'asynchronous'invoca0ons,'etc.;' Use'a'JSF'component'library'(e.g.,'PrimeFaces).' February'2014' Web'Development'in'Java' 75'

76 h9p://nemo.inf.ufes.br/' February'2014' Web'Development'in'Java' 76'

Web Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8)

Web Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8) Web Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8) Java Servlets: 1. Switch to the Java EE Perspective (if not there already); 2. File >

More information

OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden

OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive

More information

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team The Java EE 6 Platform Alexis Moussine-Pouchkine GlassFish Team This is no science fiction Java EE 6 and GlassFish v3 shipped final releases on December 10 th 2009 A brief History Project JPE Enterprise

More information

Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java

Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java Java EE Introduction, Content Component Architecture: Why and How Java EE: Enterprise Java The Three-Tier Model The three -tier architecture allows to maintain state information, to improve performance,

More information

Announcements. Comments on project proposals will go out by email in next couple of days...

Announcements. Comments on project proposals will go out by email in next couple of days... Announcements Comments on project proposals will go out by email in next couple of days... 3-Tier Using TP Monitor client application TP monitor interface (API, presentation, authentication) transaction

More information

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish Ludovic Champenois Oracle Corporation The following is intended to outline our general product direction. It is intended for information

More information

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN OpenShift is FanPaaStic For Java EE By Shekhar Gulati Promo Code JUDCON.IN About Me ~ Shekhar Gulati OpenShift Evangelist at Red Hat Hands on developer Speaker Writer and Blogger Twitter @ shekhargulati

More information

Java EE 6 Ce qui vous attends

Java EE 6 Ce qui vous attends 13 janvier 2009 Ce qui vous attends Antonio Goncalves Architecte Freelance «EJBs are dead...» Rod Johnson «Long live EJBs!» Antonio Goncalves Antonio Goncalves Software Architect Former BEA Consultant

More information

JBoss SOAP Web Services User Guide. Version: 3.3.0.M5

JBoss SOAP Web Services User Guide. Version: 3.3.0.M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin. Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company

More information

Java Platform, Enterprise Edition (Java EE) From Yes-M Systems LLC Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE

Java Platform, Enterprise Edition (Java EE) From Yes-M Systems LLC Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE Java Platform, Enterprise Edition (Java EE) From Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE programming Student Location To students from around the world Delivery Method:

More information

Glassfish, JAVA EE, Servlets, JSP, EJB

Glassfish, JAVA EE, Servlets, JSP, EJB Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,

More information

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture

More information

Agilité des applications Java EE 6

Agilité des applications Java EE 6 Agilité des applications Java EE 6 Guillaume Sauthier, Bull, OW2 TC Chairman guillaume.sauthier@ow2.org Agenda Java EE 6 Main goals Agile? Web Profile What's inside? Benefits Java EE 6 > Main goals Ease

More information

Complete Java Web Development

Complete Java Web Development Complete Java Web Development JAVA-WD Rev 11.14 4 days Description Complete Java Web Development is a crash course in developing cutting edge Web applications using the latest Java EE 6 technologies from

More information

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. JAVA ENTERPRISE IN A NUTSHELL Third Edition Jim Farley and William

More information

WebSphere Training Outline

WebSphere Training Outline WEBSPHERE TRAINING WebSphere Training Outline WebSphere Platform Overview o WebSphere Product Categories o WebSphere Development, Presentation, Integration and Deployment Tools o WebSphere Application

More information

CSI 2132 Lab 8. Outline. Web Programming JSP 23/03/2012

CSI 2132 Lab 8. Outline. Web Programming JSP 23/03/2012 CSI 2132 Lab 8 Web Programming JSP 1 Outline Web Applications Model View Controller Architectures for Web Applications Creation of a JSP application using JEE as JDK, Apache Tomcat as Server and Netbeans

More information

Java EE 7: Back-End Server Application Development

Java EE 7: Back-End Server Application Development Oracle University Contact Us: 01-800-913-0322 Java EE 7: Back-End Server Application Development Duration: 5 Days What you will learn The Java EE 7: Back-End Server Application Development training teaches

More information

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise

More information

JBoss JEE5 with EJB3.0 on NonStop. JAVA SIG, San Jose

JBoss JEE5 with EJB3.0 on NonStop. JAVA SIG, San Jose Presentation JBoss JEE5 with EJB3.0 on NonStop JAVA SIG, San Jose Jürgen Depping CommitWork GmbH Agenda Motivation JBoss JEE 5 Proof of concept: Porting OmnivoBase to JBoss JEE5 for NonStop ( with remarks

More information

JAVA/J2EE DEVELOPER RESUME

JAVA/J2EE DEVELOPER RESUME 1 of 5 05/01/2015 13:22 JAVA/J2EE DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on a Contract

More information

Course Name: Course in JSP Course Code: P5

Course Name: Course in JSP Course Code: P5 Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: ITKP@3i-infotech.com Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i

More information

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility

More information

CrownPeak Java Web Hosting. Version 0.20

CrownPeak Java Web Hosting. Version 0.20 CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,

More information

Rapid Application Development. and Application Generation Tools. Walter Knesel

Rapid Application Development. and Application Generation Tools. Walter Knesel Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,

More information

RESIN APPLICATION SERVER JAVA EE 6 WEB PROFILE

RESIN APPLICATION SERVER JAVA EE 6 WEB PROFILE RESIN APPLICATION SERVER JAVA EE 6 WEB PROFILE White paper By Reza Rahman Copyright 2011 Caucho Technology, Inc. All rights reserved. All names are used for identification purposes only and may be trademarks

More information

Enterprise Java Web Application Frameworks & Sample Stack Implementation

Enterprise Java Web Application Frameworks & Sample Stack Implementation Enterprise Java Web Application Frameworks & Sample Stack Implementation Mert ÇALIŞKAN mcaliskan@stm.com.tr STM Inc. 2009 Who am I? The Software Plumber :) SCJP certified dude bla bla... Open Source Evangelist

More information

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. Java in Web 2.0 Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. 1 Agenda Java overview Technologies supported by Java Platform to create Web 2.0 services Future

More information

Building Web Applications, Servlets, JSP and JDBC

Building Web Applications, Servlets, JSP and JDBC Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing

More information

Introduction to Sun ONE Application Server 7

Introduction to Sun ONE Application Server 7 Introduction to Sun ONE Application Server 7 The Sun ONE Application Server 7 provides a high-performance J2EE platform suitable for broad deployment of application services and web services. It offers

More information

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc. Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc. J1-680, Hapner/Shannon 1 Contents The Java 2 Platform, Enterprise Edition (J2EE) J2EE Environment APM and

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

JEE Web Applications Jeff Zhuk

JEE Web Applications Jeff Zhuk JEE Web Applications Jeff Zhuk From the book and beyond Integration-Ready Architecture and Design Cambridge University Press Software Engineering With XML, Java,.NET, Wireless, Speech and Knowledge Technologies

More information

CS 55.17. Developing Web Applications with Java Technologies

CS 55.17. Developing Web Applications with Java Technologies CS 55.17 Developing Web Applications with Java Technologies Class Introduction Instructor: David B. Pearson Email: Dpearson@SantaRosa.edu Yahoo! ID: DavidPearson Website: http://www.santarosa.edu/~dpearson/

More information

The end. Carl Nettelblad 2015-06-04

The end. Carl Nettelblad 2015-06-04 The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan

More information

<Insert Picture Here> Java EE 7. Linda DeMichiel Java EE Platform Lead

<Insert Picture Here> Java EE 7. Linda DeMichiel Java EE Platform Lead 1 Java EE 7 Linda DeMichiel Java EE Platform Lead The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

More information

Framework Adoption for Java Enterprise Application Development

Framework Adoption for Java Enterprise Application Development Framework Adoption for Java Enterprise Application Development Clarence Ho Independent Consultant, Author, Java EE Architect http://www.skywidesoft.com clarence@skywidesoft.com Presentation can be downloaded

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

Web Application Architecture (based J2EE 1.4 Tutorial)

Web Application Architecture (based J2EE 1.4 Tutorial) Web Application Architecture (based J2EE 1.4 Tutorial) 1 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee of Sun Microsystems, the contents here are created as his own personal

More information

Web Programming II JSP (Java Server Pages) ASP request processing. The Problem. The Problem. Enterprise Application Development using J2EE

Web Programming II JSP (Java Server Pages) ASP request processing. The Problem. The Problem. Enterprise Application Development using J2EE Enterprise Application Development using J2EE Shmulik London Lecture #6 Web Programming II JSP (Java Server Pages) How we approached it in the old days (ASP) Multiplication Table Multiplication

More information

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9 UNIT I J2EE Platform 9 Introduction - Enterprise Architecture Styles - J2EE Architecture - Containers - J2EE Technologies - Developing J2EE Applications - Naming and directory services - Using JNDI - JNDI

More information

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance. This course teaches system/application administrators to setup, configure and manage an Oracle WebLogic Application Server, its resources and environment and the Java EE Applications running on it. This

More information

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies: Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,

More information

Portals, Portlets & Liferay Platform

Portals, Portlets & Liferay Platform Portals, Portlets & Liferay Platform Repetition: Web Applications and Model View Controller (MVC) Design Pattern Web Applications Frameworks in J2EE world Struts Spring Hibernate Data Service Java Server

More information

JBS-102: Jboss Application Server Administration. Course Length: 4 days

JBS-102: Jboss Application Server Administration. Course Length: 4 days JBS-102: Jboss Application Server Administration Course Length: 4 days Course Description: Course Description: JBoss Application Server Administration focuses on installing, configuring, and tuning the

More information

Programma corso di formazione J2EE

Programma corso di formazione J2EE Programma corso di formazione J2EE Parte 1 Web Standard Introduction to Web Application Technologies Describe web applications Describe Java Platform, Enterprise Edition 5 (Java EE 5) Describe Java servlet

More information

Developing Java Web Services

Developing Java Web Services Page 1 of 5 Developing Java Web Services Hands On 35 Hours Online 5 Days In-Classroom A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students

More information

APPLICATION SECURITY ENHANCEMENTS IN JAVA EE 6

APPLICATION SECURITY ENHANCEMENTS IN JAVA EE 6 APPLICATION SECURITY ENHANCEMENTS IN JAVA EE 6 SRINI PENCHIKALA Austin Java User Group Meeting October 26, 2010 ABOUT THE SPEAKER Security Architect Certified Scrum Master Author, Editor (InfoQ) IASA Austin

More information

Core Java+ J2EE+Struts+Hibernate+Spring

Core Java+ J2EE+Struts+Hibernate+Spring Core Java+ J2EE+Struts+Hibernate+Spring Java technology is a portfolio of products that are based on the power of networks and the idea that the same software should run on many different kinds of systems

More information

Extreme Java G22.3033-006. Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Extreme Java G22.3033-006. Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti Extreme Java G22.3033-006 Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Agenda

More information

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post Understanding Architecture and Framework of J2EE using Web Application Devadrita Dey Sarkar,Anavi jaiswal, Ankur Saxena Amity University,UTTAR PRADESH Sector-125, Noida, UP-201303, India Abstract: This

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

IBM WebSphere Server Administration

IBM WebSphere Server Administration IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion

More information

This presentation will provide a brief introduction to Rational Application Developer V7.5.

This presentation will provide a brief introduction to Rational Application Developer V7.5. This presentation will provide a brief introduction to Rational Application Developer V7.5. Page 1 of 11 This presentation will first discuss the fundamental software components in this release, followed

More information

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server

More information

Accelerated Java EE Open Source Development with Eclipse CON1905

Accelerated Java EE Open Source Development with Eclipse CON1905 Accelerated Java EE Open Source Development with Eclipse CON1905 Greg Stachnick Sr. Principle Product Manager Oracle, Development Tools September 30, 2014 Program Agenda 1 2 3 4 The Eclipse Ecosystem Getting

More information

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Course Number: IAC-SOFT-WDAD Web Design and Application Development Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10

More information

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead Eclipse Web Tools Platform Naci Dai (Eteration), WTP JST Lead 2007 by Naci Dai and Eteration A.S. ; made available under the EPL v1.0 Istanbul April 30, 2007 Outline WTP Organization JSF Overview and Demo

More information

T-4 - Develop Better Java EE Applications With Eclipse Web Tools Platform. Christopher M. Judd. President/Consultant Judd Solutions, LLC

T-4 - Develop Better Java EE Applications With Eclipse Web Tools Platform. Christopher M. Judd. President/Consultant Judd Solutions, LLC T-4 - Develop Better Java EE Applications With Eclipse Web Tools Platform Christopher M. Judd President/Consultant Judd Solutions, LLC Christopher M. Judd President/Consultant of Judd Solutions Leader

More information

Why IBM WebSphere Application Server V8.0?

Why IBM WebSphere Application Server V8.0? Why IBM Application Server V8.0? Providing the right application foundation to meet your business needs Contents 1 Introduction 2 Speed the delivery of new applications and services 3 Improve operational

More information

Design Approaches of Web Application with Efficient Performance in JAVA

Design Approaches of Web Application with Efficient Performance in JAVA IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 141 Design Approaches of Web Application with Efficient Performance in JAVA OhSoo Kwon and HyeJa Bang Dept

More information

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER OXAGILE RESUMES SENIOR JAVA SOFTWARE ENGINEER SUMMARY OF QUALIFICATIONS Over 4 years of solid experience in software development, application programming and engineering Strong expertise in J2EE architectures,

More information

WebSphere Server Administration Course

WebSphere Server Administration Course WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What

More information

Enterprise JavaBeans' Future: Getting Simpler, More Ubiquitous, but Not Dominant

Enterprise JavaBeans' Future: Getting Simpler, More Ubiquitous, but Not Dominant Research Publication Date: 27 October 2009 ID Number: G00171637 Enterprise JavaBeans' Future: Getting Simpler, More Ubiquitous, but Not Dominant Massimo Pezzini Enterprise JavaBeans (EJB), part of the

More information

Mastering Tomcat Development

Mastering Tomcat Development hep/ Mastering Tomcat Development Ian McFarland Peter Harrison '. \ Wiley Publishing, Inc. ' Part I Chapter 1 Chapter 2 Acknowledgments About the Author Introduction Tomcat Configuration and Management

More information

Web Container Components Servlet JSP Tag Libraries

Web Container Components Servlet JSP Tag Libraries Web Application Development, Best Practices by Jeff Zhuk, JavaSchool.com ITS, Inc. dean@javaschool.com Web Container Components Servlet JSP Tag Libraries Servlet Standard Java class to handle an HTTP request

More information

Module 13 Implementing Java EE Web Services with JAX-WS

Module 13 Implementing Java EE Web Services with JAX-WS Module 13 Implementing Java EE Web Services with JAX-WS Objectives Describe endpoints supported by Java EE 5 Describe the requirements of the JAX-WS servlet endpoints Describe the requirements of JAX-WS

More information

Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI

Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI Tony Ng, Staff Engineer Rahul Sharma, Senior Staff Engineer Sun Microsystems Inc. 1 J2EE Overview Tony Ng, Staff Engineer Sun Microsystems

More information

Web Applications and Struts 2

Web Applications and Struts 2 Web Applications and Struts 2 Problem area Problem area Separation of application logic and markup Easier to change and maintain Easier to re use Less error prone Access to functionality to solve routine

More information

ENGINEER - DEVELOPER ADVANCED JAVA. 28 years old - 7 years of experience

ENGINEER - DEVELOPER ADVANCED JAVA. 28 years old - 7 years of experience Alexandru A. ENGINEER - DEVELOPER ADVANCED JAVA 28 years old - 7 years of experience Business expertise: Languages: Certifications: Software editors Romanian (Native speaker), English (Advanced), Russian

More information

WEB SERVICES. Revised 9/29/2015

WEB SERVICES. Revised 9/29/2015 WEB SERVICES Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Web Services using WebLogic... 1 Developing Web Services on WebSphere... 2 Developing RESTful Services in Java v1.1...

More information

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013 Definition of in a nutshell June, the 4 th 2013 Definition of Definition of Just another definition So what is it now? Example CGI php comparison log-file Definition of a formal definition Aisaprogramthat,usingthe

More information

WIRIS quizzes web services Getting started with PHP and Java

WIRIS quizzes web services Getting started with PHP and Java WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS

More information

Building Web Services with Apache Axis2

Building Web Services with Apache Axis2 2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,

More information

Bienvenue chez le Ch ti JUG!

Bienvenue chez le Ch ti JUG! Bienvenue chez le Ch ti JUG! Programme Bienvenue chez le Ch ti JUG Le mot du sponsor Les JUGs en France Java EE 6, qu est-ce qui nous attend? L interro Le buffet Le sponsor de cette session Ch ti JUG Les

More information

Operations and Monitoring with Spring

Operations and Monitoring with Spring Operations and Monitoring with Spring Eberhard Wolff Regional Director and Principal Consultant SpringSource Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission

More information

Implementation of an Enterprise-level Groupware System Based on J2EE Platform and WebDAV Protocol

Implementation of an Enterprise-level Groupware System Based on J2EE Platform and WebDAV Protocol Changtao Qu, Thomas Engel, Christoph Meinel: Implementation of an Enterprise-level Groupware System Based on J2EE Platform and WebDAV Protocol in Proceedings of the 4th InternationalEnterprise Distributed

More information

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23 Microsoft SharePoint year SharePoint 2013: Search, Design and 2031 Publishing New SharePoint 2013: Solutions, Applications 2013 and Security New SharePoint 2013: Features, Delivery and 2010 Development

More information

Management. Purdue University. CHEP09 21-27 Mar 2009, Prague, Czech Republic

Management. Purdue University. CHEP09 21-27 Mar 2009, Prague, Czech Republic AW Web bportal for CMS Grid Job Submission and Management David Braun, Norbert Neumeister Purdue University CHEP09 21-27 Mar 2009, Prague, Czech Republic Introduction Investigated possibilities to provide

More information

Developing modular Java applications

Developing modular Java applications Developing modular Java applications Julien Dubois France Regional Director SpringSource Julien Dubois France Regional Director, SpringSource Book author :«Spring par la pratique» (Eyrolles, 2006) new

More information

JBoss Enterprise Application Platform 6.2 Development Guide

JBoss Enterprise Application Platform 6.2 Development Guide JBoss Enterprise Application Platform 6.2 Development Guide For Use with Red Hat JBoss Enterprise Application Platform 6 Edition 1 Nidhi Chaudhary Lucas Costi Russell Dickenson Sande Gilda Vikram Goyal

More information

Agenda. Web Development in Java. More information. Warning

Agenda. Web Development in Java. More information. Warning Agenda Web Development in Java Perdita Stevens, University of Edinburgh August 2010 Not necessarily quite in this order: From applets to server-side technology (servlets, JSP, XML; XML basics and object

More information

JVA-561. Developing SOAP Web Services in Java

JVA-561. Developing SOAP Web Services in Java JVA-561. Developing SOAP Web Services in Java Version 2.2 A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards

More information

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management APAC WebLogic Suite Workshop Oracle Parcel Service Overview Jeffrey West Application Grid Product Management Oracle Parcel Service What is it? Oracle Parcel Service An enterprise application to showcase

More information

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or Pistoia_ch03.fm Page 55 Tuesday, January 6, 2004 1:56 PM CHAPTER3 Enterprise Java Security Fundamentals THE J2EE platform has achieved remarkable success in meeting enterprise needs, resulting in its widespread

More information

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden Beginning POJOs From Novice to Professional Brian Sam-Bodden Contents About the Author Acknowledgments Introduction.XIII xv XVII CHAPTER1 Introduction The Java EE Market Case Study: The TechConf Website...

More information

EclipseLink. Solutions Guide for EclipseLink Release 2.5

EclipseLink. Solutions Guide for EclipseLink Release 2.5 EclipseLink Solutions Guide for EclipseLink Release 2.5 October 2013 Solutions Guide for EclipseLink Copyright 2012, 2013 by The Eclipse Foundation under the Eclipse Public License (EPL) http://www.eclipse.org/org/documents/epl-v10.php

More information

Further evolved with trusted and proven technologies

Further evolved with trusted and proven technologies Further evolved with trusted and proven technologies All Rights Reserved. Copyright 2013, Hitachi, Ltd. In this era of cloud computing, system development requires flexibility. The Cosminexus application

More information

Developing XML Solutions with JavaServer Pages Technology

Developing XML Solutions with JavaServer Pages Technology Developing XML Solutions with JavaServer Pages Technology XML (extensible Markup Language) is a set of syntax rules and guidelines for defining text-based markup languages. XML languages have a number

More information

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE: Java WebService BENEFITS OF ATTENDANCE: PREREQUISITES: Upon completion of this course, students will be able to: Describe the interoperable web services architecture, including the roles of SOAP and WSDL.

More information

Nicholas S. Williams. wrox. A Wiley Brand

Nicholas S. Williams. wrox. A Wiley Brand Nicholas S. Williams A wrox A Wiley Brand CHAPTER 1; INTRODUCING JAVA PLATFORM, ENTERPRISE EDITION 3 A Timeline of Java Platforms 3 In the Beginning 4 The Birth of Enterprise Java 5 Java SE and Java EE

More information

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache. JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming

More information

GlassFish. Developing an Application Server in Open Source

GlassFish. Developing an Application Server in Open Source GlassFish Developing an Application Server in Open Source Santiago Pericas-Geertsen Sun Microsystems, Inc. http://weblogs.java.net/blog/spericas/ Santiago.PericasGeertsen@sun.com 1 1 Who am I? BA from

More information

Creating Java EE Applications and Servlets with IntelliJ IDEA

Creating Java EE Applications and Servlets with IntelliJ IDEA Creating Java EE Applications and Servlets with IntelliJ IDEA In this tutorial you will: 1. Create IntelliJ IDEA project for Java EE application 2. Create Servlet 3. Deploy the application to JBoss server

More information

Enterprise Application Development In Java with AJAX and ORM

Enterprise Application Development In Java with AJAX and ORM Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering p.grenyer@validus-ivc.co.uk http://paulgrenyer.blogspot.com

More information

Building and Using Web Services With JDeveloper 11g

Building and Using Web Services With JDeveloper 11g Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the

More information

Das Spring Framework - Einführung in leichtgewichtige J2EE Architektur. Jürgen Höller. Organized by:

Das Spring Framework - Einführung in leichtgewichtige J2EE Architektur. Jürgen Höller. Organized by: Do 3.4 Das Spring Framework - Einführung in leichtgewichtige J2EE Architektur Jürgen Höller Organized by: Lindlaustr. 2c, 53842 Troisdorf, Tel.: +49 (0)2241 2341-100, Fax.: +49 (0)2241 2341-199 www.oopconference.com

More information