Web Services, BPEL And
Oracle Data Warehousing
One of the news items I
picked up on earlier this week was around
the release of Oracle's Business Activity
Monitoring ('BAM') feature for Application
Server 10g. From the
amount of articles written about BAM this
is obviously a key product for Oracle, so I
decided to take a further look.
According to
Ephraim Schwartz and James Niccolai for
Infoworld,
"In response to market
demand for more real-time business
information, Oracle announced today it will
offer a BAM (business activity monitoring)
tool, Business Activity Manager, as part of
an upgrade to its application server
software due out in the middle of the year.
The BAM component will
run on the existing Oracle10g Application
server, released at the start of the year,
and on Application Server 10.1.2, due out
this summer. It will not run on earlier
releases such as Application Server 9i,
according to Thomas Kurian, senior vice
president of Oracle Server Technologies.
Included in Business
Activity Manager are the ability to detect,
correlate, and analyze separate events such
as RFID scans, bar code readings, or events
out of an enterprise application or a
supply-chain process event.
Kurian said the the BAM
application is unique in that it can
correlate both traditional historical events
out of a data warehouse with real-time
events."
So Business Activity
Monitoring will be an add-on feature for
Application Server 10g, and looks like it uses
the B2B-connectivity that comes with AS10g.
This would seem logical as a big part of
AS10g's appeal as a middleware platform is
through it's ability to get different ERP and
CRM systems talking together, using
technologies such as XML, SOAP, web services
and so on. Note the RFID scans mention
(current
flavour of the month with Oracle) and the
nod towards integrating current activity with
historical data warehouses, which concurs with
the current Oracle vision of
integrated, real-time data warehousing.
Martin Lamonica for CNET Asia notes that
the introduction of Business Activity
Monitoring is part of a general Oracle
strategy to make money out of integrating
software:
"The introduction of the
new data-gathering software is part of
Oracle's strategy to bring in more revenue
from the business of stitching together
incompatible software. Oracle in January
introduced Customer Data Hub, integration
software sold as a stand-alone product that
uses XML (Extensible Markup Language)-based
protocols called Web services to centralize
information about customers. The company
earlier this year introduced an update to
its suite of server-based transactional
software, called Oracle 10g Application
Server.
Making disparate systems
share information cost-effectively is a
perennial problem for companies and
represents billions of dollars in technology
spending. Kurian said many companies have
already automated several individual
business processes, such as manufacturing or
human resources, by investing in packaged
applications or writing custom applications.
Now, companies are looking to automate
"cross-functional business processes" that
span a number of computer systems, he said."
Customer Data Hub was originally mentioned
by Oracle
back in February this year and is a way of
bringing together data on all trading entities
into a single data store - which is of course
an Oracle database. Customer Data Hub raised a
few eyebrows at the time as it was seen as a
bit of an about-face by Oracle, who up until
then had advocated 'Oracle-only' solutions as
the only way to deliver a successful ERP
project. When you looked at Customer Data Hub
in more detail though, what you actually saw
was infact quite a consistent approach - keep
your third-party ERP applications (Siebel,
Peoplesoft and so on) but use the Oracle
database (via the Customer Data Hub) as your
single store of trading entity data. Business
Activity Monitoring looks to be building on
this approach and directly taking on
integration specialists such as WebMethods,
Tibco and SeeBeyond, in the process
positioning Application Server 10g as the
centre of your ERP framework. In addition, if
you read the CNET Asia article you'll also see
references to something called Business
Process Execution Language, a web services
protocol being championed by Oracle, IBM and
BEA as a standards-based way to integrate ERP
data.
Duncan Lamb
mentions BAM and BPEL in an article in his
(always excellent)
blog:
"CRN
: Daily Archives : Oracle To Update App
Server With Business Activity Monitoring :
2:53 PM EST Thurs., May 13, 2004: "The
BAM data feeds into a central management
console, where it can be correlated,
filtered and subjected to analytics,
according to Oracle. The results can be
viewed on a portal dashboard. "
According to the article, the BAM
capabilities include support for BPEL, which
is coming out the winner in the standards
wars for the "Process Execution" slice of
the
alphabet soup of the SOA. Oracle has not
settled on a standard itself however,
announcing
it will support both BPEL (initially
proposed by MS and IBM) and WS-Choreagraphy.
Thank goodness for both of them, for as the
article says, "Oracle's move brings clarity
to the respective focus of each group."
So what's all this about BPEL?
Well, BPEL is a bit of a hot topic in the
application server and web services world at
the moment, and in
this SearchWebServices.com article it is
defined as
"BPEL (Business Process
Execution Language) for Web services is an
XML-based language designed to enable
task-sharing for a distributed
computing or
grid computing environment - even across
multiple organizations - using a combination
of
Web services. Written by developers from
BEA Systems, IBM, and Microsoft, BPEL
combines and replaces IBM's WebServices Flow
Language (WSFL) and Microsoft's XLANG
specification. (BPEL is also sometimes
identified as BPELWS or BPEL4WS.)
Using BPEL, a programmer
formally describes a business process that
will take place across the Web in such a way
that any cooperating entity can perform one
or more steps in the process the same way.
In a supply chain process, for example, a
BPEL program might describe a business
protocol that formalizes what pieces of
information a product order consists of, and
what exceptions may have to be handled. The
BPEL program would not, however, specify how
a given Web service should process a given
order internally."
From an Oracle point of view,
one of the best places to start learning about
BPEL is Mike Lehmann's
Web services, BPEL4WS, J2EE blog. Mike is
the Product Manager for Oracle's BPEL engine
and has put together a number of articles on
web services and BPEL that you might want to
take a look at to get a heads-up on the
technology. As a starter, Mike's put together
a couple of good articles,
"Who Needs Web Services Transactions?" and
"Oracle Backs BPEL4WS and WS-Choreography",
together with a powerpoint presentation, "BPEL:
Business Processes with Web Services"
which you might want to take a look at.
So, how does this affect us?
In terms of data warehousing and BI, probably
not much at the moment, and it's probably only
going to be relevant to organisations using
Application Server 10g as a kind of 'central
customer data hub' in conjunction with the
latest release of Oracle Applications. In the
long term though, it's another pointer towards
Oracle's vision of pervasive, real-time
business intelligence, that merges current
activity with historical data, and you can see
the Oracle Application Server being a more
central part of this process, using all the
interconnect functionality within the
application server platform to bring the
disparate data together. What this probably
means to someone like me (who's probably more
comfortable using the RDBMS as the integration
engine) is that to stay ahead of the game,
you're going to need to gain a familiarity
with web services, BPEL, XML, SOAP and so on,
as increasingly data warehouse sources are
going to be in this form rather than just flat
files and database links.