Welcome Guest. | Log In| Register | Membership Benefits
News

July 17, 2000

Printer ready
Printer ready

Application Development:
Java And XML: Complementarily Yours

continued...page 2 of 2

Related links:

  • Java Emerges As Server-Side Standard (5/22/00)
  • And from our sister publications:

  • EETimes Java fills interface role in control apps (6/26/00)
  • TechEncyclopedia
    Need a definition of a technology term? Look it up here:


    Send Us Your Feedback
    Like Java, XML lets developers avoid doing a lot of rewriting because it's platform-and application-independent. While developers enjoy using Java and XML together, XML doesn't need to have Java on the other end in a data exchange.

    "Just like Java makes you independent from the operating system, XML also allows us to gain independence from the language you're choosing to do your document interchange," says Ashish Pagey, lead architect with Impetus Computing Systems Inc., an E-business application developer in Milpitas, Calif. "A Java program can create an XML document and send it along to be read by anything written in Java, C++, or whatever language you choose."

    The major advantage of XML over the Web's HTML is that XML is modifiable. That way, if a tag doesn't exist, the developer can create one. With HTML, users are stuck with a limited number of tags. The XML tags can be created to do anything, such as define each item of data.

    When Internet-enabled businesses within an industry agree on the tags they want to use for information exchange, they can define their own shared, context-based structural features and store them in corresponding templates. XML-capable server applications can then automatically retrieve and evaluate data over the Internet in real time.

    "XML is a self-describing version of EDI," Conroy says. Electronic data interchange is an old data-exchange method that uses proprietary file formats and hardware. "There's a lot to be said about that. It allows you to build data formats on the fly to allow asynchronous messaging between processes," he says.

    "When you write business applications you need programming logic, for which Java is ideally suited," says Helmut Wilke, president and CEO of Software AG in San Ramon, Calif.

    "But XML allows for generic data exchange across the Internet, and that area isn't covered by Java. So it does what Java doesn't do, and vice versa."

    Bill ConroyPhoto by David Joel For this reason, developers are bullish on XML and Java. They say these languages will be able to do for business-to-business E-commerce what EDI tried and failed to do. The major headache with EDI is that it requires the two parties to agree on file formats in advance. "EDI went through a standards process to very tightly describe the formats of the data you received," Conroy says. "XML is a self-describing language. You can decide on the fly how to format the data."

    It's this flexibility that lets XML do what EDI couldn't do: talk to almost any system without concern over what's on the other end. "Because XML is extensible, it has many more uses," Bickle says. "It's a much more open structure that allows for many-to-many connections. XML is much more of a free-market economy type of implementation, whereas EDI had to go through a hub."

    Java and XML are used together in two primary areas, according to developers. The first is application integration and data presentation. XML has Extensible Style Language, which lets the programmer structure data in more complex ways than with HTML. For example, it's possible to hide particular elements or to change the sequence of elements displayed through XSL style sheets.

    Also, through different style sheets such as the Wireless Markup Language, data can be displayed on non-computer devices that would otherwise not be able to access data sources such as Palm Pilots or mobile phones.

    "If you have one single data object, like customer information, in an XML document, that can be used in multiple places and displayed in multiple apps," says Impetus' Pagey. "It can be used in the customer-services department, the customer-relationship department, a credit-card agency, and so on. What you talk about as a single object can be used in different apps in different contexts."

    A developer at Bank of America did just that. He wrote an application in Java and XML that pulls financial data from an Oracle database to a Palm Pilot via an Internet connection. The app was written in one night during the developer's evening commute on the train and deployed several days later, according to Conroy.

    Gerry SeidmanPhoto by Chriss Wade Developers agree: While Java and XML are a great team, they have some maturing to do, especially XML. Java is five years old and XML is about three years old--relatively young by language standards. "Standards and tools need a few more iterations," Seidman says. "Right now, there's a performance issue with XML. You have to do a lot of processing on the data."

    XML also doesn't work well with SQL databases, according to Wilke. "XML and SQL are 180 degrees different," he says. "XML has a structure that supports all types, navigation and search, all these things you can't do in SQL. We see a lot of vendors trying to put an XML layer on top of their data products, and often it doesn't work."

    Helping to match SQL data to XML and vice versa is still a manual task, because XML is relational data and SQL is flat-file format. There's no easy way to pull information on a single purchase if it's stored in three tables in an SQL database. That has to be done by hand.

    Still, tools are beginning to emerge that use Java, particularly J2EE and XML in tandem. A few of them include:

    • Bluestone's Total-e-Server: The next-generation of the company's Sapphire/Web application server, Total-e-Server is based on J2EE and uses XML for all data exchange and application communication. Written in Java, the Total-e-Server supports all J2EE features, including EJB and Java Servlet Pages, which support XML tags. It can communicate with other application servers, Web servers, CICS, and MQSeries. Its base price is $60,000.
    • Software AG's Bolero 3.1: A Java development environment that supports J2EE and can build XML interfaces between Java and a variety of other languages such as C and C++, and can integrate between Java applications and Microsoft's Component Object Model, SAP R/3, and the Object Management Group's Common Object Request Broker Architecture.
    • Bolero 3.1 comes with an object repository, a graphical user interface builder, debugger, report writer, and its own application server.
    • Iona Technologies' iPortal Application Server: The long-time Corba veterans are also into Java and XML with their application server, which can deploy both Corba objects and EJBs. With Iona's experience in Corba, its application server offers Java applications full interoperability with existing Corba applications and it automatically generates XML for communication between applications.
    • IBM's WebSphere: IBM offers a Web application server that includes Java, EJB, and XML support as well as integration with IBM's MQSeries connectivity, Lotus Domino services, and IBM's VisualAge for Java application development tools. It's available on Windows NT, AS/400, and S/390 and offers customers a range of scalability.
    • Intershop Communications Inc.'s Marketplace Toolkit: A suite of applications, tools, and middleware for building E-commerce systems. It comes with Intershop Enfinity, a Java 2 and XML E-commerce business platform designed to integrate with existing sales and business systems; Intershop ePages, a set of components for rapidly building and deploying an online store; and the Intershop Marketplace Connector, which connects heterogeneous systems over the Internet.
    • Lutris Technologies' Enhydra is the only open-source Java/XML application server that gives you the source code with your $499 purchase of Lutris Enhydra Professional 3.0. Written in Java, Enhydra works with popular Java development kits such as Inprise Corp.'s JBuilder and Oracle's JDeveloper. Its XML compiler eliminates the need to insert Java source inside HTML or XML files and offers a number of database connectivity tools such as Open Source PostgreSQL and InstantDB for rapid configuration time and fast prototyping.

    return to page 1

    Photo of Conroy by David Joel
    Photo of Seidman by Chriss Wade

    Back to This Week's Issue
    Send Us Your Feedback
    Top of the Page

    CAREER CENTER
    Ready to take that job and shove it?



    TechCareers

    SEARCH
    Function:

    Keyword(s):

    State:
    SPONSOR
    RECENT JOB POSTINGS
    CAREER NEWS
    Go beyond Google and get vertical. These specialized search sites will help you find the business information you need -- fast.

    Ari Balogh was named to the post of chief technology officer as the companys for a "realignment" of employees.



    Specialty Resources

    Featured Microsite