SlideShare une entreprise Scribd logo
Implementing Java EE Applications using Enterprise JavaBeans (EJB) 3 Technology: Real World Tips, Tricks, and New Design Patterns Fabiane Bizinella Nardon CTO Zilics www.zilics.com TS-4721 Edgar Silva Solutions Architect JBoss, a division of Red Hat www.jboss.com
Goal ,[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJB 3 Technology New Features ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJB 3 technology in the real world ,[object Object],[object Object],Enterprise Content Management for a Government Agency Project: Human Resources Information system for an IT Company Project: Healthcare Information Systems for Healthcare Providers in Brazil and Angola Project: Financial Services Sales System for a multi-national bank Project:
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Keep the defaults in mind! ,[object Object],[object Object],[object Object],[object Object],[object Object],Session Beans Pitfalls
Some pitfalls still exists ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],@ApplicationException(rollback=true) public class MyException extends Exception ...
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entity Beans Pitfalls ,[object Object],Keep the defaults in mind @Transient public String getAProperty{ … } ,[object Object],[object Object],[object Object],[object Object]
Lazy loading relationships and tiers ,[object Object],[object Object],[object Object],[object Object],[object Object]
Detached Entities and Lazy Loading public Patient getPatientData(PK id) { Patient p = entityManager.find(id); p.getDocuments().size(); // O bjects detach automatically when they  // are serialized or when a persistence context ends. // The specification does not  define any way to  // explicitly detach objects. } public void updatePatient(Patient p) { Patient p = entityManager.merge(p); }
Retrieving meta-information ,[object Object],[object Object],public String getPrimaryKey(Class clazz, EntityManager em) { if (em instanceof  HibernateEntityManager ) {  SessionFactory factory =  ((HibernateEntityManager)em) .getSession().getSessionFactory(); String pk = factory.getClassMetadata(clazz) .getIdentifierPropertyName(); } }
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Message Driven Beans Pitfalls ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Using Dependency Injection ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Using Dependency Injection (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Using Interceptors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Processing annotations in runtime ,[object Object],[object Object],[object Object],public Object findEagerFetch(PK pk, Class object) { // find properties with lazy fetch relationship  // annotations and // build dynamic eager fetch query } ,[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Old and New Design Patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Session Fa çade ,[object Object],@Stateless public class PatientFacadeBean implements PatientFacade {  @PersistenceContext(unitName=”PatientPC&quot;) private EntityManager em; public void addPatient(Patient p){ em.persist(p); } public List<Patient> findPatients() { List<Patient> result = em.createQuery( &quot;SELECT OBJECT(p)  “+ “ FROM Patient p&quot;).getResultList(); return result; } }
Value Object /  Data Transfer Object ,[object Object],[object Object],[object Object]
Fast Lane Reader ,[object Object],[object Object]
Business Delegate ,[object Object],[object Object],[object Object]
Value List Handler ,[object Object],[object Object],Client ValueListHandler Page SessionBean Entity <<getData>> <<iterates>> <<providesData>> 0..n <<instantiates>>
Business Rule Interceptor ,[object Object],[object Object],public void savePatientVisit(Visit v) { if(!currentUser().worksForHospital(v.getHospital) {   throw new SecurityException( “can’t save data”); } if(v.getHospital().equals( “H1”)) { runHospital1BusinessRule(v); } save(visit); }
Business Rule Interceptor (Cont.) ,[object Object],@Interceptors({SecurityInterceptor.class, CustomRulesInterceptor.class}) public void savePatientVisit(Visit v) { save(visit); } ,[object Object]
Entity View ,[object Object],[object Object],SELECT  NEW br.com.zilics.PatientView(p.id, p.name)   FROM Patient p  WHERE p.name LIKE  :name
Eager Loading Parameter ,[object Object],[object Object],public Object findEagerFetch(PK pk, Class object, boolean eagerLoadOneToOne,  boolean eagerLoadOneToMany, int maxFetch ); public Object findEagerFetch(PK pk, Class object, String… relationships );
Data Change Observer ,[object Object],[object Object],[object Object],[object Object],@EntityListeners(QuoteObserver.class) public class Quote implements Serializable {…} public class QuoteObserver { @PostPersist   public void newQuoteAvailable(Quote q) {    EventSystem.alert(q.getName(), q.getValue()); }  }
Exportable Method ,[object Object],[object Object],public Proposal getProposalByCode(String code) { return em.find(Proposal, code); } @WebMethod public String getProposalByCodeAsXML(String code) {   return  XmlTransformer().marshal ( getProposalByCode (code)); }
Exportable Service Broker ,[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Transition impact for the developers ,[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
For More Information ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q&A ,[object Object],[object Object]

Contenu connexe

Similaire à JavaOne 2007 - TS4721

The 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for JavaThe 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for Java
David Chandler
 
Virtual Classroom
Virtual ClassroomVirtual Classroom
Virtual Classroom
chintanshah007
 
Java Basics
Java BasicsJava Basics
Java Basics
shivamgarg_nitj
 
Mobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, PuneMobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, Pune
Bhuvan Khanna
 
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: Legacy
Victor_Cr
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLink
Bill Lyons
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit Testing
James Phillips
 
Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4
Darwin Biler
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
vikram singh
 
Using OTP and gen_server Effectively
Using OTP and gen_server EffectivelyUsing OTP and gen_server Effectively
Using OTP and gen_server Effectively
Ken Pratt
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
dwm042
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
vikram singh
 
Os Leonard
Os LeonardOs Leonard
Os Leonard
oscon2007
 
Microsoft azure data fundamentals (dp 900) practice tests 2022
Microsoft azure data fundamentals (dp 900) practice tests 2022Microsoft azure data fundamentals (dp 900) practice tests 2022
Microsoft azure data fundamentals (dp 900) practice tests 2022
SkillCertProExams
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
Jeff Durta
 
Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2
vikram singh
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2
vikram singh
 
Testing the frontend
Testing the frontendTesting the frontend
Testing the frontend
Heiko Hardt
 
Implementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCImplementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoC
jimfuller2009
 
Introduction to Magento Optimization
Introduction to Magento OptimizationIntroduction to Magento Optimization
Introduction to Magento Optimization
Fabio Daniele
 

Similaire à JavaOne 2007 - TS4721 (20)

The 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for JavaThe 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for Java
 
Virtual Classroom
Virtual ClassroomVirtual Classroom
Virtual Classroom
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Mobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, PuneMobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, Pune
 
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: Legacy
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLink
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit Testing
 
Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
 
Using OTP and gen_server Effectively
Using OTP and gen_server EffectivelyUsing OTP and gen_server Effectively
Using OTP and gen_server Effectively
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
 
Os Leonard
Os LeonardOs Leonard
Os Leonard
 
Microsoft azure data fundamentals (dp 900) practice tests 2022
Microsoft azure data fundamentals (dp 900) practice tests 2022Microsoft azure data fundamentals (dp 900) practice tests 2022
Microsoft azure data fundamentals (dp 900) practice tests 2022
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2
 
Testing the frontend
Testing the frontendTesting the frontend
Testing the frontend
 
Implementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCImplementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoC
 
Introduction to Magento Optimization
Introduction to Magento OptimizationIntroduction to Magento Optimization
Introduction to Magento Optimization
 

Plus de Edgar Silva

API Methodology by Skalena
API Methodology by SkalenaAPI Methodology by Skalena
API Methodology by Skalena
Edgar Silva
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Edgar Silva
 
Skalena - Finance Business Unit
Skalena - Finance Business UnitSkalena - Finance Business Unit
Skalena - Finance Business Unit
Edgar Silva
 
Plataforma de Consentimento (LGDP) Skalena
Plataforma de Consentimento (LGDP) SkalenaPlataforma de Consentimento (LGDP) Skalena
Plataforma de Consentimento (LGDP) Skalena
Edgar Silva
 
Casos de Sucesso WSO2 no Governo Brasileiro
Casos de Sucesso WSO2 no Governo BrasileiroCasos de Sucesso WSO2 no Governo Brasileiro
Casos de Sucesso WSO2 no Governo Brasileiro
Edgar Silva
 
DevOps Tour SP 2019
DevOps Tour SP 2019DevOps Tour SP 2019
DevOps Tour SP 2019
Edgar Silva
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções
Edgar Silva
 
WSO2 Governance Registry 5.4.0 - Overview
WSO2 Governance Registry 5.4.0 - OverviewWSO2 Governance Registry 5.4.0 - Overview
WSO2 Governance Registry 5.4.0 - Overview
Edgar Silva
 
WSO2 Enterprise Integrator 6.1 - Integração na Era da Transformação
WSO2 Enterprise Integrator 6.1 - Integração na Era da TransformaçãoWSO2 Enterprise Integrator 6.1 - Integração na Era da Transformação
WSO2 Enterprise Integrator 6.1 - Integração na Era da Transformação
Edgar Silva
 
Transformação Digital de Forma Pragmatica WSO2
Transformação Digital de Forma Pragmatica WSO2Transformação Digital de Forma Pragmatica WSO2
Transformação Digital de Forma Pragmatica WSO2
Edgar Silva
 
WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017
Edgar Silva
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview
Edgar Silva
 
Workshop WSO2 BPS 3.5.x - BPMN
Workshop WSO2 BPS 3.5.x - BPMN Workshop WSO2 BPS 3.5.x - BPMN
Workshop WSO2 BPS 3.5.x - BPMN
Edgar Silva
 
WSO2 Telco MCX
WSO2 Telco MCXWSO2 Telco MCX
WSO2 Telco MCX
Edgar Silva
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
Edgar Silva
 
WSO2 API Manager : Going beyond the just API Management
WSO2 API Manager : Going beyond the just API ManagementWSO2 API Manager : Going beyond the just API Management
WSO2 API Manager : Going beyond the just API Management
Edgar Silva
 
Workshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerWorkshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services Server
Edgar Silva
 
WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1
Edgar Silva
 
Conectando Turismo e Viagens - Plataforma WSO2
Conectando Turismo e Viagens - Plataforma WSO2Conectando Turismo e Viagens - Plataforma WSO2
Conectando Turismo e Viagens - Plataforma WSO2
Edgar Silva
 
WSO2 Application Server como Alternativa ao Tomcat
WSO2 Application Server como Alternativa ao TomcatWSO2 Application Server como Alternativa ao Tomcat
WSO2 Application Server como Alternativa ao Tomcat
Edgar Silva
 

Plus de Edgar Silva (20)

API Methodology by Skalena
API Methodology by SkalenaAPI Methodology by Skalena
API Methodology by Skalena
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
 
Skalena - Finance Business Unit
Skalena - Finance Business UnitSkalena - Finance Business Unit
Skalena - Finance Business Unit
 
Plataforma de Consentimento (LGDP) Skalena
Plataforma de Consentimento (LGDP) SkalenaPlataforma de Consentimento (LGDP) Skalena
Plataforma de Consentimento (LGDP) Skalena
 
Casos de Sucesso WSO2 no Governo Brasileiro
Casos de Sucesso WSO2 no Governo BrasileiroCasos de Sucesso WSO2 no Governo Brasileiro
Casos de Sucesso WSO2 no Governo Brasileiro
 
DevOps Tour SP 2019
DevOps Tour SP 2019DevOps Tour SP 2019
DevOps Tour SP 2019
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções
 
WSO2 Governance Registry 5.4.0 - Overview
WSO2 Governance Registry 5.4.0 - OverviewWSO2 Governance Registry 5.4.0 - Overview
WSO2 Governance Registry 5.4.0 - Overview
 
WSO2 Enterprise Integrator 6.1 - Integração na Era da Transformação
WSO2 Enterprise Integrator 6.1 - Integração na Era da TransformaçãoWSO2 Enterprise Integrator 6.1 - Integração na Era da Transformação
WSO2 Enterprise Integrator 6.1 - Integração na Era da Transformação
 
Transformação Digital de Forma Pragmatica WSO2
Transformação Digital de Forma Pragmatica WSO2Transformação Digital de Forma Pragmatica WSO2
Transformação Digital de Forma Pragmatica WSO2
 
WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview
 
Workshop WSO2 BPS 3.5.x - BPMN
Workshop WSO2 BPS 3.5.x - BPMN Workshop WSO2 BPS 3.5.x - BPMN
Workshop WSO2 BPS 3.5.x - BPMN
 
WSO2 Telco MCX
WSO2 Telco MCXWSO2 Telco MCX
WSO2 Telco MCX
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
 
WSO2 API Manager : Going beyond the just API Management
WSO2 API Manager : Going beyond the just API ManagementWSO2 API Manager : Going beyond the just API Management
WSO2 API Manager : Going beyond the just API Management
 
Workshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerWorkshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services Server
 
WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1
 
Conectando Turismo e Viagens - Plataforma WSO2
Conectando Turismo e Viagens - Plataforma WSO2Conectando Turismo e Viagens - Plataforma WSO2
Conectando Turismo e Viagens - Plataforma WSO2
 
WSO2 Application Server como Alternativa ao Tomcat
WSO2 Application Server como Alternativa ao TomcatWSO2 Application Server como Alternativa ao Tomcat
WSO2 Application Server como Alternativa ao Tomcat
 

Dernier

Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Neil Horowitz
 
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
taqyea
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
Lacey Max
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
my Pandit
 
Top 10 Free Accounting and Bookkeeping Apps for Small Businesses
Top 10 Free Accounting and Bookkeeping Apps for Small BusinessesTop 10 Free Accounting and Bookkeeping Apps for Small Businesses
Top 10 Free Accounting and Bookkeeping Apps for Small Businesses
YourLegal Accounting
 
2022 Vintage Roman Numerals Men Rings
2022 Vintage Roman  Numerals  Men  Rings2022 Vintage Roman  Numerals  Men  Rings
2022 Vintage Roman Numerals Men Rings
aragme
 
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian Matka
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
Alexandra Fulford
 
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...
BBPMedia1
 
Registered-Establishment-List-in-Uttarakhand-pdf.pdf
Registered-Establishment-List-in-Uttarakhand-pdf.pdfRegistered-Establishment-List-in-Uttarakhand-pdf.pdf
Registered-Establishment-List-in-Uttarakhand-pdf.pdf
dazzjoker
 
The Most Inspiring Entrepreneurs to Follow in 2024.pdf
The Most Inspiring Entrepreneurs to Follow in 2024.pdfThe Most Inspiring Entrepreneurs to Follow in 2024.pdf
The Most Inspiring Entrepreneurs to Follow in 2024.pdf
thesiliconleaders
 
3 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 20243 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 2024
SEOSMMEARTH
 
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Kalyan Satta Matka Guessing Matka Result Main Bazar chart
 
Innovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & InnovationInnovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & Innovation
Operational Excellence Consulting
 
The latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from NewentideThe latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from Newentide
JoeYangGreatMachiner
 
Profiles of Iconic Fashion Personalities.pdf
Profiles of Iconic Fashion Personalities.pdfProfiles of Iconic Fashion Personalities.pdf
Profiles of Iconic Fashion Personalities.pdf
TTop Threads
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
CA Dr. Prithvi Ranjan Parhi
 
Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
Top Forex Brokers Review
 
Digital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on SustainabilityDigital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on Sustainability
sssourabhsharma
 
DearbornMusic-KatherineJasperFullSailUni
DearbornMusic-KatherineJasperFullSailUniDearbornMusic-KatherineJasperFullSailUni
DearbornMusic-KatherineJasperFullSailUni
katiejasper96
 

Dernier (20)

Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
 
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
 
Top 10 Free Accounting and Bookkeeping Apps for Small Businesses
Top 10 Free Accounting and Bookkeeping Apps for Small BusinessesTop 10 Free Accounting and Bookkeeping Apps for Small Businesses
Top 10 Free Accounting and Bookkeeping Apps for Small Businesses
 
2022 Vintage Roman Numerals Men Rings
2022 Vintage Roman  Numerals  Men  Rings2022 Vintage Roman  Numerals  Men  Rings
2022 Vintage Roman Numerals Men Rings
 
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Indian Matka
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
 
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...
 
Registered-Establishment-List-in-Uttarakhand-pdf.pdf
Registered-Establishment-List-in-Uttarakhand-pdf.pdfRegistered-Establishment-List-in-Uttarakhand-pdf.pdf
Registered-Establishment-List-in-Uttarakhand-pdf.pdf
 
The Most Inspiring Entrepreneurs to Follow in 2024.pdf
The Most Inspiring Entrepreneurs to Follow in 2024.pdfThe Most Inspiring Entrepreneurs to Follow in 2024.pdf
The Most Inspiring Entrepreneurs to Follow in 2024.pdf
 
3 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 20243 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 2024
 
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
 
Innovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & InnovationInnovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & Innovation
 
The latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from NewentideThe latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from Newentide
 
Profiles of Iconic Fashion Personalities.pdf
Profiles of Iconic Fashion Personalities.pdfProfiles of Iconic Fashion Personalities.pdf
Profiles of Iconic Fashion Personalities.pdf
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
 
Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
 
Digital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on SustainabilityDigital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on Sustainability
 
DearbornMusic-KatherineJasperFullSailUni
DearbornMusic-KatherineJasperFullSailUniDearbornMusic-KatherineJasperFullSailUni
DearbornMusic-KatherineJasperFullSailUni
 

JavaOne 2007 - TS4721

  • 1. Implementing Java EE Applications using Enterprise JavaBeans (EJB) 3 Technology: Real World Tips, Tricks, and New Design Patterns Fabiane Bizinella Nardon CTO Zilics www.zilics.com TS-4721 Edgar Silva Solutions Architect JBoss, a division of Red Hat www.jboss.com
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Detached Entities and Lazy Loading public Patient getPatientData(PK id) { Patient p = entityManager.find(id); p.getDocuments().size(); // O bjects detach automatically when they // are serialized or when a persistence context ends. // The specification does not define any way to // explicitly detach objects. } public void updatePatient(Patient p) { Patient p = entityManager.merge(p); }
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.