Cristiano is software architect and team leader in the Italian branch of Thales, located in Florence, where he drives a group of enthusiastic colleagues in shaking up company’s schemas toward more productive, efficient and innovative methodologies and technologies. He is graduated in Telecommunication Engineering and since young uses computers as a tool to accomplish new ideas. Cristiano is passionated of Web technologies and in the writing of maintainable programs and in his last years he is applying these two passions to the Java platform.
Giuseppe Gerla is a software engineering manager in the Italian branch of Thales, located in Florence. He graduated in electrical engineering in 2005 and in the following years he gained experience in many programming languages and development environments, creating real-time software for embedded systems, 3D CAD tools and supervision systems. Recently he focused his efforts to realize a tramways supervision system with high scalability and reliability.
Modularity is the art of breaking a large system into parts that are easier to understand than the ‘monolithic’ whole.
Failing to achieve the right degree of modularity may lead to development of code that is hard to reuse and to maintain, and when you are working in a team this has a bigger impact on the costs.
The complexity of dealing successfully with modularity is mostly addressed during design, when understanding and planning the dependencies and the behavior of a module, but a good application framework can influence positively toward the right direction by providing a natural environment where to apply good architecture modularity patterns. And OSGi, with its service oriented philosophy and the ecosystem of related tools, where the modules have clear boundaries which coincide with those of ‘Bundles’, it provides such inspiring environment.
During the talk we will illustrate a concrete example of an OSGi project, built with Maven and M2E and running into Apache Karaf. Rather than focusing on the details of technologies, we will put emphasis on the experience of Java modularity so to give a feel of how this platform can help, and allow you to evaluate if this platform can be helpful for your next project and ambitions.