Tech Talk #2 - Tools of the Trade
Jan/Feb 2004 by Linda Kennard
Integrating data and functions from legacy and proprietary systems can be a painfully complex task, so why bother? Typically you bother because you're attempting to solve real business problems. Your company has valuable stuff running on those mainframe, midrange and proprietary systems, which don't work together and don't work on the Web. Thus isolated, these systems' data and functions aren't as useful as they could be to your business. By repurposing these data and functions, you can create new and cost-cutting business processes. To that end, you face the loathsome integration task.
Integration, however, is only half of the repurposing battle; the other half is presenting these data and functions to users, who have stringent expectations. Your company's clients, partners and employees expect to be able to access over wired and wireless connections all of the information and services they need to do their jobs. What's more, they expect to be able to do so from a single location using whatever device they happen to have handy. Not surprisingly, the de facto interface for delivering any form of information and service has become the portal application. Portals offer the one-stop-shop convenience today's users demand.
Of course, users also expect these portals to be served up 24x7, without a hitch. To address this demand, you might opt to deploy your portals on application servers based on the Java 2 Platform, Enterprise Edition (J2EE). J2EE application servers provide the capabilities—such as load-balancing, failover, multithreading, and clustering—that you need to keep today's impatient users happy. Unfortunately, developing J2EE applications typically requires specific skills, which further complicates an already-daunting task. After all, not every company has developers in house who are equally adept at programming languages typical of backend systems as well as the languages required to develop J2EE-based portals, such as Java and eXtensible Markup Language (XML).
You might be relieved to know that Novell exteNd, Novell's solution to the integration-through-Web-services problem, doesn't require you to be comfortable with languages from both ends of the IT spectrum. In fact, the goal governing Novell's work on the Novell exteNd suite is to reduce the complexities typically associated with developing J2EE-based portals that incorporate data and functions from legacy systems. This new year, Novell takes one giant step toward achieving this goal with an enhanced version of this already award-winning suite: Novell exteNd 5. (For more information about exteNd awards, see www.novell.com/products/extend/awards.html.)
Available in beta since October and due to be released January 2004, Novell exteNd 5 includes a slough of new features and enhancements. (For a glimpse at some of them, see What's New and Improved?) Of the many new features and enhancements in this suite, the following are among the most exciting:
- Installation wizard that gets the entire suite up and running in minutes
- Ready-to-use portal application and out-of-the-box portlets
- eDirectory integration for advanced personalization and security features
- Graphical, intuitive and largely code-free design environment for developing front-end Web applications, such as portals
All of these enhancements work toward achieving the same end: To offer you the development and runtime environments you need to rapidly build and deploy business applications using Web technology, while easily integrating data and functions from existing backend systems. (What types of applications and why would you want to build them anyway? See Bottom Line—What or Where is the Deal.)
Installation—Simple and Suite
Among several enhancements to this release is a new installation program that makes exteNd 5 easier to install than earlier versions of the suite. The installation program for the exteNd 5 suite offers several different installation options, including Custom and Express installation. You can guess by their names what these two (of four) options enable: the ability to select options to install a specific configuration of products and features and the ability to install all products and features based on a default configuration, respectively.
As with all Novell solutions, exteNd 5 offers you a wide variety of platforms from which to choose, including Linux, Windows, NetWare and Unix. Specifically, you can install exteNd 5 on any of the following platforms:
- SUSE Linux Enterprise Server 8
- Red Hat Advanced Server 2.1
- Novell NetWare 6.5
- MS Windows 2000 or 2003
- Sun Solaris v8 or v9
- IBM AIX 5.1
- HP-UX 11i
When you install the suite on MS Windows 2000 or MS Windows 2003, you can choose the Express installation option. As you might guess, the Express installation option is the shortest path and simplest way to get started using the exteNd 5 suite. When you select this option, the entire suite is up and running within minutes. To be more specific, the Express installation option automatically installs the following products in one fell swoop:
- exteNd Composer 5
- exteNd Director 5
- exteNd Application Server 5.1
- Novell exteNd Messaging Platform
- MySQL 4.1
In addition to installing these products, the Express installation program creates and configures a MySQL database for use as SilverMaster. The SilverMaster is the database the application server in your exteNd environment uses to maintain its own system information. Touted as the world's most popular open source database and recognized for its speed and reliability, MySQL is a solid choice for SilverMaster—but it's not your only choice (unless you're installing the suite on NetWare 6.5). If you install the suite on MS Windows 2000 or MS Windows 2003, you can choose any of the supported databases. If you install the suite on Unix or Linux, you can use any of the supported databases other than MySQL.
In addition to MySQL 4.1, exteNd 5 supports (and also includes) the following databases:
- Oracle Database 8i, 9i
- IBM DB2 7.2.4, 8.1
- MS SQL Server 7.0/2000
- Sybase Adaptive Server Enterprise (ASE) 11.9.2, 12, 12.5
- Sybase Adaptive Server Anywhere 8
Portal Application—a Pre-Packaged Peek
In addition to installing the products and configuring the SilverMaster, the Express installation option automatically deploys a sample portal project called Express Portal. When the installation is complete, the Express option launches your browser (ideally, MS Internet Explorer 5 or higher) and goes to the Express Portal home page. (See Figure 1.)
You can use Express Portal for testing and learning purposes exclusively or as a skeletal framework for developing your own portal application. You can do anything to Express Portal that you can do to an exteNd Director 5 project that you start from scratch, including changing the portal's theme, modifying its layout, adding and deleting content, adding and deleting portlets, and otherwise tweaking the application.
For example, you can create portal pages within your Express Portal. Portal pages are views that include some fixed aspects along with some customizable aspects. More important, portal pages are testaments to the benefits of an identity-aware portal. Arguably the most notable of these benefits is the fact that with an identity-aware portal, you can deliver unique views to each user based on their relationship to your corporation. That is, each page a user pulls up can be personalized to the point that everything—from the content to the color and size of the fonts on the page—can be precisely what this user needs to do her job, presented in precisely the manner she prefers.
exteNd 5 includes three types of portal pages:
- Container pages
- Shared pages
- User pages
You (or other administrators) create container pages using the Director Administration Console (DAC), a Web-based utility. On your container page, you affix images, logos, text and navigation controls to create a unique corporate identity that is thereafter the standard for your corporate portal (or for a department portal). exteNd Director 5 ships with a default container page.
As with container pages, you (or other administrators) create shared pages using DAC. Within the shell of a container page, your shared pages include content that is useful to a particular group of users (for example, users within a specific department). exteNd Director 5 ships with a default shared page, which appears within the framework of the default container page. (See Figure 2.)
As you can see in Figure 2, the default shared page displays two portlets: Hello World! and PhoneList. You can keep or chuck these and also add other portlets. For example, you can add one or more of the out-of-the-box portlets included with exteNd 5, such as the GroupWise 5 or eGuide portlets. (For a complete list, see Pluggable, Pre-Packaged Portlets.)
Assuming you give them rights to do so, users can create user pages using the Portal Personalizer portlet, also a Web-based utility. Within the framework of a container page and possibly also a shared page, a user can customize the content and layout of his portal page, which he alone has rights to access. For example, a user might choose to define multiple instances of a single portlet on his portal page. That is, he might run three instances of a weather portlet on his page to display the weather in Provo, Utah (where he works, 'noscroll') Phoenix, Arizona (where his parents live); and Boston, Massachusetts (where he travels frequently).
Identity Management and Security—the Directory Ease
exteNd 5 simplifies the task of controlling access to portal pages through its support for Lightweight Directory Access Protocol (LDAP) security realms. For example, you can use Novell eDirectory 8.7.1 or any other LDAP-enabled directory within exteNd 5 as an LDAP security realm.
The industry's first and most advanced full-service directory, eDirectory links users and their access rights to corporate resources, devices and security policies. As with all Novell solutions, eDirectory is a cross-platform solution, running natively on all of the platforms exteNd 5 supports, including Linux, Windows, NetWare, and Unix platforms. (For more information on eDirectory, see www.novell.com/products/edirectory.)
Of course, you don't have to use eDirectory to control access to a portal (or any other application) you create using exteNd 5. In fact, as with earlier versions of the suite, exteNd 5 continues to support user and group roles you might define within your J2EE application server environment.
However, with eDirectory as the default security realm, exteNd 5 recognizes eDirectory Organizational Unit, Group and User objects that you already have in place to control access to your portal.
Among many other advantages, support for eDirectory means that users can use their eDirectory credentials to log in to your corporate portal (and other applications that you develop using exteNd Director 5). Also, because exteNd 5 supports eDirectory, you can automatically provision access to portlets based on your users' group memberships—including dynamic group memberships.
What's more, exteNd Director 5 accelerates authorization to portal resources through the use of a new feature called an authenticated user context (AUC). When users log in to your corporate portal, exteNd Director 5 creates an AUC for this user, which lists the user's memberships in eDirectory groups and containers. Thereafter, as this user attempts to access various resources on the portal, exteNd Director 5 consults the locally-stored AUC rather than repeatedly accessing eDirectory.
Presentation—Up Front and Code Free
From its inception, the exteNd suite's raison d'etre has been to enable you to quickly build standards-based, services-oriented applications using visual tools—from integration on the back end to presentation on the front end. Furthermore, the plan always has been to provide the platform you need not only for developing these applications but also for deploying them on J2EE-based application servers.
As early as Novell exteNd 4.0, Novell had the first piece of this picture, that is, the integration piece, complete in the form of Novell exteNd Composer. (For a list of some of the exteNd Composer 5 enhancements, see What's New and Improved?) Like its predecessors, the newly-enhanced exteNd Composer 5 is a development and J2EE runtime environment that enables you to rapidly and visually service-enable data and functions locked in existing enterprise systems. (For more information regarding the gist of what you can do with exteNd Composer 5, see Visual Integration.)
What was missing, at least until now, was a visual tool for developing and deploying the front-end piece of your applications—easily and rapidly. "That's the piece," says Novell product manager Ashish Larivee, "that's been built into this release." In this release, Novell completes the exteNd picture with an enhanced version of exteNd Director: exteNd Director 5.
Like its predecessors, exteNd Director 5 is an interaction and portal server that enables you to build and maintain the content on standards-based portal applications (as well as other Web applications). What's new in exteNd Director 5 is the speed and ease by which you can do so. Bent on reducing the complexity of developing J2EE applications, Novell made dramatic enhancements to the exteNd Director 5 design environment, which now matches and simply extends the visual, intuitive, no-coding-required nature of the exteNd Composer design environment.
Lest you think otherwise, simplicity, in this case, does not mean less powerful. On the contrary, the exteNd 5 suite's claim to fame is that it simplifies application-development projects as much as possible while still enabling advanced options. As Novell solutions management team lead Rik Van Bruggen explains, "We don't drop developers off of a cliff of complexity. Instead, we enable them to gracefully transition into complex tasks after completing the simple ones."
The portal as a means of information delivery is a notable accomplishment of 20th-century information technology. Novell exteNd, with its ability to consolidate data from disparate sources and integrate it into one cohesive view, is drawing the attention of executives struggling to harness a single view of their enterprise health.
But talk to any CIO trying to manage the delivery of enterprise portal information, and you'll find that the "build it, and they will come" adage holds true in IT as well as minor-league sports. The stark reality is that the valuable information contained in these enterprise portals, or "dashboards," is continually being extended to a wider pool of decision makers both inside and outside the organization. And increased access—particularly to sensitive data—inevitably generates security concerns for both you and those in the corner offices. So Novell has bundled its innovative data integration and portal services and market-leading secure identity management with a few other components into a solution that directly addresses those concerns. It's called the Novell exteNd secure enterprise dashboard solution.
The solution showcases Novell synergies in application integration and secure identity management. It combines the ability to integrate timely data from disparate systems (Novell exteNd Composer); present it in a single, consolidated portal view (Novell exteNd Director); and securely deliver it to those who need it based on their relationship, roles and responsibilities to the organization (Novell Security and Identity products such as Novell Identity Manager 2 and Novell iChain). (See the screenshot below for an example of implementing multiple Novell technologies.) The dashboard also includes extensive business-analytics consulting expertise and marketleading business-intelligence software from Novell partners like Hyperion.
So whether you need to make more informed enterprise decisions, or gain the visibility needed to comply with information disclosure regulations such as Sarbanes-Oxley, the Novell secure enterprise dashboard solution can help you address critical security-related concerns.
At the heart of many of the exteNd Director 5 enhancements is a new portal architecture, which is based on Web Services for Remote Portlets (WSRP) and Java Specification Request (JSR) 168, more commonly known as the Portlet Specification.
The WSRP standard is a cross-vendor protocol that defines a set of interfaces for enabling portal and non-portal Web applications alike to incorporate remote portlets. (For more information, see www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp.)
JSR 168 defines a set of application programming interfaces (APIs) that address aggregation, personalization, presentation and security issues to enable interoperability between portlets and portals. (For more information on JSR 168, see http://jcp.org/en/jsr/detail?id=168.)
Portlets are user-facing, multi-step, interactive modules that you plug in to portal (or other Web) applications. Portlets process requests from Web clients and generate content that takes up a portion of a Web page. To present complete pages, portals assemble the content generated by one or more portlets.
Facilitating the tasks of developing portals and the portlets that comprise portal pages are several new graphical tools, including these two:
XForms Mark the Spot
The foundation for next-generation Web-based forms, XForms 1.0 is a World Wide Web Consortium (W3C) Recommendation. A W3C Recommendation is the equivalent of a Web standard and indicates that this W3C-developed specification is stable, contributes to Web interoperability, and has been reviewed by the W3C Membership, which approves of its adoption by the industry. (To view the XForms 1.0 Recommendation, see www.w3.org/TR/2003/REC-xforms-20031014/.)
XForms offer several advantages over the ten-year-old HTML forms technology. For one thing, in HTML forms, function and presentation markup are entwined, whereas XForms cleanly separate the two. Because XForms separates presentation and content markup, you can reuse XForms modules and, equally exciting, deliver forms to different devices. XForms technologies make it possible to develop and deliver one and the same form to a cell phone, desktop or hand-held computer—without loss of functionality for the end user.
Form Designer offers a wizard that simplifies the task of creating XForms-compliant Web forms. (See Figure 3.) To do so, you complete the fields, as prompted, in the wizard's approximately 10 windows. As you might expect, you complete many of the wizard's fields simply by clicking to select or deselect default settings. For example, in one window you click to select the option specifying that the wizard should generate controls that use the cascading style sheet (CSS) layout. CSS is a W3C Recommendation that defines an order of preference for different and conflicting style elements. (For more information, see the CSS home page at www.w3.org/Style/CSS/.)
On this same page you also click to clarify whether you want the wizard to save the form you create in the default directory. You may also click to select the option specifying that you want the wizard to use the default fonts and colors defined in the WSRP CSS classes.
Another window prompts you to specify where the wizard should look to find instance data for this page. Form Designer enables you to choose from three possible sources:
As you continue to work your way through the Form Designer, you specify the format for your form's controls, such as the number and width of columns and the gap between rows.
When you've completed the wizard and thus finished your form, the wizard creates an XHTML file that includes all of the markup necessary to build the form and lay it out based on user input. XHTML is a reformulation of HTML 4.0 in XML that purportedly helps you create richer Web pages on an increasing range of browser platforms, including cell phones, televisions, and wallet-sized wireless communicators. (For more information, see www.w3.org/markup, from which page you can access recommendations and other information relevant to XHTML.)
Go With the Flow
Page Flow Modeler is a graphing package that you use to create page flows. (See Figure 4.) Each page flow is a single portlet that defines a logical pathway between a series of activities. In this context, an activity is a task within a page flow that does one of two things: A task might present interactive content to the user in the form of HTML, XForms-compliant Web forms, Java server pages or servlets, to name only a few examples; or a task might perform background functions, such as executing business rules or embedding separate page flows within a page flow.
Creating a page flow is a bit like creating a map. In this case, however, your goal is to define the logic that determines how one activity links to one or more other activities. Page Flow Modeler allows you to create several different types of links between the activities in your page flow. For example, you can create simple links that, as the name implies, denote a straightforward, withoutexceptions path from one activity to one or more others. You can also create condition links that specify the condition or conditions under which one activity should lead to another activity.
Ultimately, you save your page flow process in your exteNd Director 5 project resource set. A resource set is a managed set of data in an application Web archive (WAR). A resource servlet in this WAR manages access to the data. (exteNd Director 5 includes a wizard for creating resource sets.)
The Page Flow Modeler automatically translates your finished process into an XML document that defines the layout and format of your page flow. The Page Flow Modeler also saves a portlet descriptor, which maps your page flow to a page flow runner that the page flow engine can execute at runtime. While you can write your own page flow runner, you don't need to: exteNd 5 ships with a pre-packaged page flow runner capable of running any page flow.
Expectedly, the Page Flow Modeler offers several wizards to simplify the task of creating specific types of page flows. For example, the Composer Page Flow Wizard helps you create page flows that execute services that use exteNd Composer 5 to access legacy systems. The Composer Page Flow Wizard generates a set of XForms-compliant Web forms that it ties to the exteNd Composer services you choose to include in your page flow. The resulting portlet yields a convenient and easy-to-use interface for invoking an exteNd Composer service that taps in to your backend systems.
Expectedly, the Page Flow Modeler offers several wizards to simplify the task of creating specific types of page flows.
Bottom Line—What or Where is the Deal?
The bottom line is that building Web applications that repurpose backend data and functions saves your company money—and Novell has several customers with exteNd experience that can support this claim. As for the types of applications you might build, you'll have to use your business acumen and imagination to figure that one out, but here are three examples to prod your thought processes:
Do you have any ideas for your applications yet? Well start thinking because repurposing and Web-enabling your existing backend systems is on your to-do list—and if it isn't, it should be. When you're ready to tackle the task at hand, Novell exteNd 5 is ready for you and available in two different flavors, so you can choose which is best for you. (For more information, see Any Way You Want It below.) With Novell exteNd 5, you transform a loathsome, complex, massively time-consuming chore into a manageable, relatively simple, financially rewarding job. Well done.
any way you want it
Interested in exteNd 5 but not convinced you need the whole package? Novell thought that might be the case for more than just one of its customers. To meet its customers' varying needs, Novell continues to offer the exteNd 5 suite components as standalone products and to offer the suite in two different flavors, namely the following:
The following chart shows which components are available in what package: