SlideShare a Scribd company logo
GWT & CDI
Heiko Braun <hbraun@redhat.com>
Topics


•   CDI & GWT
•   Use Cases & Requirements
•   Relevant Concepts
•   Likeminded Technologies
•   Demo
GWT & CDI
Google Web Toolkit

• Create Ajax applications from Java sources
• GWT SDK: Compiler, API, Tools
• Creates highly optimized, portable javascript
  code
Context and
Dependency Injection
• CDI: JSR-299, JSR-330
• Reference implementation: Weld
  • Seam 3
• EE6 component model
• Portable extensions
  • shrink-size or extend runtime
    (framework)
Use Cases &
Requirements
Use Cases

• Invoke CDI beans from GWT clients
   • RPC
   • Pub/Sub
   • Eventing
• Expose domain models to GWT clients
   • Serialization
Example: RPC bean
Example: RPC Client
Requirements


• “Seamless integration”
  • Verified concepts
  • Concise programming model
  • Reduction of boilerplate
Example: Event Bean
Example: Event Client
Relevant Concepts
Beans, Qualifiers &
         Scopes

• Bean type: Client-visible type (class, interface)
• Qualifier: Distinguish multiple beans of the same
  type
  • @Named, @Asynchronous
• Scope: Determines instance lifecycle
  • @SessionScoped,
    @ConversationScoped, @RequestScoped
Build & Run-time
• Run-time                    •   Build-time
  • Deployment
    • Same Origin Policy?
                                   •   GWT Compiler constraints

  • Transactions, Security             •   Domain model & API?
    • Context propagation?
  • Clustering, Failover
                                   •   Hosted Mode

    • Stateful Ajax Client?            •   CDI Bootstrap?

                                   •   Deferred Binding

                                       •   Boiler plate




              Java                  Javascript
Example: Conversation
    Scoped Bean
Example: Client managed
    conversation (1)
Example: Client managed
    conversation (2)
Likeminded
Technologies
Related Technologies

• JPA
   • Serialization
   • Detachment (lazy/eager loading)
   • Merging
• DataBinding
   • Widgets, Validation, Synchronization
• JMS
   • Ajax client as Topic Subscriber/Publisher
Project and
 Roadmap
Errai & Weld

•   Errai acts as Umbrella (http://jboss.org/errai)
•   Weld as Reference implementation
•   Driven by both Errai and CDI Team
•   Same runtimes Weld supports:
    • SE, Servlet, EE6, EC2:
      “Start POC, grow big”
Questions?

•   Project:   http://jboss.org/errai
•   Weld:      http://seamframework.org
•   Blog:       http://errai-blog.blogspot.com/
•   IRC:       irc.freenode.net#errai

More Related Content

PPTX
BizBook365 : A microservice approach
PPTX
Microservices: A developer's approach
PDF
Mastering asp.net mvc - Dot Net Tricks
PDF
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
PPTX
Using the Cascade Server Web Service API, by Artur Tomusiak
PPTX
Node ts1
PPTX
Signal rity1
PPTX
Express yourself
BizBook365 : A microservice approach
Microservices: A developer's approach
Mastering asp.net mvc - Dot Net Tricks
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
Using the Cascade Server Web Service API, by Artur Tomusiak
Node ts1
Signal rity1
Express yourself

What's hot (20)

KEY
Portal - Lego set for app development
PPTX
.Net Fundamentals
PPTX
Improving Perceived Page Performance with ASP.NET Web API and AJAX
PPTX
Why XAF and XPO?
PPT
ASP.NET Identity - O Novo componente de Membership do ASP.NET
PPTX
How to ease the learning curve
PPTX
Rest assured
PPTX
Intro cujojs
PPTX
autodiscoverable microservices with vertx3
PPTX
Bayt training
PPTX
Aws sys ops administrator
PPTX
Continuous Delivery is Not a Commodity
PPTX
Javascript for Wep Apps
PDF
API Economy, Realizing the Business Value of APIs
PDF
Workflow driven development
PPTX
ApacheCon North America - Introduction to FlexJS
KEY
Using an in-house WordPress framework
PPTX
Advanced php code igniter framework
PPTX
BizTalk Server Performance Tips
PPTX
In Memory Cahce Structure
Portal - Lego set for app development
.Net Fundamentals
Improving Perceived Page Performance with ASP.NET Web API and AJAX
Why XAF and XPO?
ASP.NET Identity - O Novo componente de Membership do ASP.NET
How to ease the learning curve
Rest assured
Intro cujojs
autodiscoverable microservices with vertx3
Bayt training
Aws sys ops administrator
Continuous Delivery is Not a Commodity
Javascript for Wep Apps
API Economy, Realizing the Business Value of APIs
Workflow driven development
ApacheCon North America - Introduction to FlexJS
Using an in-house WordPress framework
Advanced php code igniter framework
BizTalk Server Performance Tips
In Memory Cahce Structure
Ad

Viewers also liked (10)

PDF
Jug Zurich Slides
PDF
Gwt cdi jaxrs_hbraun
PDF
Errai Workspaces
PPTX
Anti patterns
PPTX
enterprise java bean
PDF
CDI and Weld
PDF
Cdi conf 2013
PDF
Java EE Revisits GoF Design Patterns
PPT
Java EE Introduction
PPT
Java Persistence API (JPA) Step By Step
Jug Zurich Slides
Gwt cdi jaxrs_hbraun
Errai Workspaces
Anti patterns
enterprise java bean
CDI and Weld
Cdi conf 2013
Java EE Revisits GoF Design Patterns
Java EE Introduction
Java Persistence API (JPA) Step By Step
Ad

Similar to Gwt cdi jud_con_berlin (20)

DOC
Google web toolkit gwt training
PPTX
6 weeks 6 months live project summer industrial training in cmc limited 2012
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PDF
CDI Best Practices with Real-Life Examples - TUT3287
PPTX
WebNetConf 2012 - Single Page Apps
KEY
20120306 dublin js
PPT
Getting Started with Docker
PDF
End-to-end W3C APIs - tpac 2012
KEY
20120802 timisoara
PDF
DrupalSouth 2015 - Performance: Not an Afterthought
PPTX
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
PPTX
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
KEY
Android lessons you won't learn in school
PPTX
Edy Dawson Notes on SF HTML5 Dev Conf
PDF
JHipster
PDF
Full Stack Developer Course | Infinite Graphix Technologies
PDF
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
PPTX
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
PDF
Sitecore development approach evolution – destination helix
PPTX
Women Who Code, Ground Floor
Google web toolkit gwt training
6 weeks 6 months live project summer industrial training in cmc limited 2012
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
CDI Best Practices with Real-Life Examples - TUT3287
WebNetConf 2012 - Single Page Apps
20120306 dublin js
Getting Started with Docker
End-to-end W3C APIs - tpac 2012
20120802 timisoara
DrupalSouth 2015 - Performance: Not an Afterthought
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
Android lessons you won't learn in school
Edy Dawson Notes on SF HTML5 Dev Conf
JHipster
Full Stack Developer Course | Infinite Graphix Technologies
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Sitecore development approach evolution – destination helix
Women Who Code, Ground Floor

More from hbraun (7)

PDF
AS7 Console 2013
PDF
One daytalk hbraun_oct2011
PDF
Errai Workspaces
PDF
Errai CDI Integration
PDF
Patterns&Practices-Errai
PDF
GWT Jug Stuttgart
PDF
Jbpm4 Deployer
AS7 Console 2013
One daytalk hbraun_oct2011
Errai Workspaces
Errai CDI Integration
Patterns&Practices-Errai
GWT Jug Stuttgart
Jbpm4 Deployer

Recently uploaded (20)

PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Tartificialntelligence_presentation.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Modernising the Digital Integration Hub
PDF
CloudStack 4.21: First Look Webinar slides
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Five Habits of High-Impact Board Members
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Hindi spoken digit analysis for native and non-native speakers
Tartificialntelligence_presentation.pptx
Hybrid model detection and classification of lung cancer
NewMind AI Weekly Chronicles – August ’25 Week III
Final SEM Unit 1 for mit wpu at pune .pptx
Chapter 5: Probability Theory and Statistics
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Group 1 Presentation -Planning and Decision Making .pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
A review of recent deep learning applications in wood surface defect identifi...
Benefits of Physical activity for teenagers.pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Modernising the Digital Integration Hub
CloudStack 4.21: First Look Webinar slides
Web Crawler for Trend Tracking Gen Z Insights.pptx
O2C Customer Invoices to Receipt V15A.pptx
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Five Habits of High-Impact Board Members

Gwt cdi jud_con_berlin