Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
|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. |
Ultimately, the company opted for a framework that would provide generic building blocks for its server. RespondTV developed its interactive shopping cart and multidimensional catalog using BEA's recently introduced WebLogic Commerce Server 3.1. Included in the BEA product are what the developer calls pipeline components, or out-of-the-box commerce functions, that include user management, catalog, search/browse, shopping cart, order management, shipping address, tax and shipping calculations, payment services, event tracking, and logging. In all, WebLogic Commerce Server 3.1 includes more than 80 integrated components designed to provide a range of pre-tested commerce functionality.
RespondTV developed a list of criteria for its framework, says Sadler. For example, the framework had to support open standards--in this case J2EE. In addition, it needed to run on Sun and include a scalable database platform, as well as best-of-breed services. In addition, RespondTV wanted a scalable framework that could support interactive TV, which, Sadler points out, has greater scalability demands than building a Web site (for an example of RespondTV's interactive shopping cart, click "View the Image" below).
|RespondTV Inc. wanted a scalable framework that could support interactive TV on its Web site.|
|Over Time, Frameworks Pay Off |
Unquestionably, the use of well-tested frameworks saves application developers time and money. Less clear, however, is the question of how much time.
"Vendors will say that their frameworks provide developers with 80% of what they need to develop applications," says Michael Blechar, vice president of application services at Gartner Group Inc., of Stamford, Conn. "But, that depends."
It depends entirely on the application in question. For example, if there are a lot of customized business rules, the development team may end up writing 85% of the application, says Blechar. "Or in the case of a simple application, 85% of it may be automatically written for you if the other 15% is the business logic you need," he says.
Another factor regarding time savings and the use of frameworks has to do with reuse. The bottom line: The more you get involved with developing the framework, the greater potential for reuse. Likewise, says Blechar, the more projects you use the framework for, the greater the productivity.
The company slashed its list of possible vendors after it realized some frameworks were too proprietary, others were not completely J2EE, while others didn't offer broad operating system support, Sadler explains.
Thanks to its use of a framework, RespondTV has immediate access to between 25% and 40% of its application infrastructure, he says. "The rest is what we build and has industry- and business-specific functionality," Sadler notes.
By purchasing a framework, RespondTV gets low-level infrastructure, a caching engine, a container for Enterprise Java Beans (EJBs), and components the company can--and did--extend. RespondTV's e-commerce project is currently in beta, and the company expects completion [in 2001], according to Sadler.
Like RespondTV, companies must determine the problem they're trying to solve before purchasing a framework, say industry experts. Gartner Group, for example, gives customers a list of criteria for framework selection, such as platform or geography issues, deployment language, cost drivers, support, and the vendor's reputation and vision, says Blechar. "Ultimately, one or two products will fit a company's requirements," he says.
In fact, depending on what problem a company is trying to solve, choosing a framework is secondary to other chores, such as making the primary choice on platform, says Thomas Murphy, program director for application delivery strategies at the META Group Inc., Stamford. "If a company builds on a Microsoft platform, they automatically choose a Microsoft Framework, or if it's Java there's a different evaluation process," he says.
For example, on the J2EE side, companies can evaluate core application servers from BEA, Bluestone Software Inc., IBM Corp., iPlanet E-Commerce Solution, or Oracle Corp. "After selecting an application server, IT has to examine how the framework will fit its needs," says Murphy.
The MIS department must investigate scalability. It also must determine whether it has the internal capabilities to look at that framework for holes, documentation, the ability to extend or mold the framework, as well as to examine if the framework makes use of well known, well documented patterns, he adds. Evolutionary Market
Today, the focus for many frameworks is e-commerce. However, industry watchers predict frameworks, components, and patterns will evolve from programming tools to solutions.
In the meantime, companies that carefully select their framework investments will find few limitations to using them, says Murphy. "A good framework should shoehorn a developer into a good design and eliminate doing things poorly," he says.
|Sylvia Berens, Apunix vice president|
Of course, no technology is perfect. For example, Apunix' Berens has one complaint: "Linux support is still limited. We'd like to see more robustness and greater frame speed," she says.
For his part, RespondTV's Sadler says that because the basic building blocks in frameworks are designed to be general purpose, developers might have to redo some of the basic bricks to work the way they want it to work. "[Sometimes] you have to work around the framework," he says.
Ultimately, frameworks make for happy developers because they give each developer a sense of ownership for the piece of the framework that he or she is working on. "Using frameworks gives each developer a distinct responsibility for development," says Tse, adding that the ability to focus on a particular task makes developers experts in that task, thereby making them more productive. "They don't have to write code for things they don't know about, nor do they have to be a jack of all trades," he says.
Even with the challenges and shortfalls, companies using frameworks today wouldn't turn back the clock and work without them. As QuinStreet's Tse says: "It's a lot better than CGI coding." Lynn T. Haber reports on business and information technology from Norwell, Mass.