xml integrated development environments - altova · the software development lifecycle model 10...

18
XML Integrated Development Environments Accelerating XML Application Development in the Enterprise Altova, Inc., The XML Spy Company 900 Cummings Center, Suite 314-T Beverly, MA, 01915-6181, USA Tel: 978-816-1600 Fax: 978-816-1606 Web: www.xmlspy.com Author: Larry Kim © 2002 Altova, Inc. & Altova GmbH

Upload: others

Post on 22-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XML Integrated Development EnvironmentsAccelerating XML Application Development in the Enterprise

Altova, Inc., The XML Spy Company900 Cummings Center, Suite 314-TBeverly, MA, 01915-6181, USATel: 978-816-1600Fax: 978-816-1606Web: www.xmlspy.com

Author: Larry Kim© 2002 Altova, Inc. & Altova GmbH

Page 2: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

Table of Contents

EExxeeccuuttiivvee SSuummmmaarryy 33XXMMLL DDeeffiinneedd 44XXMMLL TTeecchhnnoollooggyy OOvveerrvviieeww 55XML Schemas 5XSL/XSLT 6Simple Object Access Protocol (SOAP) 7XXMMLL iinn tthhee EEnntteerrpprriissee 88Web Services 8The World Wide Web 8XML Publishing & Document Management 8Database Integration 8Microsoft .NET Framework 9Java & XML 9Summary of Industry XML Usage 9TThhee SSooffttwwaarree DDeevveellooppmmeenntt LLiiffeeccyyccllee MMooddeell 1100Classic Software Development 10Modern XML Software Development 10XXMMLL IInntteeggrraatteedd DDeevveellooppmmeenntt EEnnvviirroonnmmeennttss ((IIDDEE)) 1111TThhee XXMMLL SSppyy 44 IIDDEE 1122XML Schema Development 13XML Editing 13XSL/XSLT Stylesheets 14SOAP/Web Services 15Database Integration 15XXMMLL SSppyy 44 SSuuiittee PPrroodduucctt LLiinnee 1166IInndduussttrryy PPaarrttnneerrsshhiippss 1177AAbboouutt AAllttoovvaa 1188

IDE Integrated Development Environment

2

Page 3: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

Executive Summary

XML is today widely accepted as a key technological innovation toenable the next generation of software applications. XML as atechnology is unique in many aspects compared to classic pro-cedural programming languages (C/C++, Java etc.) with respectto its recursive structure and rules-based processing model. Inspite of XML’s paramount importance and all of the technologicaldifferences between XML and other classic procedural program-ming languages, classic IDE software vendors have implement-ed only the most rudimentary development support for XML tech-nologies.

This whitepaper examines the most common usages of XML andexplains the benefits driving the rapid rate of XML adoption in theenterprise. Both pre and post-XML software development prac-tices are investigated. The concept of an XML IntegratedDevelopment Environment is introduced, referring to a compre-hensive set of tools built specifically to accelerate working with allXML technologies and to help ease the transition from an XMLdocument to the most common XML processing frameworks ordatabases. The explosive growth of new XML technologies andits widespread adoption across every vertical industry makes therudimentary XML support offered by classic IDE’s insufficient forbuilding the next generation of distributed XML applications andweb-services; and there is a clear need for an XML-specific IDEto complement a classic procedural language IDE.

The benefits of adopting XML Integrated DevelopmentEnvironments include enormous productivity gains and competi-tive advantages due to substantially reduced time-to-market andassociated development costs. Especially in today’s challengingeconomic climate, an XML IDE is a necessary requirement fordesigning and deploying any software application which createsor consumes XML documents.

3

IDE Integrated Development Environment

Page 4: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XML Defined

XML technologies are numerous,far-reaching and employed in so

many different applications thatthe all-encompassing definition of

XML is often misunderstood. As anexample, a software engineer might

view XML as new distributed wire pro-tocol; a web developer typically associ-

ates XML as a means for separating datafrom presentation markup; a database adminis-

trator could view XML as a new way of describing dataand content for improved storage and retrieval – the list of possi-ble usages is endless. While no individual example is wrong,XML is all this and so much more! And in taking only a local viewof the XML landscape, it is easy to overlook a far deeper under-standing of how all XML technologies work together to solvetoday’s business challenges. The next sections examine themost powerful XML technologies and how they are currentlybeing employed in industry to solve today’s business challenges.

4

IDE Integrated Development Environment

“Thee X t e n s i b l e

Markup Language(XML) is the universal file

format for describing andrepresenting absolutely any-thing imaginable, in such amanner that it is easily

under standable to bothpeople and com-

puters.”

AAlleexxaannddeerr FFaallkk,,President & CEO, Altova Inc.

Page 5: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XML Technology Overview

There are hundreds of XML technologies in industry with new XMLstandards are being developed every day. XML technologies arebeing used in so many different ways across every imaginablevertical industry, however the vast majority are related to one ofthree key technologies: XML Schema, XSL/XSLT and SOAP.

XML SchemasXML Schema is the World Wide Web Consortium’s (W3C) officialXML data definition language; it addresses many shortcomingsassociated with Document Type Definitions (DTD), and has mas-sive industry support from all of the major software corporations.XML Schemas define the structure and allowable permutationsthat an XML document can take on, to be considered a memberof common family of XML documents. Industry consortiums arejoining together to develop XML Schemas that define commonfile formats for describing everything from mathematical formu-las, research documents, news articles, credit card transactions,accounting audits, medical prescriptions, and much more. Theultimate goal is to enhance software application interoperabilitythrough the use of common XML-based file formats to expressdata and content. Once an XML schema is completed, a devel-oper can offload much of the burden of validation code from theapplication to an XML validator.

XML Schema technologies are also used to bridge the gapbetween databases and software objects as illustrated below infigure 1. XML Schema is object-oriented in nature and allows foreasy mapping between XML documents and objects written inany object-oriented programming language. XML Schema isstrongly-typed, and its tree structure is ideal for preserving rela-tionship information; this makes XML Schema a requirement formapping of XML documents to any underlying data store.

5

IDE Integrated Development Environment

SSooffttwwaarree OObbjjeecctt((CCOOMM,, JJaavvaa,,CCOORRBBAA,, eettcc..))

XXMMLLSScchheemmaaMMaappppiinngg

XXMMLLDDooccuummeenntt

iinntt ddaattaa;;

......

vvooiidd ffuunnccttiioonn(());;

......

ppuubblliicc ccllaassss xx FFiigguurree 11XML Schemas enable transla-tions from Objects to XMLDocuments, and from XMLDocuments to databases (andvice-versa).

RReellaattiioonnaall DDaattaabbaassee,, XXMMLL DDaattaabbaassee,,

CCoonntteenntt MMaannaaggeemmeenntt SSyysstteemm oorr ootthheerr ccoonntteenntt rreeppoossiittoorryy..

XXMMLLSScchheemmaaMMaappppiinngg

1

Page 6: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XSL/XSLTThe eXtensible Stylesheet Language (XSL) and the eXtensibleStylesheet Language Transformations (XSLT) are standardizedlanguages for transforming the content and data stored within anXML document, to a different output form. Using XSL, contentsaved in an XML format can be transformed into any outputmedia (HTML, WML, PDF, PostScript, plain text, etc), by applyingan XSLT stylesheet. The XSLT transformation process is illustrat-ed below in figure 2.

FFiigguurree 22Transforming XML toa variety of outputformats using XSLT.

2

6

XXMMLLSSoouurrccee

DDooccuummeenntt

IDE Integrated Development Environment

XXSSLLTTSSttyylleesshheeeett

WWeebb

PPrriinntteedd DDooccuummeenntt((PPDDFF,, PPoossttSSccrriipptt,, TTeexxtt))

OOtthheerr oouuttppuutt mmeeddiiuumm::DDVVDD,, wwiirreelleessss ddeevviiccee,,wweebb--sseerrvviiccee,, eettcc..

XSLTTransformation

Page 7: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

7

IDE Integrated Development Environment

Simple Object Access Protocol (SOAP)Any distributed computing environment requires the ability toinvoke methods across both process and physical machineboundaries. This requires a means for locating a remote process,serializing method parameters, invoking the remote method, andde-serializing the return value, all in a secure manner. Many pro-tocols currently provide this functionality including DCE,Microsoft’s DCOM, CORBA’s IIOP, Java RMI and many others;however, they all require proprietary class libraries to be loadedon both the client and remote host in order to inter-communicate– this has greatly restricted application interoperability.

SOAP is a natural evolution of existing distributed technologies.SOAP is an encoding of a remote method invocation (methodparameters, return type and error codes) within an XML docu-ment, which can be easily understood by any client using an XMLparser. (XML parsers are freely available in every programminglanguage and platform combination.) The SOAP document istypically sent over HTTP, the core protocol of the World WideWeb, which enables greater interoperability since firewalls typi-cally don’t block HTTP traffic, and greater security since encryp-tion is readily available through the use of Secure Sockets Layer(SSL).

SOAP

Page 8: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XML in the Enterprise

Now that we have discussed XML Schema, XSL/XSLT, and SOAP,we now examine how these key technologies are commonlybeing applied to solve today’s business challenges.

Web ServicesUsing SOAP, XML Schema and other related technologies (col-lectively referred to as web-services) companies can expose pro-grammatic access to business logic over the web, to any device,remote process, desktop application or web-application. Webservices are transforming the World Wide Web from simple busi-ness-to-consumer applications which require human interactionto a distributed federation of loosely-coupled services. A keyarea for growth will be enhancing business-to-business (B2B)application infrastructure, enabling for the creation of virtual mar-ketplaces, as well as streamlined order processing and back-office operations.

The World Wide WebXSL/XSLT stylesheets are commonly used by web-developers toseparate data from presentation markup on web pages. This sep-aration will greatly simplify indexing, sharing and retrieving dataon the web, and is also used to enable the internationalizationand localization of a website, and deliver website content to web-enabled mobile devices.

XML Publishing & Document ManagementXML has many benefits as storage format for rich, structured con-tent because it more effectively preserves the semantics andcontext of the information being stored, allowing for efficientretrieval and re-purposing of content. XML technologies includ-ing XML Schema and XSL/XSLT have the potential to unlock pro-prietary content management systems through the use of stan-dards-based interfaces. In addition XML is the underlying docu-ment layout language employed by popular file formats such asPDF, PostScript, and Scalable Vector Graphics (SVG).

Database IntegrationXML can be employed as an intermediary format (or adaptor) forElectronic Data Interchange (EDI) messages enabling easy inte-gration with any relational database or native XML database sys-tem. Both Oracle and Microsoft have added support for XMLschema into their respective databases.

8

IDE Integrated Development Environment

Page 9: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

9

Microsoft .NET FrameworkThe recently released Microsoft .NET Framework is Microsoft’svision of the future of building next-generation of business appli-cations, it encompasses various application servers, SQL Server2000, the Windows operating system, multiple programming lan-guages, mobile devices and more. SOAP and XML Schemabring all the pieces together allowing for tremendous applicationinteroperability.

Java & XMLThe Java platform enables platform interoperability at a binarylevel - Java programs are compiled to an intermediate languageand subsequently executed on any operating system through anative Java Virtual Machine. The combination of Java and XMLhas the potential to further improve interoperability by furtherdecoupling the application from the underlying data storage for-mat and opening up the application's communication protocol;these are important milestones in realizing true application porta-bility. At the time of this writing, Sun is currently developing pow-erful new Java standards for Web services, XML bindings andXML messaging (currently available in beta, due out Q3/Q4 2002)which will greatly improve Java application server interoperability.

Summary of Industry XML UsageXML technologies are inter-related and

are pervasive across a wide spectrumof industry applications. Figure 3

graphically summarizes some of themost common usages and theirrelationships.

IDE Integrated Development Environment

FFiigguurree 33usages of XML technologies

in the enterprise.

3

Page 10: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

The Software Development Lifecycle Model

Classic Software DevelopmentClassic Software Development refers to developing applicationsusing procedural programming languages such as C/C++, Java,C#, Cobol, Perl, etc. The classic software development processtypically begins with a high-level architecting process whichincludes modeling the software objects and their interactions.Next, an editor is used to write the source code according to theproper syntax, and compiler is invoked to translate and link thesoftware to an executable binary format. Finally, a debugger isused to catch any errors, thereby ensuring the correct programbehavior.

Classic IDE’s such as Microsoft’s Visual Studio or Borland’sJBuilder have revolutionized the software development processby providing enhanced tools support for editing source-code, aswell as modeling and debugging tools which have enableddevelopers to produce higher quality software while simultane-ously reducing the required effort.

Modern XML SoftwareDevelopmentXML technologies are sig-nificantly different from clas-sic procedural program-ming languages both instructure, syntax andnature. XML applicationdevelopment is also a com-pletely different process.XML application develop-ment begins with develop-ing the content model usingXML Schema or DTD's.

Next, one must edit and val-idate XML documentsaccording to the contentmodel. Finally, the XMLdocument is ready to be

consumed or processed by an XML enabled framework, and aspreviously discussed, this typically involves transforming the XMLdocument to another format, saving the XML document to a data-base, or transmitting the XML document to a remote process.The XML Software development process is illustrated in figure 4.XML Schema modeling tools are required to define XML content,and XML editing and validation tools are needed to author theXML documents. Once an XML document has been created,XSL/XSLT development and debugging tools are essential fortransforming XML. Equally, XML-to-Database mapping tools arevital for database integration applications, and SOAP develop-ment and debugging tools are necessary for building web services.

10

IDE Integrated Development Environment

4

FFiigguurree 44The XML Software

DevelopmentProcess

HHTTMMLLWWMMLL

RReemmootteePPrroocceessss

PPDDFF

DDRRBBMMSSoorr XXMMLL DDBB

Page 11: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XML Integrated Development Environments (IDE)

An XML IDE must provide development support for critical XMLtechnologies: XML Schemas & DTD’s, XSL/XSLT, SOAP & Webservices, Database Integration, as well as XML editing & valida-tion. An XML IDE is not meant to be a replacement for an exist-ing classic software programming IDE, web-development tool, ordatabase programming/administration tool, but rather, the XMLIDE complements and enhances any developer tool, by provid-ing the comprehensive support for XML development for anypotential application. An XML IDE must also provide tools andfeatures to help cross the boundary from a pure XML technologyto a particular language binding, server run-time environment, ordatabase. Figure 5 below illustrates how an XML IDE comple-ments existing software development tools.

Just as classic IDE'shave revolutionized the

software developmentprocess over the past 2

decades, XML IDE's aremodernizing XML & web-serv-

ices development by providingcomprehensive tools support for all

XML technologies enabling developers toproduce higher quality XML applications while

simultaneously reducing the required effort.

11

IDE Integrated Development Environment

5

FFiigguurree 55XML IDE provides comprehen-sive XML development supportand complements other soft-ware development tools.

Page 12: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

The XML Spy 4 IDE

TThhee XXMMLL SSppyy IIDDEE iiss tthhee iinndduussttrryy ssttaannddaarrdd ffoorr ddeevveellooppiinngg ssooffttwwaarreeaapppplliiccaattiioonnss bbaasseedd oonn eeXXtteennssiibbllee MMaarrkkuupp LLaanngguuaaggee ((XXMMLL)) tteecchh--nnoollooggiieess..

The XML Spy 4 IDE was built from the ground up to fully supportdesigning and editing all XML technologies such as XMLSchema, XSL/XSLT, and SOAP, to accelerate development of webservices, publishing & document management applications,database integration applications, Microsoft .NET and J2EEapplications, and more. Figure 6 below shows the main editingwindow of the XML Spy 4 IDE.

12

FFiigguurree 66The XML Spy 4 Integrated Development Environment

IDE Integrated Development Environment

6

Page 13: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

13

IDE Integrated Development Environment

FFiigguurree 77Graphical representation of

XML Schema.FFiigguurree 88

XML Spy’s Enhanced Grid View (left) and Text View (right).

7

XML Schema Development

The XML Spy 4 IDE includes a graphical schema editor whichsupports several mechanisms for generating XML Schemas:

1 The XML Spy 4 IDE includes a graphical schema editor whichsupports several mechanisms for generating XML SchemasAnXML Schema can be automatically inferred from one or more XMLinstance documents. 2 An XML Schema can be reverse-engineered from an existingdatabase schema.3 An XML Schema can be reverse-engineered from an existingdatabase schemaAn XML Schema can be converted from anexisting content model such as a DTD.

The above mentioned schema generation and a powerful XMLschema modeling tool illustrated below in figure 7, greatly accel-erate the XML schema development process freeing developersto concentrate on developing business logic.

XML EditingOne of the key benefits of the XML Spy IDE is its extensibility:whenever a new XML-based language is developed, any XMLdocument in that language can automatically be edited by XMLSpy by simply referencing a XML Schema or DTD. This isextremely important because while this whitepaper examined 3key technologies in depth (XML Schema, XSL/XSLT and SOAP),there are indeed hundreds XML technologies currently beingused in industry. XML Spy provides numerous advanced viewsfor working with XML documents. EEnnhhaanncceedd GGrriidd VViieeww, illustrated below in figure 8 (left-side) graphi-cally represents repeating XML elements as rows within a table,allowing a developer to work with a complicated XML documentin a tabular fashion, as though it were a simple Microsoft Excelspreadsheet. TTeexxtt VViieeww, illustrated below in figure 8 (right-side) provides syntaxcoloring of XML elements and attributes, context-sensitive entryhelpers, code-completion, and single-click document validationbased on W3C’s XML Schema or any DTD. BBrroowwsseerr VViieeww,, provides a web-browser preview of HTML output.

8

Page 14: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XSL/XSLT Stylesheets

XML Spy 4 IDE has many features to simplify XSLT stylesheetsdevelopment, including an XPath analyzer, XSL syntax-help,color coding, and an integrated browser preview. XML Spy 4 IDEsupports Formatting Objects (XSL:FO) and can generate PDF orPostScript files with a single-click. The open XSLT engine sup-ports all of the leading XSLT processors including MSXML4,Saxon, Xalan, and more.

The XPath analyzer is shown in figure 9 below: simply type in anXPath expression and the resulting node-set will be evaluatedand graphically displayed in real-time, eliminating the guessworkin XSLT stylesheet development.

XSL/XSLT StylesheetsThe XML Spy 4 XSLT Designer is a clear and easy to use tool.Unlike complicated, proprietary content management systems,the intuitive user-interface allows any web-designer (even with lit-tle or no understanding of XSLT) to leverage existing skills anddesign advanced stylesheets.

14

FFiigguurree 99A Real-time, graphi-cal XPath Analyzer

IDE Integrated Development Environment

9

Page 15: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

SOAP/Web ServicesXML Spy 4 Suite is the first and only tool to fully support testing &debugging of web-services! Automatically generate SOAPrequests, step through SOAP requests & responses, set condi-tional breakpoints on functions or data! XML Spy 4 IDE supportsdevelopment and debugging of web services on all the majorweb services platforms including Microsoft .NET and J2EE.

Database IntegrationTo bridge the gap between relational and native XML databasestorage models, the leading enterprise database companies haveimplemented XXMMLL SScchheemmaa eexxtteennssiioonnss;; this additional XML meta-data enables for the seamless translation from an XML documentto a relational database. XML Spy 4 IDE is the only developer toolto support XML Schema mappings to Microsoft SQL Server 2000(i.e. SQLXML 2.0) and Oracle 9i XML schema extensions.

XML Spy 4 IDE providescomplete access to all rela-tional databases throughODBC or ADO, includingimporting relational data intoan XML file, and exportingXML data to a relational data-base. XML Spy can auto-matically create a databasefile from an XML Schema,and much more!

15

FFiigguurree 1100The XML Spy SOAP

Debugger.

10

IDE Integrated Development Environment

11

FFiigguurree 1111Mapping an XML

Schema to an OracleXML Database.

Page 16: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

XML Spy 4 Suite Product Line

The XML Spy 4 IDE is a part of the XML Spy 4 Suite, the ultimatesoftware development tools suite for Advanced XML ApplicationDevelopment! The XML Spy 4 Suite consists of the XML Spy 4Integrated Development Environment, the XML Spy 4 XSLTDesigner, a WYSIWYG tool for generating XML-to-HTML XSLTstylesheets, and the XML Spy 4 Document Editor, a lightweightXML editing component for use in XML content applications.

According to James Karney of PC Magazine:

16

FFiigguurree 1122The XML Spy 4 Suite product line.

IDE Integrated Development Environment

12

“If XML's standards and syntaxes give you acase of acronymphobia, then Altova's XML Spy

4 Suite may be just what the doctor ordered.

This package provides the tools needed todevelop and manage XML projects from

schema design to document management … itis a solid tool for developing sophisticated solu-

tions without your having to learn all thenuances of XML coding.”

Page 17: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

Industry Partnerships

Altova is partnering with the world’s leading software technologycompanies, providing technology integration to ensure a seam-less transition from the XML Spy IDE to any XML processing envi-ronment. Technology integration has included Visual Studio .NETintegration, Database Integration and much more.

Altova is an active participation in open industry consortiumssuch as the World Wide Web Consortium (W3C) and the WebServices Interoperability Organization (WS-I); this further ensuresstandards compliance and interoperability.

17

IDE Integrated Development Environment

Page 18: XML Integrated Development Environments - Altova · The Software Development Lifecycle Model 10 Classic Software Development 10 Modern XML Software Development 10 XML Integrated Development

About Altova

Altova produces and markets XML Spy 4 Suite, the world’s lead-ing development tools suite for Advanced XML ApplicationDevelopment. Founded in 1992, Altova has offices in Beverly,Massachusetts and in Vienna, Austria. XML Spy is used by overa half-million registered users across 50,000 companies world-wide, and is the leading choice of Fortune 500 and NASDAQ100 companies. Altova is a member of the W3C and the WS-I.

18

IDE Integrated Development Environment