<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Blogging about Software Development &#187; TheServerSide Symposium Europe</title>
	<atom:link href="http://www.bloggingaboutjava.org/category/events/theserverside-symposium-europe/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bloggingaboutjava.org</link>
	<description>Blogging about Software Development</description>
	<pubDate>Wed, 03 Dec 2008 15:09:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>TheServerSide Europe, third day</title>
		<link>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-third-day/</link>
		<comments>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-third-day/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 14:25:19 +0000</pubDate>
		<dc:creator>Jesper de Jong</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[J2ee]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[RIA]]></category>

		<category><![CDATA[Scripting]]></category>

		<category><![CDATA[TheServerSide Symposium Europe]]></category>

		<category><![CDATA[j2se]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=332</guid>
		<description><![CDATA[ The third and last day of the conference. The first session I went to this morning was a very interesting one, &#8220;The Busy Java Developer&#8217;s Guide to Scala&#8221; by Ted Neward. He explained the basics of the Scala programming language. Scala is a new and very interesting programming language that combines object oriented and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://www.bloggingaboutjava.org/cms/wordpress2/wp-content/uploads/2008/06/serverside.jpg" alt="" align="left" /> The third and last day of the conference. The first session I went to this morning was a very interesting one, &#8220;The Busy Java Developer&#8217;s Guide to Scala&#8221; by <a href="http://www.tedneward.com">Ted Neward</a>. He explained the basics of the <a href="http://www.scala-lang.org/">Scala programming language</a>. Scala is a new and very interesting programming language that combines object oriented and functional programming. The name is a contraction of &#8220;Scalable Language&#8221;. It runs on the JVM and interoperates very easily with Java - you can use Java classes seamlessly in Scala. I&#8217;ve looked at Scala before, but there was one interesting thing Ted showed which I didn&#8217;t know yet and which would also be an interesting feature to put into Java: You can put import statements not only at the top of a source file, but also inside classes or even inside methods. By doing this, you limit the scope of the import statement.</p>
<p><span id="more-332"></span></p>
<p>For example (note, the &#8220;import BigDecimal._&#8221; is the same as &#8220;import static java.math.BigDecimal.*&#8221; in Java):</p>
<p><code>object HelloWorld {<br />
def main(args : Array[String]) = {<br />
// Import BigDecimal into the scope of this block of code<br />
import java.math.BigDecimal, BigDecimal._</p>
<p>val a = ONE.add(ONE);<br />
println(&#8221;One plus one is: &#8221; + a)<br />
}<br />
}</code></p>
<p><a href="http://lamp.epfl.ch/~odersky/">Martin Odersky</a>, the inventor of Scala, is currently busy writing a book of which a pre-print version is available at <a href="http://www.artima.com/">Artima</a>. At the moment, Scala is not yet ready for prime time (there are still some funky bugs in the compiler and some rough edges in the language itself, and IDE support is not yet complete), but there&#8217;s a good chance that this is going to be an important new programming language in the next two or three years.</p>
<p>The second session I went to today was &#8220;Distributed Computing and MapReduce: Technology Selection, Implementation and Deployment Made Easy&#8221; by Eugene Ciurana. He explained what <a href="http://en.wikipedia.org/wiki/MapReduce">MapReduce</a> is - an algorithm for processing large amounts of data efficiently in two steps (&#8221;map&#8221; and &#8220;reduce&#8221;). The idea came from Google. Eugene explains how it&#8217;s used in the company where he works to analyze log files from webservers, to find out from which countries people are accessing their website. There are a number of implementations of MapReduce available, for example the open source <a href="http://hadoop.apache.org">Hadoop</a> from Apache and commercial products from for example GigaSpaces, GridGain and Terracotta. He also used <a href="http://mule.mulesource.org/display/MULE/Home">Mule</a> (see also this <a href="http://www.theserverside.com/tt/articles/article.tss?l=CaseStudyMule">case study</a> from Eugene).</p>
<p>My third session of today was &#8220;Performance Tuning a Web Shop with Open Source Tools&#8221; by Jeroen Borgers of Xebia. Often, when developers have to solve a performance problem, they make a guess about what&#8217;s wrong with the application and try to fix that, but in reality the only way to know what&#8217;s really wrong is by measuring instead of guessing. Jeroen talked about a project in which he used tools such as <a href="http://jakarta.apache.org/jmeter/index.html">JMeter</a> and <a href="http://jamonapi.sourceforge.net/">JAMon</a> to measure performance, and <a href="http://sourceforge.net/projects/jarep">JARep</a>, a reporting tool for application performance data that he wrote himself.</p>
<p>After lunch I went to &#8220;How to Choose your Java Web Framework&#8221; by Shashank Tiwari. It&#8217;s a question that ofcourse interests a lot of developers, because there are hundreds of frameworks and it&#8217;s not easy to determine which one you should use. Besides discussing the characteristics of the most popular frameworks he also talked about whether you should use a framework at all, because there are also some disadvantages: you&#8217;ll have to deal with a learning curve, for simple applications a framework can unnecessarily complicate things, it can cause infrastructure bloat, and it presents challenges for testing and maintenance. Ofcourse he didn&#8217;t come up with a perfect recipe for choosing a framework. He finished with two conclusions: For simple applications, it doesn&#8217;t matter a lot which framework you choose (or if you use a framework at all), so you shouldn&#8217;t waste much time on it; for larger applications, that are part of a bigger system, it&#8217;s probably best to go for a &#8220;full stack&#8221; solution such as Spring or JBoss Seam, because you&#8217;ll have less integration problems in your project.</p>
<p>The last session I went to was &#8220;Real Google Web Toolkit Applications&#8221; by Jeff Dwyer. <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> is a web application framework by Google which allows you to program in Java, as if you&#8217;re writing a Swing desktop application. It compiles your Java code into a web application with JavaScript. He showed how GWT works by looking at a real-world example application which integrates GWT with Spring MVC. GWT is one of those things that&#8217;s on my list of things to look at sometime.</p>
<p>So, it was an interesting conference, I&#8217;ve learned a number of new things and got some new ideas. Thanks to <a href="http://www.javaranch.com">JavaRanch</a> for giving me a free ticket for this conference!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-third-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TheServerSide Europe, second day</title>
		<link>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-second-day/</link>
		<comments>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-second-day/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 16:34:47 +0000</pubDate>
		<dc:creator>Jesper de Jong</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[J2ee]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[RIA]]></category>

		<category><![CDATA[Scripting]]></category>

		<category><![CDATA[TheServerSide Symposium Europe]]></category>

		<category><![CDATA[j2se]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=331</guid>
		<description><![CDATA[ The first keynote of today was &#8220;Language-Oriented Computing: Shifting Paradigms&#8221; by Neal Ford. It was a good presentation (with nice slides), mainly about domain-specific languages. See also Martin Fowler&#8217;s page on DSLs.
At 9:10 I went to &#8220;Spring 2.5 On the Way to 3.0&#8243; by Jürgen Höller (one of the main committers on the Spring [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://www.bloggingaboutjava.org/cms/wordpress2/wp-content/uploads/2008/06/serverside.jpg" alt="" align="left" /> The first keynote of today was &#8220;Language-Oriented Computing: Shifting Paradigms&#8221; by <a href="http://javasymposium.techtarget.com/europe/speakers.html#NFord">Neal Ford</a>. It was a good presentation (with nice slides), mainly about <a href="http://en.wikipedia.org/wiki/Domain-specific_language">domain-specific languages</a>. See also <a href="http://martinfowler.com/bliki/DomainSpecificLanguage.html">Martin Fowler&#8217;s page on DSLs</a>.</p>
<p>At 9:10 I went to &#8220;Spring 2.5 On the Way to 3.0&#8243; by Jürgen Höller (one of the main committers on the Spring framework). He explained some new features in Spring 2.5, and went quite deep into the technical details of the @Autowired and other annotations - which was quite boring. He spent so much time on talking about those details that he had almost no time left to talk about 3.0. Spring 3.0 will be for Java 5 and newer only, and some new features that it will have are an expression language, support for REST and some preparation to support servlets 3.0. I wonder why they&#8217;re going to give it version number 3.0 instead of 2.6, since it didn&#8217;t sound like it would be a lot different from the current Spring 2.5.</p>
<p><span id="more-331"></span></p>
<p>The next session I attended was &#8220;Groovy in the Enterprise: Case Studies&#8221; by Guillaume Laforge. As the title suggested, he showed some examples of where and how Groovy has been used by companies. He discussed a number of use cases, such as: using Groovy as a developer tool (for example for testing or extending Ant or Maven), using Groovy to extend your applications (for example by using the Java scripting API to run Groovy scripts from within your application), using Groovy to create a DSL and using Groovy and Grails for web development. There was some overlap with his presentation about Grails that I attended yesterday.</p>
<p>At 11:40 there was an expert panel session titled &#8220;Languages: The Next Generation&#8221; with Ola Bini, Ted Neward and Guillaume Laforge. They discussed about the programming languages that are currently popular or that get a lot of attention. I found the session a bit disappointing, I had expected more. The panel didn&#8217;t come up with a clear answer or vision about what the next generation of programming languages is going to be. The only conclusion they came to was that Java is here to stay and that other languages such as Groovy, JRuby and Scala will be important additional languages, but they&#8217;re not going to completely replace Java.</p>
<p>After lunch I went to &#8220;Lifecycle APM: Monitor, Diagnose and Prevent Performance Issues&#8221; by Alois Reitbauer (from <a href="http://www.dynatrace.com">dynaTrace</a>). This session was a &#8220;vendor tech brief&#8221;, so there was some marketing talk, about dynaTrace&#8217;s tool that allows you to follow transactions through a whole chain of systems (so that you can monitor and debug performance of the system).</p>
<p>At 13:50 I went to &#8220;JRuby on Rails: Web Development Evolved&#8221; by <a href="http://ola-bini.blogspot.com/">Ola Bini</a>. He spent a lot of time on explaining the Ruby programming language, and had unfortunately not a lot of time left to explain how Rails works on JRuby, which was what I was interested in (I&#8217;ve already used Ruby for some time, so the intro to Ruby was not so interesting for me). Anyway, <a href="http://www.ruby-lang.org">Ruby</a> is an interesting, easy to learn and easy to use programming language, and I&#8217;d recommend any Java developer who wants to learn some other language to have a look at it.</p>
<p>The next session I went to was &#8220;Concurrency &amp; High Performance&#8221; by <a href="http://kirk.blog-city.com/">Kirk Pepperdine</a>. He&#8217;s a well-known guy in the field of high-performance and concurrent programming in Java. Writing software that efficiently uses multi-core processors is not easy, but it&#8217;s becoming more and more important with the current trend of multi-core processors. One of the things Kirk mentioned was the fork/join framework that will be <a href="http://www.infoq.com/news/2007/07/concurrency-java-se-7">added in Java SE 7</a>. One book that I want to read someday soon is <a href="http://www.amazon.co.uk/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1213883530&amp;sr=1-1">Java Concurrency in Practice</a>, I&#8217;ve heard that it&#8217;s a very good book.</p>
<p>At the end of the afternoon there were &#8220;fireside chats&#8221;, which were sessions in which a few people did some short demos and then discussed among each other and with the audience about the things they demonstrated. I went to the fireside chat titled &#8220;Zero Turnaround in Java development&#8221;, which was about developing in Java in such a way that you don&#8217;t have to go through stop / recompile / redeploy / start cycles all the time. Guillaume Laforge showed how you can edit your Groovy web application on the fly. Geert Bevin showed how the <a href="http://rifers.org/">RIFE framework</a> supports the same thing, and Jevgeni Kabanov (from <a href="http://www.zeroturnaround.com/">ZeroTurnaround</a>) showed his (commercial) tool JavaRebel, which is a JVM plugin that allows you to reload classes in a running JVM. They discussed about the use and limitations of their tools and answered questions from the audience.</p>
<p>I arrived here late in the evening last Tuesday and I&#8217;ve hardly been outside the hotel (the conference is held at the hotel), so I haven&#8217;t seen Prague yet. Tonight there&#8217;s a &#8220;meet a stranger&#8221; dinner - you could put your name on one of five lists, and you&#8217;re going out to dinner with the other people on the list. So I&#8217;m going to a restaurant in the center of the city tonight with a few other people to have traditional Czech food.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-second-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TheServerSide Europe, first day</title>
		<link>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-first-day/</link>
		<comments>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-first-day/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 06:23:20 +0000</pubDate>
		<dc:creator>Jesper de Jong</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[J2ee]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[RIA]]></category>

		<category><![CDATA[Scripting]]></category>

		<category><![CDATA[TheServerSide Symposium Europe]]></category>

		<category><![CDATA[j2se]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=325</guid>
		<description><![CDATA[I am in Prague, at the TheServerSide Java Symposium Europe. It&#8217;s a conference much like other conferences about Java, but not as big (there are about 300 attendees) and with a focus on server-side Java technology (although non-Java stuff such as Adobe Flex and AIR, Groovy and JRuby also get some attention).
The first day started [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://www.bloggingaboutjava.org/cms/wordpress2/wp-content/uploads/2008/06/serverside.jpg" alt="" align="left" />I am in Prague, at the <a href="http://javasymposium.techtarget.com/europe/index.html">TheServerSide Java Symposium Europe</a>. It&#8217;s a conference much like other conferences about Java, but not as big (there are about 300 attendees) and with a focus on server-side Java technology (although non-Java stuff such as Adobe Flex and AIR, Groovy and JRuby also get some attention).</p>
<p>The first day started early at 8:00 AM with a keynote by <a href="http://www.javapolis.com/confluence/display/~stephan/Home">Stephan Janssen</a> from <a href="http://www.bejug.org">BeJUG</a> (famous for organising <a href="http://www.javapolis.com">JavaPolis</a>, which has now been renamed to Javoxx). His keynote was about different RIA (Rich Internet Applications) technologies. He gave an overview of the different choices that you have for the client side, server side and data protocols to communicate between the two (HTML, XML, JSON, Hessian, &#8230;). He demonstrated his <a href="http://www.parleys.com">Parleys</a> website, which is an AIR multimedia-application (have a look, it&#8217;s a very interesting website with lots of presentations with video and slides from the past few JavaPolises and other conferences). Besides the AIR version, he also had an implementation of the Parleys website done in <a href="http://code.google.com/webtoolkit/">GWT</a> and also one done in <a href="http://java.sun.com/javafx/">JavaFX</a>. He calls JavaScript &#8220;VoodooScript&#8221; because writing an application in JavaScript and DHTML requires black magic to make it work in all the webbrowsers that people might use.</p>
<p><span id="more-325"></span>After the keynote I went to a session titled &#8220;Integrating JPA and Hibernate with Rich Internet Applications&#8221; by <a href="http://shanky.org/">Shashank Tiwari</a> (from <a href="http://www.saventech.com">Saven Technologies</a>). He talked about using Hibernate (as an implementation of JPA, the Java Persistence API) on the server for a client written with Adobe Flex. There are different ways to do this, you can use LCDS (Lifecycle Data Services, a product by Adobe) or an open source alternative such as <a href="http://www.graniteds.org">GraniteDS</a> or <a href="http://code.google.com/p/dphibernate/">dpHibernate</a>. He gave an idea of how you could use those libraries by showing some examples of configuration files. I found this talk not the most interesting one I&#8217;ve seen on the first day (probably because the topic wasn&#8217;t really relevant to my current job).</p>
<p>The third session I went to was &#8220;Monitoring, Management and Troubleshooting in the Java SE 6 Platform&#8221; by Jean-Francois Denise (from Sun). He first talked about <a href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/">JMX</a> and how to write MBeans or MXBeans for your application so that you can monitor and manage your application with a tool like JConsole. Besides JConsole, Java SE 6 comes with a whole list of other useful tools, such as: jinfo, jstat, jstack, jps, jmap and jhat. Sun is working on a new tool, <a href="https://visualvm.dev.java.net/">jvisualvm</a>, which looks like a new and improved version of JConsole, which Jean-Francois demonstrated. This was an interesting session, and it reminded me of JMX and all those tools. I think JMX is a very useful API that people unfortunately often overlook; it&#8217;s not that hard to write MBeans and tools like JConsole can be very useful as a simple memory profiler and for managing running Java processes.</p>
<p>Next was another keynote, &#8220;Getting Ready for the Cloud&#8221;, by Nati Shalom from GigaSpaces. I was afraid that this was going to be not much more than a marketing talk, but it wasn&#8217;t really. Nati talked about cloud computing: instead of having a few big servers, you have a large amount of smaller computers to do the work. This has certain benefits for scalability.</p>
<p>The first session after lunch that I wanted to attend was &#8220;Comparing Dependency Injection Frameworks&#8221;, but a few minutes after the talk was supposed to start, it was announced that the presenter wasn&#8217;t there. So I went to &#8220;SOA Using Service Component Architecture&#8221; instead, by Mike Keith. This session was about SCA and <a href="http://www.osoa.org/">Open SOA</a>. SCA is a set of specifications about components and their interfaces for using in a service oriented architecture. It specifies components that have input and output interfaces, properties to configure them and how they can be wired together. There are also specifications for how SCA is implemented using for example Java, webservices, C++, PHP and other technologies. In Java, you can use annotations to specify a component and its interfaces and properties. The good thing about SCA is that it makes it possible to wire together service components that are implemented in different technologies, because the components will have a standard interface.</p>
<p>The next session I went to was &#8220;Simplifying Java EE Development with Grails&#8221; by Guillaume Laforge. It was a straightforward presentation about Groovy and Grails. Grails is a web framework and a set of tools that enables you to quickly build a (CRUD) web application, just like Rails (for Ruby). I&#8217;ve played with Ruby and Rails myself, but I haven&#8217;t really looked at Groovy and Grails much yet. Looks like an interesting language and framework to have a look at when I have time.</p>
<p>The last session of the first day that I went to was &#8220;Better Enterprise Software with the Spring Portfolio&#8221; by Eberhard Wolff (from <a href="http://www.springsource.com/">SpringSource</a>). He talked about a case study in which he used different Spring technologies, such as Spring Beans, Spring Webservices and Spring Batch. The Spring framework really tries to be a big framework which you can use for almost anything, and its popularity shows its success. While watching this session I thought back about the session about SCA, because there seemed to be some overlap in the way that you declare components with annotations in the way that SCA specifies and in how you declare and configure different kinds of components with annotations in Spring.</p>
<p>And now the first day is already over. I always feel that time goes by very quickly at conferences.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/06/theserverside-europe-first-day/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
