Java EE 5, 6 et les EJBs 3.1

Size: px
Start display at page:

Download "Java EE 5, 6 et les EJBs 3.1"

Transcription

1 Java EE 5, 6 et les EJBs 3.1 Antonio Goncalves Tours JUG le 11/06/08 1

2 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

3 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

4 Antonio Goncalves Consultant / Architecte senior Spécialiste Java / Java EE Ancien de BEA Systems Enseignant à l université du CNAM Expert Group JSR 316 (Java EE 6) JSR 317 (JPA 2.0) JSR 318 (EJB 3.1) Auteur Java EE 5 Co-créateur du Paris JUG

5 Et vous? J2EE 1.4 Java EE 5 Spring / Hibernate / Struts Java EE 6

6 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

7 Historique de Java EE Facilité de développement (web) Services web Facilité de développement Java EE 5 Java EE 6 Application d entreprise Robustesse J2EE 1.4 J2EE 1.2 J2EE 1.3 Profiles Projet JPE Servlet JSP EJB JMS RMI/IIOP CMP Connecteur Services web Déploiement Annotations EJB 3 Persistance Services web EJB 3.1 JPA 2.0 Servlet 3 JSF 2.0 JAX-RS Mai 1998 Déc specs Sept specs Nov specs Mai specs 2009 ~27 specs

8 A propos de Java EE 5 Développé sous la JSR 244 Sortie en Mai 2006 (+ GlassFish V1) Facilité de développement EoD (Ease of Development) Compatible avec J2EE 1.4 Le meilleur des deux mondes Spécifications Inspiré de l'open source

9 Les grandes nouveautés Rupture par rapport à J2EE 1.4 Simplification des EJB et WebServices Nouvelle API de persistance (JPA) Model de développement POJO Injection de dépendance Utilisation des annotations Descripteurs XML optionnel Développement par exception Facilite les applications web avec JSF

10 Contenu Java EE 5 23 specifications Web : JSF 1.2, JSP 2.1, JSTL 1.2, Servlet 2.5 Enterprise : Common Annotations 1.0, EJB 3.0, JAF 1.1, JavaMail 1.4, JCA 1.5, JMS 1.1, JPA 1.0, JTA 1.1 Web Services : JAX-RPC 1.1, JAX-WS 2.0, JAXB 2.0, SAAJ 1.0, StAX 1.0, Web Services 1.2, Web Services Metadata 2.0 Management & Security : JACC 1.1, Java EE Application Deployment 1.2, Java EE Management 1.1

11 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

12 Stateless EJB 2.1 Home interface public interface HelloHome extends EJBHome { Hello create() throws RemoteException, CreateException; Interface locale public interface Hello extends EJBObject { String sayhello() throws RemoteException; Date today() throws RemoteException; EJB public class HelloBean implements SessionBean { public HelloBean() { public String sayhello() {return "Hello Petstore!"; public Date today() {return new Date(); Descripteur <ejb-jar> <enterprise-beans> <session> <display-name>hellosb</display-name> <ejb-name>hellobean</ejb-name> <home>hellohome</home> <remote>hello</remote> <ejb-class>hellobean</ejb-class> <session-type>stateless</session-type> <transaction-type>container</transaction-type> </session> <assembly-descriptor> <container-transaction> <method> <ejb-name>hellobean</ejb-name> <method-name>*</method-name> </method> <trans-attribute>required</trans-attribute> </container-transaction> </assembly-descriptor> </enterprise-beans> </ejb-jar> public void ejbcreate() throws CreateException { public void setsessioncontext( SessionContext sessioncontext) throws EJBException { public void ejbremove() throws EJBException { public void ejbactivate() throws EJBException { public void ejbpassivate() throws EJBException {

13 Stateless EJB 3.0 public interface Hello { String sayhello() throws RemoteException; Date today() throws RemoteException; public class HelloBean implements Hello { public String sayhello() {return "Hello Petstore!"; public Date today() {return new Date();

14 Annotations des

15 Entity Bean CMP 2.1 Home interface public interface HelloHome extends EJBHome { Hello create(string cle) throws RemoteException, CreateException; Hello findbyprimarykey(string cle) throws RemoteException, FinderException; Interface locale public interface Hello extends EJBObject { String getcle() throws RemoteException; String getvaleur() throws RemoteException; void setvaleur(string valeur) throws RemoteException; EJB public abstract class HelloBean implements EntityBean { public abstract String getcle() throws RemoteException; public abstract void setcle(string cle) throws RemoteException; public abstract String getvaleur() throws RemoteException; public abstract void setvaleur(string valeur) throws RemoteException; public String ejbcreate(string cle) throws RemoteException, setcle(cle); return null; CreateException { public void ejbpostcreate(string cle) throws CreateException{ public void setentitycontext(entitycontext entitycontext) throws EJBException { public void unsetentitycontext() throws EJBException { public void ejbremove() throws RemoveException, EJBException { public void ejbactivate() throws EJBException { public void ejbpassivate() throws EJBException { public void ejbload() throws EJBException { public void ejbstore() throws EJBException { Descripteur ejb-jar.xml <ejb-jar> <enterprise-beans> <entity> <display-name>helloeb</display-name> <ejb-name>hellobean</ejb-name> <home>hellohome</home> <remote>hello</remote> <ejb-class>hellobean</ejb-class> <persistence-type>container</persistence-type> <prim-key-class>java.lang.string</prim-key-class> <reentrant>false</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>hello</abstract-schema-name>; <cmp-field> <field-name>cle</field-name> </cmp-field> <cmp-field> <field-name>valeur</field-name> </cmp-field> <primkey-field>cle</primkey-field> </entity> </enterprise-beans> </ejb-jar> Descripteur propriétaire <jbosscmp-jdbc> <defaults> <datasource>java:/petstoreds</datasource> <datasource-mapping>mysql</datasource-mapping> </defaults> <enterprise-beans> <entity> <ejb-name>hellobean</ejb-name> <table-name>hello_petstore</table-name> <cmp-field> <field-name>cle</field-name> <column-name>key</column-name> <jdbc-type>varchar</jdbc-type> <sql-type>varchar(10)</sql-type> </cmp-field> <cmp-field> <field-name>valeur</field-name> <column-name>value</column-name> <jdbc-type>varchar</jdbc-type> <sql-type>varchar(50)</sql-type> </cmp-field> </entity> </enterprise-beans> </jbosscmp-jdbc>

16 Entity JPA public class Hello private Long cle; private String valeur; public String getcle() {return cle; public String getvaleur() {return valeur; public void setvaleur() {this.valeur = valeur;

17 Service Web J2EE 1.4 Service Web public class HelloServiceImpl implements HelloServiceSEI { public String sayhello(string param) throws java.rmi.remoteexception { return Hello + param; package endpoint; import java.rmi.*; public interface HelloServiceSEI extends java.rmi.remote { public String sayhello(string param) throws java.rmi.remoteexception; <?xml version='1.0' encoding='utf-8'?> <webservices xmlns=' version='1.1'> <webservice-description> <webservice-description-name> HelloService</webservice-description-name> <wsdl-file> WEB-INF/wsdl/HelloService.wsdl</wsdl-file> <jaxrpc-mapping-file> WEB-INF/HelloService-mapping.xml </jaxrpc-mapping-file> <port-component xmlns:wsdlport_ns='urn:helloservice/wsdl'> <port-component-name>helloservice</portcomponent-name> <wsdl-port>wsdlport_ns:helloserviceseiport</wsdl-port> <service-endpoint-interface> endpoint.helloservicesei</service-endpointinterface> <service-impl-bean> <servlet-link>wsservlet_helloservice</servletlink> </service-impl-bean> </port-component> </webservice-description> </webservices> <?xml version='1.0' encoding='utf-8'?> <configuration xmlns=' <service name='helloservice' targetnamespace='urn:helloservice/wsdl' typenamespace='urn:helloservice/types' packagename='endpoint'> <interface name='endpoint.helloservicesei' servantname='endpoint.helloserviceimpl'> </interface> </service> </configuration>

18 Service Web Java EE 5 package endpoint; import public class Hello { public String sayhello(string param) { return Hello + param;

19 JAXB 1.0 Classe générée // See <a href=" // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: ?? 10:37:56 PDT // package generated.impl; public class PointTypeImpl implements generated.pointtype, com.sun.xml.bind.jaxbobject, generated.impl.runtime.unmarshallableobject, generated.impl.runtime.xmlserializable, generated.impl.runtime.validatableobject { protected boolean has_y; protected float _Y; protected boolean has_x; protected float _X; public final static java.lang.class version = (generated.impl.jaxbversion.class); private static com.sun.msv.grammar.grammar schemafragment; private final static java.lang.class PRIMARY_INTERFACE_CLASS() { return (generated.pointtype.class); public float gety() { return _Y; public void sety(float value) { _Y = value; has_y = true; public float getx() { return _X; public void setx(float value) { _X = value; has_x = true; public generated.impl.runtime.unmarshallingeventhandler createunmarshaller(generated.impl.runtime.unmarshallingcontext context) { return new generated.impl.pointtypeimpl.unmarshaller(context); public void serializebody(generated.impl.runtime.xmlserializer context) throws org.xml.sax.saxexception { if (!has_y) { context.reporterror(com.sun.xml.bind.serializer.util.createmissingobjecterror(this, "Y")); if (!has_x) { context.reporterror(com.sun.xml.bind.serializer.util.createmissingobjecterror(this, "X")); context.startelement("", "x"); context.endnamespacedecls(); context.endattributes(); try { context.text(javax.xml.bind.datatypeconverter.printfloat(((float) _X)), "X"); catch (java.lang.exception e) { generated.impl.runtime.util.handleprintconversionexception(this, e, context); context.endelement(); context.startelement("", "y"); context.endnamespacedecls(); context.endattributes(); try { context.text(javax.xml.bind.datatypeconverter.printfloat(((float) _Y)), "Y"); catch (java.lang.exception e) { generated.impl.runtime.util.handleprintconversionexception(this, e, context); context.endelement(); public void serializeattributes(generated.impl.runtime.xmlserializer context) throws org.xml.sax.saxexception { if (!has_y) { context.reporterror(com.sun.xml.bind.serializer.util.createmissingobjecterror(this, "Y")); if (!has_x) { context.reporterror(com.sun.xml.bind.serializer.util.createmissingobjecterror(this, "X")); public void serializeuris(generated.impl.runtime.xmlserializer context) throws org.xml.sax.saxexception { if (!has_y) { context.reporterror(com.sun.xml.bind.serializer.util.createmissingobjecterror(this, "Y")); if (!has_x) { context.reporterror(com.sun.xml.bind.serializer.util.createmissingobjecterror(this, "X")); public java.lang.class getprimaryinterface() { return (generated.pointtype.class); public com.sun.msv.verifier.documentdeclaration createrawvalidator() { if (schemafragment == null) { schemafragment = com.sun.xml.bind.validator.schemadeserializer.deserialize(( "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.sequenceexp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su" +"n.msv.grammar.binaryexp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002l\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra" +"mmar/expression;l\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.expressi" +"on\u00f8\u0018\u0082\u00e8n5~o\u0002\u0000\u0002l\u0000\u0013epsilonreducibilityt\u0000\u0013ljava/lang/boolean;l\u0000\u000b" +"expandedexpq\u0000~\u0000\u0002xpppsr\u0000\'com.sun.msv.grammar.trex.elementpatt" +"ern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001l\u0000\tnameclasst\u0000\u001flcom/sun/msv/grammar/nameclass;" +"xr\u0000\u001ecom.sun.msv.grammar.elementexp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002z\u0000\u001aignoreundecl" +"aredattributesl\u0000\fcontentmodelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000ppsr\u0000\u001bcom.s" +"un.msv.grammar.dataexp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003l\u0000\u0002dtt\u0000\u001florg/relaxng/dataty" +"pe/datatype;l\u0000\u0006exceptq\u0000~\u0000\u0002l\u0000\u0004namet\u0000\u001dlcom/sun/msv/util/string" +"Pair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.FloatType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002" +"\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.floatingnumbertype\u00fc\u00e3\u00b6\u0087\u008c\u00a8 \u00e0\u0002\u0000\u0000" +"xr\u0000*com.sun.msv.datatype.xsd.builtinatomictype\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000" +"%com.sun.msv.datatype.xsd.concretetype\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun" +".msv.datatype.xsd.xsdatatypeimpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003l\u0000\fnamespaceurit\u0000" +"\u0012ljava/lang/string;l\u0000\btypenameq\u0000~\u0000\u0014l\u0000\nwhitespacet\u0000.lcom/sun/" +"msv/datatype/xsd/whitespaceprocessor;xpt\u "2001/XMLSchemat\u0000\u0005floatsr\u00005com.sun.msv.datatype.xsd.WhiteSpac" +"eprocessor$collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.w" +"hitespaceprocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.expre" +"ssion$nullsetexpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.ut" +"il.stringpair\u00d0t\u001ejb\u008f\u008d\u00a0\u0002\u0000\u0002l\u0000\tlocalnameq\u0000~\u0000\u0014l\u0000\fnamespaceuriq\u0000~\u0000" +"\u0014xpq\u0000~\u0000\u0018q\u0000~\u0000\u0017sr\u0000\u001dcom.sun.msv.grammar.choiceexp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000" +"~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.attributeexp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002l\u0000\u0003expq\u0000" +"~\u0000\u0002l\u0000\005valuexp\u0000psq\u0000~\u0000\u000bppsr\u0000\"com.sun.msv.datatype.xsd.qnametype\u0000\u0000\u0000\u0000" +"\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0005qnameq\u0000~\u0000\u001bq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000)q\u0000~\u0000\u0017sr\u0000#com." +"sun.msv.grammar.simplenameclass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002l\u0000\tlocalnameq\u0000~\u0000\u0014l" +"\u0000\fnamespaceuriq\u0000~\u0000\u0014xr\u0000\u001dcom.sun.msv.grammar.nameclass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001" +"\u0002\u0000\u0000xpt\u0000\u0004typet\u0000) +"com.sun.msv.grammar.expression$epsilonexpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000x" +"q\u0000~\u0000\u0003sq\u0000~\u0000$\u0001psq\u0000~\u0000+t\u0000\u0001xt\u0000\u0000sq\u0000~\u0000\u0006pp\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000\u000esq\u0000~\u0000 ppsq\u0000~" +"\u0000\"q\u0000~\u0000%pq\u0000~\u0000&q\u0000~\u0000-q\u0000~\u00001sq\u0000~\u0000+t\u0000\u0001yq\u0000~\u00005sr\u0000\"com.sun.msv.gramma" +"r.expressionpool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001l\u0000\bexptablet\u0000/lcom/sun/msv/gramma" +"r/expressionpool$closedhash;xpsr\u0000-com.sun.msv.grammar.expres" +"sionpool$closedhash\u00d7j\u00d0n\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003i\u0000\u0005countb\u0000\rstreamversionl\u0000\u0006par" +"entt\u0000$lcom/sun/msv/grammar/expressionpool;xp\u0000\u0000\u0000\u0005\u0001pq\u0000~\u0000\u0005q\u0000~\u0000!" +"q\u0000~\u00008q\u0000~\u0000\nq\u0000~\u00007x")); return new com.sun.msv.verifier.regexp.redocumentdeclaration(schemafragment); public class Unmarshaller extends generated.impl.runtime.abstractunmarshallingeventhandlerimpl { public Unmarshaller(generated.impl.runtime.UnmarshallingContext context) { super(context, " "); protected Unmarshaller(generated.impl.runtime.UnmarshallingContext context, int startstate) { this(context); state = startstate; public java.lang.object owner() { return generated.impl.pointtypeimpl.this; public void enterelement(java.lang.string uri, java.lang.string local, java.lang.string qname, org.xml.sax.attributes atts) throws org.xml.sax.saxexception { int attidx; outer: while (true) { switch (state) { case 3 : if (("y" == local)&&("" == uri)) { context.pushattributes( atts, true); state = 4; return ; break; case 0 : if (("x" == local)&&("" == uri)) { context.pushattributes( atts, true); state = 1; return ; break; 308 lignes pour <point><x>1</x><y>2</y></point> 38 fichiers 219 Ko de code

20 JAXB 2.0 =, proporder = { x, Y = point ) public class Point { protected float x; protected flota y; public float getx() { return x; public void setx(float value) { this.x = value; public float gety() { return y; public void sety(float value) { this.y = value; 62 lignes pour <point><x>1</x><y>2</y></point> 2 fichiers 3 Ko de code

21 Lookup J2EE 1.4 public class MyEJB implements SessionBean { private DataSource myds; public void ejbcreate() { try { InitialContext ctx = new InitialContext(); myds = (DataSource)ctx.lookup( myds ); catch (NamingException ex) { // Que faire + le descripteur de déploiement XML

22 Injection en Java EE public class MyEJB myds ) DataSource private HelloEJB helloejb;

23 Moins de lignes de code Adventure Builder J2EE classes, 3284 lignes de code Java EE 5 43 classes, 2777 lignes de code 36% de classes en moins RosterApp J2EE classes, 987 lignes de code Java EE 5 7 classes, 716 lignes de code J2EE 1.4 descripteurs XML 9 fichiers, 792 lignes Java EE 5 descripteurs XML 1 fichier, 5 lignes 58% de classes en moins, 89% de fichiers XML en moins

24 IDEs pour Java EE 5 NetBeans IntelliJ IDEA Eclipse JBuilder JDeveloper JBoss IDE BEA Workshop Studio Sun Java Studio Creator (JSF)

25 Les serveurs d applications GlassFish & Sun Java System AppServer BEA's WebLogic Server 10 TmaxSoft JEUS 6 SAP Netweaver 7.1 Oracle OC4J 11 Apache Geronimo 2.0 JOnAS 5.0 Websphere 7 JBoss 5.0 beta

26 Tests Pas de spécification JUnit HTTPUnit Canoo WebTest Mock Plus facile à tester POJO JPA, moins besoin du conteneur (EntityManager) Ejb3Unit (out of container EJB 3.0 testing) JBoss et GlassFish V3 EJB 3 embeddable container

27 Le déploiement est facilité Descripteurs de déploiement optionnels (ejbjar.xml, application.xml) sauf web.xml, faces-config.xml Utilisation des annotations définir les composants (EJB, WebService ) ORM avec ) définir sécurité ) mode transactionnel (@TransactionAttribute) Pour les clients riches Java Web Start Application Client Container

28 Packaging Conventions.war pour les applications web.rar pour les ressources Le répertoire lib contient les fichiers jar commun à l application (classpath automatique).jar avec un attribut Main-Class pour les applications clientes (ACC).jar avec une classe pour les EJBs.ear pour les applications d entreprise

29 Packaging

30 Compatibilité avec J2EE 1.4 Compatibilité ascendante assurée dans la spécification EJB 3.0 peuvent être clients des EJB 2.1 (et inversement) JPQL peut être utilisé dans les méthodes finder() des anciens EJB 2.1 Compatibilité des EL ($, #) entre JSP et JSF JSP 2.0 s exécutent dans un conteneur JSP 2.1

31 Les patterns? DTO Les Entity JPA peuvent servir de DTO DAO EntityManager pour requêtes simples (CRUD) DAO générique Service Locator Injection, Application Client Container Delegate Injection Action Controller JSF Managed Bean

32 Java EE 5 et Couche Web Pas autant d améliorations que la couche EJB JSP 2.1, JSF 1.2, JSTL Problèmes maintenus Back-refresh du navigateur Double click, double thread Dialogues/flow => Application, Session, Request => JBoss Seam (future WebBeans avec Java EE 6) Utilisation d autres frameworks Clay, Yahoo UI, Facelets, Seam, Shale, Ajax4JSF, ICEFaces, Avatar Java EE 5 : rupture enterprise, pas web!

33 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

34 A propos de Java EE 6 Développé sous la JSR 316 Sortie Q (+ GlassFish V3) Utilisation de profiles Pruning : suppression progressive EJB CMP => JPA JAX-RPC => JAX-WS Servlet 3.0 et JSF 2.0 (annotations) WebBeans 1.0 (inspiré de JBoss Seam) JAX-RS 1.0: RESTful Web Services

35 ~27 specifications Contenu Java EE 6 Web : JSF 2.0, JSP 2.2, JSTL 1.2, Servlet 3.0, JAX- RS 1.0, Web Beans 1.0 Enterprise : Common Annotations 1.0, EJB 3.1, JAF 1.1, JavaMail 1.4, JCA 1.5, JMS 1.1, JPA 2.0, JTA 1.1 Web Services : JAX-RPC 1.1, JAX-WS 2.0, JAXB 2.0, SAAJ 1.0, StAX 1.0, Web Services 2.0, Web Services Metadata 2.0 Management & Security : JACC 1.1, Java EE Application Deployment 1.2, Java EE Management 1.1

36 Servlet 2.5 Servlet public class SimpleSample extends HttpServlet { public void doget (HttpServletRequest req, HttpServletResponse res){ web.xml <web-app> <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>samples.simplesample</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/myapp</url-pattern> </servlet-mapping> </web-app>

37 Servlet MyApp, name= MyServlet ) public class SimpleSample public void handleget(httpservletrequest req, HttpServletResponse res) {

38 Servlet 3.0 Développé sous la JSR 315 web.xml (optionel) modulaire Découpé en web-fragment Servlet asynchrone (style Comet) Programmation @ServletListener

39 JSF 2.0 Développé sous la JSR 314 Inspiré par Facelet Facilite la création de composants graphiques Support d'ajax Moins de configuration (faces-config.xml) Comet?

40 REST REST (REpresentational State Transfer) Architectures orientées ressource Tout est ressource Toute ressource est adressable par une URL Sémantique CRUD GET /articles/123 DELETE /articles/123 Créer Lire Mise à jour Supprimer SQL INSERT SELECT UPDATE DELETE HTTP PUT GET POST DELETE

41 public class OrderResource Order getorder(@pathparam("order_id") String id) {...

42 Web Beans 1.0 Développé sous la JSR 299 Inspiré de JBoss Seam Spec Lead : Gavin King Unifie la couche web et enterprise Glue entre composants (JSF et les EJBs) Contexte conversationel Un composant Web Beans peut être : EJB Managed Bean JSF Entity JPA POJO

43 Web Beans 1.0 Composant Web Beans class Hello { public String say(string name) { return "hello " + name; JSF <h:commandbutton value="say Hello" action="#{hello.say"/>

44 Web Beans 1.0 Composant Web class Hello { public String say(string name) { return "hello " + name; JSF <h:commandbutton value="say Hello" action="#{hello.say"/>

45 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

46 Goals Easier to use New features EJB 3.1 EJB JSR 318 Shipped with Java EE 6 JSR 316 Started in August 2007 ~20 expert members : companies/individuals Early draft in February 2008 JPA has its own spec JSR 317

47 Still under work APIs might change Q Disclaimer

48 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

49 Local private Hello h;... public interface Hello { String public class HelloBean implements Hello { public String sayhello() { return "Hello Tours JUG!";

50 Optional local interface Interfaces are not always needed no-interface view Just the bean All methods are exposed Client injection still needed All container services still available Remote interfaces are not optional!

51 Optional local private HelloBean h;... public class HelloBean { public String sayhello() { return "Hello Tours JUG";

52 Packaging in ear file

53 Packaging EJB ==.ear lib directory has simplified deployment But ear file is still needed to deploy an EJB Even for a simple web application => Deploy an EJB 3.1 in a war file Keeping all EJBs functionalities

54 Packaging in war file

55 Java EE 6 profiles Still in discussion!!! Web Servlet 3.0 JSP 2.2 JSR-45 EL 1.2 JSTL 1.2 JSR-250 Web Dev Servlet 3.0 JSP 2.2 JSR-45 EL 1.2 JSTL 1.2 JSR-250 EJB 3.1 (Lite) JTA 1.1 JPA 2.0 JSF 2.0 Web Beans 1.0 Full platform Servlet 3.0 JSP 2.2 JSR-45 EL 1.2 JSTL 1.2 JSR-250 EJB 3.1 JTA 1.1 JPA 2.0 JSF 2.0 Web Beans 1.0 JAX-RS 1.0 Connectors 1.6 JAX-WS 2.2 JAXB 2.2 JSR JSR JMS 1.1 JAF 1.1 JavaMail 1.4 JSR-115 JSR-196 JSR JSR JAX-RPC1.1 JAXR 1.0

56 EJB «lite» Subset of the EJB 3.1 API To be used in Web profile Local Session Bean Annotations Injection CMT / BMT Interceptors Security Message Driven Beans EJB Web Service Endpoint RMI/IIOP Interoperability Remote interface EJB 2.x Timer service CMP / BMP

57 Global JNDI names Client inside a Hello h; Client outside a container Context ctx = new InitialContext(); Hello h = (Hello) ctx.lookup(???);

58 Global JNDI names Not defined in Java EE Vendor specific Not portable No standard syntax mappedname is a partial solution Global JNDI names are not just for EJBs (datasource, connection factories, queues...) Work in progress!!!

59 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

60 Singleton New session bean component Looks like a stateless / stateful no interface view/local/remote interface One single EJB per application per JVM Use to share state in the entire application State not preserved after container shutdown Container initialization startup

61 public class CachingBean { private Map void init() { cache =...; public Map getcache() { return cache; public void addtocache(object key, Object val) { cache.put(key, val);

62 Singleton and concurrency Single thread (default) too restrictive One instance / Multiple threads CMC (Container Managed Concurrency) Concurrency through annotations Exclusive / shared lock Timeout BMC (Bean Managed Concurrency) synchronized keyword

63 Read-Only Singleton (with public class CachingBean { private Map public Map getcache() { return cache; public void addtocache(object key, Object val) { cache.put(key, val);

64 Read-Mostly Singleton public class CachingBean { private Map cache; public Map getcache() { return public void addtocache(object key, Object val) { cache.put(key, val);

65 syncronized public class CachingBean { private Map cache; public Map getcache() { return cache; synchronized public void addtocache(object key, Object val){ cache.put(key, val);

66 Singleton Startup Richer lifecycle Container initialization Container shutdown Same callback / Forces initialization at statup

67 public class CachingBean { private Map void init() { cache =...; public Map getcache() { return cache; public void addtocache(object key, Object val) { cache.put(key, val);

68 Timer Service Added in EJB 2.1 Didn't change in 3.0 Improved in 3.1 Timer Service Programmatic and Calendar based scheduling Cron-like syntax (but nicer)

69 Timer Service «Last day of the month» «Every Friday at 4pm» «Every five minutes on Monday and Thursday» Cron syntax second [0..59], minute [0..59], hour [0..23], year DayOfMonth [0..31] DayOfWeek [0..7] or [sun, mon, tue..] Month [1..12] or [jan,feb..]

70 Programmatic Timer public class wakeupbean TimerService timer; public void createwakeupcall() { // Every weekday at 9 ScheduleExpression expr = new ScheduleExpression(). dayofweek( Mon-Fri ).hour(9); void wakeup(timer t) {...

71 Automatic Timer public class wakeupbean Mon-Fri, hour= 9 ) void wakeup() {...

72 Asynchronous call How to have asynchronous call in EJBs? JMS is to send messages not to do asynchronous calls Threads are not allowed (don't integrate well) New model Annotations java.util.concurrent API

73 Asynchronous call returning public class OrderBean { public void createorder() { Order order = persistorder(); send (order) ; printorder(order); public Order persistorder() public void send (order order) public void printorder(order order) {...

74 Asynchronous call returning public class OrderBean { public void createorder() { Task task = new Task(...); Future<int> computetask = compute(task);... int result = public Future<int> send (task task) { int result =...; return new javax.ejb.asyncresult<int>(result);

75 Agenda Présentation Java EE 5 Java EE 5 vs J2EE 1.4 Java EE 6 EJB 3.1 Encore plus facile Nouvelles fonctionnalités Questions

76 Java EE 5 Couvre EJB Stateless, Stateful, MDB (JMS) JPA JSF WebServices Glassfish installation & configuration Pour les développeurs et architectes Inspiré du PetStore de Sun 10 chapitres, développement incrémental

77 Références Java EE GlassFish Livre Java EE 5

78 Questions

79 Java EE 5, 6 et les EJBs 3.1 Antonio Goncalves

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

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

Java EE 5 and GlassFish: A Plunge into The Aquarium Harold Carr Sun Microsystems, Inc

Java EE 5 and GlassFish: A Plunge into The Aquarium Harold Carr Sun Microsystems, Inc Java EE 5 and GlassFish: A Plunge into The Aquarium Harold Carr Sun Microsystems, Inc Some rights reserved see last slide Project GlassFish Learn what is Project GlassFish, its relationship to the Java

More information

NetBeans: Universal Tool for Java Development and More. Roman Štrobl Technology Evangelist roman.strobl@sun.com http://blogs.sun.

NetBeans: Universal Tool for Java Development and More. Roman Štrobl Technology Evangelist roman.strobl@sun.com http://blogs.sun. NetBeans: Universal Tool for Java Development and More Roman Štrobl Technology Evangelist roman.strobl@sun.com http://blogs.sun.com/roumen Agenda What is NetBeans? New features in NetBeans 5.5 Developer

More information

What's new in Java EE 6? Antonio Goncalves

What's new in Java EE 6? Antonio Goncalves What's new in Java EE 6? Antonio Goncalves Overall presentation Focuses on news features of Java EE 6 You must know Java EE 5 28 specifications Thousands of pages 60 slides in 60 minutes Agenda Quick overview

More information

Java E-Commerce Martin Cooke, 2002 1

Java E-Commerce Martin Cooke, 2002 1 Java E-Commerce Martin Cooke, 2002 1 Enterprise Java Beans: an introduction Today s lecture Why is enterprise computing so complex? Component models and containers Session beans Entity beans Why is enterprise

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

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

Software Development using MacroMedia s JRun

Software Development using MacroMedia s JRun Software Development using MacroMedia s JRun B.Ramamurthy 6/10/2005 BR 1 Objectives To study the components and working of an enterprise java bean (EJB). Understand the features offered by Jrun4 environment.

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

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

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

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 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

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

Java Servlet 3.0. Rajiv Mordani Spec Lead

Java Servlet 3.0. Rajiv Mordani Spec Lead Java Servlet 3.0 Rajiv Mordani Spec Lead 1 Overview JCP Java Servlet 3.0 API JSR 315 20 members > Good mix of representation from major Java EE vendors, web container developers and web framework authors

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

WebOTX Application Server

WebOTX Application Server lication Server November, 2015 NEC Corporation, Cloud Platform Division, Group Index 1. lication Server features Features for operability improvement Features for reliability improvement Features for

More information

rpaf KTl enterprise EJB 3.1 Cookbook I I flv* IV I I professional expertise distilled

rpaf KTl enterprise EJB 3.1 Cookbook I I flv* IV I I professional expertise distilled EJB 3.1 Cookbook Build real world EJB solutions with a collection of simple but incredibly effective recipes Richard M. Reese rpaf KTl enterprise I I flv* IV I I professional expertise distilled PUBLISHING

More information

Servlet 3.0. Alexis Moussine-Pouchkine. mercredi 13 avril 2011

Servlet 3.0. Alexis Moussine-Pouchkine. mercredi 13 avril 2011 Servlet 3.0 Alexis Moussine-Pouchkine 1 Overview Java Servlet 3.0 API JSR 315 20 members Good mix of representation from major Java EE vendors, web container developers and web framework authors 2 Overview

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

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

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

Reusing Existing * Java EE Applications from Oracle SOA Suite

Reusing Existing * Java EE Applications from Oracle SOA Suite Reusing Existing * Java EE Applications from Oracle SOA Suite Guido Schmutz Technology Manager, Oracle ACE Director for FMW & SOA Trivadis AG, Switzerland Abstract You have a lot of existing Java EE applications.

More information

J2EE Web Development. Agenda. Application servers. What is J2EE? Main component types Application Scenarios J2EE APIs and Services.

J2EE Web Development. Agenda. Application servers. What is J2EE? Main component types Application Scenarios J2EE APIs and Services. J2EE Web Development Agenda Application servers What is J2EE? Main component types Application Scenarios J2EE APIs and Services Examples 1 1. Application Servers In the beginning, there was darkness and

More information

Introduction to Entity Beans

Introduction to Entity Beans Introduction to Entity Beans An example: part 1-the server La struttura dei files packages Client.class jndi.properties packages Jboss ejb.jar.java ejb-jar.xml jboss.sml 1 1 structure of the jar file In

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

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

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

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

JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL)

JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL) JAX-WS JAX-WS - Java API for XML Web Services JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL) Peter R. Egli INDIGOO.COM 1/20 Contents 1. What

More information

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. GlassFish v3 Building an ex tensible modular Java EE application server Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. Agenda Java EE 6 and GlassFish V3 Modularity, Runtime Service Based Architecture

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

Web Development in Java Part I

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

More information

How To Write A Web Framework In Java

How To Write A Web Framework In Java Seam Framework Experience the Evolution of Java ЕЕ Second Edition Michael Juntao Yuan Jacob Orshalick Thomas Heute PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto

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

JAX-WS Developer's Guide

JAX-WS Developer's Guide JAX-WS Developer's Guide JOnAS Team ( ) - March 2009 - Copyright OW2 Consortium 2009 This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license,visit

More information

Enterprise JavaBeans 3.1

Enterprise JavaBeans 3.1 SIXTH EDITION Enterprise JavaBeans 3.1 Andrew Lee Rubinger and Bill Burke O'REILLY Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xv Part I. Why Enterprise JavaBeans? 1. Introduction

More information

<Insert Picture Here> Java EE 7: the New Cloud Platform

<Insert Picture Here> Java EE 7: the New Cloud Platform Java EE 7: the New Cloud Platform Peter Doschkinow Senior Java Architect The following/preceding is intended to outline our general product direction. It is intended for information

More information

Web Service Development Using CXF. - Praveen Kumar Jayaram

Web Service Development Using CXF. - Praveen Kumar Jayaram Web Service Development Using CXF - Praveen Kumar Jayaram Introduction to WS Web Service define a standard way of integrating systems using XML, SOAP, WSDL and UDDI open standards over an internet protocol

More information

<Insert Picture Here> Java EE 7: the New Cloud Platform

<Insert Picture Here> Java EE 7: the New Cloud Platform Java EE 7: the New Cloud Platform Peter Doschkinow Senior Java Architect The following/preceding is intended to outline our general product direction. It is intended for information

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

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

EJB 3.0 and IIOP.NET. Table of contents. Stefan Jäger / stefanjaeger@bluewin.ch 2007-10-10

EJB 3.0 and IIOP.NET. Table of contents. Stefan Jäger / stefanjaeger@bluewin.ch 2007-10-10 Stefan Jäger / stefanjaeger@bluewin.ch EJB 3.0 and IIOP.NET 2007-10-10 Table of contents 1. Introduction... 2 2. Building the EJB Sessionbean... 3 3. External Standard Java Client... 4 4. Java Client with

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

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

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

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

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

<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

Migrating JEE Applications from WLS/WAS to SpringSource tc Server. A Technical Perspective

Migrating JEE Applications from WLS/WAS to SpringSource tc Server. A Technical Perspective Migrating JEE Applications from WLS/WAS to SpringSource tc Server A Technical Perspective W H I T E P A P E R Table of Contents 1. Migrating JEE Applications to tc Server............................. 3

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

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

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

Component Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006

Component Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006 Sophie Chabridon INT - INF Department - Distributed Systems team 2006 Outline 1. Introduction................................................................... 3 2. Overview of EJB Technology.................................................

More information

A Guide to Migrating Enterprise Applications to Spring

A Guide to Migrating Enterprise Applications to Spring A Guide to Migrating Enterprise Applications to Spring Prepared by: Colin Sampaleanu, Co-Founder, SpringSource October 14, 2008 Copyright 2008, SpringSource. Copying, publishing, or distributing without

More information

How To Write A Bean In Java (Java) 2.5.1.2 (Java 2.4.2) (Java.Net) (Javax) 2 (Java Bean) ( Java Bean) 2-4.5

How To Write A Bean In Java (Java) 2.5.1.2 (Java 2.4.2) (Java.Net) (Javax) 2 (Java Bean) ( Java Bean) 2-4.5 JavaBeans Distributed Object Systems 9 Javabeans/EJB Piet van Oostrum Oct 9, 2008 Java Component technology: Components are self-contained, reusable software units that can be visually composed into composite

More information

Aufgabenstellung. Aufgabenstellung

Aufgabenstellung. Aufgabenstellung Aufgabenstellung Konto: Kontonummer, Inhaber, PIN, Guthaben, Zinssatz, Kreditrahmen Funktionsumfang: 1. Bankangestellte: - Einrichten neuer Konten - Änderung Kreditrahmen und Verzinsung für ein Konto Aufgabenstellung

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

White Paper: Why Upgrade from WebSphere Application Server (WAS) v7 to v8.x?

White Paper: Why Upgrade from WebSphere Application Server (WAS) v7 to v8.x? White Paper: Why Upgrade from WebSphere Application Server (WAS) v7 to v8.x? By TxMQ Publishing Services. 1430B Millersport Highway Williamsville, NY 14221 +1 (716) 636-0070 TxMQ.com consulting@txmq.com

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

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

E-mail Listeners. E-mail Formats. Free Form. Formatted

E-mail Listeners. E-mail Formats. Free Form. Formatted E-mail Listeners 6 E-mail Formats You use the E-mail Listeners application to receive and process Service Requests and other types of tickets through e-mail in the form of e-mail messages. Using E- mail

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

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

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 OGSI Hosting Environment Design A Portable Grid Service Container Framework

Java OGSI Hosting Environment Design A Portable Grid Service Container Framework Java OGSI Hosting Environment Design A Portable Grid Service Container Framework Thomas Sandholm, Steve Tuecke, Jarek Gawor, Rob Seed sandholm@mcs.anl.gov, tuecke@mcs.anl.gov, gawor@mcs.anl.gov, seed@mcs.anl.gov

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

Enterprise Applications

Enterprise Applications Module 11 At the end of this module you will be able to: 9 Describe the differences between EJB types 9 Deploy EJBs 9 Define an Enterprise Application 9 Dxplain the directory structure of an Enterprise

More information

Web Application Programmer's Guide

Web Application Programmer's Guide Web Application Programmer's Guide JOnAS Team ( Florent BENOIT) - March 2009 - Copyright OW2 consortium 2008-2009 This work is licensed under the Creative Commons Attribution-ShareAlike License. To view

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

Lösungsvorschläge zum Übungsblatt 13: Fortgeschrittene Aspekte objektorientierter Programmierung (WS 2005/06)

Lösungsvorschläge zum Übungsblatt 13: Fortgeschrittene Aspekte objektorientierter Programmierung (WS 2005/06) Prof. Dr. A. Poetzsch-Heffter Dipl.-Inform. N. Rauch Technische Universität Kaiserslautern Fachbereich Informatik AG Softwaretechnik http://softech.informatik.uni-kl.de/fasoop Lösungsvorschläge zum Übungsblatt

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

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

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application

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

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

applications. JBoss Enterprise Application Platform

applications. JBoss Enterprise Application Platform JBoss Enterprise Application Platform What is it? JBoss Enterprise Application Platform is the industryleading platform for next-generation enterprise Java applications. It provides a stable, open source

More information

Java, SOA and Open source

Java, SOA and Open source Java, SOA and Open source Jouko Ruuskanen Senior IT Architect IBM Software 29/11/2005 2006 IBM Corporation Agenda Is Java Dead? SOA and Driven Development Java platform vs Microsoft Java and SOA Java 5

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

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

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

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

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

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune -411048 Tel: 808-769-4605 / 814-921-0979 www.magdisoft.

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune -411048 Tel: 808-769-4605 / 814-921-0979 www.magdisoft. WebLogic Server Course Following is the list of topics that will be covered during the course: Introduction to WebLogic What is Java? What is Java EE? The Java EE Architecture Enterprise JavaBeans Application

More information

Project SailFin: Building and Hosting Your Own Communication Server.

Project SailFin: Building and Hosting Your Own Communication Server. FSFS Conference: Dec 9-11, Thiruvananthapuram Project SailFin: Building and Hosting Your Own Communication Server. Binod PG Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda SailFin: Open Source Java

More information

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server GlassFish v3 - A Taste of a Next Generation Application Server Peter Doschkinow Senior Java Architect Agenda GlassFish overview and positioning GlassFish v3 architecture Features

More information

Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID

Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID 1 Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net Session ID 2 What s GlassFish v3? JavaEE 6 API for REST (JAX-RS) Better web framework support (Servlet 3.0) WebBeans,

More information

Java EE 6 New features in practice Part 3

Java EE 6 New features in practice Part 3 Java EE 6 New features in practice Part 3 Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. License for use and distribution

More information

EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes

EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes University of Dublin Trinity College EJB & J2EE Component Technology with thanks to Jim Dowling The Need for Component-Based Technologies The following distributed computing development paradigms have

More information

The. Platform. Alexis Moussine-Pouchkine Antonio Goncalves

The. Platform. Alexis Moussine-Pouchkine Antonio Goncalves The Platform Alexis Moussine-Pouchkine Antonio Goncalves Overall Presentation Goal Focus on the new features of Java EE 6 Write a web application Better if you know Java EE 5 This is no science fiction

More information

Configure a SOAScheduler for a composite in SOA Suite 11g. By Robert Baumgartner, Senior Solution Architect ORACLE

Configure a SOAScheduler for a composite in SOA Suite 11g. By Robert Baumgartner, Senior Solution Architect ORACLE Configure a SOAScheduler for a composite in SOA Suite 11g By Robert Baumgartner, Senior Solution Architect ORACLE November 2010 Scheduler for the Oracle SOA Suite 11g: SOAScheduler Page 1 Prerequisite

More information

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS A technical white paper by: InterSystems Corporation Introduction Java is indisputably one of the workhorse technologies for application

More information

FEATURE MATRIX. ORACLE WEBLOGIC SERVER STANDARD EDITION 11g ORACLE WEBLOGIC SERVER ENTERPRISE EDITION 11g ORACLE WEBLOGIC SUITE 11g

FEATURE MATRIX. ORACLE WEBLOGIC SERVER STANDARD EDITION 11g ORACLE WEBLOGIC SERVER ENTERPRISE EDITION 11g ORACLE WEBLOGIC SUITE 11g FEATURE MATRIX ORACLE WEBLOGIC SERVER STANDARD EDITION 11g ORACLE WEBLOGIC SERVER ENTERPRISE EDITION 11g ORACLE WEBLOGIC SUITE 11g KEY FEATURES ORACLE WEBLOGIC SERVER STANDARD EDITION Flexible download

More information

Automatic generation of distributed dynamic applications in a thin client environment

Automatic generation of distributed dynamic applications in a thin client environment CODEN: LUTEDX ( TETS-5469 ) / 1-77 / (2002)&local 26 Master thesis Automatic generation of distributed dynamic applications in a thin client environment by Klas Ehnrot and Tobias Södergren February, 2003

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

Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework

Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 53-69 Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework Marcin Kwapisz 1 1 Technical University of Lodz Faculty

More information

Developing an EJB3 Application. on WebSphere 6.1. using RAD 7.5

Developing an EJB3 Application. on WebSphere 6.1. using RAD 7.5 Developing an EJB3 Application on WebSphere 6.1 using RAD 7.5 Introduction This tutorial introduces how to create a simple EJB 3 application using Rational Application Developver 7.5( RAD7.5 for short

More information

TP JSP : déployer chaque TP sous forme d'archive war

TP JSP : déployer chaque TP sous forme d'archive war TP JSP : déployer chaque TP sous forme d'archive war TP1: fichier essai.jsp Bonjour Le Monde JSP Exemple Bonjour Le Monde. Après déploiement regarder dans le répertoire work de l'application

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 Extending J2EE Applications with Web Services...1 Consuming Existing Web Services...2 Implementing

More information