TheServerSide Tech Brief
TheServerSide Tech Brief features (interviews, reports, and even entertainment) are all on this page, in reverse chronological order from the publishing date. Learn about the latest technologies and trends in the industry... directly from the people who create them!
Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. This interview covers:
- Terracotta is the winner, Duke's Choice Award for 'Java Everywhere', selected because of its leadership in innovation
- Spring, Hibernate internals integration to help settle the stateful vs. stateless debate and to appease the 'database haters' among performance caching users
- Turn the tuning exercise on its head: tune the caching first, then the database
- The cache becomes a level-2 feature, offloading the 75% of the database traffic to Terracotta with a significant throughput boost
- The differences between Terracotta versions ES, EX, and FX
- Distributed garbage collectors and how they work across multiple JVMs
- How to participate in the Terracotta 3.1 beta to kick the tires on all the new features
The Terracotta 3.1 beta is open to the public. Check it out to learn about the Hibernate integration features and how this L2 cache can deflect between 30% and 100% of all database queries.
Cameron Purdy talks about the Oracle Coherence 3.4 with new support for C++. Cameron tells us about important new features such as:
- Cross-platform support for Java, .Net, and C++ objects
- Data grid triggers
- Event transformers
Organizations where applications are developed on multiple platforms and programming languages benefit from the new API, which shares the same features and calls across Java, .Net, and C++. Multi-threading and event handling are built into the C++ API. Last, he talks about how the Coherence team built Java-like memory management for C++ and how they made Coherence 3.4 work on many of the operating systems running on Intel-like processors.
Cameron is Vice President of Engineering at Oracle and has over ten years of experience with Java and Java-related technology. He is a frequent presenter at industry conferences and has received a number of awards in recognition of his contribution to the Java community. Cameron regularly participates in industry standards development and is the specification lead for JSR 107 (jCache).
Paul Rene Jørgensen talks about UseMon, an open-source, real-time performance monitoring agent that plugs into the JVM and provides a view into your program's flow, including asynchronous execution, with very little overhead and it can be used in production deployments. UseMon offers these features:
- Usage trends profiling
- Measure application response times
- Dependency analysis
- Clustered environment monitoring
Playback time: 07'11"
UseMon works with any Java version greater than 1.4, including third-party JVMs. It automatically plugs into EJBs, MDBs, and most connectors, or it can be configured to track the performance of specific components in the application. Individual agents multicast the tracking data and a parses it before inserting it into a central repository via Hibernate. While running with low processing and network overhead, UseMon has been used for monitoring real-time system behaviour in production conditions. It's been in production at Telenor, the largest telco in Norway, for quite some time under heavy performance loads.
Paul Rene Jørgensen is a senior consultant at Telenor, in Norway, and has been working with large clustered enterprise platforms for the last 8 years. Paul specializes in performance monitoring, dependencies, and static code analysis.
OpenESBs in Action is a comprehensive look at the leading Enterprise Service Bus open-source products and how they are applied in the enterprise. Tijs Rademakers and Jos Dirksen offer a book overview and insights into its contents, including:
- ESBs covered in their research
- Why they chose Mule and ServiceMix as their leading examples
- The advantages and disadvantages of using technology neutral and JBI-based ESBs
- Which ESB is better for legacy system integration?
- What are some compelling reasons to ditch commercial ESBs in favour of Mule or ServiceMix?
Playback time: 10'11"
Tijs Rademakers is a software architect with more than six years of experience in designing and developing Java and EE applications. He works for Atos Origin, a large European system integrator, where he is responsible for SOA and BPM services and knowledge development. Tijs has designed and implemented large process- and application-integration solutions, primarily focused on open standards.
Jos Dirksen has been working with Java and J2EE applications for more than six years as a software architect. The last couple of years, his focus topics have been open source, security, and quality. He has worked with various open source and commercial integration solutions, mostly in the government and the healthcare areas.
Mule 2.0 Community Edition platform is now available for download. Its new architecture allows new flexibility for building new applications. One of the main features of Mule 2 is the consistency of the APIs and configuration services. Now transports, containers, transformers, and other features have a consistent look and feel. Mule 2 also features the schema-based Spring XML configuration to ease integration with traditional web applications. Expression evaluation is built into the message handlers directly into the run-time so that headers, Xquery, or other tests can be done without having to define a new POJO or transformer for these activities. A new REST pack was released with Mule 2.0 based entirely on MuleForge contributions from the open-source community.
Current users of Mule 1.5 have an easy migration path to Mule 2.0. The biggest changes came in the syntax of the configuration file and the re-definition of some internal plumbing. Mule 2.0 allows to swap the configuration to SCA, if required.
Ross Mason is Co-founder and CTO of MuleSource, Inc., the creators of the open source Mule integration platform. Ross founded the Mule project in 2003 and strived to make it the leading Java-based ESB and integration platform. Previously, Ross was Lead Architect for RaboBank and played a key role in developing one of the first large-scale ESB implementations in 2002.
Owen Taylor talks about GigaSpaces and how to achieve linear scalability in your processes in this thought-provoking interview. The GigaSpaces technology is wrapped in the OpenSpaces specification, a community effort that supports stateful, transactional context instead of a read-only model like Google's, and it's implemented as a set of Spring abstractions for easy integration with best-practice programming techniques. One of the main goals of OpenSpaces is to provide a set of tools that's adequate for garden variety applications as well as massive, enterprise-class deployments with equal ease. Owen wraps this brief presentation with a discussion of co-location and partitioning for scaling applications. This interview was done at JavaZone 2007, and you can find Owen's presentation slides here.
Playback time: 5'20"
Owen Taylor is the Sr. Director of Worldwide Marketing Communications at GigaSpaces. His areas of experise include J2EE design patterns and performance tuning of J2EE applications. Owen has delivered architectural consulting, mentoring, and training to dozens of companies and advised them on how to architect new applications ranging from e-commerce to stock trading.
ServiceMix is a JSR-208, open-source ESB compliant with the Java Business Integration (JBI) specification. It allows components and services to be integrated in a vendor-independent way, enabling users and vendors to plug-and-play. Jeff Genender spoke about ServiceMix at JavaZone, where we had a chance to speak with him about this and the plans for JBI 2.0 and how it integrates with application servers or JEE containers. Jeff also told us about Geronimo and how it compares against JBoss, especially regarding its modular nature. Last, Jeff offers a sneak preview at Geronimo and its upcoming OSGi functionality.
Playback time: 7'04"
Jeff Genender is CTO of Savoir Technologies Inc, a Java and SOA consulting firm based in Denver, Colorado. He is an Apache Member and active committer Apache Geronimo, CXF, OpenTerracotta, OpenEJB, ServiceMix, Mina, and Mojo (Maven plugins). He is the author of Enterprise Java Servlets (Addison Wesley Longman, 2001), co - author of Professional Apache Geronimo (2006, Wiley), and co-author of Professional Apache Tomcat (2007, Wiley). Jeff also serves as a expert group member of the Java Community Process (JCP) for JSR-316 (Java Platform, Enterprise Edition 6 (Java EE 6) Specification). Jeff is an open source evangelist and has successfully brought open source development efforts, initiatives, and success stories into a number of Global 2000 companies, saving these organizations millions in licensing costs.
Totto is one of the main organizers of JavaZone, one of the largest Java conferences anywhere, and president of javaBin, a JUG with one of the largest rosters worldwide. In this interview, Totto tells us what it takes to organize and run a conference with 2,300 attendees... all thanks to 17,000 hours volunteered by around 50 Java professionals, not including the speakers themselves.
Playback time: 6'24"
Totto describes the lifecycle of a JUG: getting the group going and growing it to around 60 members is the easy part. That number is the inflection point where JUGs can die... or shoot up in membership numbers. Consistent leadership, sticking to a regular schedule, and maintaining a high level of participation are key. The Oslo javaBin, for example, has over 1,500 regular members.
JavaZone featured over 120 speakers; most presentations are already posted on-line. At least half the presenters were Norwegian, and about 70% of the presentations are in English, available for review and download. Rule of thumb: if a session description is in English, it's likely that the presentation is as well. Many presentations are also available as podcasts.
Dr. Holly Cummins from IBM talks about the performance characteristics of Java virtual machines and dispels a few myths about run-time behaviour, such as "long GC pauses are bad for my application". She explains why this view is inaccurate and how, overall, this may be better overall. Holly also tells us about the Extensible Verbose Toolkit, IBM's garbage collection analysis tool, and how to use it for optimizing IBM Java virtual machines.
Playback time: 6'41"
Holly is a tooling developer within the IBM Java Technology Centre. She develops garbage collection analysis tools, building on her experience working as a performance engineer within the garbage collection development team. Holly has been with IBM for five years. Before joining IBM she completed a doctorate in quantum computation at the University of Oxford.
John Davies, technical director and head of research at IONA, tells us about Artix uses in the real world. Artix is a SOA infrastructure suite with components for ESB, mainframe, and Java Enterprise Edition components. John tells us about a high-throughput deployment that combines with Mule ESB or potentially others open-source ESBs with Artix, and gives overall advise on how to build a high-performance, high-troughput application. When and where to use an ESB, determining when to use ORM like Hibernate, and combining heterogeneous systems are some of the topics that he covers.
John has nearly 20 years in Investment Banking and over 25 years in IT, mostly as a consultant. He has co-authored several books on Java and J2EE, was the author of Learning Tree's distributed Java course and a regular speaker on grid, Jini and JavaSpaces in the Java and banking world. Over the years John has held more than one high-profile position as Head of Technical Architect in banks such as JPMorgan. You can learn about John's creative side by visiting his photo blog.
Alberto Savoia, the CTO and co-founder of Agitar software, talks about their new AgitarOne, a tool for dealing with what some call "the steaming pile of legacy code". Legacy in this context is the code hasn't been unit tested. Agitar's new tool allows full automation to aid in testing of new and legacy code. Out of the box, AgitarOne generates basic unit tests for at least 80% of the code in a project in a matter of hours, even if the sources for some of the classes aren't available. Development teams can then reduce the risk of changing business applications and focus their energy on optimizing the tests and generating new application logic.
Agitar also offers a free service, Junit Factory, for automatic generation of Java code JUnit tests that characterize specific code behavior. JUnit Factory has the same underlying technology as AgitarOne, but only provides JUnit generation; it's a good way of gauging this technology's capabilities.
The tools only take you so far since they generate tests that characterize the actual behavior of the code. Alberto shares his wisdom with us on how to develop an all-encompassing approach to testing in his book The Way of Testivus (PDF download, 500 KB), also available in paper upon request from Agitar Software.
Alberto Savoia co-founded Agitar in June 2002. Before Agitar, he worked at Google as the engineering manager in charge of the highly successful and profitable ads group. In October 1998 he co-founded and became CTO of Velogic, Inc., the pioneer in Internet performance and scalability testing, acquired by Keynote Systems in 2000. You can learn more from Alberto in his blog, hosted at Artima.
Geert Bevin gives a concise overview of how Terracotta clustering works and describes how easy it is to integrate it with your applications in a transparent way, unlike other clustering technologies that require programmer participation to make them work. "Terracotta's philosophy is to treat clustering the same way as garbage collection," he said. Geert also talks about his work in continuations and clustering, and gives a few examples of how continuations work, and why they're important to web developers.
Geert is a developer at Terracotta Inc., is the CEO and founder of Uwyn bvba/sprl and created the RIFE project which provides a full-stack Java Web application framework for quickly building maintainable applications. He started or contributed to open-source projects like Bla-bla List, OpenLaszlo, Drone, JavaPaste, Bamboo, Elephant, RelativeLayers, and Gentoo Linux. Geert is also an official Sun Java Champion.
qooxdoo is a robust, state-of-the-art GUI toolkit and AJAX framework. Its origins can be traced back to 2003, when it was already doing AJAX before the term was invented. qooxdoo project lead Andreas Ecker talks about how it works, what it does, how it compares to other frameworks like GWT, and how it integrates with third party development environments from Borland and the Eclipse Foundation.
Andreas leads an engineering team at 1&1 Internet AG focused full-time on qooxdoo development. Andreas has over 12 years of experience developing professional web applications.
PageBus is the main integration technology behind the AJAX Challenge, a web development contest with the goal of creating the largest mashup in history. Are you up to the challenge?
Kevin Hakman is the director of developer evangelism for TIBCO General Interface, an award-winning rich Internet application framework. General Interface, the company that he co-founded, was a pioneer in AJAX technologies at Fortune-500 companies and a leading AJAX integration and modularization of web applications, and was acquired by TIBCO. Kevin is a frequent speaker at conferences and seminars worldwide and a contributor to several technology publications.
OpenID is a decentralized single sign-on system that allows web users to authenticate once, then share credentials among all participating servers or websites via a unique URL. This saves users from remembering authentication tokens like user ID or password. Once a user registers and authenticates against a given site, or identity provider, partnering websites can use OpenID to confirm the user's digital identity without additional logons. Justen Stepka is the tech lead for Atlassian Crowd. He talks about the basics of OpenID.
According to the OpenID website, nobody should own the project, and nobody is planning on making any money off it, unlike Microsoft's Passport or the Liberty Alliance. Their goal is to release the full project under the most liberal licenses possible to benefit the Internet community at large.
Greg Murray is deeply involved in the AJAX movement through his participation in the OpenAJAX Alliance and promoting of AJAX throughout the world. Within Sun, Greg lead a grass roots effort advancing the integration of client-side scripting with Java technologies and is the creator and principal architect of Project jMaki. jMaki allows developers to create AJAX web applications. Greg recently contributed to the design and development of the AJAX-based Java Pet Store 2.0 Demo and helped create Java BluePrints solutions for using AJAX with Java and PHP technologies.
The Aranea Framework is an open-source project that includes an MVC framework and a web integration layer. It's biggest strength is in providing a mechanism for integrating legacy, spaghetti-code like web applications and allowing the development effort to continue in a more structured environment while coexisting with the legacy applications. Legacy applications appear as self-contained components to Aranea. This expedites deployment and allows for code re-implementation at the appropriate time, rather than having to migrate all applications to the Aranea Framework directly.
Jevgeni Kabanov is the co-founder and lead of Open-Source Aranea Web Framework. He is also both the Research and Development lead in Webmedia, Ltd., the largest Estonian software development company, and an enrolled researcher at Tartu University. For the past 4 years Jevgeni was involved in several big web projects including a medical and telco infosystems that motivated the development of Aranea.
Ted Neward is an authority in Java/.Net integration and co-author of several books on enterprise integration and server-side programming. Ted explains why the traditional way of building web services is essentially flawed, describing it as "very CORBAesque." Instead, he proposes a message-oriented rather than an object-based approach, one that will allow services to run over multiple transports like JMS, SMTP, or HTTP. No one transport will solve every problem, but developers and architects should think of all of them and not lock themselves into limited approaches. Leave the WSDL/XSD generation to the tools, including transport bindings.
Dr. Heinz Kabutz is the well-known Java guru behind the Java Specialists Newsletter, and the principal from the Java Specialists consulting group in Europe. Heinz published a series of articles under The Secrets of Concurrency, which is fast becoming a core reference for Java developers who want to master concurrent programming in their applications. Heinz discusses a few of such secrets in this video, and tells us a bit about his recent move from South Africa to Greece.
Heinz chose some rather colorful names to describe his laws of concurrency; the names are funny and meaningful at once, and thus act as a mnemonic. Some of the examples from the video include:
- The Distracted Spear Fisherman Law
- The Sudden Riches Law
- The Greek Driving Law
The Secrets of Concurrency, part 1 is available on-line from the Java Specialists Newsletter.
Benjamin Metrallet is one of the lead developers for the eXo Project, an application delivery platform that integrators, ISVs, and VARs can use for building web applications in a dynamic way, and it implements Java content repository, portlet, JSF, and the project's hierarchical document organization system, ECM. In this interview, Benjamin shares the latest new about the eXo Platform, what it does, how to get started with it, and tells us the difference between itself and other products like Alfresco and Day's Communiqué.
Benjamin has also authored a number of articles describing the eXo Platform in detail. In the latest, he talks about the eXo Platform v2 features (see part 1 and part 2) and gives a detailed HOWTO for starting work with the project. You can get the software and learn more about the project from the eXo Platform website.
Robert Hanson, co-author of the book GWT in Action, tells us about the Google Web Toolkit or GWT, a compiler that generates DHTML from sources written in the Java language. GWT aims to simplify writing AJAX applications, much like OpenLaszlo does, but using a programming model that's already familiar to Java programmers. GWT frees programmers from having to worry about web browser dependencies and from addressing them manually.
This video was shot over Skype and a webcam, not "in person".
Chapter 2 (PDF) and Chapter 10 (PDF) of GWT in Action are available for review. Robert and co-author Adam Tacy felt that this extract provides the most benefit to new developers trying GWT without having to buy the book. Robert also provided a mother lode of examples in his web site.
Max Carlson, co-founder and lead run-time architect at Laszlo Systems, tells us about OpenLaszlo 4.0 and how it helps developers to write and deploy rich internet applications (RIAs) targetting both the Flash run-time and AJAX from the same source. He also tells us about Sun's Project Orbit, a Laszlo player for Java ME, and describes the kinds of applications that people use OpenLaszlo for.
"Everything is content," is David Nüscheler's mantra. David is the spec lead for JSRs 170 and 283, Java Content Repository. He talks about content and content repository, the JCR spec, JackRabbit and other JCR implementations, and about his work as CTO of Day Software.
The Java Content Repository is a common, standardized API used by most Java-based, modern content management systems. It isn't tied to any underlying architecture, so its back-end can be a database, a WebDAV server, or even the file system. It allows users to import and export data between different back-ends. All of these while normalizing access control, searching, and versioning of the content repository in a system-independent manner.
The OLPC is a full-featured Linux-based system intended for education. Rob Savoye is a contributor to the OLPC project. He talks about OLPC in this exclusive TSS Tech Brief, and tells us how to contribute code and ideas. Rob is a long-time member of the GNU project and is the CTO of lulu.tv. If you have ever used Red Hat, Debian, or Cygwin, chances are good that you've used his software. These days he works on Gnash, a GNU Flash playback tool, and the OLPC.
OLPC System at a Glance
- CPU: 32-bit AMD Geode (Athlon)
- Screen: 1200x900 TFT color display
- Built-in: keyboard, touchpad, stereo audio, mic, video camera (30 fps), game controls
- 180 degrees swiveling screen
- Battery life: up to seven hours
- Storage: built-in, no rotating media
The One Laptop Per Child project was established to ensure that all school-aged children in the developing world are able to engage effectively with their own personal laptop, networked to the world, so that they, their families, and their communities can learn and learn about learning.
OLPC images (16 thumbnails - please be patient):
You may also view the photos with detailed descriptions from a dedicated gallery.
Java is not playing a role in the OLPC at this time for two primary reasons: its license was incompatible with the project goals until recently, and its footprint may be too large for the current configurations. The OLPCs will work in coordination with a School Server that will extend the laptops' capabilities by providing a mesh portal and shared resources for up to 100 students/server. The current server specification is still evolving. Could there be a role to play for Java on the School Server?
We ran into Rod Johnson, founder of the Spring Framework, at the Open Source Business Conference in San Francisco. Rod talks to us about Spring 2.1, Spring Web Flow, and Spring Batch in part I of this interview. Part II covers the rest of the Spring Batch topic, and the future direction of Spring and Rod's company, Interface21.
Greg Wilkins talks about Jetty from the JavaOne 2007 conference. Jetty is an open-source, small-footprint web server component and servlet container used for applications ranging from embedded systems to clustered enterprise applications. Greg tells us about Jetty's performance characteristics when compared against Tomcat and other containers, who is using it, and current work for session clustering using Terracotta. Learn about Jetty as the nimble, embedded, small alternative to bloated servlet containers.