| 09:00 |
|
Software development is hard. It takes years to become a good developer
and many more years to become an expert. How much of this time is
necessary? Are there any shortcuts?
Michael Feathers
|
|
This talk will cover best practices for OpenESB usage and integration.
Trond Strømme
|
|
Are you writing code that never gets used? Are you struggling to make the code fit your requirements?
Behaviour-Driven Development (BDD) is a fresh breath of air in the agile community, and its primary
focus is to deliver software that matters. -For the end users. BDD builds upon several agile tools and
practices like Acceptance-Test Driven Planning, Example-Driven Devlopment, FIT, User Stories and TDD,
and bring them together in a consistent whole.
Aslak Hellesøy
|
|
As you hang up the phone after talking to your wife, you know you have to prepare an important dinner. You're not really motivated, neither sure where to find the right ingredience. But in fear for your wife you never consider objecting. Some time later, almost forgetting the task, you head for the grocery store. Since you're no expert on cooking you ask for help. Heading back home you decide to call a couple of friends to help you - since you really have more important things to do. When your wife comes home she stops suddenly with a strange look on her face; "What!? I can't serve rabit! Did you forget that we are having The Animal Foundation?". I respond weakly; "They don't like animals?". "They don't like killing them, you idiot!
This talk covers the challenges we meet from someone defines a strategy and approves developing an IT-system to when someone else actually starts implementing it. Most of these challenges do not require "rocket science", so why does it happen over and over again?
To finish of Tom will also show us a totally different approach where companies can meet these challenges and save months and millions, keep momentum and committment and gain tons of value!
NB! This talk should also be interesting for developers who hasn't been involved in the stages before implementation, since you're the one they'll blame at the end.
Tom Bang
|
|
Many view Apache Maven in the context of other build tools such as Apache Ant and Apache Ivy, yet Maven’s functionalities extend far beyond the efficient, enterprise-class project build. When coupled with supporting tools like Nexus and m2eclipse, Maven starts to accelerate development by reducing the level of work required to support build management and cross-department collaboration.
Jason van Zyl
|
|
h1. Abstract:
Mario Aparicio og Eirik R. Larsen fra Ciber presenterer erfaringer med bruk av webrammeverket Seam og prosessmotoren jBPM.
VRVask er et system utviklet av CIBER Norge for validering, manuell korrigering, og rapportering av store antall banktransaksjoner. Systemet er todelt og består av en batch-applikasjon og en web-applikasjon som kommuniserer gjennom en felles database.
For utvikling av web-applikasjonen ble webrammeverket Seam valgt. Bakgrunnen for dette valget er Seams abstraksjon av request / response modellen og støtte for lange brukerinteraksjoner, conversations. Batch-delen av løsningen ble utviklet som en standard Java-applikasjon med Spring og Hibernate.
Vi opplevde Seam som et godt valg av rammeverk for web-løsningen da det gav enkel integrasjon mellom webgrensesnitt, domene og database. På enkelte områder støtte vi imidlertid på utfordringer som muligens kunne vært løst bedre med andre rammeverk.
I utviklingen av batch-løsningen var Spring og Hibernate velegnede rammeverk for håndtering av database og dependency-injection. Derimot fikk vi problemer med håndtering av tilstandslogikk i batch-prosessen. Kompleksiteten ble undervurdert, og vi endte opp med å lagre tilstand i databasen og håndtere all tilstandslogikk programmatisk. Løsningen ble derfor vanskelig å utvikle og vedlikeholde. Etter å ha analysert problemene i batch-løsningen så vi at en prosessmotor med fordel kunne brukes for å håndtere tilstand. Vi valgte å se på prosessverktøyet jBPM da dette er et mye utprøvd verktøy som fungerer bra i et Java-miljø. jBPM er i tillegg godt integrert med andre JBoss-produkter som Hibernate og Seam.
I presentasjonen beskriver vi positive og negative erfaringer med Seam i prosjektet og drøfter når det er fornuftig å bruke dette rammeverket fremfor andre web-rammeverk. Videre presenterer vi hvilke fordeler vi kan oppnå ved å bruke jBPM, og hvilke alternativer man har når man skal innføre et slikt verktøy i tilstandsfulle applikasjoner. Til slutt vil vi fremføre eksempler fra opprinnelig løsning og løsning med jBPM.
Mario Aparicio and Eirik Larsen
|
|
h1. Abstract
Code coverage is a lousy test quality indicator. Mutation analysis and testing, on the other hand, provides a better technique to improve your tests. This involves mutation of source code by introducing or modifying statements in small ways. The purpose is to develop effective tests or locate weaknesses in existing tests. This session gives an introduction to mutation testing, available tools and techniques. The content will consist of many examples, demonstrating mutation testing and the effectiveness of this technique.
Trond Arve Wasskog
|
| 10:15 |
|
Given that object orientation underpins the Java language, it would be expected that anyone using Java would also know about OO. In one sense this is true, but there is more to effective modern object-oriented development than just creating a few objects and calling a few methods.
Kevlin Henney
|
|
h1. Abstract:
Alternative languages like Ruby, Scala and Erlang are being picked up by the
large platforms and getting ever more attention. Many feel the need to learn a
new language, but how does one choose which "other" languages to learn and
develop in when there are so many worthy contenders?
Pythonistas have historically not been very good at marketing. This talk will
attempt to convince you that Python/Jython/IronPython deserves to be part of
your developer toolbox.
Language design choices in syntax, features and semantics influence what areas
a language is suited for and the community that grows around it.
Particular features and idioms of Python will be introduced and compared to
choices made by other relevant languages.
Finally, a demonstration of how effective development in Python can be using
the Django framework which has emerged as the premier Python web-framework.
Arnar Lundesgaard
|
|
Development is about more than writing code. It is even about more than writing tests! In order to produce something of value, we have to deliver reliable software into production. In an organization where the consequence of failure is great, we need to make sure that what we deliver works as intended. At the same time, even in a seemingly static world, many problems are hidden until the very end of the project. To make matters worse, complex technology and organizational processes inhibit our ability to act to new information with sufficient speed.
The talk shows how we can implement a rigorous, yet agile process. It is based around our experiences of putting the good idea of continuous integration and other agile methods into life and using this as the basis not just for the technical process, but for the whole improvement program for our organization. We have expanded our process to cover simulated production as a part of the testing effort. This way, we can guarantee that the actual delivery day will be uneventful.
The audience will come away from the talk with a good idea on how to improve their build process. The talk will cover both practical aspects, architectural changes that improves continuous integration, and what change you need to make in your organization to streamline the value chain from a code change to production readiness.
Johannes Brodwall
|
|
The topic of this presentation is about fastest growing open source Java grid
computing framework called GridGain and how its focus on elegant simplicity and
Enterprise Java integration is helping to revolutionize the grid computing for Java
in the same way as Spring or JBoss have changed Enterprise Java landscape.
The presentation will start with an introduction to grid computing and specifically
data and compute grids. MapReduce will be discussed. Real-life examples will
be discussed as well as common pitfalls, patterns and anti-patterns of using grid
computing in real life.
After introduction a comparison between GridGain and Hadoop (another popular
MapReduce implementation) will be given with usual pros and cons of both
projects.
To underscore the topic of presentation it will also include live demonstration of
writing a simple application and grid enabling it to run on a small grid right in front
of the audience. All coding during demonstration will be done live. Detailed and
in-depth explanations will highlight that grid computing in Java can be fun, simple
and productive to use in everyday applications and systems.
Nikita Ivanov
|
|
h1. Abstract:
Mange smidige prosjekter opplever problemer med å holde oversikt over
et stadig voksende antall brukerhistorier. Dette medfører ofte at
prioritering og planlegging blir vanskelig og frustrerende, noe som
kan føre til at vi tar feil beslutninger ift hva som bør inngå i hver
leveranse.
User story mapping er en enkel måte å samle og organisere
brukerhistorier på. Teknikken fokuserer på hva brukerne forsøker å
oppnå og hjelper oss å forstå hvordan vi kan skape leveranser som gir
umiddelbar effekt. Brukerhistoriekart er et kraftig
kommunikasjonsverktøy som sprer forståelse for hvilket problem som
løses, hvordan og i hvilken rekkefølge.
Nils Christian Haugen
|
|
|
|
Standards make the world go round. It would be impossible to mail a
package or send an email message, drive a car or take an airplane trip,
shop for food in a supermarket, obtain medical treatment in a hospital,
watch TV or movies, enjoy a sports game, or do any of the other things
the modern world offers without standards.
Heather VanCura
|
| 11:45 |
|
For decades, enterprise systems have been built around the database - the
original canonical data structure that everything had to integrate to.
The DBA was the most powerful person in the enterprise, even messages
standards were based on the database structures and it seemed everything
had to have a table associated with it. The time has come to think about
an enterprise free from the RDBMS - not free from persistence altogether,
but free from the lock-in of the classic RDBMS. John will talk through
some recent projects at several large financial institutions now building
global trading systems without a database in sight.
John Davies
|
|
This talk will focus on a special kind of wicked software projects - enhancement projects. They are very common and generally overlooked. Wicked enhancment projects exhibit many of the following characteristics:
* The project is delivering something like version 5.7 or 6.0 of a successful software product
* There is a large, buggy, legacy code base with little documentation
* There is a large number of product variations (configurations)
* The customer and user base is large and inhomogenous
* The original development team is long gone
** Sponsor/general management has lost interest (until something goes wrong)
** The current development team is doing all of support, O&M, and fresh development
** Activities other than developent consume a significant portion of the effort
** The developer motivation is low (churn is high)
** There is a high number of external dependencies
** Requirements are volatile
** Firefighting is the norm – defined processes are missing or frequently circumvented
Enhancement projects are especially hard because their origin is a successful product. The risk is generally high (chance of jeopardizing the whole customer base), but not treated as such. Success is expected, but many of the mechanisms for ensuring success are not in place.
Jørn Ola Birkeland
|
|
h1. Abstract
Lean and agile methods tell us to “see the system”.
System thinking skills are important for all agile teammembers. However they are not part of our day-to-day toolkit we got in school or university.
This session introduces the participants to 7 practical system thinking tools and visialisation techniques that will help us map and explore the dynamic complexity of our (software) projects.
These tools can be used in retrospectives, kickoffs, to look at long term consequences of policies and choices. They support the (software) management process at all stages – from specifying problems, to construction and testing of hypothesis.
Martine Devos
|
|
Good tools for automated web-testing have been around for quite some time, and many projects are starting to include them as a part of their build-process. We started using web-tests on Storebrand's online insurance-application back in autumn 2006, and the project is still supported by web-tests this very day. The talk gathers on experiences from this and various other Objectware projects, putting together a good bunch of experiences, recommendations, guidelines and hints for getting your project's web-testing in order.
Topics include:
* Why web-tests are evil!
* When should you NOT use web-tests
* How many web-tests should you maintain?
* How you can get the users to report bugs by writing tests for you
* Getting a CI/testing server to run the tests for you
* Combining web-tests with FitNesse acceptance testing
* Behaviour Driven Development using RSpec with web-tests
* Project testing strategy (and where web-tests fit in)
Thomas Ferris Nicolaisen
|
|
h1. Abstract
Det utarbeides flere og flere selvadministrasjonsløsninger og det er et sterkt behov for å lage løsninger som gjør det mulig å tilby selvadministrasjon også får svært sensitive opplysninger, for eksempel helse opplysninger eller lignende. Data lagres ikke lenger i siloer slik som før og slik som Datatilsynet gjerne skulle ønske det. Denne presentasjonen gir deg konkrete råd om hvordan du kan lage et system som vil bli godkjent av Datatilsynet.
Foredaget vil ikke bare ha hovedfokus på java men den omkringliggende infrastrukturen som er nødvendig. Utviklere vil få forståelse av hva som bør være deres ansvar i en applikasjon og hva infrastrukturen bør støtte dem med for at systemet skal håndtere alle risikoer.
Arne Berner
|
|
h1. Abstract:
Rich Applications has achieved a new degree of sophistication
with requirements to add multimedia and animation. With the
introduction of the new JavaFX SDK and Java SE 6
update N, it is possible to incorporate the newer elements
of a very rich client application into new and existing
Java applications.
Attend this session to get a very brief overview of the
JavaFX programming language and the animation and media
APIs that make it possible to create some sexy looking
GUIs which was hitherto difficult in Java.
After attending this session, attendees will walk away
with a good understanding of JavaFX and Java SE 6 Update
N and how to incorporate the features, such as audio, video
and animation into their applications. They will also get
an idea of the deployment options i.e. applets or applications.
Raghavan N. Srinivas
|
|
h1. Abstract
Ved hjelp av rollespill vil Rasmus og Vidar dele sine erfaringer fra et smidig prosjekt. Sesjonen kommer til å bli delt i to:
* I første del vil Rasmus og Vidar kronologisk fremføre prosjektets historie fra unnfangelse til realisering. De kommer til å demonstrere teknikker som er blitt brukt og hvordan disse passer inn i et smidig tankesett.
* Tilhørerne oppfordres til å notere seg emner som ønskes diskutert under del 1. Dette kan være emner man lurer på, ønsker videre utdypet, er skeptiske til eller forslag til andre teknikker. I del 2 diskuterer vi disse temaene i plenum.
Noen stikkord: Kommunikasjon, brukerhistorier, estimering, prioritering, risikohåndtering, leveranseplanlegging, retrospektiv med mer.
Vidar Alvestad and Rasmus Broch Graver
|
| 13:00 |
|
Get ready for a challenge as Robert Martin dives deep into the topic of clean Java code by examining what makes a good function.
Robert C. Martin
|
|
Unit testing has become a mainstream task. Most developers do it. Most project leaders and architects expect their team to write tests. However, practice has taught us that a lot of teams write few tests, or spend too much time writing and maintaining them. Different development teams make common mistakes, run into similar issues and find their own solutions for them. This costs a lot of valuable time.
Filip Neven
|
|
With the JavaFX SDK Technology Preview having been recently released, this session will get you up to speed on JavaFX regardless of whether you've had any experience with it.
James Weaver
|
|
Foredraget presenterer de vanligste sårbarheter i webapplikasjoner og trekker frem noen illustrerende skrekkeksempler hentet fra sikkerhetstester av norske webapplikasjoner. Vi vil så ta for oss hvordan Java-utviklere kan unngå å gjøre de samme feilene i sine
utviklingsprosjekt.
Erlend Oftedal and Markus Harboe
|
|
h1. Abstract
Turnaround is the time it take for the changes in code to propagate to the running application. It includes build time, deploy time and initialization time. Recently some developments in the Java ecosystem and IDEs made it possible to develop software with zero turnaround. This talk is an overview of these developments, which include dynamic languages like Groovy, JavaScript and JRuby, framework support for reloading like Tapestry 5 and RIFE, module approach in OSGi and generic class reloading approaches like HotSwap, JavaRebel and FastSwap.With each approach we discuss benefits and limitations.
We also review how to set up your build environment to get least possible turnaround whether you program legacy code or start from scratch.
Jevgeni Kabanov
|
|
h1. Abstract:
Har du en snikende følelse av at din trygge serielle hverdag er truet
og at parallellisering antagelig er noe du bør ha et forhold til før
eller siden, da er målet med denne enkle introduksjonen til
parallellisering å kunne vise at dette ikke nødvendigvis trenger være
veldig vanskelig.
Noen ganger har man behov for å splitte opp større jobber for eksempel
for å utnytte datakraften som er tilgjengelig over flere
prosessorkjerner, prosessorer og servere. Teknikker, infrastruktur og
rammeverk finnes for dette, men de er ofte komplekse å sette opp,
vanskelig å forstå og påvirker designet i for stor grad.
Jeg ønsker å gi en enkel (teknologi og produktuavhengig) introduksjon
til parallellisering, hvilke forutsetninger som må være på plass for
at oppgaver gjøres i parallell, noen problemstillinger knyttet til å
parallellisere, teknikkene master - worker, og map og reduce, og
eksempler på en del typiske problemer som er egnet for
parallellisering.
Dersom du allerede jobber med storskala parallellisering er nok ikke
dette presentasjonen for deg, dette er heller ikke en presentasjon av
googles MapReduce rammeverk.
Etter en introduksjonen til parallellisering vil jeg beskrive noen
konkrete problemstillinger fra BBS hvor vi har hatt behov for å
parallellisere jobber. Jeg kommer til å forklare hvorfor vi trengte å
splitte opp og parallelisere jobbene, hvordan vi gjorde det, samt hva
vi oppnådde rent konkret ytelsesmessig.
Bjørn Nordlund
|
|
h1. Abstract
Deltakerne på denne sesjonen vil få innsikt i praksiser for effektivt å kommunisere og prioritere krav, estimere kostnader og gjennomføre utviklingsprosjekter. Ettersom dette er temaer uten fasitsvar legges det opp til mye diskusjon og interaksjon.
Programvareprosjekter mislykkes ofte med å levere lovede resultater, og kostnadsoverskridelser er en stor og hyppig utfordring. Mangelfull kravhåndtering er ofte en underliggende årsak til disse utfordringene. Det finnes imidlertid en rekke indikasjoner på at gode samarbeidspraksiser kan redusere omfanget på problemet. Det har vært anslått at samarbeid og kommunikasjon utgjør opptil 70% av den totale tidsbruken i programvareprosjekter, og å anbefale en høy andel av samarbeid og kundeinvolvering er derfor ikke noe nytt. Utfordringen er imidlertid å identifisere hva som utgjør et godt samarbeid, og hvordan dette kan oppnås.
Mange utviklingsorganisasjoner benytter seg i økende grad av iterative og inkrementelle prosesser, for eksempel Scrum. Imidlertid har også de smidige prosessene, og andre prosesser slik som RUP, mangler når det gjelder å involvere sentrale aktører som kunder, interaksjonseksperter og brukertestere. De iterative og inkrementelle prosessene er unektelig bedre utrustet enn de sekvensielle prosessene (fossefall) når det kommer til å håndtere disse behovene, men de er samtidig også langt mer innstilt på å tilfredsstille behovene til utviklingsteamet.
Denne sesjonen skisserer samarbeidspraksiser vi mener øker sjansen for verdiskapning i utviklingsprosjekter. Hovedfokuset er praksiser for å:
* Definere en prosess som forbedrer prosjektgjennomføring
* Kommunisere og samarbeide om kravhåndtering og forretningsprioritering
* Samarbeide om estimering og planlegging
Et overordnet prinsipp for diskusjonen vil være å skissere et rammeverk for kravhåndtering som illustreres gjennom en kommunikasjonspyramide. Denne pyramiden skiller mellom fem generiske nivåer for kommunikasjon om krav, som er nyttig i de fleste prosjekter. Disse er:
* Forretningsmål
* Overordnede krav
* Detaljerte krav (f.eks. brukerhistorier)
* Utviklingsoppgaver
* Kildekode (f.eks. konkrete funksjoner)
For hvert nivå presenterer vi en oversikt over hvilke roller som typisk bør være involvert i kommunikasjon og samarbeid. Rollene som diskuteres inkluderer sluttbrukere, kunder, interaksjonsdesignere, utviklere, testere og prosjektledere. Det blir også presentert erfaringer fra et pågående forskning- og utviklingsprosjekt innenfor området.
Kjetil Moløkken-Østvold and Hans Gallis
|
| 14:15 |
|
h1. Abstract
This presentation explores the challenges and solution patterns for managing data and compute tasks in scale-out environments. It is based on experiences with using a wide assortment of software solutions for compute and data management in scale-out environments, including newer scale-out technologies such as data grids and compute grids as well as getting the best results out of traditional database and messaging solutions.
Cameron Purdy
|
|
Apache Tapestry is an open source Java framework that combines the best features of two worlds: the heavy-duty performance and scalability of Java
(not to mention its enterprise acceptance) with the productivity advantages of scripting languages such as Ruby.
Java has emerged as the language for enterprise-class development: it has the widest adoption, the largest class libraries, the best performance, and
greatest degree of enterprise acceptance ... and yet, traditional web development is a painful, unproductive slog: large amounts of configuration combined with constant
recompiles and redeployments.
Python and Ruby can be vastly more productive than Java but can't match Java in terms of performance and scalability, or acceptance in the enterprise.
Tapestry bridges the gap between these two worlds. It embraces convention over configuration on many levels. It enhances productivity with
live class reloading (changes to classes are picked up without a redeploy or restart) and best-of-breed exception reporting. Tapestry classes and templates
are small, simple and immediately understandable. Tapestry applications are fast, efficient and highly scalable. Tapestry lets you work in terms of your objects
and your methods: you can build entire applications and never think about a URL or a query parameter. Things just work!
Tapestry is a component framework; we'll see how the built-in components provide broad functionality and yet are extremely extensible. Many of the components
have built-in Ajax functionality, and building your own components is a snap.
This session will feature live demonstrations and even a bit of live coding. We'll demonstrate how Tapestry keeps you happy and productive like a Ruby or Python coder but still delivers
the results your boss and your customers need.
Howard Lewis Ship
|
|
As the number of services and applications inside your organization grows, it becomes increasingly hard to manage and control. When this happens it is important to start looking at implementing SOA governance. Because SOA governance is not widely understood (or is widely misunderstood), many common mistakes arise which result in duplicate efforts, less reuse, less interoperability and increased development time. During this talk we'll look at what exactly SOA governance is while exploring 5 common mistakes and how to avoid them.
Dan Diephouse
|
|
h1. Abstract
Over the past years, successful practitioners have applied Agile methods like Scrum and eXtreme Programming (XP) on individual projects to cut development lead times, improve product quality and reduce engineering cost. For instance, time-to-market reductions in the range of 30-50% have been reported by leading companies. Now, as these practitioners seek to expand on their initial successes, they face many complex obstacles posed by the realities of today's business environment: multiple organizational silos, distributed teams, interfacing with 'non-agile' vendors and customer organizations, continued cost cutting, complex product suites, and the pressing need for innovation.
How can agile practitioners apply the fundamental tenets of Agile - integrated small teams, small releases, sufficient-to-purpose, etc - to provide the next round of significant returns from their Agile investment? Sanjiv Augustine of LitheSpeed will lead a discussion on adopting a philosophy of smallness within bigness to allow the scaling of Agile practices beyond individual projects to deliver process improvements in complex environments with multiple projects.
Sanjiv Augustine
|
|
h1. Abstract:
What is internal quality and why are metrics helpful? A comparison with a cake will
make it easy to understand: Not the optic and not the frosting on top of a cake
guarantee a good taste and a healthy enjoyment. The ingredients, the recipe, the
baking itself, the enjoyment of the cake, the great treat of it to keep in memory and
the comfortable feeling afterwards are part of the total value and quality of the tasty
cake. With the enjoyment of software is it likewise. The inner quality of software is
crucial for your success in software development projects. This talk gives answers
why this kind of quality is so important and how to gain better technical quality using
different metrics based on the usage of the open source software XRadar (and
others).
André Fleischer
|
|
h1. Abstract:
Domain Driven Design with Object-Relational mapping is the state of
the art for testable object oriented programming in domains with
complex business rules. However, sometimes the domain contains natural
relations and object graphs that are too large to fit in main memory.
Even when you have sufficient memory, working with large object graphs
that are naively OR-mapped can easily give you performance problems.
Bjørn Bjerkeli and Eirik Maus present a few techniques they've used at
BBS to handle the one-to-too-many-relations (almost) without
sacrificing working on a pure domain model. These include domain
object fields based on database queries, iterators that "page"
entities in and out of memory and simplified methods for background
fragment processing.
Eirik Maus and Bjørn Bjerkeli
|
|
h1. Abstract
This experience report will cover how our maven project moved from one single line of code in one webapp module to five webapplications and fourteen modules. There are very few best practises regarding how to organize a maven project over time. After talking to several peers and reading all available material I have not found any good solutions to this. This presentation is my effort to give something back to the java community and hopefully start a discussionon how you should organize your maven projects.
Keypoints:
* What is the best way to keep buildtime down to a absolute minimum?
* Should the modules be organized in vertical or horizontal modules?
* How should you use a maven repository?
* How do you handle releases
* When should you create a new module?
* What is the downsize of creating a new module?
Ole-Martin Mørk
|
| 15:45 |
|
Scala fuses object-oriented and functional programming concepts into an
elegant, statically typed programming language for the Java Platform.
The name Scala stands for "SCAlable LAnguage."
Bill Venners
|
|
Four years after the release of the Portlet 1.0 specification, the new Portlet 2.0 specification introduces many new features that will greatly improve the interactivity of portlet applications and portals. The specification introduces advanced coordination features such as portlet events standardizing inter portlet communication and public render parameters which allows several portlets to share the same render parameters. The new resource serving feature allows a portlet to deliver personalized resources to the browser such as images or PDF documents based on the current user preferences and profile, it also offers the capability to serve markup fragments from a portlet providing support for ajax portlet development. Portlets are now allowed to interact with the portal request and response with the possibility to read or write HTTP headers and insert markup elements to the head section of the portal page. Others important features such as enhanced content caching and portlet filtering have been also introduced in the specification.
Julien Viet
|
|
h1. Abstract:
Many are already convinced of it: the social network is bound to be the personal portal of tomorrow. Whether you are using MySpace, FaceBook, LinkedIn or Plaxo: expect a whole new wave of mini applications that are specifically build to use and access the sea of crucial information that hides in social networks. This talk will introduce you to developing applications for this exciting new world. No code. Just inspirations and all the links you can absorb to get going yourself. See you soon on FaceBook!
Ron Tolido
|
|
Both Intel and Microsoft have recently said that we, as developers, need
to start delivering more concurrency in our applications. The biggest
obstacle to delivering more concurrency is the need to share data
between threads.
Kirk Pepperdine
|
|
Dette er en erfaringsrapport fra MATS-prosjektet hos Mattilsynet, der
Computas implementerer og integrerer en kartklient i webklienten og
SWING-klienten. Rammebetingelsene for prosjektet var at kartserveren
skulle være Java-basert og åpen kilde, slik at det ville være mulig å
gjøre tilpasninger dersom det skulle være nødvendig. Videre var bare
rene serverløsninger relevant siden klienten kom til å være
egenutviklet. Valgmulighetene var derfor veldig begrenset; i praksis
kun GeoServer.
Selve klienten bruker OpenLayers, et åpen kilde JavaScript-bibliotek
som støtter de viktigste protokollene. Det ble vurdert å utvikle en
egen kartklient i SWING, men dette ble forkastet på grunn av
begrensningene for minneforbruk i kjøremiljøet. Dette førte på sin tur
til et behov for å kunne sende kartdata fra web-basert kartklient til
SWING-klient, som ble løst ved å la kartklienten gjøre et HTTP-kall
til SWING-klienten via en skjult IFRAME. Dermed var det heller ikke
lenger nødvendig å bruke WFS-T- protokollen for å kjøre transaksjoner
med geodataene direkte mellom klient og server, slik at vi kunne
begrense løsningen til WMS. Det er mulig at det senere vil dukke opp
krav som gjør det likevel nødvendig å utvide løsningen med støtte for
WFS-T, men dette vil ikke være et stort problem siden også WFS-T
støttes av GeoServer.
Til slutt noen ord om plasseringen av GeoServer i vår arkitektur. I og
med at den står ved siden av integrasjonsplattformen og er koblet
direkte mot databasen bryter den med alle SOA-prinsipper, men
alternativene viste seg å ikke fungere. En mulighet hadde vært å sette
GeoServer foran integrasjonsplattformen, men dette hadde ført til økt
risiko og mye merarbeid i prosjektet siden GeoServer er bygget opp
slik at den forventer direkte tilgang til databasen. Å inkludere
GeoServer i integrasjonsplattformen var heller ikke en god løsning da
dette hadde ført til ekstra arbeid for å kunne deploye GeoServer i
plattformen.
Filip Van Laenen and Anders Sandberg Nordbø
|
|
h1. Abstract:
Amazon Elastic Compute Cloud (EC2) provides a fantastic way to deploy scalable machine images, but what to do when you want an application to scale across the machine images you have provisioned? This session discusses the Elastic Grid, an approach that provides dynamic allocation, management, and scalability of applications, using Amazon EC2 as the backbone. It also introduces the open-source technologies Elastic Grid is based on: Rio and Apache River (Jini™ network technology).
The Elastic Grid provides an architecture for developing, deploying, and managing distributed applications composed of services. Key to the architecture are a set of dynamic capabilities and reliance on policy-based and quality-of-service mechanisms. The Elastic Grid reduces the complexity surrounding the development of dynamic services by introducing Jini network technology remoting for POJOs as well as by providing a simple component model.
The Elastic Grid extends Amazon EC2's virtual grid environment, enabling users to manage and dynamically scale Amazon Machine Images (AMIs) based on declarable SLAs, as well as deal with partial failure of AMI instances. Rio reduces the complexity surrounding the development of dynamic services by introducing dynamic Jini network technology remoting for POJOs, as well as providing a simple component model.
The presentation demonstrates how IntelliJ plug-ins for Amazon EC2 and Rio ease building and deploying a sample application distributed over the Amazon EC2 grid. With the Elastic Grid solution, the application will scale on the Amazon EC2 grid by starting and stopping Amazon EC2 instances accordingly to declared SLAs (service-level agreements).
Jerome Bernard
|
|
h1. Abstract
Med lang fartstid fra store smidige prosjekter vil Thomas, Anders, Geir Magne, Kristoffer, Benjamin og Steinar dele sine erfaringer - på godt og vindt - med publikum. Først innleder de med korte lyntaler før paneldebatten bryter løs.
Steinar Årdal, Geir Magne Trengereid, Kristoffer Moum, Benjamin Sommer, Anders M. Braathen and Tomas Bjørge
|
| 17:00 |
|
Scott Davis, Guillaume Laforge, Bill Venners, Gilad Bracha, Robert C. Martin, Ola Bini and Charles Oliver Nutter
|
|
|
|
|
|
The Applicaton Server is dead. But what about the Enterprise Service Bus? Are we facing phantom requirements and vendor-driven architecture all over again or does the ESB provide useful middleware services needed for enterprise development? Well, it depends on your requirements. In this talk we explore a real-world case and show how to implement a solution with and without an ESB. As it turns out, there are very good alternatives to typical ESB features. We consider pros and cons and present guidelines for the process of selecting the right tool for the job.
Frode Standal and Torje Coldevin
|
|
|
|
h1. Abstract:
Engineer tools like the familiar IDEs (Eclipse/IDEA/NetBeans etc.) have user interfaces increasingly different from office tools like Microsoft Office. When creating applications for end users it is important to aim for the look and feel this group is comfortable with rather than what would be intuitive for the engineer. At Exie AS we have developed an open source Swing look and feel component that dramatically simplifies this task.
Just as it is important to utilize frameworks to improve productivity when developing web-based solution, so is the case with rich clients/desktop applications. A significant part of a desktop application consists of UI and IO plumbing. When should various menus, buttons and tool bars be enabled? Flexible docking frameworks, user preferences etc. There are various RCP frameworks available, however for a Swing based client the NetBeans RCP is perhaps the most complete.
How to create an NetBeans RCP client and make it look like a member of the Microsoft Office package? It is quite easy, and I am going to show you how.
Mikael Tollefsen
|
|
|
| 18:15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19:30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|