Sessions at JDD 2012 on Thursday 25th October

Your current filters are…

  • INVOKEDYNAMIC = bardziej dynamiczna JVM

    by Waldemar Kot

    Poznaj invokedynamic – jedyną prawdziwą nowość jaką przyniosła Java 7 ;-) . Nowe wydanie technologii Java przyniosło istotne rozszerzenie możliwości maszyny wirtualnej: nowy bytecode (invokedynamic) i referencje do metod (method handle). Początkowo, rozwój invokedynamic był motywowany lepszym wsparciem ze strony JVM dla innych-niż-Java języków programowania. Jednak invokedynamic otwiera sporo całkiem nowych możliwości, niezwiązanych z językami dynamicznymi na JVM.

    Podczas prezentacji dowiesz się dlaczego stworzono i jak działa invokedynamic oraz do czego można to wykorzystać. Znajomość działania invokedynamic przyda się również do zrozumienia jak będą działać niektóre z nowości w Java 8 (np. lambda expressions).

    Przewidziane są praktyczne przykłady jak rozpocząć zabawę z invokedynamic. Prezentacja jest przeznaczona dla programistów o dowolnym poziomie doświadczenia. Więcej informacji można znaleźć tutaj: http://jdn.pl/node/2147.

    At 9:30am to 11:00am, Thursday 25th October

    In Hotel Galaxy

  • Pragmatic, Not Dogmatic TDD: Rethinking How We Test

    by Rebecca Wirfs Brock, Joseph Yoder

    One thing that has discouraged people from incorporating TDD into their organization is the common misperceptions that tests should always be written first, before writing any production code, and, that tests and code should be developed in many tiny increments. We believe that TDD is more about thinking carefully about how best to validate that your software meets your requirements. Testing and validation should drive your development process (that’s why we are fans of being Test Driven), but we think there is so much more to testing than writing lots of unit tests.

    The typical approach to TDD usually focuses on having developers write many unit tests that may or may not add value. Instead, we recommend you adopt a testing strategy that gives you the ost leverage. So, for example, rather than merely writing many unit tests, you can often get more value by defining the appropriate user-level acceptance tests. Testing should drive your development but not at the expense of every other coding and design practice). One size or one approach for testing does not fit every organization or team.

    This talk challenges the “norm” for TDD. Testing should be an integral part of your daily programming practice. But you don’t always need to derive your code via many test-code-revise-retest cycles to be test-driven. Some find it more natural to outline a related set of tests first, and use those test scenarios to guide them as they write code. Once they’ve completed a “good enough” implementation that supports the test scenarios, they then write those tests and incrementally fix any bugs as they go. As long as you don’t write hundreds of lines of code without any testing, there isn’t a single best way to be Test Driven.

    There’s a lot to becoming proficient at TDD. Developing automated test suites, refactoring and reworking tests to eliminate duplication, and testing for exceptional conditions, are just a few. Additionally, acceptance tests, smoke tests, integration, performance and load tests support incremental development as well. If all this testing sounds like too much work, well…let’s be practical. Testing shouldn’t be done just for testing’s sake. Instead, the tests you write should give you leverage to confidently change and evolve your code base and validate the requirements of the system. That’s why it is important to know what to test, what not to test, and when to stop testing. More discussion about Pragmatic TDD can be found here: http://adaptiveobjectmodel.com/2....

    At 9:30am to 11:00am, Thursday 25th October

    In Hotel Galaxy

  • The dark art of performance tuning or how to become a performance hero without spending a penny on tools

    by Leonid Igolnik

    Performance tuning an application can be stressful and time consuming activity and is considered by some a dark art. Fortunately Java platform provides many tools that can allow anyone to master the many issues real life production application throw at application developers.

    In this session we will look some basic approaches to discovering the root causes for common performance bottlenecks and some of the tools that are available to aid in those endeavors.

    At 9:30am to 11:00am, Thursday 25th October

    In Hotel Galaxy

  • Behavior Driven Development, czyli Agile 2.0

    by Rafał Jamróz

    Podczas prezentacji dowiesz się jak opierając swój proces wytwarzania oprogramowania na Behavior Driven Development można zarówno polepszyć jakość swojego kodu jak i lepiej porozumieć się z klientem w celu dostarczenia (i ciągłego dostarczania) oprogramowania z którego użytkownicy chcą korzystać.

    Pierwsza wersja BDD została stworzona jako wariacja na temat Test Driven Development, ale z czasem wyewoluowała do pełnoprawnej „lekkiej” metodyki wytwarzania oprogramowania (aktualna – trzecia wersja BDD). Poza TDD, Behavior Driven Development czerpie również dobre praktyki z Domain Driven Design oraz Scrum, stawiając przy tym szczególny nacisk na komunikację wszystkich uczestników projektu (łącznie z klientem). W znalezienu wspólnego języka (podobnie jak w przypadku Scrum) ma pomóc używanie User Story. Historyjki z jednej strony są zrozumiałe dla wszystkich uczestników projektów (jako że są napisane językiem naturalnym), z drugiej pozwalają uchwycić słownictwo klienta i zrozumieć jego domenę, a z trzeciej – są pełnoprawnymi testami, pisanymi przez programistów i uruchamianymi automatycznie przy każdym procesie budowania aplikacji. Priorytetem w BDD jest zapewnienie, nie tylko tego, że implementowane funkcjonalności działają poprawnie, ale są zgodne z tym, czego na prawdę klient oczekiwał.

    Demonstracja będzie oparta na aplikacji webowej napisaną z użyciem Java EE, Spring Framework oraz Maven2, wykorzystującą klasyczną architekturę warstwową. Pokazane scenariusze BDD będą zaimplementowane z pomocą narzędzi JBehave i Selenium, ale nie zabraknie też przykładów jak inne rodzaje testów (min. jednostkowe i integracyjne) uzupełniają się z BDD tworząc spójną strategię testowania.

    At 10:00am to 10:50am, Thursday 25th October

    In Hotel Galaxy

  • Comet, Ajax, web browsers limitations and web apps performance factors

    by Paweł Limanówka

    In projects from my past, one specific requirement was surfacing surprisingly often – to efficiently provide large number of simultaneous users with frequent and timely updates of data in a web app. This is fairly common requirement, especially in apps for financial or gaming sector. As you can imagine, there are few common, well known solutions to that problem – most of them grouped under umbrella-term „Comet”.

    Basic ideas behind those are deceptively simple; it’s relatively easy to build PoC level Comet solution, but often proves to be both tricky and tedious task to make it fly under real world conditions. As „getting it right” few first times took some investigation and led to interesting, yet hard-to-google findings, I think that you may find short summary of my experiences with Comet interesting and worth your time.

    At 11:10am to 12:00pm, Thursday 25th October

    In Hotel Galaxy

  • Deconstructing architecture in the times of crisis

    by Jarosław Pałka

    Tight deadlines, budgets on a strict diet, exploding metrics KLOC, CC, RFC, nebulas of technologies, paradigms, and manifestos. Distributed teams, „nonsense” large and complex systems.

    In the times of global financial crisis, are we also witnessing (and can also be culprits), the crisis in our industry? Crisis, which has a much further forward consequences.

    During the presentation we will try to understand what is a crisis of architecture, what are its sources and consequences. We will try to see beyond our „garden” and seek solutions using „systems thinking” and „complexity theory”. We will look at the archetypes of systems, and will try to understand what characterises „complex systems” and hopefully will propose solutions to the problems we are facing today. Instead of the reading lines of code, trying to understand the intentions of the author, we can improve our system, by understanding its structure and interactions between components. We will take a look at „systems” outside of software development world and will find many similarities. Why resilient, self-organizing and hierarchical systems are most common and stable systems in an outside world. What we can learn from it?

    Maybe instead of studying programming languages, platforms and architecture styles and patterns we should focus on understanding how systems work in general? Understand nature of systems and their complexity.

    At 11:10am to 12:00pm, Thursday 25th October

    In Hotel Galaxy

  • The deconstruction of architecture in times of crisis

    by Jarosław Pałka

    Tight deadlines, budgets on a strict diet, exploding metrics KLOC, CC, RFC, nebulas of technologies, paradigms, and manifestos. Distributed teams, „nonsense” large and complex systems.

    In the times of global financial crisis, are we also witnessing (and can also be culprits), the crisis in our industry? Crisis, which has a much further forward consequences.

    During the presentation we will try to understand what is a crisis of architecture, what are its sources and consequences. We will try to see beyond our „garden” and seek solutions using „systems thinking” and „complexity theory”. We will look at the archetypes of systems, and will try to understand what characterises „complex systems” and hopefully will propose solutions to the problems we are facing today. Instead of the reading lines of code, trying to understand the intentions of the author, we can improve our system, by understanding its structure and interactions between components. We will take a look at „systems” outside of software development world and will find many similarities. Why resilient, self-organizing and hierarchical systems are most common and stable systems in an outside world. What we can learn from it?

    Maybe instead of studying programming languages, platforms and architecture styles and patterns we should focus on understanding how systems work in general? Understand nature of systems and their complexity.

    At 11:10am to 12:00pm, Thursday 25th October

    In Hotel Galaxy

  • Functional Principles for Object Oriented Development

    by Jessica Kerr

    How is an expert OO developer to improve on his craft? By learning from other paradigms! These six principles of the functional style can apply to OO. Some of these principles are part of good practice already; some express patterns both old and new; all give us different ways of thinking about problems. For developers without expertise in functional programming, examples in Java provide new techniques for writing clear, quality code.

    At 12:10pm to 1:00pm, Thursday 25th October

    In Hotel Galaxy

  • Microbenchmarks – performance in the smaller scale

    by Jakub Kubryński

    A lot of us encounter the dilemma of choosing one of many possible solutions to the specific programming task. The first method to compare their performance that comes to mind is to use System.currentTimeMillis() before and after execution. But how can we be sure that the simplest answer is also the best one? We should note that ignoring the constraints of the Java Virtual Machine architecture often give us false conclusions which leads to wrong design decisions.

    So how to properly measure the execution time of the loop processing or method call to get meaningful results which can then result in increased performance on production environment? During the presentation I will outline potential pitfalls in the benchmark implementations and show the methods and tools that can be used to solve this issue properly.

    At 12:10pm to 1:00pm, Thursday 25th October

    In Hotel Galaxy

  • Why We Need Architects (and Architecture) on Agile Projects

    by Rebecca Wirfs-Brock

    The rhythm of agile software development is to always be working on the next known, small batch of work. Is there a place for software architecture in this style of development? Some people think that software architecture should simply emerge and doesn’t require ongoing attention. But it isn’t always prudent to let the software architecture emerge at the speed of the next iteration. Complex software systems have lots of moving parts, dependencies, challenges, and unknowns. Counting on the software architecture to spontaneously emerge without any planning or architectural investigation is at best risky.

    So how should architecting be done on agile projects? It varies from project to project. But there are effective techniques for incorporating architectural activities into agile projects. This talk explains how architecture can be done on agile projects and what an agile architect does.

    At 12:10pm to 1:00pm, Thursday 25th October

    In Hotel Galaxy

  • Ewolucyjna Destylacja Architektury – myślenie wizualne na przykładzie Ports&Adapters

    by Sławomir Sobótka

    Architektura Ports & Adapters jest syntezą współczesnej wiedzy na temat rozwiązań stosowanych w systemach enterprise.

    W jej giętkim mikro-jądrze znajdziemy miejsce na DDD, TDD, CqRS, Event Sourcing i pluginy.

    Jej twarda skorupa Portów oferuje skalowanie oraz zapewnia SAO Ready. Natomiast zewnętrzna aura Adapterów umożliwia integrację przy pomocy: receptorów zdarzeń, Sagi Biznesowej, Pipes and Filters, REST, WS wspierając strategię rynkową multiscreen.

    Całość w zintegrowanej formie, gdzie „wszystko jest na miejscu i wszystko ma swoje miejsce”.

    Podczas prezentacji będę chciał przekonać Was do podejścia, w których wyłaniamy formę architektury systemu oraz aplikacji z treści przykładowych scenariuszy i wymagań. Wykorzystamy w tym celu techniki myślenia wizualnego oraz Building Blocks wchodzące w skład architektury Ports&Adapters.

    At 2:00pm to 2:50pm, Thursday 25th October

    In Hotel Galaxy

  • Jak wychować aplikację webową

    by Wojciech Wyczesany and Mikołaj Pastuszko

    Czy wiesz, że możesz zautomatyzować weryfikację wymagań klienta w Twoim produkcie? Wystarczą trzy proste kroki:
    1. Przygotuj z klientem opis oczekiwanego zachowania systemu. Zwykły tekst, bez skomplikowanych diagramów!
    2. Odwzoruj go na rzeczywistą interakcję z Twoją aplikacją. Z narzędziami JBehave i Selenium to naprawdę łatwe!
    3. Włącz wykonywanie testów w Twój proces Continuous Integration.

    Przedstawiony model zapewnia wysoką zgodność działania produktu z tym, czego oczekuje (i za co płaci) klient. Satysfakcja gwarantowana :-)

    Prezentacja obejmie wyjaśnienie koncepcji Behaviour Driven Development (BDD), która może być z powodzeniem stosowana do tworzenia wysokopoziomowych testów aplikacji na warstwie interfejsu użytkownika. Udowodnimy, że wartość oprogramowania istotnie wzrasta, gdy nauczymy komputer klikać za nas.

    Całość zostanie zilustrowana historią udanego wdrożenia proponowanego modelu w dużym, istniejącym systemie klasy enterprise – XTRF. Podpowiemy również jak go wprowadzić we własnej firmie.

    At 2:00pm to 2:50pm, Thursday 25th October

    In Hotel Galaxy

  • JavaFX integrating web content into JavaFX applications

    by Pär Sikö and Martin Gunnarsson

    At 2:00pm to 2:50pm, Thursday 25th October

    In Hotel Galaxy

  • Naturalny Porządek Refaktoryzacji

    by Mariusz Sieraczkiewicz

    Mówiąc „refaktoryzacja” myślisz głownie na znanych technikach: Move Method, Remove Middle Man, Substitute Algorithm i innych, które już opisano. Jednak patrzysz w kod Twoje pierwsze pytanie to „Co ma teraz zrobić?” To pytanie ujmuje sedno całego problemu. Refaktoryzacja to coś więcej niż poszczególne przekształcenia. Gdy nurkujesz w sam środek kodu, który woła o pomstę do nieba same przekształcenia to za mało. Potrzeba czegoś więcej. Potrzeba uporządkowanego procesu.

    Podczas prezentacji przedstawię Naturalny Porządek Refaktoryzacji. To powtarzalny proces pracy z kodem dzięki, któremu staje się on prosty i czytelny. Naturalny Porządek Refaktoryzacji da Ci powtarzalne i bezpieczne techniki pracy z kodem.

    At 3:00pm to 3:50pm, Thursday 25th October

    In Hotel Galaxy

  • The Arquillian Universe: A Tour Around the Astrophysics Lab

    Arquillian is a revolutionary testing platform for Java and the JVM that enables developers to easily create and execute integration and functional tests for Java middleware, from Java EE and beyond. One of Arquillian’s strong points is its extensibility. Arquillian was built with the ability to change its default behavior via its powerful extension model as well as to grow past its original programming to take on the challenges of tomorrow. This presentation guides you through the Arquillian extensions by demonstrating how specific extensions solve common problematic testing scenarios faced by enterprise developers. You will get a overview of what is available and possible today as well as what is brewing in the community.

    At 3:00pm to 3:50pm, Thursday 25th October

    In Hotel Galaxy

  • Wielojęzykowość w aplikacjach J2EE

    by Marek Berkan

    Co to są aplikacje wielojęzyczne? Jakie wzorce projektowe można stosować przy ich realizacji? Na te pytania odpowie Marek Berkan podczas swojego wykładu. Zaprezentuje aspekty techniczne lokalizacji: po stronie serwera oraz związane z interfejsem użytkownika. Bazując na doświadczeniach z projektu wdrożonego w 29 krajach Europy w 26 językach, opowie o rozwiązaniach organizacyjnych, które przy dużych aplikacjach mogą stać się większym wyzwaniem niż problemy technologiczne. Marek opisze także kilka ciekawych kwestii specyficznych dla różnych krajów.

    At 3:00pm to 3:50pm, Thursday 25th October

    In Hotel Galaxy

  • (Remote) Pair programming

    by Thomas Sundberg

    Programming is often something that is done in solitude. Problem solving is something that often is done in a group. Programming is always about problem solving. It would therefore be natural to do programming in groups. The group must not be too large and there must be at least two persons to make up a reasonable group. A pair turns out as the natural choice.

    Some of the benefits with pair programming are

    Problem solving
    Continuous reviews
    Quality
    Learning
    Lower project risks
    Satisfaction

    There is also a myth that pair programming is twice as expensive as having one person solve each problem. I will show why this is just a myth and that the actual direct cost has been shown to be 15% higher. I will also follow up and show why the total cost during a computer programs life cycle gets significantly lower with pair programming.

    Pair programming is most efficient when the pair sits next to each other. This is not always possible. I will therefore perform a pair programming session with a remote partner to illustrate that it is possible to do pair programming remote.

    At 4:00pm to 4:50pm, Thursday 25th October

    In Hotel Galaxy

  • Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku XSS

    by Piotr Bucki

    Celem wykład jest pokazanie na czym polega atak XSS i jakie są jego rodzaje oraz dostępne zabezpieczenia w popularnych frameworkach Java. Wykład jest przeznaczony dla osób tworzących aplikacje korzystając z WEBowych frameworków Java.

    XSS (Cross-site scripting) jest rodzajem ataku na użytkownika serwis WWW, który polega na wykonaniu kodu przygotowanego przez atakującego (zazwyczaj JavaScript, ale także AciveX, Flash czy Silverlight) w przeglądarce ofiary.

    At 4:00pm to 4:50pm, Thursday 25th October

    In Hotel Galaxy

  • When Should You Consider Meta-Architectures? Using Meta to Scale the Cloud

    by Joseph Yoder

    The recent surge in cloud computing has really changed the way architectures are evolving. Platforms as a Service (PAAS) and Software as a Service (SAAS) is becoming where organizations can get necessary resources as needed without having to worry about many hardware and software configuration issues. It is no longer the case that systems need to be isolated to a single platform or set of platforms with a lot’s of possible maintenance issues. The core premise with the cloud is that different resources including services can be allocated and integrated as needed, adapting to the specific needs of the organization or systems being built.

    Additionally, “Cloud Computing” allows for a large numbers of users and flexibility for different services being provided. Different types of resources and services provide maximum configuration and flexibility within the cloud and metadata is key for this type of variability. , It is quite often the case that cloud applications need to be able to dynamically adapt at runtime, without stopping the application. It is important to provide a way for users to customize their own experience with cloud applications. Trying to do this without ways for users to describe and adapt to their specific needs will not scale at all. This scaling and adaptability problem becomes even more imperative when you have many different organizations with different requirements. If, in the cloud, these organizations cannot adapt and define their different needs, the cloud solution would not be that compelling to them. In these situations, it is important to allow the ability for different customizations of the services, and to allow the users themselves to dynamically configure the systems. In order to be able to adapt to these dynamic requirements, the demand for Meta-architectures, such as those provided by Cloud solutions such as SalesForce, are necessary to make these types of adaptability possible!

    What does it take to build a system that can be changed and adapted without programming? When is it appropriate to consider stepping into the meta world to build such an extensible system specifically in the “Cloud” environment? This talk answers these questions and presents ideas about using meta-architecture to scale in the “Cloud”.

    At 4:00pm to 4:50pm, Thursday 25th October

    In Hotel Galaxy

  • Apache Tomcat + Java EE 6 Web Profile = Apache TomEE

    by Jacek Laskowski

    It nearly impossible to imagine a Java EE landscape without Apache Tomcat – one of the many application servers supporting Java EE 6 web applications. It’s neat and a very lightweight platform for web applications of any kind. Some would warmly welcome the other features of a full-blown Java EE 6 application server – CDI, EJB, JAX-RS, and perhaps JMS. Rather than composing your application server yourself, give TomEE a try!

    In this presentation you’ll find out what the Java EE 6 Web Profile offers and how little it takes to learn TomEE with or without prior familiarity with Tomcat.

    At 5:00pm to 5:50pm, Thursday 25th October

    In Hotel Galaxy

  • Hibernate Search talk

    by Hardy Ferentschik

    In this talk we will cover a lot of ground, so buckle up. We will start with an introduction into freetext search and its concepts. Then we talk about the popular Open Source freetext engine Lucene and how Hibernate Search uses Lucene to bridge the gap between O/R model and fulltext search allowing for a easy integration of both technologies. This is followed by an introduction to the data grid platform Infinispan and how it fits into the picture. One the one side Hibernate Search can use Infinispan to store the Lucene index in the data grid, on the other side Infinispan uses Hibernate Search to implement a search functionality across the clustered data. We will finish of talking about Hibernate OGM (Object Grid Mapper) which is the latest Hibernate project combining Hibernate Core, Search and Infinispan in yet another way.

    At 5:00pm to 5:50pm, Thursday 25th October

    In Hotel Galaxy

JDD 2012

Poland Poland, Krakow

25th26th October 2012

Schedule incomplete?

Add a new session

Filter by Day

Filter by Venue