3.4. Collaboration with Sun Professional Services

The success of the J.Crew engagement was made possible by the contributions of myriad companies, all working together under the project management of Sun Professional Services. The delivery of the project was a joint effort, with Sun providing architecture leadership in application development and infrastructure and Fort Point Partners providing business analysis and application development expertise. ATG Global Services was also on site to help with the integration of its ATG Dynamo software and to assist in the development of business logic.

After the initial assessment, the architects and consultants from Sun Professional Services outlined a functional description of the technologies required to meet all of J.Crew's business objectives. Based on this outline, the team would construct the architecture, test it for readiness, and assist with the transition from pilot to production environment.

“Sun Professional Services really pushed the implementation of its architecture plans, and their knowledge and expertise has paid off,” says Paul Fusco, senior vice president and chief information officer at J.Crew. “Our site is reliable and scalable, both vertically and horizontally. And it supports our business plan to make click-and-order sales as easy and enjoyable as possible for our repeat customers.”

Indeed, as millions of dollars rested on the success of the new launch, the presence of Sun Professional Services proved to be a tremendous asset to both J.Crew and the development team. The evolving J2EE platform was very new, but J.Crew's confidence in both the technology and the knowledge that Sun Professional Services brought to the engagement paid off in the end. The site was developed in less than four months.

“Everything went smoothly. It was a boring development cycle. Boring is good: it means there were no snags,” Paul Fusco notes. “We developed a plan and executed it flawlessly. Sites fail because of bad architectural design. When you look at the architecture of jcrew.com, it is strong and scalable. Sun Professional Services played a key leadership role in designing this architecture and managing our Web site rollout.”

A small problem that did arise during the engagement, however, has actually helped in the rollout of subsequent J2EE-based applications. Server-side Java applications run on Java virtual machines, which allow developers to implement numerous instances of an application on the same server. At J.Crew, the Java virtual machine is responsible for hosting each instance of the application server and translating the byte code into native machine language for each user session. To do this, it must keep a log of all the objects used by the application server.

While in the testing phase, the Java virtual machine's ability to handle the massive load that J.Crew expected was pushed to its limit. Inside the virtual machine there is a class-reference hash-table, which keeps a list of all the classes that are loaded into an application's memory. There was a fixed size to this table, and up until the J.Crew engagement, this size was more than sufficient for most Java applications. But the scope of jcrew.com and the fact that every JHTML page was being compiled into one or more distinct classes caused the hash-table size to be exceeded, resulting in the crash of the virtual machine. Developers from the Java Center were called in to find a quick resolution, since it was obvious that future projects of this scope would encounter similar issues. The architects solved the problem by doubling the size of the table, changing the number representing the hash-table's size from a signed integer to an unsigned integer.

“This was something most Java architects have never seen happen,” says Vinod Mathew, technical architect with Fort Point Partners. “But it took a real business situation like jcrew.com and its massive volume of traffic to show us how the technology could be better developed. We were lucky to have Sun Professional Services behind us; the Java architects were instrumental in coming up with a solution and ensuring continued, as well as future, reliability and scalability of the jcrew.com infrastructure.”

Although Sun Microsystems essentially invented the original client-side Java technology, the evolution of the server-side use of the Java language and eventually the J2EE platform relied on contributions from other companies that adopted the core technology and extended its capabilities. One such company is ATG, which developed what is known as JHTML, the direct predecessor to Java ServerPages (JSP).

JHTML is very similar to JSP technology in that it allows content developers to specialize in writing code for the logical presentation of HTML content, while component developers can focus on writing back-end business logic.

Sun licensed the JHTML technology from ATG, expanded its capabilities, and then released the JSP specification. JHTML is a pivotal component at J.Crew and was itself an important step in the establishment of the J2EE framework. Sun and ATG thus have a long-standing relationship, having worked extensively together developing J2EE-based solutions for some of today's largest companies, of which J.Crew is the only one.

Table 3.3. jcrew.com Platform as a Precursor to J2EE: Components in Use
Java Server-Side Components How the Components Are Used
JHTML (precursor to JSP technology) Provides dynamic, personalized presentation of content
JDBC Provides a means of connection pooling to databases to ensure scalability
Java Servlets Assist JHTML presentation and interface with back-end business logic
JNDI Provides naming and directory functionality
JMAPI Allows J.Crew to automatically confirm orders with customers
XML Provides a data schema for e-commerce and personalization

“The experience we gained at J.Crew has been carried over to many subsequent installations of J2EE-based applications,” says Tareef Kawaf, commerce product lead at ATG. “Launching the enhanced jcrew.com application helped establish the maturity of the platform and stands as proof that the J2EE platform provides highly scalable, flexible, and extensible applications.”

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset