seam in the clouds - jboss in the clouds pete muir ... •eclipse tooling – jboss developer studio...

25
Seam in the Clouds Pete Muir Principal Software Engineer, JBoss 7th October 2010 1

Upload: hoangtu

Post on 29-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Seam in the Clouds

Pete MuirPrincipal Software Engineer, JBoss7th October 2010

1

Pete Muir

Seam’s Mission

“To provide a fully integrated development platform for building rich Internet applications based upon standards and supporting cloud environments”

2

Pete Muir

Java EE 6

•The EE 6 web profile removes most of the “cruft” that has developed over the years•mainly totally useless stuff like web services, EJB 2 entity beans etc.•some useful stuff (e.g. JMS) is missing, but vendors can include it

3

Pete Muir

CDI

•CDI defines a unifying dependency injection and contextual lifecycle model for Java EE 6 •a completely new, richer dependency management model •designed for use with stateful objects •integrates the “web” and “transactional” tiers •makes it much easier to build applications using JSF and EJB together •includes a complete SPI allowing third-party frameworks to integrate cleanly in the EE 6 environment

4

Pete Muir

The Seam Stack

•A complete solution for developing applications based upon Java EE standards•Integrating technologies is a framework concern

•The stack consists of...•Java EE integration within the platform•Declarative security•Extension of CDI programming model to GWT•JavaScript remoting•Infinispan support•Drools support

5

Pete Muir

Getting started with Seam...is easy!

•Focus on delivering useful functionality to users early on, then repeat•Eclipse tooling – JBoss Developer Studio (JBDS)•Deploy apps to the cloud from JBDS

•Incremental hot deployment•To your local server or remote cloud server

6

Pete Muir

Evolution of Seam

•What does Seam 3 look like?•Core Services provided by CDI•A set of modules for addressing needs of developer•Development environment and tooling•Based around Java EE 6 APIs (JSF 2, JPA 2, EJB 3.1)•But runs on other platforms

7

Pete Muir

Runtime environments

•Any Java EE 6 container•JBoss AS 6•GlassFish V3

•Weld also supports•Tomcat•Jetty•Java SE support

8

Pete Muir

Runtime Environments

•EC2•JBoss AS / EAP•Tomcat

•Google App Engine

9

Pete Muir

Deltacloud

•Abstraction over cloud providers

•REST based API•Query for instances, images, basic metadata

10

Pete Muir

Tools

•SteamCannon•Stand up PaaS based on Java EE / JBoss AS•Many cloud providers•Focus on developing apps, not infrastructure

•Web Interface or Remote API•Clustering•Easily add nodes to the cluster•Load balancing

•Monitoring•Integration with JON

11

Pete Muir

Tools

•JBoss Tools•Supports CDI (refactoring, quick links etc.)•Support for integrated frameworks•No special support needed normally for Seam integration modules•Visual editors for configuration files•Incremental deployment to any cloud provider via deltacloud

12

Ticket Monster

13

Pete Muir

Persistence

•Conversation Scoped Persistence Context (SMPC)

•Support for JPA and JTA in non EE 6 environments

•Integration with Hibernate Search

14

•AJAX via a component-centric approach

•Interact with the server-side object model, within a conversation/transaction

•Model can be dynamically expanded•Simple to use client-side JavaScript API

Pete Muir

JavaScript Remoting

15

Pete Muir

Cloud support

•Infinispan•Injection and configuration of Infinispan caches•Transaction integration

•JClouds support•Abstraction over compute (e.g. EC2) and storage (e.g. S3)

16

Pete Muir

Seam 3

Runtime

Weld

Java EE

6

JBoss AS 6

GlassFish V3

Servlet

Tomcat

Jetty

Java SE

Security

Wicket

Remoting

Mail

DroolsServlet

JPA/JTA

JMS

GWT

Faces

i8ln/l10nXML ConfigJBoss ESB

jBPM

17

Pete Muir

Modules

•Modules:•Contain standalone docs•Have examples•Use only the CDI API, no internal APIs•Are released on an independent cycle

•Sandbox:•Area for people to try out new ideas

18

Pete Muir

Independent Module Releases

Sea

m 3

.1

Sea

m 3

.2

Seam Security 3.0.7

Seam Mail3.0.0

Seam Security3.0.7

Seam GWT3.0.0

Seam Security3.0.8

Time boxed: 6 monthsSimultaneous Releases

19

Pete Muir

Simultaneous Releases

Seam Security

Documentation Examples API

Seam Framework

Seam Mail

Drools5 support

JBoss ESB

Wicketsupport

XML Config-uration

Documentation

Examples

Tooling

20

Pete Muir

Tools

•Seam Forge -- RAD command line tool•bash-style auto-complete•pluggable•allow any server to be supported•allow any view layer to be supported

•canonical source of new project definition•all tools use these (e.g. JBoss Tools)•Freemarker templates•POMs for dependency definition

21

Pete Muir

Testing

•Shrinkwrap•declarative definitions of deployment archives•uses a fluid API

•Arquillian•run the same test in any supported container•(Re) uses JUnit/TestNG - works with existing tools•injection into test cases

•Various testing strategies•Weld in SE mode (test your POJO based logic)•Using Embedded JBoss (test your persistence)•Inside a real container (test your views)

22

Pete Muir

Recap

•Programming model•Injection, Producers, Events, EJB Services

•Seam modules•Seam Persistence•Validation, Messages, Components, View Actions

•Seam Remoting•Infinispan

•Tools•JBoss Tools•Arquillian•SteamCannon

23

Pete Muir

Status

•Java EE 6 is final•JBoss AS 6 M5 available

•Seam Alphas available•Faces•Remoting•JMS•i8ln•XML

•http://seamframework.org/Seam3

•Aiming for release later this year

24

Pete Muir

Q&A