miércoles, 29 de octubre de 2014

Java EE 7 Batch Processing and World Of Warcraft (5/11)

Hi JUGers!!

Ready for the next online session? In this case we are going to learn a newcomer API, Java EE 7 Batch Processing. Wednesday 5th at 19:00 (CET time) we will have Roberto Cortez speaking about Java EE 7 Batch Processing and how it can be used into a real system like WoW.

This talk will explore one of the newest API for Java EE 7, the JSR 352, Batch Applications for the Java Platform. Batch processing is found in nearly every industry when you need to execute a non-interactive, bulk-oriented and long running operation task. A few examples are: financial transactions, billing, inventory management, report generation and so on. The JSR 352 specifies a common set of requirements that every batch application usually needs like: checkpointing, parallelization, splitting and logging. It also provides you with a job specification language and several interfaces that allow you to implement your business logic and interact with the batch container. By the end of the session, attendees should be able to understand the use cases of the JSR 352, when to apply it and how to develop a full Java EE Batch Application.

About Roberto:

Freelancer, Speaker, RebelLabs Author, Blogger, Passionate Developer

My name is Roberto Cortez and I was born in Venezuela, but I have spent most of my life in Coimbra – Portugal, where I currently live. I am a professional Java Developer working in the software development industry, with more than 8 years of experience in business areas like Finance, Insurance and Government. I work with many Java based technologies like JavaEE, Spring, Hibernate, GWT, JBoss AS and Maven just to name a few, always relying on my favorite IDE: IntelliJ IDEA.

The direct contact with the Java community made me want to become an active member in the community itself. For that reason, I have created the Coimbra Java User Group, started to contribute to Open Source on Github and launched my own blog (www.radcortez.com), so I can share some of the knowledge that I gained over the years.

This session will be given  online from our youtube channel starting at 19:00. So remember Wednesday 5th to connect to BarcelonaJUG Youtube channel and be ready to learn how to process batches using Java EE 7.

See you there!

domingo, 19 de octubre de 2014

What Makes Groovy groovy (23/10)

Hi JUGers!

Ready to learn something about polyglot programming? This thursday 23 at 19:00 (Spanish time zone) we will have Guillaume Laforge talking about Groovy and What's make Groovy groovy.

Groovy is not a newcomer to the arena of alternative languages for the JVM. With over 1.7 million downloads a year, it's clearly ahead of the pack. But what makes it a great choice for your projects?
  • a flat learning curve for Java developers
  • a malleable & concise syntax fit for Domain-Specific Languages
  • an interesting take on type safety
  • its seamless Java integration where you can mix & mash Groovy & Java together
  • its rich ecosystem of projects: Grails, Gradle, GPars, Spock, Griffon, Geb...
In this session, we'll see how this all fits together in the big Groovy picture, when and where you can use Groovy, and how you can take advantage of Groovy in boosting your productivity!

The session will be driven by Guillaume Laforge. He is the project lead of the Groovy project, a dynamic language for the JVM. He works for Pivotal. Guillaume co-authored the Groovy in Action book, and he's speaking regularly at conferences around the world on Groovy, Gaelyk, Domain-Specific Languages and any Groovy-related topic.

This session will be given  online from our youtube channel starting at 19:00. So remember, this Thursday to connect to BarcelonaJUG Youtube channel and be ready to learn not only basic concepts but advanced concepts of Groovy.

See you there!

viernes, 10 de octubre de 2014

Discount for JUGgers - GOTO Berlin 2014 (5-7/11)

Hi members!

We have good news: a great conference comes again to Berlin next 5-7 of November, and we have a little present for you: a 20% discount to all the tickets if you want to attend.

GOTO Berlin 2013 was a real success and the organizers will go on with it at GOTO Berlin 2014. We would like you to be part of this and that’s why we have this special offer for all of you, members of the Barcelona Java Users Group. 

The GOTO Berlin Conference takes place in the first week of November at Kosmos. The GOTO Berlin program is created “by developers, for developers” where the emphasis is placed on presenting latest developments as they become relevant and interesting for the software development community. Some of the industry’s best speakers, practitioners and trainers (Martin Fowler, Stefan Tilkov, Trisha Gee, Kasper Lund are some of thosewill be at GOTO Berlin to present and train on a variety of topic areas. 

GOTO Berlin begins with a Training Workshop Day led by leading practitioners and authors on various subjects and is followed by 2 Conference days with over 40 of the best speakers in the field. With a 360 degree perspective, they will present new technology and trends in a non-vendor forum to give attendees inspiration, energy and desire to learn. 



Just like the other GOTO Conferences, GOTO Berlin will give attendees a high quality conference experience which is staged in an intimate environment with the best food and comforts needed to support as much learning and networking as possible.

Finally, the organizers told us that they will be very happy to welcome us (again) in November at GOTO Berlin ;-)

That's it! Check the inbox of your MeetUp account, you should have received the discount code or contact with us if you do not have it. 

jueves, 9 de octubre de 2014

Coding Dojo, kata de iniciación (17/10)


Hola JUGers!


Estamos encantados de presentaros nuestro siguiente evento: un Coding Dojo con una kata de iniciación el viernes 17 de Octubre a las 19h en La Fontana.

Realizaremos el taller conjuntamente con los compañeros del Barcelona Software Craftsmanship. El coding dojo será facilitado conjuntamente por Nacho Cougil  y Manuel Rivero, organizadores del BarcelonaJUG y el Barcelona Software Craftsmanship respectivamente.



La kata escogida para la realización del coding dojo, será una kata introductoria para poder conocer que es coding dojo, como aplicar TDD y buenas prácticas. Seguro que más de uno ya conoce o ha oído hablar de clean code, TDD, solid, etc, pero que mejor que ponerlo en práctica y probar de aplicarlo con un problema pequeño.






La kata que realizaremos será la siguiente:

Números racionales
Hacer una clase que sirva para construir objetos que modelen a números racionales e implementar sobre ella las operaciones suma y resta.
Las fracciones deben estar siempre reducidas.

Para poder aprovechar el taller, recordad de traer portátil con un entorno de desarrollo y un framework de testing instalado, el que cada uno prefiera y este familiarizado. 

Por último, no olvidéis reservar vuestra plaza en MeetUpAl ser un taller práctico, el número de plazas disponibles es más reducido de lo habitual, si reserváis plaza y a última hora no podéis venir, por favor, liberad la plaza para algún compañero.

Esperamos que os animéis a participar  ;-) 

Nos vemos! 



Functional programming in Java 8 (20/10)

Hi JUGgers!

Ready to rock this month? We hope so! Get ready, we have nice talks approaching, stay tuned!

Following our talks related to Java8 we would like to invite you to our next talk focused on Functional Programming and Java 8 next 20th of October at 7pm in the auditorium (Building B6) at the Faculty of Computer Science of Barcelona (FIB).

Functional Programming approaches programming as the evaluation of functions that don't alter state or manipulate data. Also, these functions must only generate an output depending on their inputs and must not cause side effects. This derives in a declarative style of programming.

Because Java is (was) imperative, learning to exploit new constructs now available in Java 8 requires a mindshift. Functional Programming is a new paradigm for the average POJO-oriented, Spring-Autowired developer. We will review some of those constructs and then live code a program that uses them.

DISCLAIMER: In this talk we will *not* review Java 8's new syntax nor the Stream API (see for example the talk Stephen Chin gave us about it https://www.youtube.com/watch?v=uTsNNLN2Txk if you are unfamiliar with those).



This talk will be driven by Ignasi Marimon-Clos i Sunyol, a well known Java (now Scala) developer, Software Craftman wannabe and coorganizer of the Scala Developers Barcelona group. Ignasi has a lot of background and experience developing in Java since 2001.

Once again, we have to thank Fib Alumni for their support, for helping us to make this event possible.

Finally, remember to RSVPed as soon as you can, and see you next 20th at FIB!

lunes, 6 de octubre de 2014

Summary of What is OSGi and why I should use it

Hi Devs !!!

Here we are on road again ....

Last  12th and 13th of September we had a great presentation about OSGi and Apache Karaf by Jean Baptiste Onofre.

He showed us the main purposes for this, relatively old, technology ( 1999 ) : OSGi, created by a group of great companies like IBM and Oracle, 

OSGi gives you the power to allow developing your applications with dynamic modularity to decouple and distribute them more easily.

In OSGi we build bundles ( jar files ), that are the minimum expression we deploy in our framework. Every bundle has its own classloader and they live in the same "universe" and can share services and consume them from other bundles with no effort.


Our bundles have their own lifecycle, and we can manage them installing, running, stopping and uninstalling without having to stop the other bundles or the framework.

One main feature of OSGi are the services. We can register our services ( some in every bundle ) as providers, and we can consume those services as consumers. The consumers simply injects the service but it doesn't know where exactly lives the service and which concrete implementation it would get. The contract is the interface.

One of the most popular OSGi frameworks is Apache Karaf, based on Apache Felix or Eclipse Equinox and including some useful utilities ( logging, shell, security, configAdmin, web container .... )
It provides us with a shell to execute the commands and also a web page to manage the framework.






We also had time to see what is Apache Cellar, a subproject of Apache Karaf that allows powerful synchronisation of multiple Karaf instances. It uses Hazelcast for data distribution.

With Cellar we can distribute our bundles in a mirror system to ease the scalability and we also can consume services from other framework instances without effort and as a single injection .




Here you have the slides ( we are improving the audio for the video presentation, any help ? ) :



Enjoy it !!!


Summary of "Building reliable systems with Apache BookKeeper"

Hi devs !!!


Here we are with this summary about the presentation of Apache BookKeeper by Matthieu Morel and Ivan Kelly on June 19th .


In this presentation we saw the main reason to use BookKeeper : reliable distributed logging. As a subproject of ZooKeeper its purpose is to give reliability to distributed log systems ( specially for Databases ).



Its architecture is based in bookies ( servers ) , ledgers ( log streams ) and ledgers entries ( log unit ).


When its needed to store logs we need to have consistency and reliability avoiding problems when the node is down , or the network is down, and also to provide an "assurance" to all the readers and writers for their operations are successfully executed and replicated . BookKeeper achieves high availability and strong durability guarantees by replicating ledger entries across multiple bookies. 
It uses ZooKeeper underneath for the consistence mechanisms between the ledgers, providing strategies to use other bookies when one is down.

Here you can have the video and the slides for the presentation.





Enjoy :-)