SlideShare a Scribd company 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]

More Related Content

Similar to 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
 
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, PuneBhuvan 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
 
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 2vikram singh
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2vikram 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
 

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

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

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

Recently uploaded

Set off and carry forward of losses and assessment of individuals.pptx
Set off and carry forward of losses and assessment of individuals.pptxSet off and carry forward of losses and assessment of individuals.pptx
Set off and carry forward of losses and assessment of individuals.pptx
HARSHITHV26
 
Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024
Kirill Klimov
 
Auditing study material for b.com final year students
Auditing study material for b.com final year  studentsAuditing study material for b.com final year  students
Auditing study material for b.com final year students
narasimhamurthyh4
 
-- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month ---- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month --
NZSG
 
Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
Corey Perlman, Social Media Speaker and Consultant
 
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
taqyed
 
Premium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern BusinessesPremium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern Businesses
SynapseIndia
 
ikea_woodgreen_petscharity_dog-alogue_digital.pdf
ikea_woodgreen_petscharity_dog-alogue_digital.pdfikea_woodgreen_petscharity_dog-alogue_digital.pdf
ikea_woodgreen_petscharity_dog-alogue_digital.pdf
agatadrynko
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
Cynthia Clay
 
LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024
Lital Barkan
 
Brand Analysis for an artist named Struan
Brand Analysis for an artist named StruanBrand Analysis for an artist named Struan
Brand Analysis for an artist named Struan
sarahvanessa51503
 
Buy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star ReviewsBuy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star Reviews
usawebmarket
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
LuanWise
 
Authentically Social Presented by Corey Perlman
Authentically Social Presented by Corey PerlmanAuthentically Social Presented by Corey Perlman
Authentically Social Presented by Corey Perlman
Corey Perlman, Social Media Speaker and Consultant
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
ecamare2
 
The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...
balatucanapplelovely
 
VAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and RequirementsVAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and Requirements
uae taxgpt
 
Bài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.doc
Bài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.docBài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.doc
Bài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.doc
daothibichhang1
 
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Lviv Startup Club
 
Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024
FelixPerez547899
 

Recently uploaded (20)

Set off and carry forward of losses and assessment of individuals.pptx
Set off and carry forward of losses and assessment of individuals.pptxSet off and carry forward of losses and assessment of individuals.pptx
Set off and carry forward of losses and assessment of individuals.pptx
 
Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024
 
Auditing study material for b.com final year students
Auditing study material for b.com final year  studentsAuditing study material for b.com final year  students
Auditing study material for b.com final year students
 
-- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month ---- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month --
 
Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
 
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
 
Premium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern BusinessesPremium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern Businesses
 
ikea_woodgreen_petscharity_dog-alogue_digital.pdf
ikea_woodgreen_petscharity_dog-alogue_digital.pdfikea_woodgreen_petscharity_dog-alogue_digital.pdf
ikea_woodgreen_petscharity_dog-alogue_digital.pdf
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024
 
Brand Analysis for an artist named Struan
Brand Analysis for an artist named StruanBrand Analysis for an artist named Struan
Brand Analysis for an artist named Struan
 
Buy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star ReviewsBuy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star Reviews
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
 
Authentically Social Presented by Corey Perlman
Authentically Social Presented by Corey PerlmanAuthentically Social Presented by Corey Perlman
Authentically Social Presented by Corey Perlman
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
 
The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...
 
VAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and RequirementsVAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and Requirements
 
Bài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.doc
Bài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.docBài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.doc
Bài tập - Tiếng anh 11 Global Success UNIT 1 - Bản HS.doc
 
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
 
Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024
 

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.