Group Calendar
Email Archiving
 

A Framework For The Future

By George Curnew

One of the cornerstones of Solve360 is invisible to users. It's the core platform upon which the Solve360 feature set has been built, and it's been carefully constructed and nurtured over the past few years. When we brought the first iteration of our product to market, the fledgling Web application services industry was mistakenly lumped in with ASP. Many of the early applications were slow and unreliable; hastily constructed IT science projects cobbled together from legacy server and desktop code and dumped into a hostile online environment. We took a different path. We built our SaaS product from scratch, inventing approaches which later turned out to be best practice for browser-delivered apps, because there was no other way then to get the functionality and reliability that are required to deliver a complex service like Solve360.

It's only because we had a solid platform as a starting point that we've been able to extend the depth and breadth of Solve360 functionality over the past few years, creating a truly integrated online communication and collaboration solution that continues to deliver best-in-class features and uptime. However, the Web app development world of 2006 looks a whole lot different than it did in 2001. Standards on all fronts have evolved and matured, open source has moved from the fringes into the mainstream, and smart coders have been hooking up with savvy biz dev guys to identify and address opportunities in the growing on-demand services arena.

One of the areas that is beginning to get a lot of attention from developers is framework development, and the armies of change have been on the battlefield just long enough that some winning strategies are emerging. In Web War I (1995-2004), we spent countless hours in the development trenches to gain a few inches of functional ground. Web War II isn't being fought in the trenches; the big battles are being waged on open source ground, with the added wrinkle that development ordnance from the distant programming past is being dusted off, polished up and put back into service. As an example, Model-View-Controller (MVC), a somewhat elaborate scheme of organizing code within an application originally used in mainframe applications in the '80s, has recently been reworked for the Web and is gaining increasing popularity as a modern, best-practice architecture for online applications. The primary benefit of MVC is improving the extensibility of the application you're developing and making changes easier to manage.

MVC relies on sets of common procedures, making it possible to abstract and reuse these procedures in what's called a framework. Using MVC requires the engineering team to put a lot of thought into the application's architecture, which can dramatically increase robustness, code reuse, and organization. With a complex application like Solve360 there are massive benefits in adopting the MVC approach: decreased code duplication, increased coherence and clarity, reduced bugs, better separation of files and application access for improved security, faster development time, and easier testing, to name a few.

As we set out on our Solve360 upgrade journey, our critical need was finding a framework solution that would allow us to retain all our existing functions, while opening the door to extending our feature set to include other arm's length Web services as well as additional functionality we'll create ourselves. We believe that an on-demand service's ability to seamlessly interoperate with other online applications is a prerequisite to survive and thrive in Web War II, so we went on a quest to find a framework partner that supports our development and business objectives. The framework itself also had to meet the following criteria:

  • Must be capable of meeting enterprise application requirements, specifically around high code reuse and extensibility. Ironically, many frameworks are intended for simple applications. As the application grows, developers are forced to do convoluted things to work around the framework, which makes the application more complex, introduces bugs, slows response time dramatically, and eventually undermines all the efficiencies of the framework.
  • Must have a small footprint that allows our team to assemble only the best framework components necessary for our system. We eschew complexity, and favor simple solutions that do exactly what we need very well as opposed to large-scale monolithic libraries that try to do everything.
  • Must exhibit exceptional, proven performance.
  • Must have market support and momentum. Even though the Web framework market is young, there are countless companies/solutions/projects from which to choose. From a list of 80 or so candidates, we wound up with 5 contenders that met our criteria, each of which were then subjected to a rigorous round of testing. When the smoke cleared, the last vendor standing was Zend Technologies, an established leader in the web language/application management space.

Zend's Framework (which uses the MVC model) is an open source project with an existing code base that mapped well to what we needed to do. There's also real philosophical and strategic agreement between Zend and Norada on where we're headed. "We believe that the sky is the limit and will continue to collaborate with others in the industry around component architecture, framework tooling...enabling interoperability with third party solutions, and facilitating easy consumption of Web Service providers' APIs," says Zend on their Framework site.

We're confident Zend is properly organized and structured, and also has the financial wherewithal and market high ground required to become a major force in the Web application market. At this stage, it's difficult to imagine, much less predict, what will occur when dozens - or scores - of symbiotic web app solution providers like Norada begin to truly leverage each others' code and customer bases. By relying on Zend and other frameworks to handle a host of standard functions, we'll be in a position to focus our resources on taking new ground, and finding innovative ways to solve problems for customers.

What it will all mean to the existing Application World Order is anyone's guess. What we do know is that all the work we've done over the past 8 years has positioned us to be in the thick of the decisive battle that's coming. Bring it on.

Post a comment Permalink

 
Hosted Email
Contact Manager
 

 SaaS Hosted WebOffice & CRM Member: Axvpzuq Cxct Qtnguflsj