errai workspaces
TRANSCRIPT
Agenda
• What is it?
• What can it be used for?
• Why should I care?
• Building blocks
• Project status
What is it?
Workspaces and tools
• Workspace is a collection of tools
• Tools represent anything you like
• Build in GWT
• Workspaces is UI framework ...
• ... but also a development environment
• API, Sandbox, Repository
4
UI Framework
• Foundation to which to deploy your tools
• Provides loading, initialization and access to tools
• Consists of common, shared API and services
• Authentication, Logging, Exception Handling, etc
5
Development environment
• Not just another GWT library
• Provides complete sandbox:- GWT SDK installation- Build environment
• Ways to distribute and integrate tool implementations:- Versioning- Repository
• Aims at:- Low barrier entry point- Collaboration
6
What can it be used for?
Use cases
• Building rich client applications
• Management functionality beyond operational level
• Few constraints on tool implementation
• High expectations on:- User experience- Interactivity
8
i.e Drools Guvnor
> http://www.jboss.org/drools/drools-guvnor.html9
i.e Riftsaw Console
> http://http://www.jboss.org/riftsaw 10
Why should I care?
Considerations
• Tool composition at various stages- sandbox, project, product
• Different feature set, maturity and target audience
• Tool interplay important part of the strategy
12
Composition and interplay
• i.e. Guvnor and BPM Console
• Distinct tools on a project level
• Composition at product level
• Or simply re-use of tools in other projects
• Picketbox Identity Management tools
13
Building blocks
Workspace sandbox
• Low barrier entry point
• Java knowledge, IDE, API Docs
• Environment to build, test and distribute your tools
• Maven archetype
• Auto GWT setup
• Includes necessary libraries
15
Sandbox example(1) mvn archetype:generate [...]
(2) Define value for groupId: : org.picketbox.console Define value for artifactId: : IdentityManagement Define value for version: 1.0-SNAPSHOT Define value for package: org.picketbox.console
(3) cd IdentityManagement mvn gwt:run
(4) Point your browser to http://localhost:xyz
(5) Open IDE and start hacking
16
Workspace API
• Reduction of boilerplate
• Use to wire tools within a workspace
• Split between - user (building tools)- framework (extending workspace)
17
User API Sample
18
Federation of tools
• Leverage central repository
• Maven in this case
• Mix and match:
• Project vs. Product
• JBoss vs. 3rd Party
• Foster re-use and extendability
• Divide and conquer
19
Status and roadmap
Status
• Released 1.0 in March 2010
• Baseline for tool development
• Ready to get your hands on
• Already used in- Riftsaw, jBPM and Drools Flow
• 8 weeks release cycle
> http://jboss.org/errai
21
Roadmap
• Focus on SOA-P requirements, i.e.
• Guvnor/ BRMS migration
• Picketbox management tools
• Apache JUUDI console
22
Q&A