10
All Contents © 2010 Burton Group. All rights reserved. Disruptive Application Development Technologies of the Decade Richard Watson Analyst Burton Group rwatson@burtongroup .com www.burtongroup.com http://apsblog.burt ongroup.com Twitter: @richwatso n

Disruptive Application Development Technologies Of The Decade

Embed Size (px)

DESCRIPTION

Disruptive Application Development Technologies of the Decade 1999-2009

Citation preview

Page 1: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptive Application Development Technologies of the Decade

Richard Watson

Analyst

Burton Group

[email protected]

www.burtongroup.com

http://apsblog.burtongroup.com

Twitter: @richwatson

Page 2: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #1: Spring Framework 2

Disruptor Spring FrameworkWhat did it disrupt? Java Enterprise Edition (JEE [nee J2EE])

Why did it disrupt? JEE adoption collapsed under the weight of its own complexity. The Spring Framework was less “standards-based”, but simpler to use, easier to deploy and test with, and being open source, developers could read (and debug) the code.

What is its legacy? / What can we learn?

The Dependency Injection (DI) and Inversion of Control (IOC) patterns at the heart of Spring remain the dominant application infrastructure patterns.

The application design patterns popularized Spring, along with OSGi are enabling technologies for the next generation application platform or the “Stackless stack” (sogrady).

SpringSource (nee Interface21) is an example of a company with a successful open source business model.

Who deserves the credit?

Firstly, Rod Johnson, and subsequently his fellow contributors.

Page 3: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #2: Ruby on Rails 3

Disruptor Ruby on RailsWhat did it disrupt?

Java, .Net application platforms and the Java and C# static language status quo.

Why did it disrupt?

Ruby on Rails’ clean architecture and prescriptive design patterns made web developers highly productive, more productive than they were using a Java or .NET stack. The Rails framework also brought cowboy web developers and scripters into the fold, allowing them to write better architected, cleanly separated, MVC applications (or more accurately, not allowing them to write architecturally poor applications).

What is its legacy? / What can we learn?

Developers learned again to be open to new languages. Ruby rekindled the debate around the virtues of dynamic vs. static languages. Dynamic languages are better suited in creating DSLs like Rails. The lesson that the JVM is not just for Java created interest in other special purpose languages such as Scala and Clojure.

Not every application fits the mould for Rails: working with existing systems and especially with existing data models takes it out of the highly productive zone. But for rapid development of web applications, it remains the first choice for many teams. Concerns raised about Ruby’s scalability (e.g. Twitter replaced some core Ruby parts of their system with Scala) are overblown.

Who deserves the credit?

Matz for creating Ruby, Dave Thomas and Andy Hunt for sustaining Ruby’s adoption; David Heinemeier Hansson for Rails.

Page 4: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #3: Eclipse 4

Disruptor EclipseWhat did it disrupt? Incumbent IDEs: Borland JBuilder, NetBeans, Visual Studio (to some

extent), Emacs/VimWhy did it disrupt? Eclipse primarily disrupted on price. Getting budget for an IDE was a

hassle for a developer in all but the most enlightened shops. Eclipse gave you as much if not more than the commercial IDEs and it meant one less conversation with a pointy-haired boss.

Eclipse’s open, extensible, participatory architecture meant a constant stream of innovations that few if any commercial IDE vendors could match.

What is its legacy? / What can we learn?

Proves extensibility and modularity sustain a platform. Arguably OSGi would not be forging ahead without Eclipse modularity as a “killer app”. Beyond the technology, there’s also a lot for smaller development organizations to learn about effective development practices from the Eclipse Foundation, such as regular release trains and well-thought out review processes.

Who deserves the credit?

IBM, especially the Ottawa Lab (including Object Technology International), and the other Foundation members.

Page 5: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #4: Amazon Web Services/EC2 5

Disruptor Amazon Web Services (AWS)What did it disrupt?

Managed hosting providers, incumbent IT departments

Why did it disrupt? Dealing with managed hosting providers to get applications deployed meant negotiating bespoke contracts and provisioning that could take weeks. Dealing with infrastructure providers in enterprise IT departments was worse – you needed real influence and it could take months to get the right gear for your development project. Especially with the launch of EC2, Amazon provided development teams with a way of getting stepwise operational efficiencies by treating compute and storage in a way it never had been before: as commodities.

What is its legacy? / What can we learn?

Once teams start getting access to dev and test resource as commodities, the guild of IT arts and crafts will never be the same.

Who deserves the credit?

Jeff Bezos for the vision; Werner Vogels and the AWS engineering team for the execution.

Page 6: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #5: JBoss Application Server 6

Disruptor JBoss Application ServerWhat did it disrupt? The BEA, Oracle, and IBM Java application server

oligopolyWhy did it disrupt? Disrupted the major application server vendors on cost.What is its legacy? / What can we learn?

Demonstrated another successful open source business model.

Who deserves the credit?

Marc Fleury

Page 7: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #6: Open Source Databases 7

Disruptors Open source databases including MySQL, Postgres, Derby (Cloudscape), Berkeley DB, and InnoDB.

What did they disrupt? One-size fits all commercial databases: Oracle, DB2, SQL Server, and Sybase.

Why did they disrupt? The weakness of the enterprise software license model was no better demonstrated than with these incumbent RDBMSs.

What is their legacy? / What can we learn?

This flock of databases is no longer disrupting the major vendors – mostly because they have acquired them. Work on all these databases started more than a decade ago, but their longevity is testament to their usefulness. Thankfully developers and architects are re-examining the data = RDBMS assumption, spawning the “NoSQL” movement.

Who deserves the credit? Michael (‘Monty’) Widenius, Michael Stonebraker and others.

Page 8: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #7: Apache Ant 8

Disruptor Apache AntWhat did it disrupt? Make, proprietary build systems, and IDE-internal

buildsWhy did it disrupt? Did you ever use make?! One stray space in the

makefile and your productivity was shot. The alternative was proprietary build environments, usually inside IDEs which were more productive, but distinctly unportable.

What is its legacy? / What can we learn?

Test Driven Development and continuous integration and other agile practices are all supported by the build automation methodology kicked off by Ant.Ant was an example of a domain specific language helping to (re)popularize the DSL concept which would lead to acceptance of other XML DSLs.

Who deserves the credit?

James Duncan Davidson

Page 9: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptor #8: JUnit/xUnit 9

Disruptors JUnit/xUnitWhat did they disrupt? Eh… nothing. We didn’t automatically test code

before 1999. (sic)

Why did they disrupt? If JUnit disrupted anything it was developers’ mindset. JUnit changed how a lot of developers wrote code; not just test code, but all their code.

What is their legacy? / What can we learn?

Supported development teams’ efforts to become ‘test-infected’ and pursue test-driven development. Continuous testing remains the heart of effective agile practices, such as refactoring.

Who deserves the credit?

Kent Beck

Page 10: Disruptive Application Development Technologies Of The Decade

All Contents © 2010 Burton Group. All rights reserved.

Disruptors #9 & #10: ??

What did I forget?

What disruptive technology influenced your application

development efforts 1999-2009?

Some say XML and its ecosystem, some say REST … what do you say?

Please comment on the blog.

10