In Relation To Events
In Relation To Events
Sanne is going to do a virtual JBoss User Group session Tuesday July 14th at 6PM BST / 5PM UTC / 1PM EDT / 10 AM PDT. He is going to talk about Lucene in Java EE.
He will also describe some projects dear to our heart. If you want to know what Hibernate Search, Infinispan bring to the Lucene table and how they use Lucene internally, that’s the event to be in!
Apache Lucene is the de-facto standard open source library for Java developers to implement full-text-search capabilities.
While it’s thriving in its field, it is rarely mentioned in the scope of Java EE development.
In this talk we will see for which features many developers love Lucene, make some concrete examples of common problems it elegantly solves, and see some best practices about using it in a Java EE stack.
Finally we’ll see how some popular OSS projects such as Hibernate ORM (JPA provider), WildFly (Java EE runtime) and Infinispan (in-memory datagrid, JCache implementor) actually provide great Lucene integration capabilities.
If you are interested, get some more info on Meetup and enlist.
Célébrons l'open source et le partage (English version below).
Devoxx France vous offre une place: je ne suis que le messager :) Elle sera gagnée par l'un d'entre vous. La règle est simple.
Contribuer à un projet open source (code, doc, etc) entre maintenant et dimanche 29 mars 2015 et tweeter le lien vers la pull request ou le patch à @Hibernate.
- Quel projet ? N'importe pourvu que la licence soit open source. Donc pas limité à Hibernate.
- Comment sera choisi le vainqueur ? La contribution que je préfère sera choisie. Super bonus si c'est votre première contribution à ce projet : il faut que ça brasse :)
- Mais si on contribue à un projet Red Hat, on a plus de chance ? Non, tous les projets open source sont (libres et) égaux.
- Je suis employé Red Hat, je peux gagner? Non. Contacte-moi directement.
- Et ? C'est tout.
Aller au boulot !
Devoxx France is giving away a free pass through me. I am just the messenger :) One of you will win it. The rule is simple.
Contribute to an open source project (code, doc, etc) between now and Sunday evening 29th of March 2015 and tweet the link to the pull request or the patch to @Hibernate.
- Which project? Any project released under an open source license. Not limited to Hibernate.
- How will you chose the winner? The contribution I prefer will be chosen. Extra bonus if that's your first contribution on that project: let's exchange!
- But if I contribute to a Red Hat project, I have a better chance? No, all open source projects are equals.
- I am a Red Hat employee, can I win? No. Contact me directly instead.
Now go contribute!
PS légal: cette place est offerte par Devoxx France et Emmanuel Bernard à titre personnel, pas par Red Hat. Bref, je fais ce que je veux, avec mes cheveux. Legal PS: this pass if given away by Devoxx France and Emmanuel Bernard as an individual and free human being, not Red Hat.
If you are around in London the evening of the 14th of January, I would love to see you at our monthly JBUG event.
We'll start the evening with an introduction to Hibernate Search, including basics of concepts from Apache Lucene, and then discuss the novelties you'll find in Hibernate Search 5.0, before discussing the more advanced features. That should be interesting both for those of you already familiar with the technology, and for those who never heard of it and are now wondering how and if it could help you.
The event will be at Skills Matters, organized by our partner C2B2, and after the demo we'll have plenty of time for pizza, beers and face to face discussions about all things Hibernate.
We'll have a full day dedicated to developers in London the 5th of December. It's a free event with an high concentration of technical people and passionate developers.
I'll introduce you to several different integration strategies to make the most of both Hibernate and Infinispan, but I'll also be available to discuss technical questions for either project.
There are many interesting talks, covering cool subjects like the latest news in BRMS space, JBoss Fuse & Camel, OpenShift, Arquillian and JBoss Tools, JBoss performance tuning, HTML5 built on JBoss... the full agenda can be found here.
As always myself and all my colleagues look forward for interactive sessions and lots of open discussions. Feel free to reach out to discuss anything related to the coolest technologies, in the sessions or after the talks.
If you can make it, please register, help me to advertise the event, and see you there.
Emmanuel is headed to JavaOne, where you can see his hands-on presentations: live on stage coding showing the latest features of Hibernate Search and Bean Validation. It's a unique experience to see how easy it is to get started with these technologies, and also what powerful features they can provide you in just one hour coding.
Search is passé; we need Foursquare-style location and should let people search in specific vicinities. And no, you don’t have to leave Java or JavaEE to make this a breeze. This session shows you how to boost your existing applications by easily adding full-text search, spatial search, faceting, and even all at the same time! Faceted results return the list of results as well as their count by category—price range, brand, colour, and so on. This session takes an existing JavaEE7–based application and adds search services via Hibernate Search. It favours code and step-by-step IDE work over slides.
- Presenter: Emmanuel Bernard
- Location Parc 55 - Mission
- Time: Monday, Sep 23 7:30 PM - 8:15 PM
Java EE 7 is a very rich environment. This session takes you on a practical code-driven Bean Validation walk-through: how to use it in your applications and what not to do—all with an example-driven approach. The presentation gradually adds constraints and validations to an existing application and examines many features, both old and new, including constraint declaration, custom constraint, method validation, EL-based message interpolation, JAX-RS integration, and many more. It spends as much time as possible in the IDE. No previous knowledge of Bean Validation is required.
- Presenter: Emmanuel Bernard
- Location: Parc 55 - Cyril Magnin II/III
- Time: Wednesday, Sep 25 11:30 AM - 12:30 PM
There are lots of speakers from the JBoss community at JavaOne, see the dedicated website!
Tomorrow the London Java Community (LJC) meets for the monthly
Meet a Project night. I'll be there again, this time to explain how to get started contributing to Hibernate Search and answer all the questions you might have about the mysterious world of open source professionals.
I don't expect to need to explain what Hibernate Search is to the readers of this blog, but to clarify what it means in terms of CV and career opportunities, you get to learn and contribute to two very popular open source projects in one shot: Apache Lucene and Hibernate. Technically it's maintained under the Hibernate umbrella but you get very close to Lucene/Solr as well. And there are other cool projects being presented too: we do quick round-tables, so you'll get to talk face to face with many developers.
Anyone is welcome and Red Hat kindly sponsors with some refreshments, so you have an excuse to come and say hi even if you think you're not going to contribute any code: your suggestions and complaints over a drink are very welcome too.
Free as in Beer is getting a new meaning:-)
To register and find more details look at the Meetup event page.
We're in Boston for JUDCon and Red Hat Summit; Emmanuel is on stage coding live a nice new demo using Hibernate Search to combine full-text with geographic filtering. It will be contributed to JDF quickstarts but you can already get the sources.
The JGroups backend was refactored and also introduced an option to use it as a synchronous backend.
It is now possible to not include the Hibernate Search jars in your application but add it as a set of Modules to the application server. Details for this deployment can be found in the new chapter in the reference documentation. Of course you can still include the jars in your applications if you prefer that.
While fixing a bug in the NRT backend we also found an opportunity for a great performance improvement. I posted some figures on a previous blog post.
The API was made more consistent, the documentation got some love: no big highlights but we got some nice polishing all around.
All dependencies where updated; in particular we took care to be compatible with latest JBoss EAP 6.1 release and its associated versions of Infinispan and JGroups.
The complete list of changes can be found on the JIRA release notes.
- on the forums or on the mailing list, or join us for a chat on IRC
- the issue tracker is JIRA and all code is on GitHub
- send us an email or a tweet to let us know what cool things you're doing with it!
Patches for Hibernate Search 4.4 have been merged already, an partially on 5.0 which is finally going to support Lucene 4. More details are shared on The Roadmap.
If you travel in the JBoss universe you should be aware that Red Hat Summit and JUDCon are taking place in Boston between June 10th and June 14th. If you want to meet the persons behind the code, that's a pretty good deal.
Monday June 10th at JUDCon, Stef, Gavin and I are doing a full day workshop on Ceylon. Come with your laptop and code with us. More info.
Tuesday June 11th at JUDCon I will be adding full-text search, faceting and geolocation queries to an application live. I am working hard on this code and not at all on my slides, this should be quite interesting. It is based of the famous TicketMonster app. More info.
At Red Hat Summit Thursday June 13th, Sanne will talk about the use cases that really benefit from mixing Infinispan / JBoss Data Grid with the Hibernate suite of projects (Hibernate ORM, Hibernate Search and Hibernate OGM). You will see the big work we did to make 1+1=3 with these projects. More info.
At Red Hat Summit Wednesday June 12th, I will be giving an overview of what's new in the Hibernate sphere (ORM, Search, OGM, Envers, Validator). A good one to keep your knowledge fresh or if you believe that Hibernate is a JPA compliant ORM and that's it :) More info.
Anyways, feel free to ping us if you are there, we accept chats as long as there is beer, whisky or any kind of good technical content :)
Recently I had the chance to give a talk on Bean Validation 1.1 at Berlin Expert Days (BED-Con), a nice mid-sized conference (2 days, 500 attendees) hosted at
Freie Universität in Berlin. As in the last years, BED-Con was a great experience with awesome people and many insightful talks in the fields of Java EE, NoSQL, Continuous Delivery etc. I really can recommend this event which is planned to take place next year again.
My talk on Bean Validation went very well and I got lots of questions on the new functionality. In particular the possibility to use constraints on method parameters and return values (method validation) seems to be a helpful feature for many. You can find my slides which discuss the new features on the conference web site (in German, though).
I also used the opportunity to listen to some talks around client side web applications using HTML 5 and REST. There's a lot of activity going on in this field right now, and it appears like a new framework is released every day.
An interesting question to me is how Bean Validation as Java based technology fits into this picture. Bean Validation provides an API for retrieving constraint meta-data from models which could be used to perform a client-side validation of data entered by the user. It would surely be interesting to see how this could be leveraged to expose constraint meta-data e.g. via a REST service and use it on the client with frameworks such as AngularJS. Maybe this is even done by some frameworks already?
Past week I returned from my trip to Bengaluru, where we had one of our great developers conferences.
As always at these events the best part was the people attending: a good mix of new users and experts, but all having in common a very healthy curiosity and not intimidated at all, so proposing a terrific amount of questions, discussions and for my long trip home a lot of things to think about.
I had the honor to present several topics:
- Hibernate Search: queries for Hibernate and Infinispan
- Infinispan in 50 minutes
- Cross data center replication with Infinispan
- Measuring performance and capacity planning for Data Grids
- Participating on the JBoss experts panel
The talk about Hibernate Search was a last minute addition: by shuffling the agenda a bit we could insert the additional subject and given the amount of nice feedback I'm happy we did.
An expert Hibernate Search user asked me what would happen when having a domain model connecting User types to Addresses, when you have many Users and the city name changes. He actually knew what would happen, but was looking for alternatives to compensate for the problem; since Lucene requires denormalization, all User instances in the Lucene index need to be updated, triggering a reload of all Users living in the particular city. Yes that might be a problem! But that is not something happening frequently in model schemas right? I stated that in this example, it would take a city to change name! Well that caused a good amount of laugher as Bangalore just changed it's official name to the old traditional Bengaluru.. so since they where using Hibernate Search and this was an unexpected behaviour when the city changed name - having more than 8 million inhabitants - the public registry had some servers working very hard!
Obviously this needed specific testing and possibly better warnings from out part. Such problems are a natural consequence of denormalization and need to be addressed with ad-hoc solutions; in this case I'd suggest using a synonym and register the two names as
same in the context of searching by configuring the Synonym support in the used Analyzer: the city name would need a single record change in the database and no reindexing would be needed.
While I'm part of the OGM team, I had no need to talk about OGM as well because there where other speakers on the subject already. I greatly enjoyed listening to the other presentors, Ramya Subash and Shekhar Gulati: they where extremely well prepared and even with the most complex questions there was no need for me to help out.
To all attending and especially all those I've been talking to, thank you so much it was very interesting and I very much appreciate all the feedback. As always feel free to get more questions flowing on our Hibernate forums or Infinispan forum, and you're all welcome to participate more by sending tests or patches.