|
|
Posts Tagged ‘testing’
Monday, March 21st, 2011
TSSJS 2011 went extremely well for us. Our talks/events went very well and the booth attendance was great. I think the TSSJS 2011 agenda, quality of content/speakers and buzz was the best in years. The new TSS editor Cameron McKenzie did an admirable job at putting everything together. Some of the notable speakers included James Gosling, Steve Harris (SVP Oracle), Adam Messinger (VP Oracle), Patrick Curran (JCP chair), Rod Johnson, Bill Burke, Adam Bien and Kirk Pepperdine.
I started the conference with a 5-minute lightning round presentation on Resin 4, the Java EE 6 Web Profile, our vision, history, thought leadership, values, global footprint and growing customer base. The presentation seemed to go over well with a number of existing customers and developers reaching out to us afterwards.
The first session on the first day of the conference I did was my enterprise caching talk titled “Effective Caching Across Enterprise Application Tiersâ€. The talk covers the different flavors of caching in the web (HTTP), presentation, application, domain, infrastructure (persistence) and resource (database) tiers using mechanisms like proxy caching (especially as supported by Resin), JSF/CDI @ApplicationScoped, @SessionScoped, @ConversationScoped, @ViewScoped, @RequestScoped scopes, passivation, EJB pooling, EJB thread-safe singletons, extended persistence contexts, JPA first (transactional) and second (shared) level caching, database connection pools, prepared statement caching, JCache as well as distributed caching APIs like Coherence, Terracotta, GigaSpaces, Infinispan, EHCache, JCS, SwarmCache and OSCache. The talk was very well attended, the Q&A was good and I got great feedback afterwards. In the evening, I participated in the “Meet the Authors” event. TSSJS gave away two copies of EJB 3 in Action (I am currently working on the second edition) and I signed both copies for the winners. I had a few engaging conversations on topics like EJB/Spring, authoring and the JCP during the course of the evening.
I started the second and busiest day of the conference with a panel titled “The Java Community Process: What’s Broken and How to Fix It”. This was a panel with Patrick Curran, James Gosling and me, moderated by Cameron McKenzie. We discussed the need for reforming the JCP, greater transparency, the Apache Harmony licensing issues, more non-Oracle spec leadership and more participation from non-vendor affiliated independents. We all agreed that many ills in the JCP can be cured through greater interest and participation from the developer community. The panel generated a great deal of interest, attendance, participation and feedback. After lunch, I gave my “A Quick Tour of the CDI Landscape” talk. The talk is a broad overview of the vibrant CDI landscape composed of implementations, supported runtimes, portable extensions and tools. I discussed Weld, CanDI, OpenWebBeans, GlassFish, JBoss AS, Resin, Geronimo, WebLogic, WebSphere, Tomcat, OpenEJB, TomEE, JOnAS, Seam 3, Apache MyFaces CODI, the ZK Framework, Arquillian, Forge, JBoss Tools, Eclipse, NetBeans and IntelliJ. The audience was great and I had some lively discussions afterwards. Later in the afternoon, I did my Java EE testing talk titled “Testing Java EE 6 Applications: Tools and Techniquesâ€. The talk covers 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. The talk was well attended and I 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. In the evening, I participated in the “Ask the Experts” session which also went very well.
The last day of the conference I presented my talk titled “An Introduction to Seam 3″.The talk discusses the relationship between CDI, Weld and Seam 3 as well as covering all the Seam 3 modules such as XML configuration, persistence, Faces, Servlet, JMS, REST, JavaScript remoting, security, internationalization/localization, exception handling, mail, cron, document generation, Spring interoperability, Wicket, GWT, Drools, jBPM, JBoss ESB and so on. Since it was towards the end of the conference the attendance was relatively sparse but the Q&A session was very good with a lively audience.
A number of folks asked for the slides and demo code, so the materials for the 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 saw us last (almost). I think we had the best booth traffic of any conference so far. The guitar giveaway seemed to go over very well too. We can only hope that next year is just as successful!
Tags: Adam Bien, arquillian, caching, candi, cdi, ejb, EJB 3 in Action, Forge, James Gosling, Java EE, jcache, JCP, jpa, resin, seam, spring, testing, tssjs, TSSJS 2011 Posted in Industry, Uncategorized | No Comments »
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.
Tags: arquillian, candi, cdi, ejb 3.1, java ee 6, java ee 7, javaone, javaone 2010, resin, testing, web profile Posted in Uncategorized | No Comments »
Wednesday, May 12th, 2010
Much of the time for Resin 4.0 that we’re spending is in improving the underlying quality in the core Resin services. Most of these aren’t visible features, but do improve the reliability and testability of the underlying code.
Since Resin is a 12 year-old product, we need to balance the need to improve and learn from experience with the fact of a large, existing code base with a large customer base, and have found continual refactoring combined with a solid regression suite to be an effective development path.
In the case of the networking code, we’ve gone from the simple request/response of HTTP to supporting Comet/Async for the Java EE Web Profile, and prototyping WebSockets for the upcoming HTML 5.
The main networking code change was remodularization: removing all HTTP dependencies and making the networking a standalone module independent of the rest of Resin.
There are two main quality benefits of the change. By removing distractions, we can focus on exactly the networking code and nothing extraneous, making it easier to see bugs and review code. And by cleanly encapsulating the interfaces, we can verify that our testing is complete, because the quality is more dependent on the quality of our tests than the code itself.
Tags: modularity, network, resin, testing Posted in Uncategorized | No Comments »
|