Novell is now a part of Micro Focus

More More More: Novell exteNd 5.2 and the Pursuit of SOA-Called Happiness

Articles and Tips: article

Linda Kennard

09 Dec 2004


You don't have to see the nearly 600,000 hits that Google returns on a search for Service-Oriented Architecture (SOA) to know that it's a hot topic. If you read any of the industry rags--or even the titles on their cover pages--it's hard to miss this buzzword of the day.

Of course, seeing the term and understanding what it means--not to mention how you pronounce it--are two different things. (For tips on pronunciation, see A So-Uh or An S-O-A -- on p. 35.) Spend a few hours immersing yourself in this subject, and you'll probably come up for air more confused than you were before you entered the murky SOA waters.

The source of SOA confusion stems from the rampant, imprecise use of the acronym (which is not the first in this industry to suffer semantic abuse). Vendors, press members and sometimes even analysts toss around SOA with little attempt to clarify its layers of meaning but with great effort to hint at its extraordinary benefits. SOAs, it would seem, are panaceas--passageways to eternal IT bliss.

Because you might have only a vague understanding of this trendy little term, your understanding of Novell exteNd 5.2, which Novell touts as a SOA suite, might be equally cloudy.

What then is SOA--and what does Novell exteNd 5.2 have to do with it?

SOA What?

Definitions of SOA are varied and complicated and frequently seem to overlook the fact that SOA is first and foremost an architecture--not a technology. As an architectural model, SOA refers to the policies, practices and frameworks you use to achieve a distinct style of applications to automate business operations. The baseline mark of the SOA style is services, which might be, but certainly don't have to be (although arguably should be), Web services. (For more information, see The Web Services Connection.)

Services in a SOA are software components that perform particular functions and that interact with each other and with other applications. Using a description language, developers define the functions that services provide. Developers also publish the location of their services on the network so that these services can be invoked dynamically.

More important, the interface to services in a SOA is platform independent. This means that a client on any type of device (for example, desktop, laptop or handheld computer) using any operating system (such as Linux, Windows, Unix or NetWare) can invoke a service. The result is a loose coupling of services: mess with one service and you, well, mess with one service--without having to mess with the rest.

Loose coupling is what makes SOA different from--and, proponents argue, superior to--other architectures from which SOA has evolved, such as Common Object Request Broker Architecture (CORBA). While CORBA, like SOA, is based on a concept of connections between software components, CORBA components are tightly coupled, which means that changing one component frequently necessitates changing other components.

The Pay Off

While loose coupling sounds promising, it hardly seems at first glance to justify the fuss over SOAs. To understand the fuss over SOAs, you have to understand the potential benefits of building a SOA, with emphasis on potential. The benefits associated with SOAs are not, as is commonly implied, the inherent result of deploying services.

On the contrary, SOA benefits, explains CBDI Forum analyst Lawrence Wilkes, "are the product of best practices." CBDI Forum (www.cbdiforum.com) is an independent analyst firm that provides the industry with information on best practices in business software creation, reuse and management. Wilkes explains that CBDI Forum emphasizes that "SOA should be thought about as a set of practices. You cannot just [focus] on the wiring diagram of how you hook up your Web services." To build a SOA, IT organizations should work closely with business analysts and managers to jointly determine, among other things, what functions will make effective services.

In other words, careful planning and best practices yield effective services. What constitutes "effective" services? Effective services are reuseable because they provide coarsely (but not too coarsely) grained functions. In other words, effective services provide functions that complete as much or as little of business processes as is useful--useful enough to be used again and again by other services and applications.

For example, one service might check and return information regarding inventory, which might be a single step used in several different business processes (and useful to other services and applications). Another service might complete several steps--perhaps all of the steps required to process a purchase order, which again might be a function that is useful to several different applications.

As the number of a network's reusable services grows, building or changing applications takes less time and costs less money. Hence, reuseable, loosely coupled services give rise to business agility: when building and changing applications amounts to little more than mixing and matching existing services, then IT organizations, or even business analysts, can respond quickly and easily to the everchanging business. Businesses, in turn, can respond--in a relative instant--to the slightest changes in their markets' needs. A successful SOA, in other words, is characterized by a network that bends and flexes as easily and quickly as the business requires.

Not surprisingly, software vendors worldwide are climbing aboard the SOA bandwagon, offering services-oriented security, management and business-process applications. In fact, Gartner Group (www.gartner.com) speculates that by 2008, service orientation will be the "prevailing software engineering practice, ending the 40-year domination of monolithic software architecture." (Yefim V. Natis, Service-Oriented Architecture Scenario, Gartner Group, April 16, 2003.)

ZapThink reports similar speculations. ZapThink (www.zapthink.com) is a market intelligence firm that provides research and reports on service orientation, Web services and eXtensible Markup Language (XML). ZapThink estimates that the SOA product market will reach US $43 billion by 2010. This market, as ZapThink senior analyst Jason Bloomberg explains, includes not only the aforementioned SOA products but also what he calls "SOA implementation frameworks." (For more information see, John Hogan, SOA Report Misinterpreted, Analyst Says, Jan. 14, 2004.)

Enter exteNd 5.2.

A So-Uh or an S-O-A?

If you have come across SOA in your reading, you have probably been left to ponder (among many other questions) whether this Acronym-of-the-day is pronounced "So-uh" OR "S-o-a."

The answer to even this comparatively simple SOA-related question varies depending upon whom you ask. Analysts from research firms, such as ZapThink (www.zapthink.com) and CBDI Forum (www.cbdiforum.com), tend to say "an S-O-A." (Both ZapThink and CBDI Forum place SOA research at the center of their efforts.) Novell and other vendors, however, prefer the simplicity of "a so-uh." Take a wild guess which pronunciation I'm using for Novell Connection magazine?

The Suite Side of SOA

Originally released in 1999, Novell exteNd is the most mature SOA implementation framework available today. As such, Novell exteNd 5.2 includes all of the capabilities you need to design, build and run applications based on SOA. (For more information on exteNd capabilities, see Tools of the Trade in the Jan/Feb 2004 issue of Connection magazine.)

To be more specific, exteNd 5.2 (and previous versions of exteNd) offers the following capabilities:

End-to-End Visual Design Environment

  • exteNd Integration Server provides a rich user interface for designing, creating, testing, debugging, packaging and deploying Web services--without requiring expertise in Java programming skills.

  • exteNd Portal Server includes drag-and-drop tools and programming Application Program Interfaces (APIs) for building composite applications, such as portals. (Composite applications are interactive Web applications that enable users to access information and services from multiple sources from a single location. For example, composite applications might enable access to Web services presented through portlets.)

Out-of-the-Box Express Portal (Included with exteNd Portal Server) That Installs Automatically

  • Enables you to immediately test and use an exteNd-based application.

  • Enables you to provide employees and business partners with Web access to commonly needed tools, including corporate white pages, e-mail and network files, for which ready-made portlets are included.

Wizards to Deploy With Ease exteNd-based Applications to Any of the Following Leading Java 2 Platform, Enterprise Edition (J2EE) Servers:

  • BEA WebLogic Server 6.1 and 8.1

  • IBM WebSphere Server Advanced Edition 5.0

  • Jakarta Tomcat 4.1

  • Novell exteNd Application Server 5.2

At the August 2004 LinuxWorld Conference and Expo, Novell announced plans to add to this list of supported application servers. By the end of this year, exteNd 5.2 will support deployment to JBoss Application Server 4.x. With the next major release, scheduled for late 2005, exteNd will include JBoss Application Server 4.x in place of the exteNd Application Server, which Novell will continue to support. (For more information, see the Novell press release.)

Widely deployed, JBoss Application Server is the first open source application server to achieve J2EE 1.4 compliance, a significant milestone for the open source and J2EE communities, not to mention JBoss, Inc., itself. (For more information, see www.jboss.com.)

You can purchase the exteNd 5.2 Integration Server, the exteNd 5.2 Portal Server and the exteNd Application Server individually. (For more information, see the product pricing.) However, Novell also conveniently bundles these products (along with other capabilities) in two different suites that are designed to meet the needs of different-sized organizations:

  • Novell exteNd Professional Suite 5.2, for departments or small enterprises

  • Novell exteNd Enterprise Suite 5.2, for medium to large enterprises

(For a glance at the different value-added capabilities that these suites include, see Professional vs. Enterprise: What's the Diff?. For purchasing information about these suites, see the product pricing.)

To the baseline capabilities outlined above, exteNd 5.2 adds a few new ones, including the following:

  • Full support for Linux, from the desktop (for visual design) to the server (for deployment)

  • Support for connectivity to more (and popular) backend systems

  • More ready-to-use portlets

Novell exteNd 5.2 carries on its tradition of simplifying the task of building, assembling and deploying the services and applications that are the building blocks of SOA. In doing so, exteNd 5.2 both eases and accelerates your journey on the path to SOA-called happiness.

Linux Support for a More Perfect Union

The end-to-end Linux support in exteNd 5.2 marks "an extremely important enhancement in terms of company direction," as Novell product marketing manager Clive Bearman points out. Complete Linux support brings exteNd in line with Novell's commitment to provide enterprises with a full range of Linux solutions, replete with global support.

To that end, exteNd 5.2 enables you not only to deploy Web services-based applications on Linux (as previous exteNd versions enable) but also to design and develop these applications on Linux--an enhancement that has already earned attention. From this year's LinuxWorld, exteNd 5.2 walked away with its second LinuxWorld Product Excellence Award. In choosing the top product and service solutions, the LinuxWorld panel of industry experts deemed exteNd 5.2 the "Best Integration Solution." (For more information about this and other exteNd awards, see the exteNd awards page.)

With exteNd 5.0, recipient of last year's LinuxWorld Product Excellence Award for Best Server Application, you can deploy exteNd applications on either of these two Linux servers:

  1. SUSE LINUX Enterprise Server 9

  2. Red Hat Enterprise Linux AS 2.1

Novell exteNd 5.2 continues to support the option to deploy applications to these Linux servers or to any combination of supported platforms, including the following:

  • Microsoft Windows 2003/2000

  • Sun Solaris 8 and 9

  • Novell NetWare 6.5

What distinguishes exteNd 5.2 from exteNd 5.0 is support for the Linux desktop. (See Figure 1.) Both exteNd 5.0 and exteNd 5.2 allow you to use the drag-and-drop tools characteristic of exteNd visual design environments to rapidly develop composite applications from Windows 2003/2000/NT/XP workstations. In addition, exteNd 5.2 enables you to install its visual design environments on any of the following Linux desktops:

  • SUSE LINUX Desktop 9

  • Ximian Desktop 2

  • Red Hat Desktop

Figure 1: Novell exteNd 5.2 supports Linux from the desktop to server, which means you have the option to deploy both its runtime and development environments on a Linux platform. You can install the runtime environment on either a SUSE LINUX or Red Hat Linux server and the development environment on either the SUSE LINUX, Ximian or Red Hat desktop. Of course, you don't have to: you can deploy exteNd 5.2 on any combination of the platforms it supports.

What's more, you can build and deploy your exteNd applications on any combination of platforms. For example, you might build applications on the SUSE LINUX Desktop and deploy them on a NetWare 6.5 or Windows 2003 server running any of the supported J2EE servers. You might build your applications on one of the supported Windows desktops and deploy these applications on a Red Hat Linux or Solaris server. Whatever combination works best in your environment--whatever combination you can imagine--exteNd 5.2 can handle it.

The express installation, now available for Linux in addition to Windows, offers the shortest path to getting started with exteNd.

When you install exteNd 5.2 on a Linux platform, you can choose the Express installation option. The Express installation option, previously available only for the Windows platform, offers the shortest path to getting started with exteNd. When you select this option, the program automatically installs the suite's design tools and server components, including exteNd Application Server with MySQL 4.1 configured for its use. (For more information, see the section titled Installation--Simple and Suite in "Tools of the Trade," Novell Connection, Jan/Feb 2004.)

Novell exteNd 5.2 is the only SOA implementation framework that supports Linux from the desktop to the server. This is somewhat surprising because SOA and Linux are an ideal combination, "a natural marriage," as Bearman says. In SOA, you have an approach to developing and deploying software that yields a highly flexible network environment in which applications are rapidly created and easily modified. In Linux, you have an open source operating system renowned for its cost-effectiveness among other things. In uniting SOA with Linux, Novell offers what is arguably the most cost-effective approach to software development and deployment possible.

The Web Services Connection

Web services and Service-Oriented Architecture (SOA) are discussed in conjunction so frequently that you could assume that you cannot have one without the other--or that the two terms share the same meaning. This is not true: SOA is an architecture that you can build using Web services technology. In fact, of all the technologies you can use to build SOAs, Web services are the most common.

Built using either Java 2 Platform, Enterprise Edition (J2EE), Mono or .Net, Web services are published, described and invoked using a specific set of protocols and standards including (but not limited to) the following:

  • Universal Description, Discovery and Integration (UDDI)

  • Web Services Description Language (WSDL)

  • eXtensible Markup Language (XML)

  • Simple Object Access Protocol (SOAP)

As you might expect, these standards enable services to be invoked over the Web.

While using Web services "isn't a prerequisite for SOA," explains CBDI Forum analyst Lawrence Wilkes, SOAs aren't "really going to take off unless people are using Web services." After all, Web services offer an easy, ready-made, already-standardized set of tools with which to build the next generation of distributed systems.

More Connectors for Broader Integration

Ultimately, however, the platform you choose has little to do with creating a SOA, at the heart of which are services. Say the word services, particularly Web services, and listeners probably think of the word integration. Integration is the process of Web-enabling information and functions essentially locked in legacy or non- Web-enabled systems.

Like previous exteNd versions, exteNd 5.2 offers a graphical interface for integrating data and functions from virtually all of your backend systems. To tap into these systems, exteNd 5.2 and previous versions include connectors. (For a complete list of the connectors that exteNd 5.2 supports, see the product connectivity page.)

Connectors enable non-invasive connectivity to a wide array of systems, including the systems that use the following protocols, to name only a few:

  • Hypertext Markup Language (HTML)

  • Lightweight Directory Access Protocol (LDAP)

  • Telnet

  • Customer Information Control System (CICS)

  • Remote Procedure Call (RPC)

To its extensive list of connectors, exteNd 5.2 adds support for several more. Like most connectors, the new connectors are available separately and work with either the exteNd 5.2 Enterprise or Professional suite. The new connectors enable you to transform into services functions and data from the following systems:

  • PeopleSoft 7.5, 8.0, 8.1, 8.4

  • Lawson Financials 8.03 and above

  • J.D. Edwards OneWorld 7.3.2 and above (does not include CRM)

  • Siebel eBusiness Applications 6 and 7

  • Oracle Applications 10.7 11.7

  • Baan IVb and above

  • Baan 5.0 ERP

At the time this article was written, only the PeopleSoft connector was available. However, the other four connectors are now or will soon be available.

One of several points of distinction between exteNd 5.2 and other SOA implementation frameworks is the non-invasive connectivity its connectors allow. Non-invasive connectivity means that you can tap into remote systems without having to install software on these systems.

For example, suppose you want to create a service that draws upon information in your PeopleSoft system. To connect to this system in an exteNd 5.2 environment, you only need to configure the PeopleSoft connector. Configuring this connector requires little more than entering the PeopleSoft IP address and the user credentials required to access this system. After you configure the connector, you can look at the PeopleSoft repository and call PeopleSoft functions from the exteNd 5.2 integration design environment. (See Figure 2.)

Figure 2: In addition to the existing extensive list of supported connectors, exteNd 5.2 supports six new connectors that enable you to connect to and integrate popular backend systems, including PeopleSoft, Lawson Financials and Siebel eBusiness applications. These connectors are available for individual purchase and work with both exteNd Enterprise Suite 5.2 and exteNd Professional Suite 5.2.

Tapping into remote systems in an exteNd environment requires software only on the exteNd system--rather than bits of software running on every system with which you connect. The result, as Bearman points out, is that an exteNd 5.2 environment requires less administration than an environment that relies on traditional, invasive connectivity. exteNd 5.2 also potentially simplifies business mergers and acquisitions because it enables connectivity to systems that you do not own and that are not located on your network. Of course, you must have the appropriate rights to these systems.

New Portlets for Piecing Together Composites

As a SOA implementation framework, exteNd 5.2 includes a development environment for designing composite applications with end-user interfaces, a popular example of which are portal applications. Composite applications are manifestations of "the flexible business applications that modern businesses require," says Novell Vice Chairman Chris Stone in an August 3 press release. And SOA, he points out, is "the foundation for delivering" these applications. (For Stone's complete comment, see his press release.)

Within the portal applications you build with exteNd 5.2, you can expose information, data and functions from several different sources. For example, you might build a portal application that exposes Web services that offer users real-time access to information and functions from backend legacy systems. Your portal application might also display dynamic Web content, such as stock information or the weather or time in several different cities.

By entering the URL to the application you build, users might also be able to securely access from anywhere, any time of day, their network folders and files. The point is, from a single location, portal applications potentially offer users--who might include employees, business partners or customers--everything to which they require access.

To incorporate dynamic Web content and expose network services from within your portal application, you build portlets. You've probably heard of portlets, which are a specialized Java class that processes requests from Web clients and generates dynamic content on a portal page. Portlets are defined in the Java Portlet 1.0 Specification, with which exteNd 5.2 is fully compliant. (For more information, see Java Community Process's specification.)

That is what they are, but this is why they're cool: Once you build a portlet that complies with the Java Portlet standard, you can execute it in any standards-compliant portal container.

Novell exteNd 5.2 ships with all of the portlets that are available in exteNd 5.0, including the following, to name only a few:

  • GroupWise e-mail and calendar

  • eGuide search

  • Google

(For a complete list of portlets, see the section titled "Portlets available in the Content Selector" in Chapter 29 of Novell exteNd Director 5.2 Portal Guide documentation.)

For more information about Novell exteNd, see the product site.

To the list of accessory portlets already available, exteNd 5.2 adds the NetStorage portlet. Accessory portlets are portlets that are ready to be added to your portal application--as is or as customized. The portlets listed above are also accessory portlets.

As its name gives away, the NetStorage portlet provides access to NetStorage functions. NetStorage ships with NetWare 6.5 and enables Internet-based access to files stored in users' iFolders and on servers running NetWare 5 and above. Among other benefits, NetStorage eliminates the need for users to install and configure virtual private network (VPN) clients to enable remote network file access.

To use this portlet, you run NetStorage on at least one NetWare 6.5 server, which is positioned behind your firewall but between Web users and network servers. (See Figure 3.) When you add the NetStorage portlet to your portal application, users can access this NetStorage server via your portal (rather than having to enter a separate URL). To do so, users log in to the portal application, after which exteNd 5.2 authenticates them against the database you have configured as your security realm. (For more information about security, see exteNd Your Security Options with Nsure.)

Figure 3: With the new NetStorage portlet running on your exteNd 5.2 server, you enable users to access the NetStorage server from your portal application. This server is located behind your firewall but between Web users and your network, to ensure secure access to network folders and files.

When the user opens the NetStorage portlet, the exteNd 5.2 Portal Server forwards the request to the NetStorage server. NetStorage returns a list of the accessible files and folders to which this user has rights. To be accessible, files and folders must be in either a user's home directory or login script drive mappings. The NetStorage portlet in turn displays this list to the user. (See Figure 4.) Users are then able to copy, move, rename, delete, read and write to the listed files and folders.

Figure 4: exteNd 5.2 includes five new portlets, including the NetStorage portlet, which provides access from your portal application to a Novell NetStorage server running on your network. This NetStorage server, in turn, provides portal users single sign-on, Internet-based access to certain network folders and files to which they have rights. NetStorage enables access to folders and files stored on either iFolder servers or servers running NetWare 5 and higher.

In addition to the NetStorage portlet, exteNd 5.2 includes four new system portlets. System portlets provide the tools necessary to present portal applications to end users and also include portlets that the Portal subsystem uses to build portal applications. The new system portlets do not change or add to the functionality already available in exteNd 5.0.

SOA

exteNd 5.2 offers everything you need today to design, build and run the service-oriented applications that industry analysts, press members and many vendors--including Novell--expect will characterize the future.

The goal underlying Novell's work on exteNd has been, from the outset, to make it as simple as possible to design, build and deploy composite applications. The enhancements in exteNd 5.2 underscore this goal by breaking down potential barriers:

  • Through its support for Linux, Windows, Unix and NetWare, exteNd 5.2 breaks down platform barriers. Novell exteNd 5.2 Integration and Portal servers and its current and upcoming support for leading commercial and open source J2EE application servers give you the freedom to choose the operating system with which you feel most comfortable. The more comfortable and confident you feel, the more likely you are to design, build and run a new breed of application.

  • Through its support for more and popular backend systems, exteNd 5.2 breaks down barriers to information on legacy systems. The myriad connectors that exteNd 5.2 Integration Server supports enable you to easily transform backend information and services into Web services--which in turn enable you to take one giant step toward making available the right information, regardless of its location.

  • Through its inclusion of more ready-made portlets, its user-friendly design environment and its out-of-the-box portal application, exteNd 5.2 Portal Server enables you to create an enterprise portal quickly and easily. Portal applications enable the right users to access all of the information they need from wherever they are and whenever they need it.

In short, exteNd 5.2 simplifies and accelerates the development and deployment of applications with that distinct SOA style.

Professional vs. Enterprise: What's the Diff?

Novell bundles two different combinations of exteNd 5.2 to form two suites uniquely suited for organizations of different sizes: I. Novell exteNd Professional Suite 5.2, for departments and small enterprises; II. Novell exteNd Enterprise Suite 5.2, for medium to large enterprises


Capability
Novell exteNd Professional Suite 5.2
Novell exteNd Enterprise Suite 5.2

Support for Linux from desktop to server

x

x

Express Portal

x

x

MySQL 4.x

x

x

Support for Oracle Database 8i, 9i; IBM DB2 7.2.4, 8.1;

Sybase Adaptive Server Enterprise (ASE) 11.9.2, 12, 12.5;

Sybase Adaptive Server Anywhere 8

x

x

Novell Universal Description,

Discovery and Integration (UDDI) Services

x

x

Java Database Connectivity (JDBC) Connect

x

x

Lightweight Directory Access Protocol (LDAP) Connect

x

x

Java Message Service (JMS) Connect

x

HyperText Markup Language (HTML) Connect

x

Telnet Connect

x

Business Process Modeler (BPM) Subsystem

x

Content Management Subsystem

x

Workflow Subsystem

x

Content Search Subsystem

x

Application Deployment

Jakarta Tomcat 4.1;

exteNd Application Server 5.2 (default)

JBoss Application Server 4.x

BEA WebLogic Server 6.1, 8.1;

IBM WebSphere Server Advanced Edition 5.0;

Jakarta Tomcat 4.1; exteNd Application Server 5.2;

JBoss Application Server 4.x

exteNd Your Security Options with Nsure

To control access to a portal application or to portal content, such as specific portlets, exteNd 5.2 offers several options. For example, exteNd 5.2 supports the user and group roles you might define within your Java 2 Platform, Enterprise Edition (J2EE) application server environment.

For an arguably easier and more effective approach to security, exteNd 5.2 supports Lightweight Directory Access Protocol (LDAP) directories. By supporting LDAP, exteNd 5.2 enables you to use Novell eDirectory 8.7.1 or any other LDAP directory as the database against which an exteNd-built portal application authenticates users and determines their access rights.

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.2 supports, including Linux, Windows, NetWare and Unix platforms. (For more information about eDirectory, see the product site.)

Among many other advantages, support for eDirectory means that users can use their eDirectory credentials to log in to your portal. Also, exteNd 5.2 recognizes eDirectory Organizational Unit (OU), Group and User objects, so you can provision access based on established individual or group membership rights.

For the most complete security option available, exteNd 5.2 works synergistically with Novell Nsure Secure Identity (SIM) Management solution. Novell Nsure includes several components, which solve specific security and identity management problems and strengthen the foundation upon which a Service-Oriented Architecture (SOA) should be built. In addition to eDirectory, which is the core of Nsure, the solution comprises the following:

  • Nsure Identity Manager- Simplifies the task of synchronizing identity information and helps manage that information across select systems on corporate networks

  • Novell BorderManager- Provides a first line of defense for corporate resources through firewall services

  • Novell iChain- Provides single sign-on capabilities for Web applications and is a second and finer-grained line of defense beyond the firewall

  • Novell SecureLogin- Delivers reliable, single sign-on access across multiplatform clients

(For more information about Nsure, see the product site.)

* Originally published in Novell Connection Magazine


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates