Alexander Snaps and I were asked a few moments ago to do a emergency step-in Monday morning at Devoxx because Mike Keith will not be able to make it.
Therefor Mike's University talk
A Persistence Journey - From XML to JPA and Back Again will be replaced with the following talk:
The talk will give a good overview of JPA and related tooling, providing a good kickstart for those getting started with JPA. The talk will also cover more advanced issues and discuss common pitfalls of using JPA.
We will start of with an introduction to JPA covering all the interesting bits of the spec and move into presenting how to use JPA effectively showing best practices and guidelines for using it. In the latter part of the talk we will present Eclipse Dali, the JPA tooling at Eclipse and Hibernate Tools a set of plug-ins that works with Dali and provides Hibernate support.
The talk will be open for questions and moderate discussion during the presentation/demo.
The Devoxx agenda will be updated shortly.
See you there!
I often have small pieces of information or thoughts I want to blog about but never get around to do it.
I've grown to like Twitter so I created http://twitter.com/jbosstools to have as an outlet for JBoss Tools tips, new features in trunk and other tidbits of news related to JBoss Tools and Developer Studio...
Should come in handy for the upcoming week.
Devoxx, the show formerly known as JavaPolis is coming up soon and while I was preparing for my talks I started browsing the full program and saw it is going to be great for anyone interested in Hibernate, Seam, JBoss Tools, JBoss AS and other JBoss technologies.
The list below is what I could find by browsing the program and it is a mix of JBoss and non-JBoss speakers. There is so many that I'm just going to list them and let the titles speak for them self:
Kickstart JPA/JPA in Practice by Max Rydahl Andersen and Alexander Snaps
Scaling Hibernate: tips, recipes and new perspectives BOF by Emmanuel Bernard and Max Rydahl Andersen.
A successful search, a happy user: make it happen! by Emmanuel Bernard
Envers - Easy Entity Versioning by Adam Warski.
Sharding in Hibernate by Andrew Glover.
Hibernate Performance Tuning by Volker Bergmann.
Introduction to Web Beans by Pete Muir
Seam in Action by Dan Allan
Seam, Web Beans and JBoss Tools BOF by Dan Allan, Pete Muir and Max Rydahl Andersen.
JBoss Seam and beyond by The RealDolmen and Belgium JBUG quartet.
Editing xml and html with JBoss Visual Page Editor by Max Rydahl Andersen
Making full use of Hibernate Tools by Max Rydahl Andersen
JBoss Application Server 5 by Dimitris Andreadis and Ales Justin
Declarative programming with Rules, Workflow and Event Processing by Mark Proctor and Kris Verlaenen
Profiler, the better debugger by Heiko Rupp
Systems management with project RHQ by Heiko Rupp
The JBoss SOA Platform by Mark Little
Mobicents Sip Servlets - Telco applications in Java by Vladimir Ralev
If I missed any, let me know ;)
Besides the above list I found that the program otherwise is looking really interesting this year - i'm looking forward to visit Antwerp again.
See you there.
Have you ever had an idea on how some web or desktop UI should look and needed to tell someone about ? Your text explanations would be misunderstood or you were just too lazy to even write it down or use any of the many useless expensive tool to make it ?
I've been in that situation many times lately while working on JBoss Tools and Developer Studio, but ever since I bumped into Balsamiq Mockups I'm (almost) enjoying doing mockups of UI features which I hated doing before.
Thus instead of me trying to explain how it works go see the screencast here and see it for your self.Note:
I do not have any associations with Balsamiq, I just find their product to be really good and solving a problem I know alot of others have and wanted to share that.
JBoss Developer Studio 2 Beta is now freely available if you go through the registration form on this page.
The free version does not include access to Red Hat Enterprise Linux, nor access to RHN with 1 year guaranteed updates etc. It is solely a beta version of the upcoming Developer Studio 2. Existing customers also have access to the beta through their normal software channels to JBoss/Red Hat.
JBoss Developer Studio 2 Beta comes with a simple installer which setups and configures the following:
- Eclipse 3.4 + Web Tools 3.0
- JBoss Tools 3 Beta (sans Smooks)
- TestNG and SpringIDE 2
- EAP 4.3 w/Seam 2 Feature Pack
Everything ready to use out-of-the-box.
Developer Studio now also supports SOA-P 4.3 (available as a separate download). If you are an exsiting SOA-P user or want to try it out I've created a wiki document explaining how to best setup your SOA-P installation with Developer Studio.
The Smooks tooling is still considered experimental and thus are not yet bundled with Developer Studio, but if you follow the links to JBoss Tools 3 Beta you can download Smooks stand-alone and try it out.
As always, this is a beta thus your feedback is very much appreciated in our forums
JBoss Tools 3 Beta1 was built and made available on Halloween night.
This release will only work with Eclipse 3.4/Ganymede.
We recommend you do not use Eclipse.org update site to go from Eclipse 3.3 to Eclipse 3.4 - instead download
Eclipse IDE for Java EE Developers from Eclipse. To get the optional TPTP and BIRT integration to show up see the list of Eclipse drivers we use for JBoss Tools 3.x builds here
If you can only use Eclipse 3.3 use JBoss Tools 2.1.2, but JBoss Tools 2.x will not have any of the new features.
Out of the 300+ bugfixes and enhancements a couple major additions and new features I would like to mention:
- We got initial Seam 2.1.SP support by the hands of Slava and Alexey.
- Dima made Seam Generate Entities have an UI for selecting exactly the tables you want to generate
- The pages.xml editor got a face lift by Daniel and Lex
- OpenOn and Code completions got various improvements and proper ordering by Victor
- Improved Hibernate Tools JPA project support by Dima
- Vitali created a brand new source/refactor action which turns your JavaBeans into JPA annotated entities automatically
- A new tighter and leaner UI for interacting with Servers introduced by Rob Stryker
- Support for editing external CSS styles directly from Visual Page Editor were added by Dzmitry
- The Visual Page Editor was made even faster by Maxim
- Project example Wizard for quick and easy download of JBoss Tools/JBDS ready examples was suggested and implemented by Snjezana
- Drools plugin is now back into JBoss Tools builds thanks to Kris and Denis
- We added support for deployment of .esb archives used by JBoss ESB and SOA-P by Denny
- A conversation wizard from STP BPMN files to jPDL by Grid
- A first release of the Smooks editor for building data transformations by Dart
- Updated screencasts by Svetlana and her documentation team
The Seam distribution includes a tool named seam-gen to help you get started quickly using Seam. The tool collects information from you about your project and then uses that information to create a project structure. It can also generate a CRUD application by reverse engineering your database schema and generate various forms of stub code. In this entry, you'll learn how to get the generated project setup in Eclipse so that you can leverage the available tooling.
There are actually two interfaces to seam-gen. The first is the commandline script named seam, which resides at the root of the Seam distribution. When we talk about seam-gen, we are usually referring to this script. There is also new project wizard in JBoss Tools (the open source project behind JBoss Developer Studio) that is a complement to this script. Both tools share the same FreeMarker templates inside the seam-gen directory of the Seam distribution to produce the Java code, Facelets views, and TestNG configuration. Aside from these common templates, the two tools work independently of one another in setting up a Seam project. The projects they generate differ in one fundamental way, though. The commandline tool produces projects that are built using Ant, while the JBoss Tools new project wizard creates projects that are build purely with Eclipse builders.
As you'd expect, when you create a project using the Eclipse plug-in, you can immediately start taking advantage of the tooling support for Seam in your project. However, like me, you may find it important to have a project that can be built outside of Eclipse using Ant. That means creating the project using the seam-gen commandline script. Don't fear that by creating the project outside of Eclipse, that the IDE is reduced to a syntax checker and Java compiler. The purpose of this article is to demonstrate how to fully activate the Seam tooling in Eclipse for projects created using the seam-gen commandline script, bringing you the best of both worlds. Plus, once the Seam tooling is activated, you can generate the CRUD application or stub code from either Eclipse or the commandline script.
There are plenty of tutorials available for how to use seam-gen to create a project. You can find one in the Seam reference guide and another in chapter 2 of Seam in Action. Let's just quickly review the steps for completeness.
- Download and extract the Seam 2.x distribution
- If on Linux or Mac, run
chmod 755 seamfrom the root of the distribution to make the seam script executable
- Make sure the JAVA_HOME environment variable is defined and it points to a JDK installation (>= 1.5)
- In a terminal window, change your working directory to the Seam distribution and execute seam setup on Windows or ./seam setup on Linux or Mac (optionally, you can put the Seam distribution in your PATH to use seam like a system command)
- Execute the seam script again, this time supplying it the create-project command
Your project is now created. The next step is to get the JBoss Tools plug-in for Eclipse installed so that you can use the Seam tooling once you get the project imported into Eclipse.
If you are using JBoss Developer Studio, you can skip this step. JBoss Developer Studio comes with all the plug-ins you need to develop Seam applications (plus support). These instructions explain how to install the latest stable version of JBoss Tools, which should be used with Eclipse 3.3 (Europa). You can also install the development version, which works with Eclipse 3.4 (Ganymede).
- Download the
Eclipse IDE for Java EE Developersvia eclipse.org. JBoss Tools relies on the Eclipse Web Tools project and several other plug-ins that come with that distribution.
- Select the menu item Help > Software Updates > Find and Install...
- Choose the option Search for new features to install
- Click the button New Remote Site...
- Enter the following values in the form:
Name: JBoss Tools Stable Updates
- Click Finish
- Check the option JBoss Tools Stable Updates and advance through the rest of the wizard
- Go get coffee while the plug-ins download
- Click Install All when the download completes and allow Eclipse to restart when the install is done
JBoss Tools is now installed. If you are interested in seeing other ways to install JBoss Tools, refer to this page on the JBoss Wiki.
When seam-gen creates a project, it also generates Eclipse project files. Therefore, Eclipse will recognize the project directory as a valid Eclipse project. You simply need to use the Eclipse project import wizard.
- In Eclipse, select File > Import project... and choose the Existing project into Workspace option
- Browse to the location of the generated project and Eclipse should recognize the project
- Click Finish
As soon as Eclipse imports the project you should notice output from Ant in the Console view. As I mentioned earlier, projects created with seam-gen use Ant to build and Eclipse drives those Ant tasks.
NOTE You should immediately right click on your project in the Project Explorer and select Refresh. This step gets Eclipse to recognize the output files from the Ant build that runs after the import. The Hibernate Console plug-in is then able to find the persistence unit configuration so you can open a session factory and start using it.
You're seam-gen project is now a JBoss Tools Seam project! That means you can take advantage of the core Seam tooling. However, you cannot yet use the code generation. You need to inform JBoss Tools where your Seam runtime is in order to do things such as create a new Seam action.
JBoss Tools needs to know where the Seam distribution is because that is where the shared code generation templates are that I mentioned earlier. To make that connection, right click on the root node of the project and select Properties. Select the Seam Settings in the sidebar of the window that appears to bring up the Seam settings properties sheet as shown here.
To fully activate the Seam support, you need to create a Seam runtime.
- Click on the Add... button to open the dialog for defining a new runtime
- Browse to the location of the Seam distribution where you created the project, choose a name for the runtime, and select version 2.0.
- When you are done, click Finish
You should see that most of the form fields in the Seam settings property sheet are now active. However, you still need to establish a (database) connection profile.
- Click New... to open the dialog to define a new connection
- Select a connection type (HSQLDB or Generic JDBC)
- Progress through the wizard using the same connection information you used when creating the project
The Seam property sheet should now be fully populated, as shown here:
You will now be able to use all of the code generation tasks in JBoss Tools without having to go back to the commandline to run the seam script. For instance, if you select File > Other... > Seam Generate Entities, you can create a CRUD application by reverse engineering the database defined in the Hibernate console configuration. (The latest version of the Seam tools even offers selective generation of entities).
Once the code generation completes, you can open one of the Seam components by name using the Open Seam Component dialog:
JBoss Tools also provides EL completion, such as in a Facelets view:
You can also use the Hibernate Console, the Seam page descriptor editor, the Seam component descriptor editor, and so on. In fact, for the most part, you are able to work with your seam-gen project in JBoss Tools as if you had created the project using the Seam Web Project wizard in JBoss Tools. However, as of Seam 2.1, one features that you lose when you start with the commandline version of seam-gen is incremental deployment of the application through the Eclipse tooling.
In order to deploy a seam-gen application to JBoss AS, you have to use the Ant targets in the project build file, even when developing in Eclipse. But you can drive those Ant tasks from Eclipse.
- Choose Window > Show View > Ant to bring up the Ant view
- Right click in the Ant view and select Add buildfiles...
- Select the build.xml at the root of the project
- When the Ant tree appears, expand it and scroll down to the explode target.
- Double click on the explode target to deploy the application to JBoss AS as an exploded archive
You can start JBoss AS either from the commandline or by setting up a JBoss AS runtime in Eclipse. However, as I mentioned in the last section, JBoss Tools cannot natively deploy a project created by seam-gen to the JBoss AS runtime at the moment. We are working on improving seam-gen to setup the Eclipse project so that the native incremental deployment works out of the box. Until then, you can still take advantage of incremental hot deployment because the explode Ant task is tied to the auto-build mechanism in Eclipse.
If you start JBoss AS in debug mode, you can attach the Eclipse debugger to it by clicking on arrow next to the debug icon in the main toolbar and selecting debug-jboss-<projectName>, where <projectName> is the name you assigned to the project. (Close and open the project again if you don't see this option).
The debugger connects to JBoss AS as a Remote Java Application.
If you checkout Seam from SVN and use the seam script to create a new project, you can import that project into IntelliJ IDEA and take advantage of the Seam tooling provided in IntelliJ IDEA 8. IntelliJ IDEA 8 offers wide range of Seam tooling support, including EL completion, validation, and refactoring. You can check out a screencast of the new features here.
This tutorial demonstrated that you are able to use the Seam tooling provided by JBoss Tools for projects created using seam-gen. You learned how to import the project into Eclipse, setup a Seam runtime, configure a connection profile, and deploy and debug the application on JBoss AS. You also got a little sneak peak at the parallel tooling support for Seam in IntelliJ IDEA 8.
We have (almost) always had a nightly build zip file users could download and try out, but it had a couple of issues if users mixed GA/Beta releases with nightly builds.
Bleeding edge users were also complaining that they had to manually unzip the nightly builds instead of just having an update site to go to and get the latest builds.
We keep both a trunk and a
latest branch update site so anyone can now more easily help and see their favorite feature implemented or bug resolved in the proper build.
With the nightly build updatesite you can try out the latest build, report issues in jira and when the jira get resolved wait for the next build to arrive and update your eclipse to see how/if your issue got solved.
I've attended JAOO a handful times in the past (early 2000's) and even though I have visited many conferences since then, JAOO still stands as one of the best developer conferences I have been to. The JAOO party is even almost as good as the JBoss World party.
I'll be looking forward to see if they kept up the steam.
See you there!
Today we are releasing JBoss Tools 3 Alpha1!
This is an alpha version so do not just throw us away when your computer blows up while using this version, do please tell us what happened! Getting feedback from users are very important for us.
This release will only work with Eclipse 3.4/Ganymede.
We recommend you do not use Eclipse.org update site to go from Eclipse 3.3 to Eclipse 3.4 - instead download the full binary from Eclipse. To get the optional TPTP and BIRT integration to show up see the list of Eclipse drivers we used for JBoss Tools 3.x here
If you can only use Eclipse 3.3 use JBoss Tools 2.1.2, but JBoss Tools 2.x will not have any of the new features.
There is a lot going on in 3.x, but the following are the new feature highlights:
- Graphical Seam pages.xml editor, visual view and editing of page and exception navigation
- Faster editing in Visual Page Editor and the source tab is back!
- EL Variable substitution, allowing users to specify what a EL variable should be evaluated to; allowing includes and image references in pages that uses EL to be visualized.
- Project archives can use relative paths and Eclipse variables allowing for more portable .packages files
- Dali support for Hibernate, use Hibernate as a JPA platform in Eclipse JPA projects.
- Portlet wizard and facet with support for JSF/Seam via the Portlet Bridge
- JBossWS WTP support, enable usage of JBossWS in WTP web services functionality
- Eclipse BIRT support, we added a Hibernate backed datasource for Eclipse BIRT and experimental Seam/JSF tags for using BIRT charts and reports.
JBoss Tools Drink is one of the suggestions we got for a JBoss Tools
identity - I'll blog about that later, but if you got other suggestions let us know.