|Anthony Tse, director of engineering, QuinStreet Inc.|
ne-year-old QuinStreet Inc., a technology-oriented direct marketing firm, builds its business by doing more with less. Instead of writing applications from scratch, the Redwood City, Calif.-based startup uses application development frameworks and blueprints to help it create e-commerce networks and provide marketing services for its customers. For one such customer, Hooked on Phonics, QuinStreet built its e-commerce Web site and finds other sites that would like to sell Hooked On Phonics products--companies that want to extend their markets and partner with like-minded merchants.
"We use BEA's WebLogic Commerce Server because it provides us with many application services that we're able to leverage to build our application infrastructure," says Anthony Tse, director of engineering at QuinStreet. By leveraging about 80% of the capabilities of San Jose, Calif.-based BEA Systems Inc.'s WebLogic Commerce Server 1.71 running on Sun Microsystems Inc.'s Java 2 Enterprise Edition (J2EE) platform, QuinStreet can spend more time on clients' specific business problems, Tse says. The bottom line: "If we didn't have frameworks and blueprints, we wouldn't be able to move as fast as we did and achieve rapid time to market," he says.
Indeed, if QuinStreet developers had to write their own application services, they would have needed years, instead of months, to get their business applications running, Tse notes. Definition: Faster, Cheaper, Better
While there doesn't seem to be a fixed industry definition for either a framework or a blueprint, one thing industry participants do agree on is that the concept is not new. Frameworks and blueprints have been around since the beginning of object-oriented (OO) programming and SmallTalk, the first commercial OO language, explains Thomas Murphy, program director for application delivery strategies at META Group Inc., based in Stamford, Conn. "Frameworks drive the idea of reuse and provide guidance on how to build out an application," he says. Blueprints, by contrast, provide a way to address a problem and a solution or are an outline of best practices. (For other interpretations of the difference between frameworks and blueprints, see "Ironing Out Definitions.")
Developing applications faster and for less cost appeals to most IT shops. However, if the end result isn't a quality product, these productivity gains are meaningless. To protect themselves, IT departments frequently look for tried-and-true technologies.
"The framework we chose offers us tested blueprints and technical components--quality, out of the box," says Tse. "We looked for a framework with as much off-the-shelf testing as we could get. That's what we leverage for quicker time to market." By implementing code through the use of proven frameworks, IT teams are able to eliminate hundreds of hours for testing, debugging, and defect removal, he contends.
|At a Glance: QuinStreet Inc. |
The company: QuinStreet, located in Redwood City, Calif., is a direct marketing company that uses technology to help clients distribute products and services online.
The problem: The company saw a business opportunity for building an e-commerce network and providing marketing services for companies with specialized products. However, time-to-market was an issue, and QuinStreet had to assess the benefits and drawbacks of a buy-vs.-build approach to application development.
The solution: QuinStreet turned to BEA Systems Inc.'s WebLogic Commerce Server 1.7, a framework for application development. The framework delivers extensibility without the need to develop its applications from scratch.
"That's money in the hand," says Gary Baney, chief technology officer at Flashline.com Inc., in Cleveland, an online marketplace for components.
For its part, value-added reseller Apunix Computer Services, in San Diego, leverages Palo Alto, Calif.-based Sun's Java Media Framework (JMF) API for its Java-based Apunix Multimedia Kiosk. The kiosk, which features a user-configurable multimedia kiosk engine, imports content from a variety of sources, including databases, image files, Web pages, video, Java applets, and HTML pages. JMF is used to display video, and can capture, playback, transmit, and transcode audio, video, and other media.
"We take a component approach to development and use as much existing technology as possible and customize as customer needs dictate," says Sylvia Berens, Apunix vice president. JMF delivers one-stop shopping to Apunix. The media framework API includes features such as scalable, high-quality video at 30 frames per second and cross-platform capability. JMF is Java code that can be integrated into other Java applications and used as-is or extended, says Berens. "JMF has been an integral part of every kiosk project we've done," she says, noting that Apunix has done well over half-a-dozen projects, to date.
Most frameworks come with some pre-built technical components, such as those for accessing middleware or databases, says Michael Blechar, vice president of application development services at Gartner Group Inc., a Stamford, Conn., research firm. "Some come with pre-built rules for architecture, design, or language," he says.
Apunix also uses another framework, Sun's Java Database Connectivity (JDBC) API, for database connectivity. "We took the JDBC framework and added a GUI to bring in graphically rich database content from a variety of databases," says Berens. By using the off-the-shelf JMF API, Apunix reportedly lowers development costs and gains faster time to market. "We also gain benefits on long-term maintenance, and we don't have to be an expert in building that component," says Berens.
Ease of maintenance is key, Tse agrees. "When you custom-build applications without the benefits of frameworks, there's a lot of inconsistency between code and it's costly to test it," he says. Choosing a Framework
RespondTV Inc., an interactive TV infrastructure provider for enhanced TV services and portals, offers an e-commerce application server that features an electronic wallet, shopping cart, catalog, and online ordering. "When we were developing our e-commerce server we had to consider how much to build and how much to buy," says Kevin Sadler, director of engineering at RespondTV, of San Francisco. (Continued)
| Ironing Out Definitions|
| According to Gartner Group Inc., in Stamford, Conn., an application framework is a technology in which various types of components (ranging from coarse-grained architectural blueprints through fine-grained objects) can be defined, built, assembled, and managed. An application framework normally is based upon, or supports, multiple types of application development patterns. More robust application frameworks provide repository services, such as version control, security, and subsetting. In addition, higher-end frameworks' capabilities allow IT to more easily implement and manage the concepts of inheritance and polymorphism across development teams. There are two types of application frameworks: development and deployment frameworks, says Michael Blechar, vice president of application development services at Gartner Group. A development framework helps with building or assembling components. A deployment framework is a piece of middleware or application server that includes some workflow capabilities and will invoke components. By Gartner Group's definition, architectural blueprints contain the overarching technology constraints and requirements that deployed components and applications must support. Architectural blueprints define the functional blocks, topologies, and infrastructures needed to deploy a specific class of system or application. "Blueprints are a pre-built set of templates," says Blechar. However their definitions may vary, industry experts concur that today's businesses require a faster, more iterative and collaborative way to develop enterprise applications. "The main driver for frameworks and blueprints is time-to-market," says Thomas Murphy, program director for application delivery strategies at META Group Inc., in Stamford, Conn. "It used to take IT teams 18 to 24 months to build applications, and by the time they finished, the business had changed. With the Internet, the industry needs to figure out a way to deliver applications in two weeks; in today's business climate six months is a long development project," he says. When it comes to application development and time to market, the truth of the matter is that no development is done without frameworks and blueprints. "All development outside of mainframe/COBOL is done using frameworks and blueprints," says Murphy. The reason? Using frameworks helps IT reduce the amount of written code by an order of magnitude, he notes. |