Showing posts with label soa. Show all posts
Showing posts with label soa. Show all posts

Sunday, May 9, 2010

Best of this Week Summary 03 May - 09 May 2010

Sunday, February 14, 2010

Best of this Week Summary 8 February - 14 February 2010

  • Five new features of Spring 3.0 described:

    • Spring Expression Language (SpEL)

    • Object/XML Mapping (OXM) module

    • Type-conversion system

    • Formatter SPI

    • RESTful web services support

    What new Ajax simplifications have been introduced can be found here.

  • The Java EE 6 web tier introduces with Servlet 3.0 spec the ability for asynchronous processing of requests so that the thread may return to the container and perform other tasks. It also "adds annotation based configuration (@WebServlet, @ServletFilter and @WebServletContextListener) making the web.xml file optional, and introduces a new concept of web fragments."

  • Introductionary article to Apache Click. One difference between Click and Wicket is that Click is stateless by design, while Wicket is stateful. Both can be configured their "opposite" model, though these have their own pros/cons.
    Another main difference is that that Click uses templates (Velocity by default) where Wicket does not.

    Sidestep: here's a bunch of nicely designed Wicket sites that scale (note: not really clear where the scalability statements come from).

  • A 60 minutes presentation on how SOA is a hit at eBay.

Sunday, December 13, 2009

Best of this Week Summary 07 December - 13 December 2009

Sunday, December 6, 2009

Best of this Week Summary 30 November - 06 December 2009

Sunday, November 29, 2009

Best of this Week Summary 17 November - 29 November 2009

Sunday, November 15, 2009

Best of this Week Summary 09 November - 15 November 2009

Sunday, November 1, 2009

Best of this Week Summary 26 October - 01 November 2009

Sunday, October 18, 2009

Best of this Week Summary 12 October - 18 October 2009

  • Last week was Oracle Open World 2009. Beside for Oracle DBMS and SOA specialists, these days the event is definitely also very relevant to Java professionals because of Oracle's (almost official) acquisition of Sun this year. Here's a set of relevant information from OOW:

    • The keynote on sunday which also describes the plans Oracle has with Java, MySQL and Sun hardware

    • James Gosling explaining to the developer audience what Sun was doing, what the scale is of Java activity around the world and across technology platforms.

    • The Dutch software company Amis also did quite a few presentations at OOW. Some of those presentations were already online before they were actually presented! All were interesting:

      • Good overview of what will be in the Patch Set 1 for the Oracle Fusion Middleware 11g stack, including JSF and ADF (mobile!). It's more than a patch!

      • Edition Based Redefinition (EBR): "Every database object (well, almost every database object - not tables!) can have different implementations/incarnations/versions in various editions. The object versions are all in the same schema - they only differ in the Edition they are created in."
        So no more direct table access! No big bang needed anymore. Challenges: what if a mandatory column is removed or added from the current EBR view (answer: special triggers). Including 2 suggestions for best practices.

      • XML processing/design tips.

      • This "session introduces SOA and the new Oracle SOA Suite 11g to the realm of database professionals from which it sometimes seems so far removed. What are the key SOA concepts and objectives? What is at the heart of Oracle SOA Suite 11g: composite applications, BPEL PM, and the mediator. The session shows how SOA services can be leveraged from the database, from triggers, PL/SQL units, or even SQL and how the database can publish events to the event delivery network. It covers how the SOA infrastructure can access the database, primarily using Oracle Database and Oracle Advanced Queueing adapter and how database developers can help in doing so efficiently. It ends with hints for applying SOA concepts to "normal" database development."

        Bit oriented at the database professional, but still interesting for those who want to stay up to date with Oracle's DMBS possibilities. And a bit scary too: it is possible in 11g to make webservice calls and publish them from the database(!). For example from PL/SLQ and put a webservice in front of PL/SQL... I haven't come up with a practical situation where you'd want to do this from an architectural point of view: large risk to getting tightly coupled systems and dependencies. If you have heavily invested (i.e built) in PL/SQL, it might be a valid option though.


  • There is currently a renewed focus on the role of code generation in developing enterprise Java applications. Springsource recently released Roo, Skyway Software released Skyway Builder Community Edition version 6.3 and Blu Age released M2Spring. What should the software architects and developers look for in a Code Generation framework?

  • Seven Wicket Do's and Don'ts.

Sunday, September 27, 2009

Best of this Week Summary 21 September - 27 September 2009

  • Always feeling a bit less up-to-date when using RSS/Atom feeds? Well, convince your RSS/Atom provider to implement the PubSubHubBub protocol: it provides a callback-hook, which when registered to as feed subscriber, causes an immediate update (ping) to the subscriber (instead of waiting for the next RSS/Atom feed request).
    Or will rssCloud be the winner of this realtime RSS extension? Here's the basic (simpler) flow of rssCloud:


    Differences between the two are described here (including some issues) and here. A real old-fashioned flame-war has even started between the creators of the two protocols.
    And a good comparison which explains quite well why PuSH is the better choice of the two. Note that both protocols seem to be server-to-server only! (e.g think when you're behind a firewall or NAT...)
    See this article for an explanation of the PuSH flow of notifications/information in below's diagram:


    Update: PubSubHubbub explained by co-creator Brett Slatkin (an engineer at Google).

  • Want to get to know Hadoop? In short "Hadoop allows you to write and run your application in a distributed manner and process large amounts of data with it. It consists out of a MapReduce implementation and a distributed file system." Check the rest of this introduction for more details.

  • Five Java anti-patterns to prevent (out-of) memory problems.

  • Three Best and three worst practices in BPM and SOA.

  • "Tom Killalea, Vice President of technology with responsibility for infrastructure and distributed systems engineering at Amazon.com wrote an article on ACM queue on building scalable web services. He outlines guiding principles to building scalable web services with a lot of real-world examples, the core theme of which is “build only what you need”."

Sunday, September 13, 2009

Best of this Week Summary 07 September - 13 September 2009

  • Wondering whether you should add this new piece of functionality quick & dirty or take a bit longer, but cleaner? Taking the first one sets you up for a Technical Debt, as some more explained by Martin Fowler.

  • "Test logic can be buried in this unrelated code, which has nothing to do with test logic itself, making test code hard to read and maintain. In this article, the layered architecture of test automation is presented to solve this problem. In this layered architecture, the test automation code is divided into three layers: (1) test cases, focusing on the test logic of the application, (2) the domain layer, modeling the system under test in domain terms, encapsulating http requests, browser control, result parsing logic and providing an interface for the test cases layer, (3) the system under test, which layer 2 will operate directly on."

  • A good explanation of the Canonical Message Model in the context of an ESB, and why you'd need one within an SOA. Great description of different approaches for implementing a CMM in an ESB and their pros and cons.
    A short introduction to CMM modelling (data model and message model) is described here.

  • From The Open Group two free PDF books: "The Open Group SOA Integration Maturity Model (OSIMM) provides consultants and IT practitioners with a means to assess an organization’s Service Oriented Architecture (SOA) maturity level."
    "This document describes a framework that provides context and definitions to enable organizations to understand and deploy SOA Governance."

  • The JavaServer Faces 2.0 specification (included in JEE6) got finalised last May. Here's a reference to it and a set of references related to this specification.

Saturday, August 15, 2009

Best of this Week Summary 10 August - 16 August 2009

  • Always interesting the Gartner 2009 Hype Cycle. For example, Web 2.0 is already on the way up again, while microblogging (e.g Twitter) is starting its downward trend.

  • Code review tools Review Board: "is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process." Downloadable.

  • Great description on how full-scale Scrum was applied at a JTeam project. It includes answer to the why and what went well and what can be improved. Also shortly the used technologies are described (Spring, Spring WS, Spring MVC, JPA, JExcelApi, Apache Commons for FTP, iText for addresslabels with bar codes, jQuery and Google Maps, Mockito (see this post on why they switched from EasyMock), MockFTPServer and Subethamail Wiser for email integration testing. Again, great that they share this publicly.

  • Discussion of the quality assurance/testing challenges to be addressed with a SOA adoption, recommended best practices, and lessons learned.

  • More or less a beginner's introduction to the Java Collections framework and algorithms. Sample chapter from "Core Java 2, Volume II - Advanced Features 7th Edition". Uses CircularArrayQueue and LinkedListQueue as examples (how often have you used those two? ;)

Sunday, August 9, 2009

Best of this Week Summary 3 August - 9 August 2009

Sunday, August 2, 2009

Best of this Week Summary 27 July - 2 August 2009

  • "A discussion on the lifecycle processes of SOA governance, how SOA governance can become more mature, and how a maturity model can be used to support this growth, and the role of the architect in SOA governance, providing some practical guidelines for architects in a maturing SOA environment."

  • Two great interviews with Jeff Davis about his "Open Source SOA" book, recently released. The first interview has mainly questions about the book itself. The second interview has quite some questions about stuff not in the book. A free excerpt of 1 chapter of the book is also available for download! The book itself describes many open source SOA products, helping you in selecting the right one and how/where to use it. Btw, CEP = Complex Event Processing. See for more here.

  • jQuery 1.3 optimisation & advanced tips including example code on: unbind(), live()/die(), Ajax Queue and Ajax Sync, and Namespaces.

  • Summary of implementations of the Builder pattern suggested by Joshua Blog during JavaOne 2007. Note that it is different from the GoF pattern.
    Related: interview with Joshua Bloch with many tips and best practices, most referring to Effictive Java 2nd Edition. E.g: generics, enums, annotataions, wildcards, lazy initialisation, strange things about Java.

  • Kind of obvious observation (but still worth mentioning :) viewpoint on scalable web architectures and application state: don't store everything in the database, but treat (and "store") application state, cached data, and persistent data differently, using dedicated tools to manage these.

  • This week Wicket 1.4 has been released.

Sunday, July 26, 2009

Best of this Week Summary 20 July - 26 July 2009

Sunday, May 24, 2009

Best of this Week Summary 18 May - 24 May 2009

Sunday, May 10, 2009

Best of this Week Summary 04 May - 10 May 2009

  • Reference to an AJAX framework analysis/comparison result by Matt Raible (for example known for his framework of frameworks: AppFuse). Compared were Dojo, Ext JS, GWT, and YUI. Check also the comments.

  • Beginners level host and Java performance tuning concepts.

  • Handy PHP profiler and debugging tool/library. Helps you with logging, memory usage, double includes, page execution time and database activity monitoring.

  • Nice presentation on scalable web architectures from Cal Henderson, (ex) Flicker architect. Including horizontal vs vertical, architecture, sessions, load balancing, queuing, relational data, caching, H(ighly) A(vailable) data, federation, serving and storing files, CDN, real-world examples.

  • SpringSource has created Roo, a sophisticated round-tripping code generator that should make it quicker and easier to create and evolve Spring applications.

  • Funny: how to measure code quality: WTFs/minute :)


    Via.

  • You as a developer can now go social on IBM's myDeveloperWorks, a social network spun off of developerWorks.

  • An introduction on how one could formalize a SOA using WS-CDL, including a few real-world insurance based uses.

  • Yahoo has just released a major update for their innovative YQL. "The Yahoo! Query Language lets you query, filter, and join data across any web data source or service on the web. Using our YQL web service, apps run faster with fewer lines of code and a smaller network footprint. YQL uses a SQL-like language because it is a familiar and intuitive method for developers to access data. YQL treats the entire web as a source of table data, enabling developers to select * from Internet." The update adds "Execute", with which "developers now have full control of how the data is fetched into YQL and how it’s presented back to the user. With Open Data Tables, developers can build tables that manipulate, change, and sign the URLs to access almost any protected content, allowing YQL access and combining data across a variety of different authenticated services such as Netflix or Twitter. Developers can call multiple services and data sources within Execute to join and mashup data however they desire, letting Yahoo! do the work rather than their applications. Data can be tweaked and manipulated into an optimal format for applications to consume." Another example of what is possible can be found here. Check also this article for more explanations.

Sunday, March 15, 2009

Best of this Week Summary 09 March - 15 March 2009

  • A table-based quick review of the following RIA frameworks: GWT 1.5, Laszlo 4.2, pure Javascript and Flex 3.2.

  • A short introduction on how ActionScript 3 differs (and not) from Java.

  • A wiki constructed with over four dozen architects: 97 things every software architect should know. Also now available as a book. It includes advice such as:

    • Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)

    • Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)

    • Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)

    • Simplicity Before Generality, Use Before Reuse (Kevlin Henney)

    • For the End User, the Interface Is the System (Vinayak Hegde)

    • It's Never Too Early to Think About Performance (Rebecca Parsons)


  • An introduction to Object Oriented CSS.

  • Sample chapter from Thomas Erl's latest SOA Design Patterns book, and an interview with him. He "talks about the main benefits of having a pattern catalog, SOA and Web services, the current state of SOA, the difference between SOA and service orientation, and the role of patterns in SOA adoption".

  • A series of five articles on setting up a Java Wicket project and implementing a frontend with it.

  • Handy piece of (alpha) software to test IE8 RC1, IE7, IE6 and IE5.5 on Vista and XP. Note that it looks like Microsoft is releasing IE8 this coming week, so get ready...

Sunday, February 15, 2009

Best of this Week Summary 09 February - 15 February 2009

Sunday, February 8, 2009

Best of this Week Summary 02 February - 08 February 2009

  • In SOA lessons learned for Web 2.0 "two experienced SOA architects look at the new world of Web 2.0 technologies with a critical eye and present five best practices that can help you be more successful in adopting Ajax, REST, and other Web 2.0 technologies as part of your SOA."

  • A quick comparison between Echo2 and GWT. Both enable you to create a rich internet application with only Java using a component-based approach. Wicket is also component based, but requires still to work with HTML; not necessarily a negative thing! For example, how will you split the work between the user interface designer and developers with Echo2 and GWT?

  • A nice extensive summary of Model Driven Development misperceptions and challenges. Five challenges and five misconceptions in total.

  • A whitepaper named "Centralized Service-Oriented Architectures without ESB" which shows how to create service-oriented architecture in a Google-like way, that is services around huge data repository, but without ESB. It is based on experience of the writers in data warehouses, Wiki and telecommunication systems. Thus, proposed is not really an ESB, but an architecture that's more like a centralised repository with distributed caching. Of course this comes with its own set of pros and cons, as mentioned in the whitepaper.

Sunday, February 1, 2009

Best of this Week Summary 26 January - 01 February 2009