While EDI transactions
account for most
worldwide commercial
activity, XML-based
alternatives are
beginning to gain
traction. According to
Forrester Research,
stateful XML, stateless
XML, and even flat file
exchanges are all
projected to grow at a
faster rate than EDI over
the next few years. The
firm predicts stateful
XML transactions will be
required for a growing
number of B2B
process-oriented
transactions and are
projected to exceed the
growth of EDI
transactions over the
next five years.
The mouse was the
original idea of Doug
Engelbart who was the
head of the Augmentation
Research Center (ARC) at
Stanford Research
Institute. Engelbart's
philosophy is best
embodied, in my opinion,
in the design of another
device that he invented,
the five-finger keyboard
- with keys like a piano,
used by one hand. The
problem was, Engelbart's
five-finger keyboard and
mouse combination was
very difficult to learn.
Many articles have
already been written
about service-oriented
architecture (SOA) and
Service Component
Architecture (SCA), for
example, see references
[1] and [2]. In this
article we'll focus on a
freely available, open
source implementation of
the Service Component
Architecture that
provides a simple way to
implement SOA solutions.
This SCA implementation
is being developed in the
Apache Tuscany Incubator
project. The project
started in 2006 and is
being used by many who
are looking for a simple
SOA infrastructure. The
recent Tuscany SCA
version 1.0, which was
released in September
2007, supports the
Service Component
Architecture
specifications 1.0.
With an XML-capable
service, developers don't
have to make alterations
to enterprise
applications, nor do they
need to create a
completely separate
application to map from
one system to the other.
The faxes are transmitted
to and received from the
Internet fax service as
XML documents, greatly
simplifying handling on
both ends.
Prior to the year 2000,
business was a world in
love with office spaces
and corporate travel. We
traveled to work (the
office) every day. We
traveled away from the
office for customer
meetings, for internal
meetings, for
conferences, for awards
ceremonies. We traveled
because we could and we
believed that it was
necessary for the
competitive advantage.
That all changed rather
quickly with the economic
downturn of the early
2000s and, of course,
9/11. In short order, we
relearned how to do
business by staying put.
Since its inception XML
has at times been seen as
the cure-all for every
problem related to Web
applications and
integration projects.
However, poorly written
XML can either slow down
an integration project,
or worse, cause the
integration project to
collapse.
With the evolution of
XML, the XSL standard
also became very popular
for transforming XML data
to XML, text, PDF, etc.
However there are some
limitations to the XSLT
transformation. Today's
XSLT processors rely on
holding input data in
memory as a DOM tree
while the transformation
is taking place. The tree
structure in memory can
be as much as ten times
the original data size,
so in practice, the limit
on data size for an XSLT
conversion is just a few
megabytes. As a result it
can only handle XML
documents with moderate
size - to be processed as
the full input, DOM needs
to be in the memory for
any XSL transformation.
Corporations have a
tremendous amount of
stored information. On
top of this, new
information is being
created every day. A
small but critical
portion of this
information is stored in
highly structured and
well-defined formats in
relational databases.
However, most of the
information is on paper,
in e-mail, in word
processing documents, in
spreadsheets, in PDF
files, in engineering
diagrams, and so on.
XML Development - the
term can mean many
different things given
the technologies
currently available. At
the center of it all is
XML Schemas, DTDs and
instance documents.
Building out from the
base there's XSL, Web
Services and XQuery just
to name a few. Because of
this, it's not uncommon
for a developer to have
several tools, each
specialized in one of
those technologies.
Stylus Studio, however,
provides an integrated
environment for XML
development with broad
support for the various
technologies. This review
covers its capabilities
in some of the major
areas.
Highly scalable
implementations of
service-oriented
architectures (SOAs)
always include heavy
doses of caching. A
guided tour through the
SOA tiers, describing the
caching and XML
acceleration techniques
employed along the way,
provides the SOA
enterprise architect with
an awareness of
optimization
possibilities applicable
to a Web service
infrastructure.
Consolidating the
acceleration functions in
an integrated appliance
and controlling them via
policies specified by
WSDL annotations
simplifies the
implementation.
Much time, energy, and
commitment are required
to develop and sell
successful software
products and Web-based
services. Most products
of this type are
initially developed for a
specific language and
locale (e.g., U.S.
English). To maximize
return on investment,
products can be
customized so they may be
available to the largest
possible market - the
global market. This
customization process is
known as localization.
Code-generation tools are
capable of significantly
impacting productivity
and are now an essential
part of a developer's
tool set. There are two
categories of
transformation tools:
those whose output is
used by software
components, and those
whose output is used by
developers. With tools
that generate output for
developers, it becomes
important to properly
design the input to these
tools so that the output
is comprehensible and
usable, and the input is
maintainable by
developers. Java
Architecture for XML
Binding (JAXB) is one
such tool that takes an
XML Schema file as input,
and transforms this input
into a Java class model
that is usable directly
by a developer.
In Part 1 of this series
we discussed some of the
key problems of capturing
and sharing information
and in Part 2 we looked
at the critical
components of a solution:
modularization,
automation, and XML.
Moving information from a
database into an
application may be the
most common challenge
developers face. How many
of us make it through
life without meeting
object/relational (O/R)
mapping in some form?
Certainly not too many.
Lately it has become
equally difficult to
avoid XML/relational
(X/R) mapping. Because
XML, and especially XML
Schema (XSD), are
object-like paradigms,
the mapping difficulty is
approximately the same.
However, under the
ever-expanding influence
of XML, the extract,
transform, load process
that gets data from a
database into an
application (and vice
versa) may be about to
get radically more simple
and declarative.
Two somewhat
contrary-sounding drivers
fuel the emerging
renaissance in enterprise
data management -
virtualization and
convergence.
Virtualization is a
framework for dividing up
the resources of an
organization into
multiple execution
environments through the
application of one or
more technologies such as
hardware clustering,
software partitioning,
application
modularization,
emulation, and so on.
Convergence, on the other
hand, tries to bring
diverse information
assets - databases, mail
stores, documents - under
unified management. The
coming Information Grid
unites these opposing
drivers.
Integrating mainframe
applications into an SOA
often carries the burden
of dealing with metadata
in the form of Cobol
Copybooks. This metadata
converted to an XML
Schema format can be
useful for a range of
applications (from
validation to creation of
services). This article
explains how to automate
the conversion from
Copybooks to XML Schema
using regular expression
logic.
Due to the great increase
of data in XML format,
companies increasingly
have to face the issue of
how to manage this data
efficiently. To do this
it is important to take
advantage of XML's
potential, and to
integrate with
applications that access
data stored in relational
database management
systems (RDBMS).
Mae West said, 'When
choosing between two
evils, I always like to
try the one I've never
tried before.' But,
sometimes, when choosing
between two equally
appealing options, the
best policy is to take
both.
WS-ResourceFramework and
WS-Transfer, two new
specifications for
accessing XML
representations of
resources through Web
Services have been
announced.
In part 1 of this series,
we discussed some of the
key problems of capturing
and sharing information -
problems like delivering
information to multiple
types of media, making
updates faster and
easier, and reducing the
cost and time to
translate and publish.
Given those challenges,
what should we do? In
this part, we'll describe
the essentials for
solving these problems,
which include building a
'single source' of
information that
eliminates redundancy,
creating information in
reusable modules, and
automatically assembling
and publishing
information for multiple
audiences and multiple
media. Let's take a trip
through the Wayback
Machine to 1960. You find
yourself responsible for
publishing a technical
manual. You begin the
project by figuring out
what information the book
will contain and
assigning various
sections to subject
matter experts (SMEs).
The SMEs are mostly
engineers, and they write
out their content in
longhand on foolscap. (If
you don't know that
'foolscap' is writing
paper, congratulate
yourself on your youth
and vitality.) The
secretarial pool types
out the handwritten notes
from the engineers. An
editor - that's your job
too - reviews and edits
those typewritten notes
and then sends them back
to the secretarial pool
to re-type.
Will many of the features
in XML Schema be widely
used? In particular, I
agree that it is better
to have an XML language
for specifying document
layout rather than the
DTD language. On the
other hand, I am not sure
that the document layout
should be strongly typed.
The nightmare scenario is
where a customer cannot
place a large order
because an XML document
is invalid.
The Department of Defense
(DoD) Discovery Metadata
Specification (DDMS)
describes the DOD's
preferred approach for
decorating data assets
with metadata. By
providing a common
convention for metadata,
the DoD is building a
common system for asset
discovery, search,
description, consumption,
and security.
How important are data
considerations to
service-oriented
architectures (SOA)
vending Web services?
Consider the following
definition of Web
services from AMR
Research: 'Web services
have been commonly
defined as a standardized
way of integrating
applications using
Extensible Markup
Language (XML), Simple
Object Access Protocol
(SOAP), Web Services
Definition Language
(WSDL), and Universal
Description, Discovery
and Integration (UDDI)
standards.
The Extensible Stylesheet
Language Transformations
(XSLT) specification
provides for morphing XML
documents into other XML
documents. An XML
document can also be
transformed into a format
other than XML such as
HTML or text. An XSLT
processor is required for
an XSLT transformation.
Some of the commonly used
XSLT processors include
Xalan-Java, Oracle XSLT
Processor for Java and
the JAXP XSLT
transformer. A stylesheet
is used to transform an
XML document.
SOAP is an XML based data
protocol standardized by
W3C for the purpose of
enabling
inter-application data
exchange over the
Internet. In a typical
Web Services scenario, a
SOAP message delivered
via HTTP needs to be
parsed before anything
else can happen. As two
popular SOAP processing
methods, DOM and SAX/Pull
force application
developers to choose
between
performance/memory
efficiency and ease of
use.
Enterprise applications
such as banking,
healthcare, and so on
still use flat files to
import/export data
between applications.
Flat files contain
machine-readable data
that is typically encoded
in printable characters.
There is a growing need
for these applications to
interact with XML-aware
applications and Web
services, and to satisfy
this need these
applications must convert
flat file data to an XML
format.
Before the information
age, car manufacturers
only made cars, libraries
only stored books, and
newspapers only printed
the news. Now, however,
companies from all
industries are realizing
that in addition to what
they do, they are also
publishers, and there is
a learning curve.
Programming techniques
continue to evolve, and
with evolution comes
opportunity. The success
of the Web, in
conjunction with the
demand for rich clients
and rapid development,
has spawned a new
generation of declarative
languages. XUL,
Macromedia's Flex,
Microsoft's XAML, and
Xamlon, Inc.'s Xamlon Pro
1.1 are designed to
enable rapid, XML-based
application develoment
with access to structured
programming languages for
application logic.
XMLBeans is an open
source XML-Java binding
tool used to generate
Java classes and
interfaces from an XML
Schema. The generated
Java classes may be used
to parse or generate an
XML document that
conforms to the Schema.
Some of the advantages of
XMLBeans over JAXB are
the ability to parse an
XML document and support
for all of the XML Schema
constructs; the
JAXB-generated classes do
not have a parse method
to parse an XML document,
and JAXB does not support
all of the Schema
constructs.
The XML world is driving
new emerging technologies
that can be utilized to
provide solutions to a
variety of problems. This
article focuses on two of
these technologies: Web
services and XQuery. As
separate entities, these
technologies provide a
powerful set of features;
but when combined they
have the potential to
present ever more
sophisticated feature
sets designed for very
specific goals.
Web services represent an
evolution of the original
Web because the Web
becomes accessible by any
program and not just a
browser. The Web is no
longer just a front end
infrastructure for an
often complex Web
enabled-application. An
existing Web site can be
retrofitted to publish a
Web services API,
simplifying programmatic
access to the facility
enormously. This has
happened with well-known
sites such as
www.amazon.com and
www.google.com.
Programmatic access to
Web functionality
encourages building
applications by composing
services.
Are you just beginning to
try to figure out how XML
and content management
can help you wrestle with
your publishing problems?
Are you confused by all
the jargon and acronyms
that the experts are
throwing around? Do you
wish that someone would
clear it all up for you?
If so, then this 4-part
series of articles is for
you.
XML's surface-level
simplicity hides a
deceptively complex
beast. At first glance,
creating an XML document
does not take a lot of
effort. Create some tags,
ensure they are
well-formed, and that's
it. Throw in a DTD or
Schema and now there are
a set of rules against
which the document can be
validated. There is an
innumerable amount of XML
documents created in the
world today in this
manner. And for many
scenarios, this is a
perfectly reasonable
approach.
It is well known that
traversing the XML DOM is
a sometimes difficult and
often tedious task.
Executing code based on
data retrieved from the
DOM is even more complex.
This article will
demonstrate one way to
abstract much of the
logic from this
repetitive task. The
implementation of
patterns is a technique
that is often used to
help simplify and
intellectually manage
projects, and the Visitor
Pattern is appropriate
and useful to help solve
this problem.
Application integration
comes in many forms,
whether it be integration
between components of a
single software system or
integration between
systems. Making use of a
common communications
protocol between
disparate systems allows
for the creation of an
integrated suite of
applications whereby the
combined benefits exceed
those of each of the
stand-alone applications.
Reporting is an important
functionality in software
business applications and
is now increasingly
required for XML data.
Applications typically
generate reports by
extracting relevant
information from a
database.
Citrix Systems, Inc., the
global leader in access
infrastructure solutions,
is one of the top 15
software companies in the
world. Headquartered in
Fort Lauderdale, Florida,
Citrix has offices in 22
countries around the
world and conducts over
half of its business
outside the United
States.
It's virtually axiomatic:
technology innovations
first boost personal
productivity then group
productivity. The PC, for
example, first helped
individuals automate
writing, accounting and
personal organization
functions, then spawned
group productivity
through networks, the
Internet and e-commerce.
The way XML has been
positioned over the last
several years - namely,
as some type of savior
for companies that have
invested in myriad
systems with numerous
incompatible data types -
it makes you wonder why
organizations aren't
adopting any XML solution
they can get their hands
on.
This article looks in
detail at how to generate
XML data from your
relational database.
Although the examples
were run on Oracle, very
little of the code is
Oracle specific. You can
easily use all the ideas
and examples presented
here in other relational
databases. We did this
project at University of
Massachusetts Boston as
part of the Electronic
Field Guide (EFG)
project.
Should emergency
personnel and law
enforcement be called to
the scene of a suspected
chemical warfare attack,
the last thing these
frontline workers will
want to do is wrestle
with incompatible IT
systems. Therefore, the
federal government is in
the throes of linking
databases scattered
throughout the 22
agencies that now make up
the Department of
Homeland Security (DHS),
while tying in the
efforts of state and
local entities.