SpringOne 2GX: Messaging for Modern Applications

December 10th, 2011 by turnerj No comments »

I’ve spent much of my career working on application integration projects and the technologies and techniques have changed much in that short period of time. I’ve used a variety of transports, message formats and protocols and these are continuing to change with the requirements from modern applications.

The ‘Messaging for Modern Applications‘ session at SpringOne 2GX starts by talking about the trends in modern applications. Much of this reiterated the information in the key note session by discussing the diversifying of user platforms and applications, massive scale of data requirements and the continuing emergence of Cloud computing. Tom McCuch points out that synchronous communication protocols have often led to brittle architectures that evolve slowly. Much of this is due to the fact that often components are coupled in time, their release cycles require significant co-ordination etc. Components are typically stateful leading to scalability challenges that can be met by asynchronous architectures that retain state within messages passed between components. I tend to agree with this assertion (generally!).

Moving on, Tom speaks about Spring Integration and its ability to simplify building of messaging application components. I’ve used Spring Integration many times before and found its alignment to the Enterprise Integration Patterns catalog (see www.eaipatterns.com) and the messaging DSL meant a reasonably gentle learning curve for what is a very powerful framework. Coupled with Spring Bean Profiles this creates a great mechanism for decoupling the messaging implementation so that different implementations can be used in different environments (particularly useful for integration testing). The tried and tested Coffee Shop demo was adapted and wheeled out to demonstrate many of the concepts.

I was particularly interested in the section focusing on AMQP and its support within Spring Integration and RabbitMQ. As with the rest of the Spring portfolio, Spring Source are working to make it easier to deliver applications using these technologies from concept to production. This all encompassing approach is one of the reasons Spring has become so popular and it’s good to see that this has not changed.

One of the slides presented contained a statement that really rang true for me. It was that “Existing middleware impacts agility by tightly
coupling applications to underlying application server and other middleware components”. Again, I would agree that there are few exceptions to this statement. Of course, Spring Integration aims to reduce this coupling through its many abstractions in the same way that Spring did for J2EE.

Tom finished up this session by discussing RabbitMQ. He briefly covered its support for AMQP, clustering, federation etc. It peaked my interest enough to look into it further.

Thoughts

Similar to the key note session, I found the content really interesting. For such as session I think the pace was a little slow and Tom could have rattled through the material a little faster. Worth a watch if you can spare the 90 minutes it runs for.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot
  • Technorati

SpringOne 2GX Keynote: Next Generation Applications

December 10th, 2011 by turnerj No comments »

I found the recent ‘Next Generation Applications‘ session at SpringOne 2011 covered a lot of ground and provided a solid view on where application architecture and design is headed in the not too distant future.

The session was introduced by Ben Alex who discussed 4 key computing trends:

  • Diversification of user devices.
  • Increase of internet bandwidth and stagnation in network latency.
  • Reducing cost of data storage.
  • Reduction in clock speed and increase in number of processor cores.

These trends are having a significant impact on how we are developing applications today and will increase in relevance into the future. This paved the way for a number of discussions on how to exploit these trends to deliver tomorrows applications.

Next Generation Clients

Because of the increasing diversification of user devices developers must find a way to bring the ‘Write Once, Run Anywhere’ philosophy to the client. Spring Source are working on delivering this promise by supporting development using Html 5 and JavaScript while using bridging frameworks such as Phone Gap to ensure these applications have access to native features and are available through existing app stores.

Keith Donald demonstrated a reference architecture (expense application) built using Html 5, CSS, JavaScript and Phone Gap on the client. Authorisation utilised OAuth while services were exposed using a RESTful API. He also did a demo of pushing application updates. Compelling stuff!

Next Generation Authorisation

Craig Walls and Roy Clarkson then presented on authentication which focused on the utilisation of OAuth and Spring Security. Interesting in the context of access control for RESTful services but fairly typical application of OAuth to provide SSO.

Next Generation Data

Html 5 application caching was touched upon and a demo of the previous expense application was performed using a disconnected device. Big Data was then discussed and placed in the context of the Spring Data project and its sub-modules. I’ve not looked at Spring Data in any great depth but really liked some approaches adopted by the Spring JPA sub-module (which was not covered in this session).

Next Generation Architecture

Finally, Tim Fox closed by discussing the adoption of asynchronous application architectures to deliver the massive scale that today’s applications are expected to achieve.

Thoughts

It was a really enjoyable session that was interesting and informative. A broad range of topics were covered by presenters who are clearly very knowledgeable.

I think overall, a really compelling vision of how developers will meet the challenge of delivering tomorrows applications was provided.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot
  • Technorati

Continuous Integration

November 17th, 2011 by turnerj No comments »

I have been building and maintaining continuous integration (CI) environments for several years now and would consider myself well versed in the practice. There really is a wealth of information on CI and people such as Martin Fowler and John Smart do a great job as advocates by providing a solid understanding and practical advice. Due to the amount of freely distributable software supporting the establishment of CI environments, acquiring knowledge of the subject is the biggest entry cost.

For that reason, it was with much anticipation that ‘Continuous Integration’ was published back in 2007 (shame on me for only reading it now!).

» Read more: Continuous Integration

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot
  • Technorati

I’m Feeling Lucky: The Confessions of Google Employee Number 59

November 9th, 2011 by turnerj No comments »

I think people in the technology industry are universally interested in the inner workings of Google. Over the years, so many myths and legends have been born that allude to the largess and brilliance of the search giant. Frequently people post blogs purporting to provide some insight into the interviewing process, salary and bonus structures, staff parties, experimental technology, new market entry etc. Given this interest, I suspect that I’m Feeling Lucky by Douglas Edwards has/will do rather well.

It may or may not be due to my technology background, but I found the book a compelling read. The google story on its own is one of a meteoric rise that pitted a young, highly motivated and infinitely talented company against the establishment. More interesting for me though was the personal experiences and the insight into how all those people, individually very talented, melded together to create the biggest technology success of the internet era.

I thoroughly enjoyed how, chapter after chapter, Douglas described the significant milestones of Google’s growth story. Each milestone describes how the individuals involved were challenged and how they responded to the challenge. Naturally, the interactions with Larry and Sergey were of particular interest.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot
  • Technorati

REST in Practice

November 9th, 2011 by turnerj No comments »

Ever since Fielding published his dissertation on Architectural Styles and the Design of Network-based Software Architectures, the momentum behind the Representational State Transfer (REST) architectural style has been building apace. Of course, as with the many new technologies, practices and theories adopted by the software industry, REST is progressing along what Gartner call the ‘Hype Cycle‘.

Since Fielding’s dissertation, REST has been adopted widely by the software industry and a number of frameworks have evolved that support the development of RESTful services on today’s platforms. The availability of frameworks to simplify the implementation of RESTful services has further accelerated the adoption of REST.

As with any new technology, creating frameworks that make it easy to adopt that technology can, and in the case of REST has, become a double edge sword. I say this because making technology adoption easy also makes it easy for those implementing that technology to get by with a minimum of understanding. ‘REST in Practice’ aims to inform those adopting REST by providing a compressive guide to REST and building the readers knowledge progressively from start to finish.

» Read more: REST in Practice

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot
  • Technorati