Pragmatic Programmer Issues

After Day One

Aaron was great, he told us about python and groovy and java limitations such as

  • bean creation – why sun don’t create setters and getters for us, when we would be know if setter/getter do something or not.
  • closures – it’s normal for ruby groovy and others
  • ORM limitation – ORM in python and grails is nearly perfect
  • list – build in list and map support for python and groovy makes programs more readable.
  • null – groovy .? operator is perfect for null pointers, you don’t have to do if (a ==null) or (a.b() == null) …

The next was Nati Shalom with “Scalable as Google simple as Spring” He told us about Space Base Architecture (SBA), and showed us a limitation in scalability standard solutions. The main reasons are

Data Tier – I/O overhead, contention
Bussines Tier – Processing cpu
Messaging – complex workflows increase latencies

There we try divide this it will create another problems with 2PC (2 Phase Commit). One of the solutions is change from tired base to service centric. But services have its own limitation where they must be state full. Loosely coupled services mean more opportunity to improve scalability, but when services are state full it is bad idea. So we can do SOAP on space introducing read, write, take notify operation. Than we can create processing unit in one VM and adding more PU makes scalable linear.

GigaSpaces with Interface21 make for free OpenSpaces which you can try now.

Where was also talk about Rich Client Platform and remoting which suggest that
– we must consider Single Sign On system – client may use many different systems
– Spring supports such remoting as
Hessian, Burlap, Spring HttpInvoker, RMI, RMI-IIOP/CORBA

– we can consider also Jboss remoting
– and of course don’t use webservices if you don’t have to

Another talk was about Sun SPOT (small programmable object technology) And it was amazing because hardware which Simon Ritter from Sun Microsystems shows us. He introduced Squawk which is a research virtual machine for the Java language.

Next talk from Bruno Bossola Java Chamion( and Torino JUG member was about
Enterprise Application Testing using open source tools
He told us about Fitness and the selenium.

Fitness – it’s wiki that allows you write a test in a table from customer
input and expected result. Because it’s a wiki so you can write with it documentation. We can run test on business logic, application services, internal or external, stored procedures, it can be run by maven.
Time goes and Bruno told about selenium and selenium RC for just few minutes/

And the last was about “Dualcore, Niagara, Rock –
Why Java Developers should care about Hardware”
by Peter Gassmann from (Sun Microsystem)
He speaks about new processors and that we as java developers should care about it, and try to write software as multithreaded. Today we have more then one processor in our laptops.

Suggested read : “JAVA concurrency in practice” by Brian Goetz

So write application as multithreaded for as many as you can imagine processor and check your hardware where you tuning.