Leading the Companies that Lead the Internet

CEOs in Technology

Subscribe to CEOs in Technology: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get CEOs in Technology: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Tech CEOs Authors: Patrick Hubbard, Pat Romanski, Hovhannes Avoyan, Liz McMillan

Related Topics: CEOs in Technology, Java EE Journal, Apache Web Server Journal

Tech CEOs: Article

The Symbiosis of Innovation

The Symbiosis of Innovation

The next time a CEO or CIO comes to you looking for an innovative solution to an intractable business problem, you might want to remember the example set by the Medusa jellyfish and the snail.

In his essay "The Medusa and the Snail" (from the book of the same name), biologist and author Lewis Thomas demonstrated how innovative forms of cooperation offer a better way for organisms to propagate than simple competition. To make his point, Lewis wrote about the symbiotic relationship between a jellyfish and a snail. At various points in their interconnected life cycles, the jellyfish and snail must feed off each other in order to reproduce. Somehow, over a period of eons, these two species evolved this unique relationship of mutual dependence and mutual benefit to ensure the proliferation of both species.

You can see a similar form of innovative cooperation taking shape today in the realm of Web services development. In this case, it's Java tools and industry standards that have formed a symbiotic relationship. The integration of Java technology and standards is making it easier for developers to create Web services that solve real business problems and innovate new solutions. Furthermore, the ongoing evolution of this relationship will ensure that Web services - and the innovations they make possible - will continue to proliferate and grow.

The importance of standards in Web services is widely recognized. According to a recent survey of CIOs in Europe, their top priority when considering Web services was to find a solution based on standards. This was the most important factor (31%), followed by scalability/extensibility (28%), comprehensiveness of a solution (15%), price (7%), and performance (6%).

Web Services Require Standards
The very notion of Web services is predicated on a model of mutual dependence and mutual benefit. Web services (or services on demand) cannot exist unless all of the applications and services involved are able to communicate and interact fully - not simply exchange data in a common format.

To solve real business problems, applications and Web services must be able to collaborate immediately as a seamless, coordinated team. It's no coincidence that many experts are now using words like "choreography" and "orchestration" to describe the high degree of interaction required between parties in Web services. When the interaction between an application and a Web service is that well coordinated, rich, and seamless, they can collaborate as flawlessly and gracefully as Fred Astaire and Ginger Rogers.

That kind of interaction requires a relationship as full and complex as the one shared by the jellyfish and the snail and is only possible through the continuing development and evolution of industry standards, from XML to WSDL to SOAP to WSCI.

By supplying the language, syntax, business registries, message protocol, and message flow descriptions of Web services, these and other standards improve the meaningfulness and quality of Web services interaction.

Web services require open development tools. While standards bodies do the job of establishing the rules and means of Web services interaction, they cannot ensure that Web services will be available on demand, to anyone, anywhere. That can only happen if developers use nonproprietary tools that support the development of open, portable, interoperable, and extensible Web services.

For many developers, that has meant Java tools. While Sun Microsystems invented the Java programming language and pioneered its use for enterprise services, the Java 2 Enterprise Edition (J2EE) standard represents a collaboration among leaders from throughout the enterprise software arena. Sun's partners include OS and database management system providers, middleware and tool vendors, and vertical market applications and component developers. Working with these partners, Sun has defined a portable and open platform that can be implemented on an array of enterprise systems and that supports the deployment of Web services.

Developers seeking to build standards-based Java Web services can choose from a number of integrated development environments (IDEs) from a variety of other vendors.

The Evolution of Standards from Data Exchange to Collaboration
Like the jellyfish and the snail, standards and Java tools can be seen as living organisms, and as in nature, symbiosis is an ongoing process, not a permanent state of being. To continue delivering benefits to users and enable further innovation, both standards and Java tools must constantly evolve in response to their environment, their needs, and each other.

The earliest and most important standard in the development of Web services was XML. As the standard for exchanging data on the Internet, XML has spawned its own growing family of follow-on standards, including SOAP, WSDL, UDDI, and ebXML.

These standards have enriched the interaction between applications and Web services, helping their relationships evolve beyond simple data exchange toward more problem-solving needs, such as describing business processes for more successful B2B collaboration.

Indeed, business collaboration - another relationship analogous to that of the Medusa and the snail - is a growing focus for Web services standards. Take WSCI, for example. WSCI builds upon current Web service technologies by enabling users of a service - such as another Web service or an application - to understand how to interact with it in a way that is meaningful to a greater collaboration. As a result, developers and architects will be better able to design and create collaborative business processes based on the Web service model.

WSCI also enables developers and architects to describe and compose a global view of the dynamic of the message exchange, another important part of creating a meaningful collaboration. By providing a standard XML syntax for service choreography, WSCI is also essential to ensuring interoperability of Web services.

Understanding their importance to solving real business problems, the Java community has ensured that Java tools support all of these standards.

Forbes.com: A Web Services with Java Success Story
How well does the symbiosis of Java development tools and industry standards solve real business problems? The experience of Forbes.com provides one example.

CEOs, CIOs, COOs, and other key executives depend daily on Forbes.com to deliver up-to-the-minute financial and business news. For Forbes.com - which calls its site the "Home Page for the World's Business Leaders" - the challenge is to continually innovate to provide its executive audience with new and vital information. At the same time, news and financial data are constantly changing, posing an additional challenge of broadcasting the news via the Web in real time.

To meet this challenge, Forbes.com employs over 50 marquee software products, including the J2EE platform. The Forbes.com development team used J2EE to build both its content-management and advertising serving systems. J2EE has also been used to create Forbes.com lists, such as "The Best Cities for Singles."

"We like the rapid development environment that Java technology gives us, because we deploy applications on the site every Thursday," said Mike Smith, chief technology officer for Forbes.com. "We make innovations to the site constantly, and do custom work for advertisers, such as targeting ads demographically and contextually. Java technology's quick deployment capabilities allow us to turn things around overnight. The scalability of J2EE is also critical. It enables us to grow without worrying about overtaxing the system."

Forbes.com also uses Jitzu, from Information Architects, to create Web services. Jitzu, built with the Sun ONE Studio IDE, manages complex components via the Web. Jitzu uses UDDI and SOAP to initiate conversations with a UDDI service. SOAP simplifies remote object access by allowing applications to invoke object methods, or functions, residing on remote servers. A SOAP application creates a request block in XML, supplying the data needed by the remote method, as well as the location of the remote object itself. WSDL (Web Service Description Language) messages are embedded within the SOAP envelope.

Through the use of these Web service protocols and standards, the Jitzu portal server can be located anywhere while allowing complex components such as databases, flat files, or graphics to be downloaded from remote servers in any location worldwide. This all happens transparently to the end user, who simply drags and drops the Web content. This is different from many portals, which require all content to be located on the local application server, thereby severely restricting access to complex components.

"By employing this service-based architecture, Jitzu eliminates the need for us to employ large teams of engineers, Web designers, and developers," said Mr. Smith. "To Web-enable content, we simply set up a component server and register it with a primary server." Once registered, the Jitzu solution downloads the requested complex components to the end user. Forbes.com uses XML to share documents and data from its content repository with its syndication partners. Forbes.com syndicates its content, such as news feeds, to Yahoo, Dow Jones, MSN, Netscape, LexisNexis, and others. These syndication partners also use XML. As a result, Forbes.com can turn syndication implementations around in a day.

The Java Community
Such early successes point to the need to ensure the continuing symbiosis of Java tools and standards, unfettered by proprietary roadblocks or creeping incompatibilities. Fortunately, Java technology benefits from having a large, active user community that has taken major strides to ensure that all applications written in the Java language can communicate fully with each other in the realm of Web services.

The focus of their efforts is the Java Community Process. Since its introduction in 1995 as the open, inclusive process to develop and revise Java technology specifications, reference implementations, and technology compatibility kits, the Java Community Process program has fostered the evolution of the Java platform in cooperation with the international Java developer community. More than 120 Java technology specifications are in development in the Java Community Process program, which has over 350 company and individual participants.

Each Java standard API that is developed through the JCP consists of:
1.   A specification that must be approved by the expert group and the Java executive council
2.   A reference implementation that proves that all features in the specification can be implemented
3.   A Technology Compatibility Kit (TCK) so that all vendors can test their implementations to make sure that they are compatible

Java Specification Requests
New enhancements to Java specifications are submitted as Java Specification Requests (JSRs). A look at three of the most recent JSRs reveals how committed the Java community is to ensuring the openness of Web services. It also provides some ideas about how Java tools will help companies address business problems via Web services in the near future.

JSR 168
JSR 168 defines a set of APIs for portal computing addressing aggregation, personalization, presentation, and security. This will enable interoperability between portlets (Web components similar to servlets) and portals. Developers will be able to write portlets in a way that makes them universally applicable across all portals from all vendors. This will represent a significant step forward in defining portlets as a prime interface to Web services, which can be conveniently aggregated and personalized within portals.

By making portlets and portals more open, JSR 168 will simplify portal deployment for companies, while also allowing third-party developers to create a single, widely deployable portlet, reducing development efforts. Portlets will also be able to interact and share information with each other and Web services, creating a common integration layer below the presentation of the portal itself.

JSR 172
JSR 172 is designed to bring the full benefits of Web services to Java 2 Micro Edition (J2ME), the optimized Java runtime environment for smaller devices such as smart cards, pagers, and cell phones. JSR 172 is designed to provide basic XML processing capabilities; enable reuse of Web service concepts when designing J2ME clients to enterprise services; provide APIs and conventions for programming J2ME clients of enterprise services; adhere to Web service standards and conventions around which the Web services and Java developer community is consolidating; enable interoperability of J2ME clients with Web services; and provide a programming model for J2ME client communication with Web services, consistent with that for other Java clients, such as J2SE.

JSR 198
JSR 198 is a proposal to create a standard interface for adding extensions to Java IDEs. This will allow vendors to write an IDE extension once and have it work on any J2SE-compliant IDE.

Web Services Interoperability
Like the jellyfish and the snail, Java tools and industry standards must coexist peacefully, not only with each other, but also with the other "organisms" in the Web services environment. To that end, Sun recently joined the Web Services Interoperability Organization (WS-I) as a contributing member. WS-I is an open industry effort chartered to promote Web services interoperability across platforms, applications, and programming languages. Sun plans to play an active role in WS-I technology guideline areas, including key foundational work currently being developed under the Web Services Basic Profile.

Sun is also a significant participant and contributor to the SOAPBuilders interoperability group. Sun's Web services endpoints are available over the Internet for interoperability testing by anyone, and can be found at http://java.sun.com/wsinterop/sb/.

The Future of Java Tools and Web Services
A student of evolution can't help but marvel at the ruthless efficiency and remarkable adaptability of nature. Of course, such adaptations as that between the Medusa and the snail usually take place over a period of millennia. The business world isn't quite so patient.

The Java community and the standards organizations have already demonstrated how a relationship of mutual dependence and mutual benefit can accelerate the evolution of Web services. This ongoing evolution will in turn afford businesses the opportunity to more easily form symbiotic relationships with complementary partners throughout the world, thereby solving many of their most critical problems and ensuring their continued survival.

References

  • WSJ-IN News Desk. October 15, 2002. www.sys-con.com/webservices/ articlenews.cfm?id=380

    SIDEBAR
    How Sun's Tools Support Standards and Web Services Development
    Sun's tools, including the Sun ONE Studio IDE (formerly Forte for Java) and the Java Web Services Developer Pack, support the development of standards-based Web services.

    As part of the Sun Open Net Environment (Sun ONE) framework, (see "The Sun ONE Architecture, Why Care?" WSJ, Vol. 2, issue 11) the Sun ONE Studio IDE, based on the open-source NetBeans platform, provides standards-based tools for the Java, C++, C, and Fortran languages. The Sun ONE Studio IDE's modules, wizards, templates, and generators enable development and deployment of J2EE technology-based applications and standards-based Web services to the market-leading application servers, including the Sun ONE Application Server, BEA's WebLogic Server, and, through Extension Partners, to the Oracle9i Application Server, IBM WebSphere, JBoss, and more. Its open architecture also facilitates integration with many third-party tools from vendors such as Embarcadero Technologies, Sitraka, Aqris Software, and many others. These vendors have plug-ins that can easily be integrated into the Sun ONE Studio IDE. Vendors can take advantage of the productivity tools provided by the IDE, and customers can take advantage of the added functionality the third-party vendors bring to the IDE.

    Sun's Java WSDP
    Sun's Java Web Services Developer Pack (Java WSDP) is an integrated toolset available at no charge over the Internet. In conjunction with the Java platform, Java WSDP allows developers to build, test, and deploy XML applications, Web services, and Web applications. The Java WSDP provides Java standard implementations of existing key Web services standards including XML parsing (DOM, SAX, W3C Schema), WSDL, SOAP, ebXML, and UDDI as well as Java standard implementations for Web application development, such as JavaServer Pages (JSP) and the JSP Standard Tag Library. These Java standards are developed through the Java Community Process (JCP), and as such ensure portability and compatibility across vendor implementations.

    The Sun ONE Studio IDE incorporates the Java standard APIs included in the Java WSDP, thereby broadening its Web services capabilities. The Sun ONE Studio software implements easy-to-use wizards that utilize the Java APIs for XML and Web services under the hood. For example, it uses the Java API for XML-based RPC (JAX-RPC) to develop SOAP-based Web services and to automatically generate WSDL files that describe the SOAP service. Sun ONE Studio also includes such Java WSDP features as a lightweight UDDI registry, and support for Apache's Tomcat Web server. For Web tier development, Sun ONE Studio includes JSP Standard Tag Library for development of custom tags, and support for multiple client types (Web, mobile, etc.), allowing for different SOAP styles on the client.

  • More Stories By Mike Bellissimo

    Mike Bellissimo is senior director of Sun Software Developer Marketing and Management He is a Sun veteran who has held positions managing Sales Operations for iPlanet and JavaSoft, and Software Training and Services for SunSoft. He holds a BA in communications from the University of Pennsylvania and an MBA in high-technology management from Northeastern University.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.