Catalyst Conference 2008

Burton Group Podcast

Blog powered by TypePad


Web 2.0

January 02, 2008

The difference between SOA and 3-tier

Blogger: Anne Thomas Manes

Annethomasmanesbg

Jeff Schneider recently started a thread on the Yahoo! service-orientated-architecture discussion list asking for a comparison between SOA and 3-tier. Here's my response:

3-tier or n-tier application architecture is just that -- an *application* architecture. It's focus is on building monolithic applications that can be distributed across multiple processors to increase performance and scalability. The tiers represent different aspects of the application: presentation, business logic, and data access. But the fundamental architecture doesn't talk about services, and it has never stressed reusability -- except at the DBMS layer.

SOA and n-tier are somewhat orthogonal -- you can build the various application tiers from services. Folks that built n-tier systems with CORBA or similar service-oriented technology were more likely to use services than most others. But consider the predominant n-tier development environment in use today -- Java EE:

  • presentation implemented with JSP/servlets
  • business logic implemented with POJOs or EJBs
  • data access logic implemented with JPA/Hibernate

I don't see much that looks like SOA in this model.

SOA operates at a significantly different level from n-tier. SOA is focused on reducing the amount of redundancy in the corporate application portfolio. I've said it before: SOA is an enterprise architectural style rather than an application architectural style. SOA doesn't focus on individual application architecture. It focuses on encapsulating discrete functionality into services.

SOA and n-tier architectures have one thing in common -- they focus on separation of concerns. But SOA takes SoC to a new level. I think of it as refactoring application systems. (similar to refactoring code,
but on an enterprise  application architectural level).

As industry experience with SOA matures, I expect we'll start to develop new application architectures that more effectively exploit a development model based on services. SCA is a start, although still
way too immature for prime time. I expect to see some synergy develop among RIA, widgets and gadgets, mashups, composite application development, and services.

I also expect that the concept of "application" is likely to go away. Why is it that we as systems users have to be constrained by the limits of this artificial boundary called an application? Why do I have to shift my focus among multiple applications? Why do I have to copy data from one application to another? Why do I have to launch this stupid browser or that stupid application to get my work done? Why isn't everything just accessible to me from my desktop (via widgets and gadgets) or from within my preferred operating context (e.g., email)? Why can't I just link to whatever I need? (think REST)

Think outside the box!

Chris Haddad talked a little about the need to abandon traditional n-tier concepts and the MVC design patterns in his blog post, MVC Matrix and the Red Pill.We'll be talking a lot more about this next generation application platform this year. Stay tuned.

September 27, 2007

I've been thinking this all along...

Blogger: Joe Niski

JoeniskiofficialBack in July at OSCON, I was thrilled to learn that I'm by no means in the minority in wincing and rolling my eyes every time I hear the phrase "Web 2.0." It made me feel a bit sorry for Tim O'Reilly (who handled it like a champ). To my jaded ear, catch-phrases such as "architecture of participation" and "social networking"  are almost as bad - and things like Second Life are even further down the ladder.

As cool as Second Life is in a demo or a 10-minute test-drive, I don't know many people who'd say they have adequate time for their first lives of family, friends, and in-person, real-time relationships and community. Curmudgeon that I am, I'm just as unconvinced about the value of most social-networking sites for anything but displaying one's personal foibles for all the 'Net to see. For example, I've gotten numerous generic LinkedIn requests from folks I haven't had contact with for years, and when I accept their invitation to link and send a personal message, I never hear anything back. Plus, LinkedIn seems to be a source of unsolicited email from recruiters. So, it was great to see Tim addressing Social Networking Invitation Etiquette very recently. When invited to join a new network with a similar purpose, I took a quick step backwards when they asked me to install software that would scan my Outlook address book to graph my professional networks (to their credit, they make it easy to opt out once you've gone through the mandatory registration required just to look around - but install software from an unknown site? to read my address book? why *shouldn't* I be highly suspicious?). When a former colleague who makes a sincere effort to keep in touch invited me to join him on FaceBook, I created an obfuscated identity, again just to be able to investigate the site's features, and found myself deeply unwilling to reveal enough information to possibly make it useful. I'd rather spend the time with him over lunch.

It's not that I'm such a privacy fanatic - I know that there are many ways of learning about people online, even if they don't spend time online. I just don't have the time - or the motivation to use my time - to get engaged in that medium. And beyond that, I have serious doubts whether there's real value for this in an enterprise context - tried & true threaded discussion tools, as well as those new-fangled wikis, do a great job for focused collaboration where email falls short. More importantly, can humanity's ever-diminishing attention span sustain the effort to keep the public Web 2.0 bubble from popping soon? Pop culture is notoriously fickle - how can you build a business upon anything but it's fickleness? And if you're not building a business on top of it, or not using it to help sell your consumer product, how can it be used to benefit your business? It's nice to know that I'm not the only one asking the latter question - the great post on TechCrunch titled "Will Human Laziness Burst The Web 2.0 Bubble?" says it much better than I can.

Yes, I sound like a cranky old Luddite - and this area is outside my team and responsibilities at Burton Group - but I'm trying to understand the phenomenon, to make sure I'm not missing something. My question is serious. What's the value of social networking tools inside the enterprise firewall?

September 25, 2007

More Recommended Reading on Internet Platforms

Blogger: Anne Thomas Manes

Annethomasmanesbg

Following up on my last post on The Future of Internet Platforms, I also recommend that you read Joshua Allen's response. Joshua points out that APIs and platforms (especially proprietary ones) run counter to the essence of the Web, and that data is the true internet platform. In other words -- the Level 1 Internet platform that Marc Andreessen describes in the post that started this discussion is the highest level platform you could want. All you really want is RESTful access to the data on the Web.

Joshua has a valid point -- the proliferation of hundreds or thousands of proprietary APIs and SDKs will make Internet-based development a disaster site. But I'm still attracted to the benefits Andreessen describes in his Level 3 model -- an Internet-based environment that the average user can use to build sophisticated application systems. Not just a blog site. Not just my space or my face. But a sophisticated application. Without setting up my own web server or writing complex web applications.

Could that be possible without proprietary APIs or SDKs?

September 20, 2007

The Future of Internet Platforms

Blogger: Anne Thomas Manes

Annethomasmanesbg

Recommended reading: Marc Andreessen recently posted a very thought-provoking entry in his blog on the emerging world of Internet Platforms. He describes three types of platforms (each a superset of the previous level):

Level 1:  Platforms that enable applications to interact with the supplied Internet-based application via APIs -- exemplified by Flickr, and by far the most common type of Internet Platform available today.

Level 2: Platforms that enable applications to run within the supplied Internet-based application via a plug-in model -- exemplified by Facebook.

Level 3: Platforms that provide a hosting environment for Internet-based applications -- exemplified by Andreessen's company Ning, as well as Salesforce.com.

As Andreessen says, there are a lot of challenges associated with being a provider of a Level 3 Internet Platform, so there aren't very many players in this space yet. But a trend toward this type of platform will fundamentally change the shape of application development. As he says in his second closing thought:

A new platform typically enables a new set of applications that were not previously possible.

June 06, 2007

Mapping Web 2.0 Together

Blogger: Richard Monson-Haefel

Richardmonsonhaefel

One of the tools I find most useful when researching a technology is a mind map. I use a couple different mind maps mostly MindManager on my PC and FreeMind on my Mac. Both are excellent tools.  I recently ran across a Web 2.0/Social Software mind mapping tool called Mind42.com which makes it possible for people to collaborate on a mind map without having to install software (you do, however, have to register). 

I thought it would be extremely useful to invite everyone to collaborate on a mind map of the Web 2.0 technology space. I've created a mind map using Mind42 which you can find here. To start with its just a shell, but you can contribute and together we can create a helpful research map of the Web 2.0 technology space.

Mind42_2 Here is the mind map I created. It's open to everyone for viewing. Right now Mind42 doesn't make it possible to invite arbitrary users to participate - I have to enter your e-mail address in a white list - so in the mean time if you are interested in contributing send me an e-mail and I'll add your e-mail address to the list of users allowed to edit the mind map.  You can also save the map to your local drive in both MindMap and FreeMind format - so you can keep a copy for off line use.

Hopefully this map will become popular and everyone can benefit!

To navigate and use the Web 2.0 mind map, click here. Note: The sight is in beta so it takes a while to load up.

April 26, 2007

Web 2.0 and SOA are not related

Blogger: Richard Monson-Haefel

Richardmonsonhaefel

This week I gave what is called a "telebriefing" to our clients on Web 2.0.  All that means is that I got on the phone with a lot of our clients and tried to bore them to death a Power Point presentation. The telebriefing was titled "Web 2.0: An Architecture of Participation". (The podcast is available for clients here). To make a long story short, Rich Seeley of searchwebservices.com, a reporter who has done a lot of solid reporting, listened in and then reported what he heard in this story, "Web 2.0 lacks the business impact of SOA, Burton warns". I have Google set up so that I'm e-mailed every time my name surfaces in the press. When I saw the title of the article in the Google alert I thought, "Oh no!"

My fears were confirmed when I read the article. The story is a little out of whack with the telebriefing.  I don't think this was intentional, I think Rich Seeley just misinterpreted the point of the briefing.

Let's start with the title of the article: "Web 2.0 lacks the business impact of SOA, Burton warns". The problem here is that the term SOA is never mentioned in the telebriefing. I never made any reference to SOA or said or even inferred that there was any relationship between Web 2.0 and SOA. I mumble sometimes ...  maybe I said, "So ... Ah are their any questions?"

The link between Web 2.0 and SOA can also be seen early in Rich Seeley article (the first two paragraphs) which say, 

"Web 2.0 is great for people seeking a friendly on line community, but in the the bottom line world of business the best plan is to stick with service-oriented architecture projects with the potential to make money. That was the concluding caveat offered by Richard Monson-Haefel, senior analyst at Burton Group Inc., this week in a telebriefing entitled, "Web 2.0: An Architecture of Participation."

And this:

"He defined Web 2.0 as applications using Ajax and rich Internet application technology to allow end users to actively participate in creating content for a Web site. However, the irony of the title was the analyst's caveat that corporate IT departments do not have much place for participation in Web 2.0."

In the telebriefing I defined Web 2.0 as “an architecture of participation built on the World Wide Web”; the title of the telebriefing is "Web 2.0: An Architecture of Participation". Also on 4th and 5th slides in the deck say, "Web 2.0 is an architecture of participation built on the World Wide Web".   I also said it about a dozen times so that the message is clear - I guess I should wave flags around and make loud noises next time so that no one misses the point.

So what is the point?  Here is the main point of this blog. I want people to understand the following:

  • Web 2.0 and SOA should not be compared. They are totally different architectures.
  • Web 2.0 builds on available content and content contributed by its users; SOA builds on processes and data normally owned and maintained by an organization.
  • Web 2.0 leverages the power of anarchy (not chaos);  SOA requires extensive enterprise oversight.
  • Web 2.0 is about human interaction and participation; SOA is about the backend.

Except for drawing comparisons with SOA these are exactly the points made in the telebriefing. SOA is never mentioned but I'm glad Rich Seeley brought it up as it offered a chance to compare the two architectures.

I was pleased to see that the rest of the article reflects Rich Seeley steady journalistic hand.  I've been quoted by Rich many times and never had a problem with his reporting - its always top notch. But, in this case, I wanted people to know about the misunderstanding.         

Analysts and reporters are sometimes thought of as the same thing, but our jobs couldn't be more different. A good analyst spends weeks researching a topic and then another week or two writing about. The document is then vetted by others - usually experts - for errors.  A good reporter, on the other hand, has to digest lots of information quickly and get it out to the public as fast as possible. A reporter's job is to inform the public quickly but usually without much depth. An analyst job is to inform his clients deeply after taking a lot of time to consider the matter. 

While analysts and reporters are very different with respect to the way they work and their responsibilities and audience, they depend on each other a lot. Reporters often seek out the opinions of analysts to ensure that their story reflects informed opinions.  Analysts depend on reporters to help make the general public aware of analysis that would otherwise only be seen by a relatively small audience. It's a very symbiotic relationship. One that is based on trust. It's a system that works well and I wouldn't change it for the world.

April 03, 2007

Web 2.0: A simple definition

Blogger: Richard Monson-Haefel

Richardmonsonhaefel

There is a simple definition that I use for Web 2.0, which to me is less of a thing and more of a label for lots of things. When you boil the Web 2.0 rhetoric down to its essence you are left with two concepts: the web and participation. That's it. Everything else about Web 2.0 (e.g. mashups, RIA, Ajax) are simply enabling technologies.  I really like the term "Architecture of Participation" which was coined by Tim O'Reilly - to me that is far more descriptive of the real revolution that has been occurring since ARPANET was first created but has recently escalated in its current manifestation on the Web.

So my definition of Web 2.0 is simply this:

"Web 2.0 is an Architecture of Participation built on the World Wide Web"

The ideas behind the Architecture of Participation are fundamental to the revolution in computing and the Web is currently the best platform on which to realize that architecture.

I have read a lot about the Web, the architecture of participation, and Web 2.0, but the very best explanations of what it's really all about come in two contributions  which, not ironically, are available for free on the Web.  If you really want to understand what is happening today; the revolution that has been brewing for four decades, than read "We are the Web" an article published on Wired in August 2005 by Kevin Kelly and then view this video posted on YouTube by Mike Wesch an Assistant Professor of Cultural Anthropology at Kansas State University.

If you read the article (I think you can safely ignore the end where the author predicts the future in 2015 because as he points out we have not been very good at predicting the future impact of the Web or the Internet) and watch the video and then think of Web 2.0 as "an Architecture of Participation built on the World Wide Web", then you may reach an epiphany, as I did, and say "I get it!" Which will quickly be followed by "Wow!".