YOUR FEEDBACK
Did You Read Today's Front Page Stories at
SYS-CON?
MOST READ THIS WEEK
|
WSDJ TOP LINKS YOU MUST CLICK ON
! Feature
Maple Leafs Score on WebSphere's Midmarket "Power"
Play
By: Matt
Puccini
Can you build a custom dynamic Web content management solution and a high-performance dynamic professional sports Web site from scratch on J2EE in a short period of time? Oh yes, it must have Fortune 500 sophistication and be delivered within a midmarket budget. Impossible? Well, that's exactly what Braegen Group, Inc. (http://www.braegen.com/), a Toronto-based e-business solution provider, recently accomplished for Maple Leaf Sports & Entertainment Ltd. (MLSE), owners of the Toronto Maple Leafs hockey team. Braegen's breakthrough Web content management software, called Oriel, is among the first software products in the market to take advantage of "Power Servlets," the servlet middleware technology from Espressiv, Inc (http://www.espressiv.com/). Formed in 1927, the Toronto Maple Leafs is one of the NHL's oldest and most decorated hockey teams. Leaf fans are fiercely loyal, hoping for a chance to celebrate the return of Lord Stanley's Cup to Toronto this year. And with their anticipation comes the need to know all the latest stats, standings, and lineup details. For Leaf fans, http://www.mapleleafs.com/ is the source for all of the up-to-the-minute action and post-game analysis. MLSE faced a dilemma. Administering the site was challenging because content revisions happened constantly - and only the site administrator could make changes. As a result, with numerous departments within the organization creating contributions to the site, the site administrator was often backlogged with requests. MLSE wanted a Web content management solution that would be easy for staff members to use and that would allow them to dynamically and directly publish content in real time. MLSE turned to Braegen to create an integrated Web content management solution and redesign the entire Web site. They wanted a Web site that would be easy to maintain, and would allow internal departments with little technical knowledge the ability to update content. MLSE also wanted a simple and productive system to manage the massive amounts of constantly changing content on the site. Added to the requirements was the fact that the NHL season was under way; Leaf fans could not be left without access to real-time Leafs stats and stories. To meet these requirements, Braegen designed Oriel, a dynamic Web content management system. It featured an in-line interface that presents users with the actual Web-page template with content management functions (i.e., replace an image, update a cover story, or add a new page). This graphical interface allows contributors with little training or technical skills to become productive. In addition, Oriel needed to be flexible enough to be extended with minimal effort as new features are required. Power Servlet Technology
Achieves "The Power Servlet is an innovation whose time has come," said Matt Puccini, president of Espressiv. "The complexity of the middle tier has slowed J2EE adoption by millions of skilled programmers and inflated project schedules and costs. Power Servlets introduce a stateful, structured middleware solution that sets new levels of simplicity, productivity, quality, security, agility, and maintainability for J2EE control programming. We forecast tremendous growth in Power Servlet deployments in 2003, driven by the need for next-generation software products like Oriel." IBM has been working closely with Espressiv to integrate Power Servlets into WebSphere Studio tooling as a "Perspective" and is introducing the technology to partners and customers at numerous WebSphere Road Shows. "We are pleased that Espressiv has embraced IBM WebSphere software as a strategic platform for Power Servlets," said IBM's Scott Hebner, director of WebSphere marketing. "Power Servlets work with WebSphere to offer our customers an easy-to-use programming environment that streamlines Web application development." Where Did Power Servlets Come
From? "J2EE is an incredibly open, robust, and scalable platform. But it is also incredibly complex from an application developer's perspective," said Bill Hughes, another Espressiv cofounder and vice president of product development. "The reason is simple: the Web was never designed for building and maintaining enterprise applications. What J2EE needs is a new kind of middleware that removes the burden of state management complexity from developers and architects." What's the Difference Between a
Servlet and a Power Servlet? Power Servlets are stateful, modular application "controllers" that can handle multiple page flows (such as a wizard or master-detail) from a single program. They automatically manage state, providing a simple, intuitive way to integrate the components of a Web application: Web pages, beans, EJBs, Web services, databases, and legacy assets. The result is that control coding is reduced by up to 90%, making it easier to design, build, modify, and maintain applications. This means that any developer with traditional structured programming skills can write well-architected applications on the J2EE platform. Power Servlet programs are written using a Java IDE or code editor with a development tool called Presto for Power Servlets, and then converted at runtime (similar to JSPs) into a set of instructions that tell the Power Servlets which J2EE resources to invoke. Because programmers write these instructions in Java, they can employ ordinary programming constructs to dramatically simplify the complexity of J2EE. To better understand the power of Power Servlets, let's look at a familiar example: the Java Pet Store. Power Servlets In Action: EVENT CONTROLLER Very simply, this Power Servlet implements the following logic: One breakthrough feature of Power Servlets is that user interactions are represented as method calls that return control to the calling program. This is revolutionary for developers, so let's look at a simple example. In Listing 1, if the esp.invoke() call fails (for example, if the program attempts to execute a Power Servlet method that doesn't exist), the main() method will execute the statement esp.showMessage("Error! invalid action: " + next); This statement does two important things: first, it forwards the page ShowMessage.jsp (a template message page) to the JSP engine, substituting the string argument as the message on that page. Then it waits until the user has submitted another request for the PetStore Power Servlet. When that request is received, the program executes the next logical statement (in this case it checks to see whether the next action is "logoff"). To developers who know J2EE and the Web, this is magic. To developers just learning Web development, it's very natural. Why is it magic to the experienced Web developer? Because the Web in general - and J2EE in particular - does not let a program display a user page and then continue execution of that same program. That is a fundamental limitation of the current servlet tier from the standpoint of application architectures and developer productivity. It breaks the structured programming model. However, Power Servlets fix that problem by implementing the magic of "freeze-drying," a patented method for halting and resuming the execution of programs that preserves the J2EE scalability model. This means that your application no longer needs to be designed around the limitations of the servlet tier. Rather, it can be written the way you were taught in Programming 101: modular, top-down, coherent, and object-oriented. SHOPPING CART CONTROLLER Listing 3 shows the fragments of Cart.jsp that define the FormPage controls (text fields, arrays, and buttons using the FormPage tag library provided with Presto). Developing Applications from the
User's Perspective The other user actions - whether they call a single page, require that page to loop (in order to implement validation, previous, and next buttons), or call multiple pages in sequence (such as "checkout" or "register") - can be implemented as modular Power Servlet methods as well. These methods can be implemented and tested by separate developers with no knowledge of one another, and then be immediately integrated and run. Presto for Power Servlets and
WebSphere Studio Presto for Power Servlets has an auto-compiler that generates XML-based instructions that tell the Power Servlet what J2EE resources to call - beans, EJBs, JSPs, Web services, or any other Java classes. It does not, however, need to generate Java source to be compiled and run on the application server. Instead, the Power Servlet uses these instructions to run Java classes and libraries that run on the application server. "Power
Struts" Power Servlets also simplify the Struts configuration file, which was never designed to implement workflow. Power Servlets are workflows that are self-contained, coherent, and more secure. These flows can be tested, debugged, and analyzed centrally. JSPs implemented using Struts tag libraries don't need to be changed, although by using Power Servlets they can be simplified. Power Servlets can be incorporated immediately into new or exiting Struts implementations to get these benefits. Integrating Power Servlets into a
Project There are two ways to migrate to Power Servlets: 2. Replace application logic. Presto for Power Servlets programs can leave the components of a Web application - Web pages, beans, EJBs, database access - intact and simply replace the content-centric servlet programming that is hard to write, maintain, and debug. Espressiv offers a free evaluation license for Presto for Power Servlets that can be downloaded from http://www.espressiv.com/. Leafs Success, Oriel Future
Opportunity Once you're in it...reprint it! To purchase a
reprint of this article, please contact Dorothy Gil, at
reprints(at)sys-con.com, 201-802-3024.
FEATURED WHITE PAPERS
WEBSPHERE LATEST STORIES . . .
SUBSCRIBE TO THE WORLD'S MOST POWERFUL
NEWSLETTERS
VOTE FOR THE OSCARS OF THE SOFTWARE
INDUSTRY
|
WEBSPHERE LINKS YOU MUST CLICK ON
!
JOIN THE HOTTEST DISCUSSIONS OF THE
WEEK
| ||||||||||||||||||||||||||||||||||||||||||||