This appendix lists new or uncommon terms used throughout this book and provides a brief definition.
The 3-tier model for enterprise applications, as used by J2EE, that splits the application functionality into three parts: presentation, business, and integration. Components that deliver these three types of functionality will typically live on their own tier of servers, so that the three types of functionality are physically as well as logically separated.
Active Directory is Microsoft's directory service, first delivered as part of Microsoft Windows 2000.
The American National Standards Institute is a private, non-profit organization that administers and coordinates the U.S. voluntary standardization and conformity assessment system.
ANSI SQL represents a standard for SQL programming that is independent of any one specific implementation. The first ANSI SQL standard was published in 1989, but most vendors now support the update published in 1992.
ANSI SQL 92 refers to the version of the SQL specification published by ANSI in 1992. This forms the basis of most current SQL implementations by major vendors.
The Apache Software Foundation is an umbrella organization that supports a range of open-source projects being pursued under the Apache banner. Notable among these projects are the Jakarta Project, which delivers the Tomcat servlet and JSP implementation, together with the XML Project, which oversees the development of the Crimson and Xerces parsers, the Xalan XSLT processor and the Axis SOAP engine.
A J2EE application client is a client-side J2EE component that has access to a subset of the J2EE APIs provided by the J2EE client container. A J2EE application client must be invoked within the context of a J2EE client container, such as the runclient container provided by the J2EE RI.
The application layer is a term used to refer to the logical layer containing the interaction with the user of the application. This can include not only Web-based interaction using servlets and JSPs with a Web browser, but also application clients.
An application server is a server-side container for components of an n-tier application. In Java terms, a typical application server will provide all of the J2EE APIs and container types. Application servers can also provide additional functionality, such as CORBA, COM, or Web Service support. Common application servers include BEA WebLogic, IBM WebSphere, iPlanet Application Server (iAS), and JBoss.
The deployment descriptors provided with J2EE components and applications provide standard information about the properties and configuration of those components and applications. The auxiliary deployment descriptor defines additional, non-standard information about the J2EE application or component that is used by a specific J2EE container or application server. Hence, the contents of the auxiliary deployment descriptor are specific to that environment.
The Apache Axis project is part of the Apache XML project. Axis is a Java-based SOAP toolkit that allows you to build and invoke Web Services from Java components.
An Entity EJB can take responsibility for persisting and retrieving its own internal state when prompted by its container. This is commonly done by including JDBC code in the appropriate lifecycle methods. This style of Entity EJB persistence is termed Bean-Managed Persistence.
An EJB can take control of its own transactions by making API calls to start and end transactions. This is termed Bean-Managed Transaction Demarcation.
The set of machines on which the business components execute in an n-tier or 3-tier application.
An Entity EJB can delegate responsibility for persisting and retrieving its internal state to its container. This is termed Container-Managed Persistence.
Under EJB 2.0 (and J2EE 1.3), it is possible to specify relationships between Entity EJBs in such a way that the container will automatically manage the lifecycle of the whole interconnected web of entities according to those relationships. This means that entities that are referenced by other entities will automatically be instantiated and populated when required, with no need for code in either the client or the containing Entity. Such relationships are termed Container-Managed Relationships.
An EJB can delegate control of its transactions to its container, which will start and end transactions on behalf of the EJB. This is termed Container-Managed Transaction Demarcation.
A component is a grouping of functionality that forms a coherent unit. This unit can be deployed in a component container independently of other components. Applications can then be built by calling on the functionality of multiple, specialist components. J2EE applications are built from various types of component, such as Web Components and EJBs.
A container provides services for a component. These services can include lifecycle management, security, connectivity, transactions, and persistence. Each type of J2EE component is deployed into its own type of J2EE container, such as a Web Container or an EJB Container.
A cookie is a short text string sent as part of an HTTP request and response. Because HTTP is a stateless protocol, cookies provide a way of identifying the same client across multiple HTTP requests. Any cookie sent by a server is stored by the client and then submitted whenever another request is made to the same server. Cookies form the basis of most Web-based session management.
CORBA, from the Object Management Group (OMG), defines a distributed environment consisting of client-server connectivity integrated with a set of distributed services. CORBA clients and servers connect to a local Object Request Broker (ORB) for connectivity and can register and discover each other in the Common Object Services Naming Service (COS Naming). There are many other CORBA services defined, including security, transaction, and persistence.
A CPA is an XML document that defines an agreement between two parties who are using ebXML to conduct e-business. The CPA defines an intersection of the two parties' CPPs, specifying which protocols and mechanisms they will use to exchange information and services.
A CPP is an XML document that defines the services and capabilities offered by an organization that provides e-business services using ebXML.
The Crimson XML parser from Apache is used to provide the XML parsing functionality of the Sun JAXP reference implementation.
Declarative attributes provide a way for a component to specify requirements to its container by means of attributes defined in the deployment descriptor. These requirements can include when to start and stop transactions and the level of security required by different parts of the component. Delegating control of such functionality to the container and defining them in the deployment descriptor rather than using code means that they are more easily changed when configuring an application.
A deployment descriptor defines metadata for the component or application with which it is associated. J2EE deployment descriptors are XML documents that convey the requirements that a component or application has of its container (such as security requirements). The deployment descriptor can also define the relationships between different classes in the component, naming information, persistence requirements, and so on.
A digital certificate provides a way of signing digital data in such a way that it authoritatively proves the identity of the sender. Certificates are usually issued by trusted third parties called certification authorities.
DNS is the mechanism whereby Internet applications can resolve URLs (such as java.sun.com) to IP addresses (such as 192.18.97.71), acting as a basic directory service. It also provides reverse resolution and information on the location of e-mail servers.
The document object model is an API defined by the W3C for manipulating and traversing an XML document. The API is defined in language-neutral (CORBA) IDL, and Java-based XML parsers provide a Java-language mapping of it. DOM is one of the two main parsing APIs provided by JAXP.
The term domain layer is sometimes used to denote the group of logical components that provide the data model for an application. These components are manipulated by other components in the business layer to perform business-oriented functionality.
The structure of an XML document can be defined using a DTD. The DTD syntax forms part of the XML specification, but is somewhat limited in its descriptive capabilities. For this reason, it is being superseded by XML Schema.
An EAR file contains the components and deployment descriptors that make up an enterprise application. An EAR is the unit of deployment for a J2EE server (that is, how it expects applications to be packaged).
Many existing enterprise applications reside on systems, such as mainframes. Providing connectivity and interoperability with such systems for an n-tier application is commonly termed Enterprise Application Integration. Some n-tier reference models will refer to an integration tier, which is a combination of components that connect to databases and EAI components, sometimes called enterprise information systems.
The ebXML initiative has produced a set of e-business standards that range from data transportation through to the choreography of business processes. These standards provide a platform for e-business and a set of value-added services when sending e-business messages.
An enterprise information system is any source of enterprise data, such as a database or mainframe. EIS systems will be accessed through an integration tier.
An EJB is a J2EE business component that lives within a J2EE EJB container. EJBs can be Session beans, Entity beans, or Message-driven beans. An EJB consists of home and remote interface definitions, the bean functionality, and the metadata required for the container to correctly interact with the bean.
An EJB container provides services for the EJBs deployed within it. It will control access to the EJB instances and will call the lifecycle methods on each EJB at the appropriate time. The container also provides the persistence and relationship mechanisms used by Entity EJBs.
An ejb-jar file contains one or more EJBs together with the deployment descriptor and resources needed by them. The ejb-jar is a unit of deployment for EJB business components.
EJBs that use CMP must specify the results expected from the various finder methods defined on their home interface. EJB QL provides a container-independent way of doing this by allowing the developer to associate EJB-based queries with the different finder methods.
An enterprise application consists of one or more J2EE components packaged in an EAR archive. An enterprise application is the end result of a J2EE development.
ERP packages provide pre-packaged, configurable components that provide core enterprise functions, such as personnel management and operations. Such systems are core to enterprise operations, so they must be integrated with other enterprise applications, such as those developed using J2EE. Information from such systems can be retrieved and manipulated through J2EE Connectors or Web Services.
An Entity EJB is a data component used in a J2EE application. Entities frequently map onto domain Entities discovered during analysis and design.
The home interface of an EJB is a remote factory interface that is registered using JNDI. Clients will discover this interface and use its methods to create, remove, or find one or more EJBs.
HTML is the language used to define Web pages that display in a Web browser, such as Netscape Navigator or Microsoft Internet Explorer.
HTTP is the standard transport mechanism used between Web clients and servers. It is used to fetch HTML documents, and also as the underlying transport for Web Services. HTTP servers can be set up on any TCP endpoint, but are usually found on port 80 or common alternatives (8000, 8080, 8888, and so on).
HTTPS uses SSL sockets to encrypt HTTP traffic between a client and a server and to authenticate the server to the client (and possibly vice versa). HTTPS uses a different endpoint (443) from standard HTTP.
IMAP is a flexible way of dealing with Internet-based e-mail. Using IMAP, messages stay in a user's mailbox on the server while the client retrieves metadata about them (such as the size, sender, and so on). The client can then selectively download messages, rather than having to download all e-mails in one go.
A JNDI initial context is the starting point for JNDI interaction. J2EE components will obtain an initial context to discover resources, properties, and other J2EE components.
The set of machines on which the data access components execute in an n-tier or 3-tier application.
Java 2 Enterprise Edition.
A J2EE component is the basic unit of a J2EE application. Different components will serve different purposes, such as presentation of data, provision of business logic, or access to underlying data.
A J2EE container provides the services and environment required by a particular type of J2EE component.
A J2EE Pattern is a pattern that is implemented using J2EE technologies. J2EE Patterns can help to improve the quality of the J2EE applications within which they are applied.
The J2EE RI (or the Java 2 SDK Enterprise Edition—J2SDKEE) serves as a proof-of-concept for the technologies defined in the J2EE specification. The team that produces the JSR for each version of J2EE is responsible for delivering a reference implementation for it. The J2EE RI is freely downloadable and provides a useful test environment for J2EE developers.
A J2EE server is the underlying J2EE platform that provides the services required by J2EE containers. J2EE servers are typically delivered in the form of application servers.
The Jakarta Project is the overarching project for Java-oriented development at the Apache Foundation. This includes the Tomcat servlet and JSP engine.
JAF provides a way of associating a particular MIME type with an application or component that knows how to process data of that MIME type. JAF is used in various parts of J2EE including JavaMail and Web Services.
JAR files are a compressed archive format in which Java classes and associated resources are typically stored. All of the various archives used by J2EE are delivered in JAR files.
A JavaBean is a Java class that conforms to certain rules on method naming, construction, and serialization. JavaBeans are used within J2EE to contain Java functionality and data in Web components or as data carriers between layers. Note that a JavaBean is not an EJB.
Java IDL is the delivery mechanism for CORBA IDL support under Java. The Java IDL compiler allows you to compile CORBA IDL into Java stubs and skeletons that can be used to communicate with remote CORBA objects.
JavaMail is part of the J2EE platform that allows you to send and receive e-mail messages.
JAXB defines an architecture for marshalling data between Java and XML formats. It provides tools to convert XML DTDs and Schemas into Java classes.
JAXM defines how J2EE components send and receive XML-based messages over SOAP. JAXM will form part of J2EE 1.4.
JAXP defines the interfaces and programming model for the parsing, manipulation, and transformation of XML in Java.
The JAX Pack provides an interim delivery mechanism for the various XML-related APIs currently under development. After these APIs have been incorporated into J2EE 1.4, the JAX Pack may disappear.
JAXR defines how a J2EE component will access and manipulate XML data held in XML-oriented registries, such as UDDI and the ebXML registry and repository.
JAX-RPC defines how J2EE components make and receive XML-based RPC calls over SOAP. It specifies the relationship between the definition of an interface in WSDL and the Java binding for that interface.
The JCA defines how external data sources, such as ERP systems, should be made available to J2EE components. The JCA mechanism is very similar to the JDBC standard extension that allows components to discover and use data sources defined by the container.
The JCP is the process under which vendors and individuals in the Java community work together to create and formalize the APIs and technologies used in the Java platform. Standardization efforts under the JCP are referred to as Java Specification Requests (JSRs).
JDBC provides data access for Java applications and components.
JDO specifies a lightweight persistence mechanism for Java objects. Its functionality lies somewhere between Java Serialization and entity EJBs.
JMS specifies how a J2EE component can produce or consume messages by sending them to, or retrieving them from, a queue or a topic. JMS supports both the point-to-point model and the publish/subscribe model of message passing.
JNDI provides a generic API for access to information contained in underlying naming services, such as the CORBA CoS Naming service. JNDI is used by J2EE components to discover resources, configuration information, and other J2EE components.
JSPs provide a model for mixing static tagged content, such as HTML or XML, with content dynamically generated using Java code. Such code can be embedded in the page itself or, more usually, encapsulated in a JavaBean or tag library.
Directives are messages to the JSP container that are embedded in a JSP page. They appear as tags delimited by <%@ %>. Directives include page, taglib, and include. A common example would be a page directive that defines the error page for this JSP.
An error page can be defined for each JSP page to handle any errors occurring on that page. Any unhandled exceptions will cause the error page to be displayed. The same error page can be shared between multiple JSP pages. An error page is basically a JSP page that has access to error-specific information, such as the exception that caused the error.
A JSP expression is a Java statement that is executed, and the result of this statement is coerced into a string and output at the current location in the page. Expressions are delimited by <%= %>. A typical example would use a Java statement to evaluate the current date or time to be inserted at the current location.
A JSP scriptlet is a section of Java code embedded in a JSP page and delimited by <% %>.
The JSPTL is an initiative under the JCP to create a standard tag library for common functionality, such as conditional evaluation and looping.
A JSR is a project under the auspices of the JCP that defines a new standard for a Java API or technology. JSRs are run by groups of experts drawn from vendors and the broader Java community.
The JTA defines an API that allows J2EE components to interact with transactions. This includes starting transactions and completing or aborting them. The JTA uses the underlying services of the JTS.
The JTS is a low-level, Java-based mapping of the CORBA Object Transaction Service. Transaction managers that conform to JTS can be used as part of a J2EE environment to control and propagate transactions on behalf of J2EE components. J2EE components will not use JTS directly, it is used on their behalf by their container or through the JTA.
A JWS file is a Java class file with a .jws extension. When placed under the appropriate part of the Apache Axis hierarchy, this Java class will automatically be exported as a Web Service.
Kerberos is a strong, distributed security mechanism that uses encryption and signed “tickets” to allow clients and servers to interoperate in a secure manner.
LDAP is a standard protocol for accessing data in a directory service. Common directory services such as Microsoft's Active Directory and Novell's NDS support LDAP. JNDI can be used to deliver LDAP requests using the LDAP service provider.
A local home interface is an EJB factory interface that returns EJB local interfaces. The local home interface is for use by clients that run in the same server and reduces the overhead associated with remote RMI calls.
A local interface is a business- or data-access interface defined by an EJB that is intended to be used by clients running in the same server. Using a local interface reduces the overhead associated with remote RMI methods. Local interfaces form the foundation for container-managed relationships used by Entity EJBs.
A Message-driven bean is an EJB that processes JMS messages. The bean implements an onMessage method, just like a JMS message consumer. Messages delivered to the associated queue will be passed to the MDB's onMessage method, so the MDB will be invoked asynchronously (the client could be long gone).
Microsoft SQL Server is Microsoft's flagship enterprise database. SQL Server is now part of Microsoft's .NET server range. J2EE components can access data in a SQL Server database through standard data access mechanisms, such as JDBC.
MIME provides a way of defining a multi-part message in which each part contains a different type of data. Within the message, each part has its own MIME header defining the content type of that part and delimiting that part from the other parts. Common uses of MIME include Internet e-mail and SOAP.
Modern distributed applications are defined in terms of multiple tiers. A 3-tier application has three physical tiers containing presentation, business, and data access components. In reality, applications can have many more physical tiers, each of which can be some specialization of the three tiers listed, or as a representation of ultimate clients and data sources. As such, these applications are referred to as n-tier to indicate that there are a variable number of tiers (3 or more).
NDS is Novell's popular directory service, originating from its NetWare family of products.
OASIS is a non-profit, international consortium that creates interoperable industry specifications based on public standards, such as XML and SGML. OASIS is one of the sponsors of ebXML.
An OODBMS provides persistent storage that supports the OO paradigm so that data definition can be done in terms of classes, inheritance, and methods. Data retrieval can be performed in terms of object instances in contrast to record sets.
Oracle produce several J2EE-related products. The Oracle database can be used as an enterprise-class data store as part of a J2EE application. The Oracle application server is itself a J2EE application server that can host a J2EE-compliant application. As you would expect, this gives performance and functionality benefits when combined with Oracle's database.
An ORDBMS provides an OO mapping on top of a traditional relational database. This means that the developer can work in terms of objects and classes, and the ORDBMS takes the responsibility for mapping these classes and objects to the underlying database tables.
A pattern is a solution to a problem in a given context. Patterns commonly occur in software design and architecture. By using patterns, designers and architects can improve the quality of the software and systems they produce.
POP defines a way for an e-mail client, such as Eudora, to retrieve messages from a mailbox maintained by an e-mail server. All messages must be downloaded before they can be examined or read.
The presentation layer is a term used to refer to the logical layer containing the interaction with the user of the application. For a Web-based application, this typically means the generation of HTML or XML by servlets and/or JSPs. For an application client, the presentation is typically done through a Swing GUI.
The set of machines on which the presentation components execute in an n-tier or 3-tier application.
The business or data access methods exposed by an EJB are referred to as its remote interface. The interface extends the RMI Remote interface, indicating that it is to be used outside of the current virtual machine. Each EJB has one remote interface, and this is the type returned by finder and creator methods on the EJB's home interface.
A remote reference is an object reference that refers to a remote object. The method calls made through the remote reference will be propagated to the remote object using RMI. In J2EE terms, a remote reference will usually refer to an EJB or its home interface and will be retrieved from a finder/creation method or through JNDI, respectively.
RMI is a Java-based, object-oriented RPC mechanism. All communication with EJBs in a J2EE application is done via RMI (except for Message-driven beans). RMI defines a syntax and mechanism for accessing remote Java objects and also for passing serialized Java objects between client and server.
RMI-IIOP defines a way that RMI RPC calls can be carried over the CORBA IIOP transport. This allows for interoperability between different J2EE application servers as well as between RMI clients and servers and CORBA clients and servers.
An RPC is a method call that spans processes, frequently across a network. A client-side stub (or proxy) and a server-side skeleton (or stub) will make the issuing of RPCs look similar to a local method call.
SAX was defined by members of the XML-DEV e-mail list (and formalized by David Megginson) as a way of processing XML in Java. The SAX API is event driven, notifying the Java program as XML elements and content are encountered. SAX is generally regarded as lighter-weight than the DOM API and is delivered as part of JAXP.
A servlet is a Web component that is written entirely in Java. Servlets have a defined lifecycle and allow Web developers to consume (most commonly) HTTP requests and generate responses. Responses can be in the form of HTML, XML, or any text or binary format.
Session EJBs are intended to house business logic and processing in a typical J2EE application. Session EJBs will provide business services to the presentation tier and will use Entity EJBs, connectors, or direct database access to retrieve business data.
Session EJBs can be either stateful (they retain state between invocations) or stateless (state is not retained between invocations).
SGML is a forerunner of both HTML and XML. It is a very flexible general purpose markup language that, like XML, can be used to mark up any form of data. However, its flexibility leads to it being somewhat unwieldy. The originators of XML intended to keep much of the flexibility of SGML while deriving a simpler syntax.
The SMTP standard defines how e-mail servers send messages to each other. SMTP forms the backbone of the Internet e-mail delivery system.
SOAP is an XML-based, de-facto standard for the encoding of XML-based messages. The messages can be intended as method names and parameters for a remote procedure call, or as an XML-encoded message to be processed and potentially passed on. SOAP is used as the underlying transport for all Web Services. SOAP is being formalized under the auspices of the W3C.
SOAP-RP is an evolving standard that adds the ability to route SOAP messages. The original SOAP specification only dealt with SOAP messages sent between two parties. A fully-functional messaging system should be able to support multi-hop messages. This is the intention of SOAP-RP.
SQL is a language used to create, update, retrieve, delete, and manage data in a relational database. SQL statements are defined from simple selection of data through to the invocation of parameterised stored procedures. Although the core SQL statements are standardized, some vendors provide their own extensions.
SQLJ defines a way of embedding SQL statements in Java code and, as such, is an alternative to the use of JDBC. SQLJ also defines how Java code can be used to create stored procedures. SQLJ is a vendor-independent initiative. More information can be found online at http://www.sqlj.org.
SSL defines a standard way of using encryption across a sockets connection. This includes authentication of the server (and optionally the client) using digital certificates, and the exchange of encryption keys. SSL is commonly used as the basis for transporting secure versions of higher-level protocols, such as secure HTTP (HTTPS).
Sybase is one of the major server vendors. Their products include the Adaptive Server database and the EAServer application server.
A tag library defines a set of XML-compliant tags that can be used as part of a JSP. Each tag is associated with a particular piece of Java code. When the JSP processor encounters one of these tags, it will invoke the associated Java code. The Java code may generate new content, or it may perform other tasks such as looping or access to J2EE resources.
The Tomcat servlet engine is an open-source Java implementation delivered by the Apache Foundation. Tomcat (and the associated Jasper JSP engine that is delivered with it) have formed the reference implementation for servlets and JSPs. Tomcat can run as a standalone server, or it can be plugged into most Web servers, including the Apache Web Server.
UDDI is one of the main technologies used for registration and discovery of Web Services. UDDI defines a set of SOAP messages that can be used to access XML-based data in a registry. It also defines a registry information model to structure the data stored and make it easier to search and navigate.
UDDI4J is a Java-based API from IBM that provides Java wrappers for the UDDI SOAP messages. This API fills the same role as JAXR.
UML defines a largely diagrammatic language for capturing system requirements and expressing system design in object-oriented terms. UML diagrams are commonly used to illustrate class relationships and object interactions. UML was created from a merger of previous OO methodologies, including Booch, Jacobsen, and OMT.
A UML class diagram represents a domain entity of some form that has usually been discovered by analysis. This entity can represent information, functionality, or both. An example would be a Customer class that had attributes and functionality associated with the role of a customer. Class diagrams can also be used to represent the relationships between different classes in a system.
A UML collaboration diagram is a way of showing interactions between objects at the same time as showing the relationships between the objects. It combines some of the features of a class diagram with some of the features of a sequence diagram.
A UML component diagram shows the components in a system and their dependencies.
The term “UML interaction diagram” refers to any one of several forms of UML object-based diagrams that show the interactions between objects, such as sequence diagrams.
A UML sequence diagram shows the interactions between two or more objects over time. Each object is represented by a “swim lane” down the page, and messages are shown passing to and fro.
A URI is a string-based name for an abstract or physical resource. The URI specification defines how specific resource identifiers, such as URLs, should be formatted. If you like, a URI is the “abstract base class” of other resource identifiers, such as URLs.
A URL is a string-based name for identifying a resource available across the Internet. An absolute URL begins with the protocol (http), then a colon (:), and then the specific address using that protocol. This usually contains a hostname, a relative path, and possibly other components. An example of a URL is http://java.sun.com.
The W3C is a vendor-neutral body created in 1994 by Tim Berners-Lee to lead the development of common Web protocols. The W3C has more than 500 Member organizations from around the world.
WAP is a standard protocol for transporting data between a mobile device and a server. Most WAP servers take the form of gateways that provide onward access to Internet resources. The WAP protocol layers take the place of TCP/IP, and are designed to allow for the unpredictability of mobile connectivity.
A WAR file is the unit of deployment for one or more Web components. A WAR file is a JAR-format file that contains servlets and/or JSPs together with deployment information and additional resources required by the component.
A Web application provides functionality accessible over the Web, usually from a Web browser. A Web application can be delivered in a WAR file and deployed under a compliant Web container.
A Web component is a unit of functionality that forms part of a Web application or Enterprise application. A Web component consists of one or more JSPs and/or servlets together with deployment information and additional resources required by the component. A Web component is deployed into a Web container that controls its access to resources and its lifecycle.
A Web container provides services, such as access control, resource access, and lifecycle management for one or more Web components.
A Web Service is a programmatic interface for functionality accessible using Web protocols. Web Services are accessed over SOAP and may be registered in Web Service registries, such as UDDI. The functionality of a Web Service is usually defined in terms of WSDL.
A Web Service registry is an XML-based repository for information about Web Services. Service providers will register their services in such a repository and clients will search for required services there. Examples of Web Service Registry standards include UDDI and the ebXML Registry and Repository standard.
An XML document is said to be well formed if it obeys certain rules regarding structure laid down in the XML standard. XML documents that are not well formed cannot be manipulated by XML tools, such as parsers, and will generate errors when processed.
WML is a markup language, similar to HTML, that is targeted at mobile devices. Due to the limited nature of most mobile displays, WML is far less feature-rich than HTML. WML documents are delivered to mobile devices over WAP.
WSDL is an XML syntax for describing a Web Service interface, the protocols through which that interface can be reached, and the location of one or more servers that implement the interface.
WSDL4J is a Java-based API for WSDL manipulation defined by IBM. This API occupies the same role as the forthcoming API for WSDL being defined by JSR 110.
Xalan is an open-source XSLT processor from the Apache Foundation that is written in Java and is accessible from Java. Xalan supports the TrAX API for Java-based XML transformations. Xalan is used by the JAXP reference implementation as the basis for its XSLT transformation support.
Xerces is an open-source XML parser from the Apache Foundation that is written in Java and accessible from Java. Xerces supports the SAX and DOM APIs and is very popular in the Java community. It is likely that Xerces will soon be merged with Crimson to create a single Apache XML processor.
XML is a tag-based syntax for adding information into text documents. XML does not define any specific tags, rather it defines the structure and conventions to be used by custom tags created for a variety of purposes. XML documents consist of a set of elements (delimited by opening and closing tags) and optionally attributes on those elements. The XML specification is defined and maintained by the W3C.
The XML Schema standard defines an XML grammar that can be used to define the contents of an XML document. An XML schema can define the data types expected, sequencing of XML elements, the presence and values of attributes, and so on. XML schemas are associated with XML documents using namespaces.
A valid XML document is a well-formed XML document that conforms to a particular DTD or XML Schema. A parser can be asked to validate an XML document against a DTD or schema and will generate errors if the structure checking fails.
The W3C XPath standard describes a syntax for selecting parts of an XML document. XPath is used by XSLT to identify which parts of the source document are to be transformed by a particular rule.
The W3C XPointer standard describes how a fragment of an XML document can be identified using a URI combined with XPath syntax. This is similar in concept to an HTML-based URL that includes an anchor (for example http://www.tempuri.org/usefulfacts.html#WEBSERVICES) to locate a specific part of the document.
The W3C XSL standard covers both XSLT and XSL-FO. Originally, there was intended to be a single XML-oriented style sheet language (such as is the case with the Cascading Style Sheet Language for HTML), but two distinct elements of functionality were identified (transformation and rendering), so two separate standards were spawned.
XSL-FO defines a set of XML-based formatting objects that can be used to render a document. XSL-FO is a more generic rendering format than, for example, HTML, and can be used on a wider variety of devices and applications.
XSLT is a declarative language and processing model used to convert one dialect of XML into another dialect of XML (or some other text-based format). XSLT is frequently used when importing or exporting business documents in XML format.
3.15.137.75