IBM developerWorks Resources
This section lists the "perfectxml.com editor's choice" resources on IBM developerWorks Web site.
Web Services |
- Web Services architecture overview
This article presents an overview of IBM Web Services architecture, including what Web Services are, the fundamental characteristics of a Web Services architecture and the benefits of this approach.
Read online Download as a PDF file
- Web services architect, Part 1: An introduction to dynamic e-business
Emerging technologies have played a strong role in the evolution of the Internet over the past five years. Java gave us portable code; portable data came with XML; and Pervasive Computing addressed the connectivity of any device. Now the hype surrounds Web services. In this series of articles, I will discuss the importance of this technology in developing the next generation of the Internet as well as describe the Web services strategy of IBM. Additionally, I will explore the business impact of Web services, how to identify a relevant solution opportunity, and how to evaluate the many vendor strategies building around this technology.
Read online Download as a PDF file
- Web services insider, Part 1: Reflections on SOAP
What is the current state of the "Web services revolution?" In this, the first installment of my new column titled "Web services insider," I’ll answer this question by reviewing the tools and technologies that have emerged over the past year, highlighting their differences and similarities.
Read online Download as a PDF file
- Web Services Description Language (WSDL) 1.0
WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST, and MIME.
This draft represents the current thinking with regard to descriptions of services within Ariba, IBM and Microsoft. It consolidates concepts found in NASSL, SCL, and SDL (earlier proposals in this space).
Read online Download as a PDF file
- Programming XML and Web services in TCL, Part 1: An initial primer
Tcl and XML make good partners. Tcl boasts several strengths for standalone XML processing. Moreover, in this article XML is presented as the initial building block in a series that describes the capacity for Tcl in Web services work.
Purely XML-based tools implement 85-90% or more of an application. Programming/Scripting languages -- whether it be Tcl, Perl, Python, whatever -- are important for some aspects of building applications -- more so for B2B apps -- but XSLT and XML Schemas are used increasingly for implementing the high-level logic -- business logic, configuration data, etc. Previously, this is where Tcl was used but it is moving down in the logic chain.
Read online Download as a PDF file
- Creating a complete Web service
Need to convert your JavaBeans to Web services? Follow Greg Flurry's step-by-step tutorial on how to get things done using the XML and Web Services Development Environment.
The IBM Web Services Toolkit IBM Web Services Toolkit (WSTK) on alphaWorks allows you to begin experimenting with Web services. Fundamentally, the WSTK provides and environment for hosting Web services. A companion to the WSTK is the "aggregation demo," available with the WSTK on alphaWorks. The aggregation demo consists of a number of Web services, their associated visual components, and a simple portal in which to run the Web services.
Read online
- Using XML-RPC for Web services, Part 1: Getting started with XML-RPC in Perl
Creating an XML-RPC Web service with Perl is almost as easy as CGI scripting. This article will bring you up to speed on what XML-RPC is and how to use Perl's Frontier::RPC library to create simple clients and servers.
Read online Download as a PDF file
- XML messaging with SOAP
To help the developer avoid reinventing the wheel over and over, many interested parties have developed proposals for standardized XML messaging. The front runner in this race is Simple Object Access Protocol (SOAP), a specification for XML-based communications between objects. SOAP can be used with HTTP, and this tutorial shows how to use a SOAP library for relatively painless component communications.
Read online
- The Web services insider, Part 2: A summary of the W3C Web Services Workshop
As the title suggests, the Web Services Workshop last week (April 11th and 12th) in San Jose, California was quite a grand gathering of some very intelligent minds, all focused on the future of this new emerging paradigm that we call "Web services." I happened to have the good fortune of not only serving on the program committee for the workshop -- that’s the group that reviews the submitted position papers and selects who gets to present at the workshop -- but also chairing one of the sessions. As this was my first official W3C event, it was definitely an eye-opening experience into how the W3C accomplishes what it does. In this installment of the "Web services insider," I want to share with you some of the highlights of the presentations and discussions that followed.
Read online Download as a PDF file
- The Web services (r)evolution, Part 1: Applying Web services to applications
This opening article of our new column focuses on the benefits and challenges of building Web service applications. Web services may be an evolutionary step in designing distributed applications, however, they are not without their problems. Graham outlines the difficulties developers face in creating a truly workable distributed system of Web services. This article also outlines his plan for building peer-to-peer Web applications over the coming issues of this column.
Read online Download as a PDF file
- The Web services (r)evolution, Part 2: Hello world, Web service-style
The second installment focuses on the evolutionary and revolutionary aspects of Web services technology. In the first installment, I presented an overview of Web services and the problems that must be addressed in order for this technology to become mainstream. In this installment, I’ll teach you everything you need to know in order to build and deploy your first Web service. I’ll also show you how to invoke Web services that are already deployed on the Internet.
Read online Download as a PDF file
- The Web services (r)evolution, Part 3: How SOAP works
The third installment focuses on the evolutionary and revolutionary aspects of Web services technology. In the second installment, I showed how to build, deploy, and invoke a simple Web service using the Apache Simple Object Access Protocol (SOAP) implementation. In this installment, I'll explain how SOAP works under the hood, which is technically interesting and will help to demystify the future standards that we'll discuss like Web Services Description Language (WSDL) and Uniform Description, Discovery and Integration (UDDI) standard
Read online Download as a PDF file
- The Web services (r)evolution, Part 4: Web Services Description Language (WSDL)
The fourth installment focuses on the evolutionary and revolutionary aspects of Web services technology. In the third installment (see Resources), I showed you how Simple Object Access Protocol (SOAP) works under the hood. In this installment, I'll explain WSDL, the standard way to describe the core properties of a Web service, and introduce a couple of tools that leverage WSDL to accelerate your development process.
Read online Download as a PDF file
- The Python Web services developer, Part 1: The world of Python Web services
Python's motto has always been "batteries included," referring to the large array of standard libraries and facilities that come with the language installation. This article presents an overview and survey of tools and facilities available for Web services development in Python. This includes built-in Python features and third-party open-source tools.
Read online Download as a PDF file
- The Python Web services developer, Part 2: Web services software repository, Part 1
This is the beginning of a short series on creating a software repository system built on Web services and developed in the Python programming language. Mike Olson shows you the details of using the 4Suite open-source XML server with Python to create Web service-based applications.
Read online Download as a PDF file
- TSpaces Services Suite
TSpaces services suite is a development toolkit to assist the creation, discovery, and integration of Web services. The TSpaces Server Suite has a useful demo and set of tools for layering Web services on the Java-based distributed software communications system of TSpaces.
Read online
- Web services architect, Part 2: Models for dynamic e-business
Every emerging technology has to cross the chasm between innovation and acceptance. The technology adoption life cycle for Web services is no different. However, this technology does pertain to a different target audience of decision makers. Who are they? What will motivate them? Building on the vision of Dynamic e-business, this article explores the value proposition Web Service technologies offers to business entities in a variety of market segments.
Read online Download as a PDF file
- Using XML-RPC for Web services, Part 2: XML-RPC Middleware
Popular Web applications can often overwhelm the hardware resources that service them. By using Web services middleware, developers can create an application architecture that is divided into logical components connected through the middleware, making it easier to eliminate performance bottlenecks. This is done by simply adding better processing to the problem area. XML-RPC is a simple Web service protocol that takes the pain out of building middleware.
Read online Download as a PDF file
- UDDI4J: Matchmaking for Web services: Interacting with a UDDI server
As part of its continued commitment to Web services, IBM has released UDDI4J, an open-source Java implementation of the Universal Discovery, Description, and Integration protocol (UDDI). In this article, we'll discuss the basics of UDDI, the Java API to UDDI, and how you can use this technology to start building, testing, and deploying your own Web services.
Read online Download as a PDF file
- Applying Web services to the application service provider environment: An example of Web services applied to e-business
The concept of Web services is creating a lot of excitement, but it is also creating a lot of questions about how to apply Web services to e-business. This article offers a brief introduction to the architectural principles underlying Web services, as well as some of the technologies that support them. This article primarily presents an example of how Web services can be applied to an application service provider environment.
Read online Download as a PDF file
- Applying Web Services to the Application Service Provider Environment, Part 2: An Example of Web Services Applied to e-Business
Part 2 of this article continues my introduction to the architectural principles underlying Web services, and to some of the technologies supporting it. It completes the example of how this technology can be applied to an application service provider environment.
Read online Download as a PDF file
- WSDL processing with XSLT: First steps for Web service description processing
Building on earlier articles introducing Web Services Description Language (WSDL) and an RDF application based on WSDL, this article shows ways of using Extensible Stylesheet Language for Transforms (XSLT) to process WSDL in various ways. Familiarity with XSLT and Resource Description Framework (RDF) are required. Resources introducing XSLT are provided.
Read online Download as a PDF file
- Supercharging WSDL with RDF: Managing structured Web service metadata
The Resource Description Framework is the World Wide Web Consortium's official format for defining the metadata of XML objects. Conceptually, it is similar to Web Services Description Language, which is a collection of metadata about XML-based services. This article focuses on building a bridge between the two specifications. It provides an example of what a Web service description might look like as an RDF file. It then goes on to discuss how to take advantage of an RDF visualization tool to generate a graph of the WSDL data. Finally, it presents a portion of a possible RDF Schema for WSDL.
Read online Download as a PDF file
- Using WSDL in SOAP applications: An introduction to WSDL for SOAP programmers
Web Services Description Language (WDSL) is a new specification to describe networked XML-based services. It provides a simple way for service providers to describe the basic format of requests to their systems regardless of the underlying protocol (such as Simple Object Access Protocol or XML) or encoding (such as Multipurpose Internet Messaging Extensions). WSDL is a key part of the effort of the Universal Description, Discovery and Integration (UDDI) initiative to provide directories and descriptions of such on-line services for electronic business. This article provides a brief background and technical introduction to WSDL. Knowledge of XML and XML Namespaces is required and some familiarity with XML Schemas and SOAP is useful.
Read online Download as a PDF file
|
|
XML and Java |
- Java makes the most of XML: Use Java to build applications that handle XML's extensibility
One of XML's advantages over HTML is its extensibility. This feature makes it possible to use XML to describe information in ways that would be impossible with HTML. This month, Todd demonstrates how to build a framework for processing XML in Java, aptly combining the inherent extensibility of both languages.
Read online Download as a PDF file
- JavaML: A markup language for Java source code
The classical plain-text representation of source code is convenient for programmers but requires parsing to uncover the deep structure of the program. While sophisticated software tools parse source code to gain access to the program's structure, many lightweight programming aids such as grep rely instead on only the lexical structure of source code. I describe a new XML application that provides an alternative representation of Java source code. This XML-based representation, called JavaML, is more natural for tools and permits easy specification of numerous software-engineering analyses by leveraging the abundance of XML tools and techniques. A robust converter built with the Jikes Java compiler framework translates from the classical Java source code representation to JavaML, and an XSLT stylesheet converts from JavaML back into the classical textual form.
Read online Download as a PDF file
- Generate dynamic XML using JavaServer Pages technology: Use embedded Java code to dynamically build your XML template at request time
JavaServer Pages (JSP) technology is typically used for building HTML pages with dynamic content. But you can use this technology to generate dynamic content in other formats as well, including XML. Using real examples, this article will show how to build a JSP page as an XML document template that is "filled in" at request time using Java code embedded in the page.
Read online Download as a PDF file
- JMS, XML, and the heterogeneous enterprise: Using JMS and XML to improve enterprise application interoperability
Most computing environments today are characterized more by a patchwork of different platforms than by an adherence to any one platform. The Java Message Service (JMS), together with the Extensible Markup Language (XML), extends the promise of integration to this heterogeneous environment. This article demonstrates how to use JMS to create and distribute XML-based messages to Java and non-Java applications alike.
Read online Download as a PDF file
- Servlets and XML: Made for each other
Find out how Java servlets and XML work together to generate an XML document and DOM tree and interface with a database. This article includes a couple of useful techniques: using HTTP parameters to control processing and generating a DOM tree without an XML source document.
Read online Download as a PDF file
- Using the JMS API and XML in content-based routing: How to make sure information gets to the right people
All Knowledge Management solutions face the challenge of putting the right information in front of the right people. It's possible to confront this challenge with the right technology. Todd Sundsted demonstrates how to use Java technology, the Java Message Service (JMS) API, and XML to build a messaging infrastructure that routes messages based on their content.
Read online Download as a PDF file
- XML and Java: A potent partnership, Part 4: Java, laced with JavaScript, pushes XML's flexibility into new dimensions
In this final installment of his four-part series on XML and Java, Todd Sundsted completes his integration of JavaScript and Java and brings the ease-of-use and flexibility of a scripting language to his XML framework.
Read online
- Objects, objects everywhere: Data binding from XML to Java applications: Part 1
In part one of this four-part series, find out what data binding is, how it compares to other methods of handling XML data in Java applications, and how to start using it. This installment looks at why to use data binding and how to model constraints for XML documents to be converted to Java objects. It also covers input and output for data-binding class generation.
Read online Download as a PDF file
- Make classes from XML data: Data binding from XML to Java code, Part 2 of a four-part series
Part two of the data-binding series shows how to generate a Java language interface and implementation from the XML data constraints. The article details the complete code to handle the task of generating the classes and the code, and offers suggestions for crafting your own variations.
Read online Download as a PDF file
- From text to byte code: Data binding from XML to Java, Part 3
Part three of this data-binding series shows you how to convert XML elements and attributes to Java objects using the mechanisms specified in JSR-031: Data Binding, the Sun Data Binding Specification Request. This installment looks at moving from an XML representation of data to a Java instance that your application code can easily use. Part three covers unmarshalling the nested elements in the XML documents into Java objects, testing, and putting the new tools into action with some practical examples.
Read online Download as a PDF file
- From bits to brackets: Data binding from XML to Java, Part 4
The final installment of this four-part data-binding series completes the set of binding classes with a look at the process of marshalling Java objects into an XML representation using the in-progress JSR-031, also known as Adelard. This installment examines the code needed to perform this action, and considers how this code relates to the Java classes that were examined in previous installments. Finally, this latest portion of data-binding code is put into action using a practical example.
Read online
- Java developers: Fill your XML toolbox
If you're serious about building XML applications using the Java programming language, there are several tools you need. This article covers where you can get these tools, how you install them, and how to use them. At the end of the article, the "Tools summary" lists several tools in each category for you to choose from.
Read online Download as a PDF file
- Bean Markup Language, Part 1: Learn the ABCs of IBM's powerful JavaBeans connection language
IBM's alphaWorks site is a treasure trove of early-release software for Java developers. Everything on the site can be downloaded for free, although various disclaimers and restrictions apply, and IBM maintains ownership of the software. Among the many fascinating offerings from alphaWorks is BML, the Bean Markup Language. BML is similar to XML JavaBeans, the topic of a recent JavaBeans column series, but has capabilities that XML JavaBeans doesn't even approach.
Read online
- All about JAXP: Sun's Java API for XML parsing
This close examination of JAXP, Sun's Java API for XML, helps clear up the confusion about the specific nature of JAXP and the purpose it serves. This article covers basic concepts of JAXP, demonstrates why it is needed in the XML parsing space, and shows how the parser used by JAXP can easily be changed. It also drills down into SAX and DOM, two popular JAXP-related Java and XML APIs.
Read online Download as a PDF file
- JAXP revisited: Sun's Java API for XML Parsing, Version 1.1
In this follow-up article on JAXP, Sun's Java API for XML Parsing, the author analyzes the newest version, 1.1, which includes updated support for the SAX and DOM standards. With the addition of TRaX, JAXP 1.1 provides Java and XML developers an indispensable tool in writing vendor-neutral code for parsing and transforming XML documents.
Read online Download as a PDF file
- Managing e-zines with JavaMail and XSLT, Part 2: Use XML and XSLT to automatically produce both plain text and HTML newsletters
In the conclusion of his series, Benoît Marchal demonstrates how to automate e-mail publishing chores with Java and XML. This concrete application of XML and XSLT describes an e-mail newsletter (e-zine) publishing application that outputs both HTML and plain text e-mail messages. Five reusable code samples include a Java program to send e-mails using JavaMail, an XSLT style sheet to convert the DocBook sample introduced in Part 1 to HTML, a Java configuration handler (in the form of a SAX ContentHandler), and the Java code that puts it all together in a multistepped transformation.
Read online Download as a PDF file
- Managing e-zines with JavaMail and XSLT, Part 1: Use XML and XSLT to automatically produce both plain text and HTML newsletters
In part one of two-part series, Benoît Marchal demonstrates how to automate e-mail publishing chores with Java and XML. This concrete application of XML and XSLT describes an e-mail newsletter (e-zine) publishing application that outputs both HTML and plain text e-mail messages. Six reusable code samples include a sample newsletter marked up in DocBook, an XSL style sheet to convert the DocBook sample to a custom text output, a Java text formatter (in the form of a SAX ContentHandler), two SAX filters, and the Java code that puts it all together in a multistepped transformation. (The next part of this article covers the JavaMail API.)
Read online Download as a PDF file
- Take control of the DOM, Part 1: How DirectDOM puts you in the driver's seat
The Web is evolving from a collection of static HTML pages into a tool that will be used for banking, reservations, and any number of other everyday tasks. As this transformation progresses, developers will demand increasingly sophisticated ways to interact with users, but in a manner that won't put unreasonable demands on the server network. The Document Object Model (DOM) will become the framework for this interaction, and DirectDOM will allow Java developers to have absolute control over the DOM. This first in a three-part series introduces the DOM and provides a foundation for using DirectDOM to directly access the DOM.
Read online
- Tip: Moving DOM nodes: How to avoid Wrong document exceptions
Read online
Read online
- Tutorial: XML programming in Java
In this tutorial, XML Evangelist Doug Tidwell shows you how to use an XML parser and other tools to create, process, and manipulate XML documents.
Read online
- Produce dynamic Web pages with Java and XSLT: Two approaches for building an easily portable solution
This article discusses two ways to produce dynamic Web pages with Java and XSLT by passing user-request parameters from a Java backend program to an XSLT style sheet used to render the Web page. The sample code demonstrates the use of the XSLTProcessor method and a custom method, plus how to use global parameters in XPath expressions.
Read online Download as a PDF file
|
|
Miscellaneous |
- Introduction to XML
XML, the Extensible Markup Language, has been hailed as a technical revolution comparable in scope to sliced bread and the wheel. This tutorial by Doug Tidwell cuts through the hype to show you what XML is, and isn't, and how you can start using XML to transform your business.
Read online
- Part 2: Transforming XML into SVG
The first section of our tutorial showed you how to transform XML documents into HTML. We used a variety of XML source documents (technical manuals, spreadsheet data, a business letter, etc.) and converted them into HTML. Along the way, we demonstrated the various things you can do with the XSLT and XPath standards. In this section, we'll use the World Wide Web Consortium's emerging Scalable Vector Graphics format (SVG) to convert a couple of our original documents into graphics.
Read online
- Part 1: Transforming XML into HTML
Part 1 of this Transforming XML documents tutorial shows you how to transform XML documents into HTML.
Read online
- Part 3: Transforming XML into PDF
Part 3 of this Transforming XML Documents tutorial shows you how to transform XML documents into high-quality, print-optimized documents.
Read online
- XML DOM & SAX poster, beta of 2nd edition: Preview this handy reference chart, find a bug first and win a book
Download the PDF of the beta version of developerWorks' forthcoming DOM and SAX reference poster. The poster illustrates classes and methods of DOM and SAX level 2. If you're one of the first 15 people to report a bug, you'll earn a book on XML development from Wrox.
Read online Download as a PDF file
- What kind of language is XSLT?: An analysis and overview
What kind of a language is XSLT, what is it for, and why was it designed the way it is? These questions get many different answers, and beginners are often confused because the language is so different from anything they are used to. This article tries to put XSLT in context. Without trying to teach you to write XSLT style sheets, it explains where the language comes from, what it's good at, and why you should use it.
Read online Download as a PDF file
- Saxon: The Anatomy of an XSLT processor: What is current state of the art in XSLT optimization?
This article describes how an XSLT processor, in this case the author's open-source Saxon, actually works. Although several open-source XSLT implementations exist (see Resources), no one, as far as we know, has published a description of how they work. This article is intended to fill that gap. It describes the internal workings of Saxon, and shows how this processor addresses XSLT optimization. It also shows how much more work remains to be done. This article assumes that you already know what XSLT is and how it works. (If you need a refresher on the basics of XSLT, see Michael Kay's companion article that gives an overview of XSLT.)
Read online Download as a PDF file
- The basics of using XML Schema to define elements: Get started using XML Schema instead of DTDs for defining the structure of XML documents
The new XML Schema system, now nearing acceptance as a W3C recommendation, aims to provide a rich grammatical structure for XML documents that overcomes the limitations of the DTD (see the sidebar, Limitations of DTDs). This article demonstrates the flexibility of schemas and shows how to define the most fundamental building block of XML documents -- the element -- in the XML Schema system.
Read online Download as a PDF file
- The XML Security Suite: Increasing the security of e-business
As more and more companies use XML to transmit structured data across the Web, the security of documents becomes increasingly important. This article presents some basics of Web security, describes the components of the XML Security Suite, and gives examples that illustrate how the technologies in the XML Security Suite increase the security of Web commerce.
Read online Download as a PDF file
- Tutorial: XML and scripting languages: Manipulating XML documents with Perl and other scripting languages
In this first tutorial of his series on using scripting languages to manipulate and transform XML documents, Binary Evolution's Parand Tony Daruger takes you through the first steps of using these techniques with Perl. You'll see a method for transforming XML to HTML, followed by a simple stock trading application that uses Perl, XML, and a database to evaluate trading rules. You can apply the techniques using other scripting languages too, including Tcl and Python.
Read online Download as a PDF file
- Lowering the bar of the DOM API: A few easy steps to begin accessing XML data in Java
XML is a popular way to represent data in a portable, vendor-neutral, readable format. The Document Object Model (DOM) is an application programmer's interface to XML data. Unfortunately, the DOM is a fairly complex API with a high learning curve. But if you know the DTD of the data you are accessing, it's not too difficult. This article illustrates a few easy steps to begin accessing XML data using the DOM in Java.
Read online Download as a PDF file
- XML APIs for databases: Blend the power of XML and databases using custom SAX and DOM APIs
Most Web applications require the presentation of database-generated information. XML, because of its ability to separate content from presentation, is fast becoming an industry standard for data exchange. Most XML tools work with either the SAX or DOM API. This article presents a way to blend the power of a database with the features of XML. It also provides a simple, pure Java implementation of XML APIs for databases that works with any JDBC data source. With this approach, XML tools can treat a database as a virtual XML document.
Read online
- Introduction to the Darwin Information Typing Architecture: Toward portable technical information
The Darwin Information Typing Architecture (DITA) is an XML-based architecture for authoring, producing, and delivering technical information. This article introduces the architecture, which sets forth a set of design principles for creating information-typed modules at a topic level, and for using that content in delivery modes such as online help and product support portals on the Web. This article serves as a roadmap to the Darwin Information Typing Architecture: what it is and how it applies to technical documentation. The article links to representative source code.
Read online Download as a PDF file
- Hands-on XSL: XSL for fun and diversion
This article presents a simple, hands-on exercise that demonstrates the principles of the Extensible Stylesheet Language Transformations (XSLT). It takes about an hour to complete the concept exercises and about 15 minutes at a computer to try out the results with a real XSLT processor.
Read online Download as a PDF file
- The Domino Application Server platform for XML
As a technology, XML is only as powerful, useful, and usable as the server it runs on allows it to be. The Lotus Domino Application Server is well equipped to put this new technology into action. This paper defines XML, describes the ideal application platform for XML, and shows examples of how Domino and XML work together to solve real business problems.
Read online Download as a PDF file
- Data interchange made easier with IBM Transcoding Technology: Updated beta synchronizes with WBI Developer Toolkit
Transcoding systematically transforms information, making data interchange among disparate systems fast, easy, and predictable. IBM Transcoding Technology is server-side Java-based network software that dynamically filters, converts, or reformats data for transparent content sharing across systems, users, and emerging pervasive computing devices. Transcoding can reduce or eliminate the need to maintain multiple versions of data or applications for different device types, network service levels, or user categories.
Read online Download as a PDF file
|
|
|
|