Posts Tagged ‘web profile’
Monday, June 27th, 2011
I just came back from a trip to the Raleigh, NC area to record a JavaLobby Tech Chat on Resin 4 (last year Emil did a Tech Chat that you might have seen). The Tech Chat went great. Mitch Pronschinske, the Editor-in-Chief of JavaLobby/DZone drove the Chat. Not to give away too much right now but we talked about:
- Past/present/future of Resin
- Defining characteristics of Resin - lightweight, standard and feature-complete
- Resin 4 Java EE 6 Web Profile certification
- Java EE Web Profile leadership
- How it stacks up against Tomcat/JBoss/GlassFish/WebLogic/WebSphere
- Small, dedicated, agile World class engineering team
- CDISource - a vendor-neutral space for all things CDI
- The CDISource Spring/CDI bridge
- Possibilities for Java EE 7/Java EE 8 (open for participation from you!)
- Early Resin WebSocket support
- Resin support for private clouds
Keep your eye on JavaLobby - the Tech Chat should be out there soon!
I chose to drive to NC to avoid the hassle of flying and because NC is quite drivable from my home office in Philly. On the way back, I did CDI demos at both the Research Triangle JUG and the NoVA/Washington, D.C. JUG. Both talks were very well attended. The interest/participation levels were fantastic. The DZone folks gave me a few nice printed copies of the CDI RefCard. Every single copy was taken and people were asking for more! They also asked me for the slide deck and code examples. I’ll send them to the JUG leads to post on the JUG websites. You can also take a look at the slide deck and code examples if you want and send me any follow-up questions. I also wanted to talk at the Maryland and Richmond JUGs but things didn’t quite work out schedule-wise this time around. Both JUGs are working on scheduling me to speak in the Fall instead.
Wednesday, October 27th, 2010
After a long few months of hard-work, we finally see the light at the end of the tunnel for getting Resin 4 Java EE 6 Web Profile certified!
We are now passing the Servlet 3.0, JSP 2.2,Â EL 1.2, JSTL 1.2, JSF 2.0, Bean Validation 1.0, CDI 1.0, JPA 2.0, JPA 2.0 and JMS 1.1 TCKs. Note, although JMS is not part of the Java EE 6 Web Profile, we are still implementing it since a number of our customers have asked for a lightweight messaging option in Resin.
The last TCK that we need to pass at this point in order to be Java EE 6 Web Profile compliant is EJB 3.1 Lite. As such, we do have the basic functionality for stateless session beans, stateful session beans and singleton beans including life-cycle, concurrency, registry/look-up, interceptors, security and transactions. Indeed, Adam Bien recently blogged about the usability of the current Resin 4 development release: http://www.adam-bien.com/roller/abien/entry/java_ee_6_server_resin and we have been demoing full-stack Java EE 6 applications for a while now including at JavaOne 2010 (albeit without EJBs, using EJB service annotations/aspects directly in CDI managed beans).
Resin TCK Progress
At this point, it is a matter of working through the cases caught by the EJB 3.1 Lite TCK. I’d say a majority of it is minor bug-fixes with singletons having the most and stateless session beans the least amount of issues.
Although technically not part of EJB 3.1 Lite, we are also implementing scheduling, asynchronous processing, remoting (Hessian based) and message driven beans because we feel these are valuable parts of the EJB specification. We will also include a JCA implementation for better resource pluggability. At this point, we have the basic functionality of timers/scheduling as well as asynchronous processing done. The remoting and the message-driven bean/JCA parts still need significant work, including creating a new messaging model around CDI events as a supplement to the older message driven bean model. My personal guess is that we will have the officially Java EE 6 Web Profile certified release of Resin 4 by the end of the year. We will then have a few releases focused purely on stability, optimization, foot-print, start-up/shut-down time and runtime performance since these have always been primary differentiators for Resin.
The final release of Resin 4 will allow us to then focus on some of the work around CDI portable extensions that we wish to do including Seam 3 modules/Arquillian integration as well as things like HTML5/WebSocket, modularity, cloud/NoSQL APIs, etc.
Obviously, Resin 4 is a very important milestone for us as a team but is very significant for the Java EE 6 ecosystem too. I would expect the JBoss guys to announce their final Java EE 6 compatible version shortly after us, probably followed by Geronimo, WebLogic, etc.Â It seems IBM has been uncharacteristically proactive with the WebSphere Java EE 6 work too.
In the meanwhile, do send us your comments and wish us luck on the final stretch of the Java EE 6 implementation marathon!
Wednesday, September 29th, 2010
Overall, Caucho had a great JavaOne this year. Our talks went very well, the booth attendance was great and a number of people showed up at the meet-and-greet.
The first session we did was the Resin 4 Java EE 6 Web Profile talk titled “Resin: A Light-footed Java EE 6 Web Profile Platform”. This was the first time Emil and I co-presented and I thought it went very well. The attendance was moderate but we had a number of good questions and a handful of folks asked for the slides/demo code afterwards. That same evening I did a CDI BOF with Dan Allen of Red Hat/JBoss and David Blevins of Apache OpenWebBeans/OpenEJB. The BOF was titled “Implementing CDI: Goals, Milestones, and Perspectives” and was well-attended. We had lively discussion around the current state of implementations, the CDI ecosystem as well as the future of CDI/Java EE. A lot of folks gave us positive feedback on the BOF, particularly on our plans going forward for Java EE.
My first talk for the second day of the conference was the Java EE testing talk with my EJB 3 in Action co-author Debu Panda titled “Testing Java EE 6 Applications: Tools and Techniques”. It was a full house and the talk went very well although we ran out of time and could not demo JAX-WS/JAX-RS testing. The talk covered end-to-end testing along the entire Java EE stack including Servlet 3, JSF 2, EJB 3.1, JPA 2, JAX-WS and JAX-RS using existing and emerging tools like JUnit, HttpUnit, HtmlUnit, Cactus, Selenium, JSFUnit, embedded containers, embedded databases, Arquillian/ShrinkWrap, Resin JUnit integration support and soapUI. We got excellent feedback for the talk. It was only somewhat surprising that folks don’t realize how robust Java EE testing is with the latest release and tools like Arquillian. Debu was in great form for the talk as usual. In the evening I did an EJB 3.1 BOF with Linda Demichael of Sun/Oracle, Mike Keith of Sun/Oracle, David Blevins of Apache OpenWebBeans/OpenEJB as well as Andy Rubinger of JBoss/Red Hat titled “Enterprise JavaBean (EJB) Community Discussion”. The attendance was moderate but the discussion was very lively. It was very encouraging that we were more-or-less on the same page about the future direction of the EJB spec.
The last session I did for the conference was on Wednesday. It was a panel with Adam Bien, Emmanuel Bernard of JBoss/Red Hat, Krasimir Semerdzhiev of SAP, Roberto Chinnici of Sun/Oracle, David Blevins of OpenWebBeans/OpenEJB and Jim Knutson of IBM titled “Java EE 6 Panel: What Do We Do Now?”. The panel was moderated by Alexis Moussine-Pouchkine of Sun/Oracle. He blogged about the panel here. It was a full-house and we had very lively discussion. I talked with several of the panelists afterwards and it was very encouraging that folks are actively thinking about what really should be done in Java EE 7 and mirrored what we are doing in Resin/CanDI.
The material for our talks is posted here.
A good number of folks stopped by at the Caucho booth to talk to us. We had an excellent location this year for the booth and people either saw us first or last. We can only hope we are that lucky next year! The meet-and-greet was good too and met up with a handful of friends including Andrew Schaefer and Ryan de Laplante. I also of course met up with the usual suspects from JBoss, SpringSource, Apache, Sun/Oracle, etc throughout the conference.
I have mixed feelings about the conference itself. The programming and organization was great but I could not help but feel that JavaOne was demoted. I think a lot of developers have this same sentiment and I hope Sun/Oracle will do better next time.
Monday, May 3rd, 2010
As I’ve been working through the CDI TCK, and Emil and Reza are working through the EJB TCK, we’re seeing the same shared capabilities for both kinds of beans. Both CDI beans and EJB beans have the same aspects, which makes sense because they have the same cross-cutting concerns.
Conceptually, the aspects are all designed out of @Interceptors, which CDI/EJB supports in two flavors: EJB’s direct naming of the interceptor classes, and CDI’s declarative description using the @InterceptorBinding. CDI’s bindings are a bit more descriptive because your code says what it wants to do, named by the custom binding, not who is responsible for doing it like the EJB interceptor class.
In Resin, we’ve added the EJB custom aspects to any CDI bean, i.e. essentially any Java class, including servlets, filters, and JSF beans. The predefined aspects in EJB are:
- transaction boundaries: @TransactionAttribute
- security: @RolesAllowed, @RunAs
- async/messaging: @Asynchronous
- locks: @Lock
- and the custom @Interceptors and @Decorators
Tuesday, March 23rd, 2010
Speaking at TSSJS Vegas this year was great. I got to do four talks - a Java EE 6 overview, a Resin demo, a CanDI/CDI demo as well as a talk on the JCP. The Resin talk was one of the keynotes for TSSJS. All talks were well attended and the crowd was great. People seemed genuinely interested in Java EE 6, the Web Profile, CDI and Resin. I got a ton of questions for Q & A, one-on-one afterwards as well as at the booth. Folks were particularly interested in some of the CDI/EJB 3.1 features as well as our portable extensions for JUnit, iBATIS, Quartz, using EJB annotations on managed beans, etc. A good number of people asked for the example code both for the CanDI and Resin talks. I personally enjoyed taking about open participation in the JCP although it was a relatively short and non-technical talk. We will be posting the slides as well as the code examples on the website soon. I hope we get similar success in JavaOne as well as other conferences.
Tuesday, February 16th, 2010
We at Caucho are very excited in working steadily towards getting Resin certified on the recently finalized Java EE 6 Web Profile. Along with GlassFish and JBoss, we are aiming to provide one of the earliest solid implementations for Java EE 6. In fact, Resin is the only major application server focused solely on delivering a very lightweight implementation targeting just the Web Profile.
This blog entry briefly discusses the Java EE 6 Web Profile, what it offers and how it fits with the lightweight development philosophy of Resin as well as the details of our implementation including Resin extensions to the Java EE 6 Web Profile.