Industrial IoT Authors: John Worthington, Elizabeth White, Dalibor Siroky, Liz McMillan, Stackify Blog

Related Topics: Industrial IoT

Industrial IoT: Article

Designing an Attribute Search Engine for B2B Negotiations

Designing an Attribute Search Engine for B2B Negotiations

More and more companies are building B2B systems to conduct business on the Internet. These systems are different from catalog-based B2C Web sites. Among other things, B2B systems usually need to provide stronger negotiating capabilities.

XML documents are flexible and self-explanatory and are now the preferred solution for B2B information exchanges. A good application of the technology is to use XML files as workflow documents to convey the attributes in trading negotiations. We found that while XML documents are flexible and easy to understand, searching information from such plain text files is difficult.

A B2B trading system needs both flexible negotiations and convenient query capabilities. We designed an Attribute Search Engine (ASE) for XML trading negotiations using Java EJBs and a relational database (RDBMS). It's based on the generic concepts we distilled from the use of attributes and enables powerful data searches for XML attribute documents. The resultant system has the strength of both sides and delivers the functions needed in a practical B2B system.

The attribute concepts we established are generic. The engine can be applied many other places.

ASE and XML Complement Each Other for E-Negotiations
Trading negotiations is a workflow process. Workflows typically have act- ors that process some documents in a certain sequence. A buyer and a seller may take turns processing a negotiating document before an agreement is made.

In e-commerce negotiations the parties need the flexibility to use various attributes in a workflow document to describe their commodities and terms. We conclude that implementing those documents with XML text files is better than the conventional RDBMS tables. First, relational tables have a finite number of predefined data entities. In negotiations many new things may come up dynamically. It's impractical to predefine them. Second, relational tables usually require high data integrity for transactions as they tend to have tight data constraints among one another. Negotiating documents should be loosely composed with fewer data restrictions. Third, with normalized data, the content of one document is often scattered in a number of tables in RDBMS. The danger of unintentionally changing historic data is greater. XML is effective in modeling document-oriented trading processes because the negotiating parties can add conditions/attributes at will to the same self-explanatory document with greater flexibility. Buyers and suppliers may pass around an XML document in a negotiation until a deal is reached. After the deal they can simply archive the XML as a single file, hence the information is retained independent of other variables.

XML shines in its flexibility; however, we soon found one of its shortcomings. Compared to querying data in RDBMS, searching information from a pile of XML files is difficult because data is stored in display strings rather than its native data types. Also, opening a number of XML files and parsing them is expensive. It's even harder to search through XML documents with compound attribute value constraints. As a simple example, the date string "5/17/1997" in an XML file is meaningful to human eyes, but our computers can't tell whether it's before or after another date value.

RDBMS is good at searching data with SQL. EJBs can connect to RDBMS using JDBC and provide flexible and consistent APIs for search engine clients. In the above example when the date is stored in Date type in RDBMS, ASE EJBs can easily compare it to other values using SQL.

Searching and analyzing trading details is important in B2B e-commerce. The trading service provider (TSP) can use the information to provide more personalized services. Buyers and suppliers can leverage the information to improve their business. For instance, a hammer manufacturer may ask this question for marketing its products: Which buyers purchased hammers in the size range x1 to x2 last year? This is a tough question for people who deal with tons of XML files. But a simple query call to the ASE can provide the answer.

Our attribute search engine is built to complement the functions XML offers. It stores those negotiating attributes into RDBMS in their native data types and makes information searches easy. In the following sections we focus on presenting the design of the ASE. First, we introduce the basic concepts we established regarding the use of attributes - the foundation of the ASE.

Basic Attribute Concepts
Entity Type
Anything that can be a target of descriptions is called an entity. An entity has its position in a taxonomy tree, and all entities of the same classification are of the same entity type. It may have a parent and a number of children. For example, hammer entity type may be a child of the hardware tool entity type.

Attribute Type
We call those name/value pairs that describe an entity type attributes. A type of attribute is uniquely identified by its name, and it may have metadata to help describe its use.

Attribute Instance
When the same type of attribute is used in several places, each of its occurrences is an instance of that attribute. Those instances share the same static information of that attribute type.

Entity Specification
We usually use a set of attributes to describe the entities of an entity type. The entity type and the set of attributes together are called an entity specification.

Attribute Carrier
An entity specification may be used in different places. The object that uses an entity specification is called an attribute carrier. For example, a purchase order that has an entity spec for hammers is an attribute carrier.

Attribute Carrier Type
Carriers have different types, such as purchase order, request for bid (RFB), and bid item.

Designing a Searchable Attribute Repository with RDBMS
An important approach to using the powerful SQL queries for XML text attributes is to store attribute values in their native data types in an RDBMS. As stated in a previous example, we can't query date values effectively if they're stored in a text format. In our RDBMS table design we separate attribute value tables from other attribute information and further split them into a number of data-type tables.

Metadata is used to describe those attributes. Frequently used metadata, such as the data type of the attribute value, is stored with the attribute. Most other information, such as the options of attribute values, the default value, and so on are stored in metadata tables.

We take XML documents as the primary source of the negotiation information. The attribute engine doesn't intend to record all the information in an XML document; it only records attributes that are useful for data searches.

We've provided brief descriptions of several key tables for ASE (see Tables 1-5).

Designing the Attribute Search Engine Server with EJBs
ASE Server runs on top of the attribute RDBMS. We implemented it with EJBs and JDBC. ASE provides Java remote interfaces for its client systems, such as the trading system, to store and search attributes. Each client system supplies its defined entity type, attribute carrier type, and attribute carrier ID while storing attributes to the ASE. ASE doesn't need to know their meanings. Only the client application knows how to search them and how to interpret the search results. In this way the engine can serve multiple applications.

ASE uses three attribute Java interfaces as its foundation. The attribute interface captures the essential behaviors of an attribute type identified by its name. The AttriInstance interface declares the core methods an attribute instance should have. The DataTypes interface defines the five native data types our ASE supports. The ASE EJBs communicate with their clients with the three foundation interfaces. Both ASE EJBs and the client programs can implement the interfaces in their own ways thus making the contract independent of the implementations (see Listing l).

ASE search methods are based on business requirements. In our case most methods are for searching carrier IDs by carrier type and attribute value constraints. Listing 2 shows a couple of search methods we use.

As the construction of the EJBs is not the theme of this article, we omit further details of the software program.

XML and ASE Work Together for Trading Negotiations
Here's an example illustrating how XML and the ASE work together in a trading system.

We assume a B2B trading system has implemented ASE and XML and offers XML product (entity) spec templates to buyers through Web GUI interfaces. A buyer picks the template for "pipe" and then specifies attribute values to its request for bid (RFB). The trading system knows that the entity type is "pipe" and the entity spec carrier type is "RFB." The GUIs let the buyer specify the desired pipe attributes - such as diameters and lengths - on the fly and record them in the plain RFB XML document. When the buyer completes the forms and creates an instance of RFB, the trading system sends the request out to a number of relevant suppliers.

At this point the system knows the entity spec carrier is the RFB instance ID. Several suppliers may be interested in the request, but in most cases no one has a product that meets all conditions. Some suppliers may make modifications to the buyer's initial spec through the trading system's GUIs and send the response with the XML file back to the buyer. The buyer and a supplier can go through several rounds of negotiations by adding and modifying the attributes in the XML document. When they reach a deal and the buyer is ready to issue a purchase order, the trading system parses the XML document, extracts the attributes inside, converts text values to their native data types, and then feeds those attributes together with relevant information (such as entity type, entity spec carrier type, entity spec carrier, etc.) into the ASE. The XML file itself is also archived as historic data.

After a period of time the ASE may have recorded thousands of such transactions. One day, the TSP wants to know what and how many RFBs have been issued for pipes with x diameters and y lengths. The TSP can get the information, which is a list of entity spec carrier IDs, by supplying the entity type ID (pipe), entity spec carrier type (RFB), and those attribute names and values to the ASE.


  • The attribute concepts and principles we established are the foundation of the ASE. They make the construction of a generic ASE possible.
  • We emphasize that XML documents are the primary data source of negotiations. The attribute search engine complements their shortcomings. Therefore, attempting to reconstruct an XML document with data in the ASE is not recommended.
  • A trading system should strive to make attribute names unique. Otherwise XML documents need to provide extra fields to distinguish different attributes with the same names.
  • If there's no standard in attribute names, the trading system should have an alias field that maps to the actual internal name. In design there should be an attribute search service layer on top of ASE. The service layer converts nonstandard data to the internal ASE standard and may also translate ASE search results back to the client's standard. In this way users may choose their own preferred terms in negotiations. From the architecture perspective, ASE and those personalized services must be completely separate. This is the only way to keep ASE stable and robust, hence, the word "engine."
  • The ASE should use a common set of units of measure so that values are easily compared. All data should be converted to their preferred unit values in the service layer before being stored in the ASE.
  • ASE is not only useful for trading attributes; its design supports many other applications. For example, in Web personalization we need to record users' preferences as a number of name/value attributes. The personalization server can simply hook into the ASE to save and retrieve users' preferences.

Searching and analyzing B2B trading details are important to a successful e-commerce provider and its users. While XML offers users flexible attribute negotiations, an ASE makes information search and analysis easy. They work together nicely to provide the capabilities desired in a practical B2B trading system.

More Stories By Mary Xing

Mary Xing is an independent Java/WebLogic consultant and a Sun-certified Java programmer.

More Stories By Stephen Rao

Stephen Rao is a senior engineer at NetworkOil, Inc., an e-commerce company for the energy industry. He has a master's degree in computer science and is a Sun-certified Java developer and architect.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@ThingsExpo Stories
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...