Building for the Enterprise
Dag 1 09:00 - 17:00
Ordförande: Jimmy Nilsson, factor10
Utmaningen för Systemarkitekten handlar idag mycket om komplexitet
och kostnader. Frågor som du måste kunna svara på är: Var kan vi standardisera?
Hur ska vi bygga flexibla system som kan stödja dagens och inte minst
morgondagens verksamheter? Hur kan vi bygga system som tillåter integration och
samarbete med andra organisationer? Under ExpertZone Developer Summit 2008 så
kommer vi att söka svar på dessa frågor samt mycket mer därtill. På detta spår
så kommer du att få ta del av följande ämnesområden: SOA, SAAS mm.
Agenda dag 1
09:00 Ordföranden inleder
Qi4j - not R2D2´s long lost brother but a Java implementation of COP (Composite Oriented Programming)
09:00-10:00
Rickard Öberg, Jayway
OOP neglects the need of objects to adjust its behavior depending on the context. "John is a parent and programmer in the city, but a hunter and food in the jungle.". Same object, different contexts. OOP has also not fulfilled its promise of re-usability, partly due to such static behavior and partly due to its inability to deal with fine-granularity of states and behaviors.
Composite Oriented Programming addresses these issues, and Qi4J is an implementation available to Java programmers today.
10:00-10:20 Fikapaus
Guerrilla SOA – How to build robust enterprise service-oriented systems without
costly middleware
10:20-11:50
Dr. Jim Webber, ThoughtWorks
In this talk Dr. Jim Webber will discuss how Web Services (or even just the Web)
can constitute a robust integration fabric, providing the same benefits as
proprietary middleware without vendor lock-in, and show how incremental,
endpoint-centric integration is a viable strategy for enterprise
service-oriented systems.
With the emergence of Web Services and the evolution of WS-* standards, the
enterprise application integration vendors were quick to realize their
traditional business model was under threat. On the back of their large
installed bases, vendor products were offered to customers to help them deploy
and manage their attempts to develop Service Oriented Architectures, with the
implication that Web Services were of little use without additional middleware
to deal with their alleged complexity.
12:00-13:00 Lunch
Testing & Refactoring Legacy Code
13:00-13:50
Andreas Brink, factor10
Software maintenance can be a great learning experience for any developer. Both in terms of learning to improve the design instead of letting it degenerate, and in terms of becoming a better developer in future development projects. In a sound environement, software maintencane projects are thought of as as a chance to leverage software value rather than living with constraints and shortcomings from the initial design efforts. With the experience of software in real usage, the maintenance project is a place where we have a good chance of "getting it right"!
A cornerstone to making active software maintenance work is strong test automation skills and practices. In a legacy situation, test design is quite different from when working test-first, one of the fundamental practices of test-driven development. Code that is not designed for testability becomes a problem for the software as is, typically when correcting defects or changing existing features. It is also a hindrence when trying to apply test-driven development on new features, due to dependencies on existing code that is hard to test.
This presentation will focus on the most common problems with legacy code, and demonstrate the fundamental techniques for introducing unit tests in a safe way. There will also be examples of typical design issues in legacy code, and refactorings to deal with the situation. Attendees should have a basic understanding of object-oriented programming and unit testing. No specific language skills are required.
Automated Acceptance Testing:
Meeting the Maintenance Challenge
14:00-14:50
Johan Andersson, Qondoc
Automated acceptance testing is one of the key practices in agile software
development. The presence of a good acceptance test suite allows a system to
grow and evolve to meet the changing needs of the business, potentially over
many years. However, it is all too easy for such tests to become a major
maintenance burden, if too many assumptions about the current implementation
and environment are built into them. In this talk I will explore two key ideas
to meet these challenges in practice.
The first is that system-level testing should be seen as managing the changes in
the system behaviour, rather than asserting that certain statements about the
system are always true. The second is that user interaction via a GUI should be
modelled via a domain-specific language (to capture the intent of the
interaction rather than its mechanics), and that this can be done without
needing to bypass the user interface in the tests.
14:50-15:10 Fikapaus
Yrkesetik inom mjukvaruutveckling: Vad utmärker en professionell utvecklare?
15:10-16:00
Joakim Sundén, Avega
Har du någon gång känt dig tvungen att tumma på kvaliteten i ditt arbete som utvecklare? Du kanske nöjde dig med att det i alla fall verkade fungera? Det kanske inte fanns tid att göra ett ordentligt jobb? Kunden eller chefen kanske inte tillät något annat?
En professionell utvecklare låter inte sådana svepskäl stoppa henne från att utföra ett gediget arbete utan vägleds av en yrkesetik. Det kan verka främmande för en del, men det finns faktiskt andra principer än “kunden har alltid rätt”. Under den här sessionen tittar vi närmare på hur dessa principer ser ut, vilka praktiker vi kan använda för att upprätthålla dem och varför de är viktiga för en utvecklares yrkesutövande.
Service-Oriented Communication Beyond Borders: Internet Service Bus with .NET
16:10-17:00
Christian Weyer, Thinktecture
With a technology code-named "BizTalk Services" Microsoft introduces a set of
(Web) Services available in the Internet (self-hosting is planned) which can
help us realize and implement an ISB, an Internet Service Bus. This talk
explains the concept of an ISB and examines and demonstrates the available
services like Connectivity, Identity and Workflow Services. Based on real-world
examples you will learn which problems you can solve with "BizTalk Services"
(not related to the BizTalk Server product!) in the realm of secure
connectivity and asynchronous communication patterns through NATs and firewalls
- all based on the common and well-known programming model of the Windows
Communication Foundation (WCF).
17:00 Ordföranden avslutar