XML and Web Services In The News - 19 January 2007
Provided by OASIS |
Edited by Robin Cover
This issue of XML Daily Newslink is sponsored by SAP AG
HEADLINES:
Last Call Working Draft for Voice Browser Call Control: CCXML V1.0
RJ Auburn (ed), W3C Technical Report
W3C has announced a Last Call review for the "Voice Browser Call Control:
CCXML Version 1.0." This release updates the 2006-11-22 draft; the
Last Call review ends 7-February-2007. Call Control Extensible Markup
Language (CCXML) is designed to provide telephony call control support
for dialog systems, such as VoiceXML. While CCXML can be used with any
dialog systems capable of handling media, CCXML has been designed to
complement and integrate with a VoiceXML interpreter. Because of this
there are many references to VoiceXML's capabilities and limitations.
There are also details on how VoiceXML and CCXML can be integrated.
However, it should be noted that the two languages are separate and are
not required in an implementation of either language. For example,
CCXML could be integrated with a more traditional Interactive Voice
Response (IVR) system or a 3GPP Media Resource Function (MRF), and
VoiceXML or other dialog systems could be integrated with other call
control systems. The specification is designed to support for multi-
party conferencing, with advanced conference and audio control. It
provides the ability to give each active call leg its own dedicated
VoiceXML interpreter. For example, in VoiceXML, the second leg of a
transferred call lacks a VoiceXML interpreter of its own, limiting
the scope of possible applications. It supports sophisticated
multiple-call handling and control, including the ability to place
outgoing calls. An Implementation Report Plan is currently being
developed for this specification. The Working Group currently expects
to require at least two independently developed interoperable
implementations of each required feature, and at least one
implementation of each feature, in order to exit the next phase of
this document, the Candidate Recommendation phase. To help the Voice
Browser Working Group build such a report, reviewers are encouraged
to implement this specification and to indicate to W3C which features
have been implemented, and any problems that arose.
See also: the W3C Voice Browser Activity
Building Enterprise Services with Drools Rule Engine
Birali Hakizumwami, O'Reilly ONJava.com
The article provides an example application for "Mortgage Underwriting
Service Using Drools". It shows how the Drools rule engine can be used
to architect an automated mortgage underwriting service as part of an
overall enterprise SOA initiative. The mortgage underwriting case study
can be easily applied to any other business sector other than financial
services (healthcare, telecommunications, etc.) that needs to
externalize a set of business rules as a enterprise service. Using a
rule engine provides a framework that allows a way to externalize
business logic in a common place. This will in turn empower business
users and subject matter experts of the business to easily change and
manage the rules. Coding such rules directly into the application
makes application maintenance difficult and expensive because the rules
change so often. This article goes into detail on how to architect and
build a service that uses Drools to provide business decisions. This
service can be part of the overall enterprise SOA infrastructure. As
such, it can either be a standalone service that is consumed in a one-
to-many model by all contracted consumers, or part of a composite
service that provides a complex business functionality. To illustrate
this point, the article shows how a service using the Drools rule
engine can hide the complexity of automating mortgage underwriting
decisions that a mortgage company needs to make on a daily basis.
Drools is a JSR-94-compliant rule engine that uses Rete, a matching
algorithm developed by Charles Forgy. In the simplest terms, Rete
builds a tree from all the rules to form a state machine. It begins
with facts entering the tree at the top-level nodes as parameters to
the rules, and working their way down the tree — if they match the
conditions — until they reach the leaf nodes (rule consequences). The
article highlights through a real-world example important features of
the Drools rule engine: externalization of rapidly changing business
policies using rule-based programming, runtime evaluation of rules,
and conflict resolution. The article did not cover deployment
considerations or change-management issues.
See also: JBoss Rules Documentation Library
Microsoft, Google Promote Privacy Rights
Steven Schwankert, InfoWorld
Microsoft, Google, and two other technology companies announced that
they will develop a code of conduct with a coalition of nongovernmental
organizations (NGOs) to promote freedom of expression and privacy
rights. The two companies along with Yahoo, and Vodafone Group said
the new guidelines are the result of talks with Business for Social
Responsibility (BSR) and the Berkman Center for Internet & Society at
Harvard Law School. Technology companies have come under fire for
providing equipment or software that permits governments to censor
information or monitor the online or offline activities of their
citizens. The parties involved said that would a framework that would
hold signatories accountable for their actions in the areas of freedom
of expression and privacy rights. The groups participating in development
of the guidelines include: Berkman Center for Internet & Society at
Harvard Law School; Business for Social Responsibility; Electronic
Frontier Foundation; Human Rights Watch; and Reporters Without Borders.
See also: Business for Social Responsibility (BSR)
Public Review of ebXML IIC Deployment Profile Templates Version 1.1
Staff, OASIS Announcement
OASIS announced that the ebXML Implementation, Interoperability and
Conformance (IIC) TC recently approved the Committee Draft
specifications for public review: (1) "Deployment Profile for OASIS
ebXML Business Process Specification Schema v2.0.X; (2) "Deployment
Profile Template v1.1 for OASIS ebXML Collaboration-Protocol Profile
and Agreement (CPP/A) 2.0 Standard"; (3) "Deployment Profile for
OASIS ebXML Message Service 2.0 Standard." The heterogeneous nature
of eBusiness transactions requires a flexible infrastructure/framework
that supports simple service calls and complex document exchange. To
support that goal, the Electronic Business (eBusiness) eXtensible
Markup Language (XML) (ebXML) set of specifications was developed to
enable electronic trading relationships between business partners
and integrate new technologies. Applications: Communicate data in
common terms (Core Components); Register and provide eBusiness
artifacts and services (ebXML Registry Services and Registry
Information Model); Configure technical contract between business
partners (Collaboration Protocol Profile and Agreements); Provide
secure and reliable transport (ebXML Messaging Service); Enable
business processes (ebXML Business Process Specification Schema).
In the realm of eBusiness, key integration patterns and technology
has been realized and will realize SOA benefits in a pragmatic
iterative manner. To promote use of independent yet aligned
technologies, the ebXML IIC has created deployment profile templates
to enable user communities to specify their use of these specifications.
See also: the announcement
Core Components Adoption On the Rise
Mark Crawford, SAP Blog
Implementation, adoption, and public proclamations of CCTS use are on
the rise. In 2006, UN/CEFACT has published the first version of the
UN/CEFACT component library, an expanded version 2 is in final audit,
new implementation libraries are in various stages of development by
a growing number of governments and standards organizations, XML
serializations of core components for specific B2B messages are being
delivered and implemented, and an increasing number of standards
bodies are investigating and/or adopting the methodology. With a
strong basis in OO concepts, CCTS at its core is an implementation
layer of ISO 11179. The ISO 11179 specification proscribes standards
for data design, naming, definition and management. CCTS expands on
these concepts by providing a new paradigm in defining and describing
data for storage, application use, and information sharing through
consistent semantics and a unique context mechanism. Specifically,
CCTS creates syntax and context neutral conceptual data models with a
strong semantic basis that facilitates human understanding and reuse.
The conceptual data model is systematically transformed using the CCTS
rule set into fully interoperable, context-specific physical/logical
data models supporting specific business requirements. The business
use is what transforms data from context-neutral (i.e., Address) to
context specific (i.e., U.S. Shipping Address). The context-specific
models are used to develop fully interoperable syntax specific data
expressions — such as XSD expressions or EDIFACT Messages — for use
behind and across the firewall. By creating standard definitions and
semantics of components, such as names, addresses, and many other
fragments of data, CCTS enables semantic understanding and reuse of
data, regardless of where or how that data is stored, used, or shared.
The reusability feature is expected to significantly reduce the amount
of effort required to transform individual data rollups (e.g.,
messages or models) from one standard to another. For example, it is
estimated that by transforming RosettaNet PIPS into CCTS conformant
structures, the time necessary to map a PIP to SAP IDOC and backend
GDTs will be reduced by upwards of 80%.
See also: UN/CEFACT CCTS
XML Binding Language (XBL) 2.0
Ian Hickson (ed), W3C Technical Report
W3C has released a Last Call review for the "XML Binding Language (XBL)
2.0" specification. While the body of this specification was created
outside the W3C, the W3C Web Application Formats Working Group is now
guiding this specification along the W3C Recommendation track. The
specification defines the XML Binding Language and some supporting DOM
interfaces and CSS features. XBL is a mechanism for overriding the
standard presentation and interactive behavior of particular elements
by attaching those elements to appropriate definitions, called bindings.
Bindings can be attached to elements using either CSS, the DOM, or by
declaring, in XBL, that elements matching a specific selector are
implemented by a particular binding. The element that the binding is
attached to, called the bound element, acquires the new behavior and
presentation specified by the binding. Bindings can contain event
handlers that watch for events on the bound element, an implementation
of new methods and properties that become accessible from the bound
element, shadow content that is inserted underneath the bound element,
and associated resources such as scoped style sheets and precached
images, sounds, or videos. XBL cannot be used to give a document new
semantics. The meaning of a document is not changed by any bindings
that are associated with it, only its presentation and interactive
behavior. XBL has a similar scope to XSLT; the main differences are:
(1) XSLT operates on a static DOM, permanently replacing that DOM for
rendering. XBL, on the other hand, transparently transforms the DOM
for rendering while leaving the underlying structure intact, and
dynamically reflects changes to the underlying DOM in the transformed
rendering. (2) XSLT allows any arbitrary transformation to be performed.
XBL shadow trees, on the other hand, only support reordering of the
bound element's child nodes and interleaving of those explicit children
with shadow content. Arbitrary transformations are not possible in
XBL while retaining the transparent nature of XBL's shadow tree
processing.
See also: the version change logs
Grid Computing: Distributed Graphics Pipelines on the Grid
Ade J. Fewings and Nigel W. John, IEEE Distributed Systems Online
Visualization of large data sets using computer graphics techniques
has become a mainstream requirement for many scientists and engineers.
However, achieving interactive performance when rendering a complex
visualization often requires high-performance computing facilities. At
the same time, the service infrastructure for distributed networks has
produced the third generation of the connected world: the Grid. The
development of Grid middleware such as the Globus toolkit has been
instrumental in supporting a distributed supercomputing infrastructure.
Key developments include information exchange systems and distributed
data handling. Chromium is a general-purpose system for enabling
cluster visualization through a stream-processing architecture. It
supports sort-first, sort-last, and hybrid parallel rendering using
OpenGL (Open Graphics Library) as the underlying language. The jgViz
architecture is designed to be noninvasive, using standard Grid
subsystems and protocols without customization. The overall structure
is essentially a client-server system, with the Grid providing the
middleware to connect the two. Within this structure, jgViz's
components are organized into three areas — the information model,
sequencing and scheduling, and runtime. The gViz project studied
representing such data in skML at three levels: (1) The conceptual
layer loosely explains the structure for visualization and
collaboration; (2) The logical layer maps the concepts to software
entities; (3) The physical layer maps the logical structure to a
Grid environment. skML has been used to integrate Grid resources into
the pipelines of the gViz IRIS Explorer extension. skML, enables
processing to be represented at each of the three layers skML is an
XML application. A particular feature of the approach is the use of
RDF to associate annotations with skML elements, for example to
describe resource constraints. An interactive editor for skML and
prototype tools to use skML with IRIS Explorer and OpenDX are
described. Extension to other visualization systems such as AVS and
VTK is discussed.
See also: http://www.comp.leeds.ac.uk/vvr/gViz/publications/skML_EGUK05.pdf
Improve Thread Performance with the Work Manager API
Ravi Shankar Nair, Adrian Farolan, Narendra Govindu, JavaWorld.com
Suppose we have some startup servlets in an existing Java EE application.
There are 13 different modules in the complete ear file, which is a mix
of war files (Web projects) and jar files (client or utility files).
The existing startup servlet of one module takes about 6 minutes,
because the application caches a lot of data from the database, loads
and instantiates some classes from an XML configuration file, and so
forth. Each Web module has a corresponding startup servlet; two of
those servlets each take 10 minutes to start and then rest 30 seconds;
this happens sequentially, depending on the order in which the
application server loads each Web module. Even worse, when the ear
deploys in a clustered environment of 10 servers, the total startup
time is 200 minutes, taking into account the sequential startup of the
different cluster nodes. Obviously, we need a performance boost. Our
solution is to use the Work Manager API, which eventually reduces the
startup time to less than a minute. Developers can use these high-
performance threads to enhance the speed of startups, logging,
audit-trailing and time-consuming method invocations without
sacrificing core Java EE principles.
XML.org is an OASIS Information Channel
sponsored by BEA Systems, Inc., IBM Corporation, Innodata Isogen, SAP AG and Sun
Microsystems, Inc.
Use http://www.oasis-open.org/mlmanage
to unsubscribe or change an email address. See http://xml.org/xml/news_market.shtml
for the list archives. |