Title: Session Number: 6
1Internet Supply Chain Management ECT 581
Winter 2003
Session Number 6
- Session Date February 11, 2003
- Session Outline
- Administrative Items
- Session Topics XML (continued), Middleware
- XPath, XHTML
- Demos/Application Examples
- Emerging XML Trends
- Middleware Overview
- Message-oriented Middleware
2Administrative Items
- Midterm Exam Preview
- Project Info
3What is XPath?
- XPath stands for XML Path Language. It is a W3C
standard. - Provides syntax for locating specific parts of
an XML document. - Not a structural language like XML, it is
string-based instead. - Used by other XML technologies like XSLT
XPointer. - Views XML document as tree structure consisting
of 7 node types - This tree structure is similar to DOM.
- Defines a library of standard functions for
working with - strings,
- numbers, and
- Boolean expressions.
4XPath Example
XPath Expressions
/catalog selects the root element /catalog/cd
selects all cd elements /catalog/cd/artist
selects all artist elements of all cds in the
catalog. Note / in XPath expression
respresents absolute path to element. If the path
starts with two slashes ( // ) then all elements
in the document that fulfill the criteria will be
selected (even if they are at different levels in
the XML tree).
5What is XHTML?
- XHTML stands for Extensible HyperText Markup
Language - XHTML is aimed to replace HTML.
- XHTML is almost identical to HTML 4.01.
- XHTML is a stricter and cleaner version of HTML.
- XHTML is HTML defined as an XML application.
- An XHTML document consists of three main parts
- the DOCTYPE
- the Head
- the Body
- A brief example
lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN" "http//www.w3.org/TR/xhtml1/DTD/xhtml
1-strict.dtd"gt lthtmlgt ltheadgt lttitlegtA brief
examplelt/titlegt lt/headgt ltbodygt ltpgtIt cant get
any simpler than this.lt/pgt lt/bodygt lt/htmlgt
6XML Schema An Alternative to DTDs
- XML Schema
- Used to define building blocks of XML document.
- Similar to successor to DTD.
- Supports data types, uses XML syntax.
- can be parsed and used with any XML-aware tool.
- can be browsed with any XML-aware browser (DTDs
cannot). - can be edited with any XML-aware editor (DTDs
cannot). - can have machine-readable documentation (DTDs
can't). - can be used to give a list of attributes and
their types to support editing. - can be used to give a list of possible children
for any element, to support authoring.
7XMLs Major Processing Roles
- Mechanism for standardized data interchange (re
Internet-based EDI). - Medium for temporary or persistent storage of
objects. - Method for exposing info context in data query
search engines. - Means to separating structure, formatting, and
raw data for browsing display purposes. - Method to invoke local or distributed processes
(re passing network messages).
8XMLs Major Processing Roles Interchange
Standard
- Variety of vertically-oriented dialects w/
specialized DTDs. - ebXML
- RosettaNet
- cXML
- XDDI
- XML Schema extends DTDs precision .
- XSLT enables mapping, filtering of disparate
XML documents.
9XMLs Major Processing Roles Storing Objects
- XML is emerging as a general programming
utility. - Projected use as mechanism for creating
distributed processing web services. - XML-based SOAP, WSDL, and UDDI vital cogs in MS
distributed processing strategy. - SOAP (Simple Open Access Protocol) offers
protocols for document interchange. - UDDI (Universal Description, Discovery,
Integration) offers a phonebook for discovering
Web Services. - WSDL (Web services Description Language)
provides XML definition of Web Service objects
schema. - BizTalk is MS enhanced implementation of SOAP.
- SOAP mechanisms based on plain text open for
ready perusal. - Critical security concerns remain with SOAP ,
thus, with BizTalk.
10XMLs Major Processing Roles Knowledge
Management
- XML technology databases are at the core of
knowledge management (search assemble) systems
development. - XML has advanced state of the art metadata
interchange knowledge discovery. - XMI (XML Metadata Interchange definition)
enables vendors to interchange data between
modeling systems through tagging. - (Theoretically) XSLT will not be required.
11Evolving Trends RosettaNet
- An independent, self-funded, non-profit
consortium dedicated to the development and
deployment of standard electronic business
interfaces. - RosettaNet is developing a common language that
would allow companies to more freely share
product manufacturing, distribution, and sales
information. - Rosetta Net's 12 PIPs (Partner Interface
Processes), let users define in
an XML document activities controlling every
aspect of an e-commerce transaction between
trading partners, primarily in the computer
industry. - PIPs provide a way, through XML, to integrate
business processes among companies, making it
possible to automate more of a transaction. - More than 250 companies representing over 1
trillion in annual information technology and
electronic components revenues currently
participate in RosettaNet's standards
development, strategy and implementation
activities. - Board members include Cisco, Dell, 3Com, FedEx,
HP, IBM, Intel, Lucent, Netscape, SAP Toshiba,
UPS, to name a few reputable companies.
12XML-based EDI
- EDI works by interconnecting systems using
document-based coupling, which interchanges
messages (files) that can be read by the
retailers' and suppliers' legacy systems without
actually interfacing their applications. - Using EDI, a purchase order, an advance shipping
notice, or an invoice can be turned into an
unique message and transmitted between companies.
- Where EDI falls down is in the very
document-based messages that allowed for quick
response prior to the rise of the Internet. - These messages do not allow for interactive
searches or collaboration, they are also less
immediate than connecting online.
13XML-based EDI (continued)
- XML, which is heavily used in B2B, can be
integrated with existing EDI systems by providing
forms that can be completed to generate EDI
messages. - XML can also reverse the process and take data
received via EDI and translate it into a document
that can be viewed on a standard Web browser. - XML/EDI provides a standard framework to
exchange different types of data -- for example,
an invoice, healthcare claim, project status.
Information can be searched, decoded,
manipulated, and displayed consistently and
correctly be it information - in a transaction,
- exchanged via an Application Program Interface
(API), - transmitted via web automation,
- stored in a database portal,
- located catalog,
- residing in a workflow document or.
- a message.
14XML-based EDI (continued)
- Six Reasons to Consider XML-based EDI
- It is based on industry standards
- It allows for presentation, application logic,
and data to be contained in one document as
defined by the author(s) - It is an evolution rather than revolution
approach... builds upon and interfaces with
legacy EDI systems - It is a unified structure for batch,
interactive, forms-based, and real-time
exchanges - It provides for common tagging for accurate
interpretation of business objects in documents
objects can be multimedia EC components - It allows for the use of existing
document-centric tools in addition to database
facilities to manipulate, store, search
transactions
15XML-based EDI is the fusion of five technologies.
- XML - XML tokens and frameworks are the syntax
that transports the other components across the
network. XML tokens replace or supplement
existing EDI segment identifiers. - EDI The ability to express data in a simple
format and send it to someone else so they can
interpret the information they have just
received. XML/EDI provides 100 backward
compatibility to existing EDI transactions, while
moving EDI forward to the next generation. - Templates - Templates are referenced or travel
along inside the XML as a special section and set
of tokens, and can be easily read and
interpreted, they look rather like a spreadsheet
in layout and content and they are supplemented
by what XML calls Document Type Definitions
(DTD's). - Agents - Interpret the Templates to perform the
work needed, and also interact with the
transaction and the user to create new templates
for each new specific task, or look up and attach
the right template for existing jobs. - Repository - This component provides the semantic
foundation for business transactions and the
underpinning that the software Agents need to
correctly cross-reference entities. Referred to
as Shared Internet Dictionaries.
16XML-based EDI (continued)
- An Example
- Using XML, a vendor's catalog could be married
into a retailer's merchandise database. - Flipping the XML around, the buyers can order by
SKU, style/color/size, or whatever other method
they prefer, and have their purchase orders
translated into the part number information
needed by the vendor. - The advantage and benefit allowing users to work
in the method that makes the most sense for them.
17Middleware Overview
- Middleware Benefits
- Isolates business logic from the communications
logic. - Manages system risk by isolating complex
communication services in fewer, proven modules. - Reduces development time and can reduce overall
solution cost. - Provides additional flexibility and functionality
then point-to-point solutions
18Middleware Overview (continued)
- Typical Middleware Services
- Simplified Application Programming Interface
(API) - Portability/Scalability
- Location Transparency
- Data Translation
19Middleware Overview (continued) Typical
Middleware Services
- Simplified Application Programming Interface
(API) - Middleware insulates application developers from
the low level APIs of the underlying transport
protocols. - Communications protocol interactions, flows, and
specifications are handled by the middleware
logic and presented to the application developer
via a simplified, high-level API. - Portability/Scalability
- Middleware should isolate the business
application from differences in the underlying
system software and APIs. - Changes in architecture such as physical network
(e.g. migrating from Token-Ring to Ethernet),
protocol (e.g. migration from APPC to TCP/IP), or
operating system (e.g., migration from OS/2 to
NT) should not require application rewrites.
20Middleware Overview (continued)
- Location Transparency
- The client process requesting a service requires
no knowledge of the physical location of the
machine on which the server processes are
running. - Middleware can map the alias of the service
called to a physical location for that service. - Changes can then be made in a central
location(s) to avoid recompilation and
distribution of software if resource locations
change. - Data Translation
- Data translation issues include data
representation (ASCII vs. EBCDIC character data),
data alignment (use of short word vs. long word
boundaries) and language differences (C expects
character strings to be null terminated, while
other languages do not). - Some translations may be provided by the
middleware vendors.
21Middleware Overview (continued)
- Messaging and queuing are concepts that have been
around for a long time. - Queued messaging allows asynchronous
interoperations between two applications. - The applications can be on the same or different
computers, even with different operating systems.
- Basic Message Oriented Middleware provides a
common API across platforms without regard to
communications protocol.
22Middleware Alternatives
- Message-Oriented Middleware (MOM)
- Database Gateways
- Object Request Brokers (ORBs)
- Data Replication
- Function-based (RPC-based) Middleware
- (Distributed) Transaction Processing Monitors
- Point-to-Point
23Middleware Alternatives (continued)
- Message-Oriented Middleware (MOM) - A set of
software level services that allow processes on
the same or different platforms to exchange
information using discrete control and data
messages. - Database Gateways - Gateway products provide the
ability to access data on other platforms as if
it were local, transparent to the source datas
physical environment and structure. - Object Request Brokers (ORBs) - ORBs support the
distribution of objects across an enterprise. - Data Replication - Technology that supports
periodic synchronization of remote databases,
bringing copies of the source data to the sites
that need it, in a format that they can process.
24Middleware Alternatives (continued)
- Function-based (RPC-based) Middleware - A set of
programming services that extend the familiar
procedure call mechanism across the network. - (Distributed) Transaction Processing Monitors -
Distributed TP monitors are similar to RPC tools,
but allow RPCs to be grouped into transactions,
providing increased support for commit and
rollback processing. - Point-to-Point - Point-to-Point is the
implementation of simple file transfer and custom
application interfaces on a per interface basis.
25Message-Oriented Middleware (MOM)
- Message Passing
- The direct exchange of information between a
sending and a receiving process. - Requires the sending and the receiving product
to be available and connectable at message
transmission time. - Can be synchronous or asynchronous.
- Message Queuing
- Queues are used to support store-and-forward
processing. - Inherently asynchronous.
- Common uses
- Triggering events at remote locations or in
external applications. - Notifying users when something of interest to
them occurs. - May be used in conjunction with remote data
access to tell application data is ready for it
to retrieve. - Primary Message Queuing MOM technology
resource available to ECT 581 is Microsofts MSMQ.
26Message-Oriented Middleware (MOM) Process Overview
- Message passing is often two way.
- Normally a response or reply message will be
passed in a queue designated for the purpose. - Most queuing software allows for message
association and prioritization as well as the
ability to commit or roll back a unit of work. - Asynchronous message offers a way to work with
up-to-date data without being locked into time
dependent relationships that may be difficult to
control.
27MOM Message Passing
- Can be synchronous or asynchronous.
- Program-to-program communication between a single
sender and a single recipient. - Distributed TP monitors use message passing to
coordinate logical units of work. - Requires the sender and recipient to be available
and connectable at message transmission time. - Many message passing products support
transparency with respect to the location and
platform of recipient (routing). - Usually an intermediary is required to provide
transparency with respect to number of recipients
(broadcasting).
28MOM Message Passing (continued)
- Product Examples
- TIBCO SmartSockets
- Provides real-time messaging using industry
standard protocols. Also provides APIs and class
libraries enabling applications to distribute and
exchange info in a timely manner. Offers
out-of-the-box publish-subscribe communications
model. - Sybase Open Client/Open Server
- A set of libraries that enables the creation of
an RPC-based application server that behaves like
a Sybase database server. OC/OS is very flexible,
but comes without many of the features (such as
management and monitoring) that are common in
other implementations. - Native APPC
- A number of gateway products exist that provide
APPC support in client/server environments, such
as IBMs Communications Manager, Microsofts SNA
Server for NT, Open Connect, etc.
29MOM Message Queuing
- One process writes data to a queue, and is
unaware who reads from the queue. - Inherently asynchronous.
- Queues may be persistent, supporting guaranteed
delivery of messages. - Common uses
- Triggering events at remote locations or in
external applications. - Notifying users when something of interest to
them occurs. - May be used in conjunction with remote data
access to tell application data is ready for it
to retrieve - Example publish/subscribe metaphor often used to
support decoupling of producers and consumers of
data.
30MOM Message Queuing (continued)
- Product Examples
- IBM MQ Series
- Middleware products that provide asynchronous
program to program communication. MQ Series
allows data to be passed between mainframe
applications, local server-based applications,
and PC programs. Multiple programs can access a
single queue, although only one application can
read any given message (no broadcasting). MQ
View, which will provide management capabilities
to MQ Series, is currently under development. - Microsoft MS MSMQ
- Similar to IBM MQ Series in functionality. Comes
free with Windows 2000 and Windows XP. - Oracle Advanced Queuing
- A database-integrated message queuing product.
Is a component in the Oracle 9i Database product
suite.
31MOM Alternatives Vendors (not previously
mentioned)
BEAs MessageQ (www.beasys.com) Ionas OrbixTalk
and OrbixNotification (www.iona.com) Modulus
InterAgent Toolkit (www.modulus.com)
32MOM Application Examples
Loan processing application - sends messages
through MOM to credit bureaus and other systems
as it gathers information to complete the
processing of the loan. Customer service
applications obtains customer information as it
gathers relevant product or service
info. Commercial transaction support credit
authorization check for a variety of commercial
retail and wholesale transactions.
33Next Session Highlights
- Midterm Exam
- Middleware (continued)
- Next Session Reading Assignment
- Web sites (linked thru the class notes web site)
- Message Oriented Middleware
- Microsoft and IBM Duke It Out for
Message-Oriented MiddlewareSupremacy