![]() |
|||||||||
![]() Key Note sessionsKey Note - Architecting Applications for a Service-Oriented WorldDay 1 09:00-10:30Beat Schwegler, DPE MicrosoftMany people still believe that Service-Oriented systems are just a Web of applications connected through Web services. However the real power of Service-Orientation lies in the definition of a conceptual service model that defines the contract and interaction of the services. This service model provides a great way to align business and IT and it is this alignment that represents one of the major benefits of Service-Orientation. We’ll discuss how to build Service-Oriented applications and shed some light into how to re-factor existing applications to become Service-Oriented. Key Note - How simple is too simple?Day 1 10:50-11:50Dan North & Eric Doernenburg, ThoughtworksComplexity is what makes delivering software hard. Obviously, we cannot avoid the complexity of the problem we are trying to solve but we can make the software itself simple. Dan and Erik argue that simple is not the same as simplistic, and that complex is not the same as complicated. They base their definition of simplicity on intent: Software is simple when the intent could not be any clearer. Achieving simplicity in software depends on understanding when to make decisions. Too much initial work usually leads to analysis paralysis but strictly applying the YAGNI principle can be equally harmful. The key lies in being aware of the change event horizon for decisions and following the seemingly contradictory idea of putting energy into being lazy. Key Note - Dynamic languages for statically typed mindsDay 2 09:00-10:30Niclas NilssonDynamic languages are growing in use, but a lot of developers are still skeptical about the buzz. After all, these languages are toy languages, aren't they? This tutorial will give insight of what the differences are between dynamic languages like Ruby, Python and Groovy and traditional, statically typed, curly bracket languages like C#, Java and C++. Are the claims that dynamic languages are more productive really true? If so, what mechanisms in these languages makes it true? How can a language where not even a simple type can be caught at compile- time not be outright dangerous to use? How is programming with interfaces accomplished when there is no type information? And how do you even know what to pass to a method when the method signatures does not contain types? All these questions and many more will be examined and answered by a presenter who himself has been doing the transition from statically typed languages to dynamic languages, and who had all these questions and felt the skepticism - but has been convinced by the answers the languages themselves gave. You will also see how dynamic languages can be added to, and used within, systems that are built in Java, C# and C++, which may mean that could benefit from dynamic languages sooner than you thought. |
|||||||||
|
|
|||||||||