B2BPO Demos - Help

What is "On-Demand Application Integration as a Service?". This Demo software provides an answer without requiring ANY software Install.Utilizing some simple WebForms and a very robust stack of B2BPO's middleware and WebServices, this Demo allows instant construction of a SupplyChain.

CRM Signup

Use "dogtown" and "zboys" when you are challenged for user and password. This is a default user that everyone makes use of for portions of the demo.

Main Topics Menu

Start here by logging in with the "dogtown" user credentials mentioned above. Dogtown has been pre-authorized on subscriptions to several topics in support of the final item in the list below:

View my subscriptions

The DB "subscriptions" table returns a list of subscriptions for a particual user. The list appears in a drop-down control and supports the selection of 1 subscription for the next screen which displays the details of the subscription. Current DB limits display labels to the somewhat confusing systemName of the subscription. Note: the titles in this drop-down are inscrutable. These are actual CDC file names rather than simple labels for the topics that the subscriptions are bound to. The following screen eases confusion because it shows both the systemName and the more familiar topic Name that the subscription is bound to. In the demo case, it is a subscription to "test2"

Subscription Detail

Used mainly to adjust the time period of a subscription, and to RUN the subscription, this screen conveys detailed properties controlling connection protocols used to connect the subscriber to the PostOffice. The Demo only allows the use of the "polling" protocol on the topic with a name of "google". A sample screen on topic "google" is here. See bulleted instructions below for advice on how to run the demo subscription for a period of just 4 or 5 minutes during which you can test an entire supply chain loop of producers and consumers. If the dark green line on the topic you selected in the previous screen  lists a different topic like "test2" then go back to the previous step and try a different selection from the drop-down. When submitted, the application transfers control out of the manage information component into the "process supply chain activity" module. A Run Confirm page comes up, asking you to confirm that you want to Run this subscription.

Launch Java Web Start (JWS)

Clikin  the link to "launch JWS", submits an HTTP request that will require collaboration among the browser, the B2BPO server , the Java JDK or JRE loaded on the workstation where the browser runs. The JWS API from Sun makes possible both the "thin-client" features and the "Software as a Service" features of B2BPO web applications. No installation of client side software is required. Rather, the JWS run-time manages the delivery of any software appropriate to the request for services represented by submission of the previous Web Form. The local JRE's JWS component handles a one-time download of the B2BPO application. Specific software packages delivered in the download depend on the  JNLP File referred to by the link. After the download, subsequent browser requests use a local cache. Depending on the "period" values specified in the previous detail screen, a polling client java application is launched that will submit periodic requests to the Post Office located on the B2BPO server. This client appears in a new console window on your screen. Each Request routes to the WSDL Host Addr from the previous screen.Each request appears in the console with a TimeStamp. The application will stop automatically, subject to the conditions mentioned in "End Subscription" above. Closeing the console window will stop the application. If you get an error in the window  error in the console that says "java.security.accesscontrolexception" see the remedy

Publish a Search

For their familiarity,  Google Searches entered on this B2BPO search form by any B2BPO Demo user provide a convenient simulation for the generation of New Business Data requiring "publication" to a supply chain. Instead of contrived scripts that might generate "Truck Departure" data every 15 minutes or "Order Approval" information that could then be fed to a B2BPO Demo Topic, Google has a good Web Services API that enhances the demo by allowing any B2BPO visitor to generate new SearchResult data for distribution to other Demo participants who have started corresponding Subscriptions on topic of "google". Behind the scenes, B2BPO demo programs ( select ProcessGoogle in Class frame ) store the search result and treat it as "publishable" data under a preexisting topic named "google". The bottom line is that whatever page of results comes back to the browser from Google ALSO goes to Active subscribers on the google topic. Play the download multimedia file listed as help for step #8 for an end-to-end narrative of starting subscriptions and then publishing data to them.

FAQ

  1. Why this is On-Demand Integration as a Service?
  2. Reliable messaging or guaranteed Delivery?
  3. How does the B2BPO Log help assure that message delivery occurred?
  4. How are the Log messages correlated?
  5. How are proxy servers handled?
  6. Installing the Java Virtual Machine
  7. JWS Console is missing

Why this is On-Demand Integration as a Service

By demonstrating the creation of links between computers at different companies and by moving google search data across those links as the searchs are processed covers the application integration part. In contrast to the purchase of traditional technology products, this service is utilized via a browser - no software needs to be purchased, downloaded, installed, or configured during the demo. B2BPO software and infrastructure live on the Web, accessible to anyone with broadband and a browser as they please. Default user and messaging topic definition for the demo was done for you prior to the demo. This Construction of a Virtual Pub/ Sub network for management of distributed google search data  only took a couple minutes. That really is on-demand access to data topics that you "tune in" to or Subscribe to. Publication of data, sitting on the other side of the data distribution equation, is just as quick an excercise as you see in the forms where you submit Google searchs. 

Reliable messaging or guaranteed Delivery

Is there JMS or MQ to assure message delivery and consumption in the B2BPO framework?  Both a long and a short answers exist. Due to the Multi-Protocol aspect of the framework, there are a number of different flavors in the long answer that are beyond the scope of the FAQ.

As is the case in the google search demo, the short answer assumes a single protocol SOAP-RPC is in use by both Publishers and Subscribers. In this scenario, JAX-RPC in SOAP over HTTP guarantees a SOAP Fault will be generated if the message drops in the HTTP layer and architecture for logging described below will report the fault. Recovery is a manual process that involves re-triggering the client along with time-window selection properties for reprocessing of the original list of data needing distribution to subscribers. B2BPO  does not include MQ or JMS or any kind of distributed transactions. It is a lightweight messaging implementation.

How does the B2BPO Log help assure that message delivery occurred?

B2BPO architecture for logging utilizes a queue mechanism and a repository for XML Log Message capable of recording the 5 types of log messages in the list below:
  1. Publishing Client - Marshalls data to be published in a Message with Attachments "Client-fileList-published-on-Topic"
  2. PostOffice - receives Publish requests in SOAP-RPC calls. "message-received-at-PostOffice"
  3. PostOffice - persists attachments from SOAP message.  "PostOffice-persists-fileList-on-Topic"
  4. Subscribing Client - sends message to be updated. not logged
  5. PostOffice - receives Subscription requests in SOAP-RPC calls. "message-received-at-PostOffice"
  6. PostOffice - RPC Response message includes attachments. "PostOffice-forward-fileList-on-Topic"
  7. Subscribing client - writes original data to local FileSystem. not logged
In this end to end messaging scenario, the 7 processing stages along the route from data Publisher to Subscriber are covered by 5 log steps. The correlation of these 5 log records in a dataWarehouse is what assures message delivery.

How are the Log messages correlated?

The sessionID from the upload or Publish side in #2 and #3 log steps above are used like a transaction ID effectively grouping for log reporting purposes, the LIST of files just published on a Topic. Subsequently, any requests by subscribers coming in to the PostOffice on the same topic generate RPC Responses that forward the collection of files. In addition, Log messages corresponding to #5, 6 above will refer to 2 SessionIds the current request Session which is an umbrella for download action AND the original UPLOAD session in which the data was published on the topic. With the attributes supporting the actual message correlation inside the various log records in the warehouse, the correlation is completed by a Reporting Client that can do any kind of sorts on the overall collection of log records in the warehouse. This client must be installed in order to view the archive.

More on B2BPO logging


How are proxy servers handled?

Java Web Start detects presence of proxy and should handle it OK. see proxy instructions and scroll down to "Using Java Web Start Software Behind a Proxy Server". The command line java applications may not connect correctly to WebServices located at the Post Office if a proxy intercepts Web Services calls going out on Http port.


Installing the Java Virtual Machine

Note:  Sun Microsystems maintains the web sites and JVMs mentioned in this section.  Therefore, the instructions provided here for installing a JVM are meant only as a guide and may change without notice.  For more information about Java and installing a JVM, see the information provided at Sun Microsystems? web site.

  1. Go to Sun Microsystems' web site and download the appropriate J2SE Software Development Kit (SDK) for your desired operating system..

    Notes:

    • We recommend that you download an SDK rather than a Java Runtime Environment (JRE).
    • We recommend installing a JVM 1.4 or higher.
  2. Follow the instructions provided on the screens to complete the JVM installation.  Note: If you need additional detail from that which is provided on the screens, refer to
    Detailed Instructions for Downloading and Installing the JVM in Windows or
    Detailed Instructions for Downloading and Installing the JVM in Unix-compatible Environments. 

JWS Console is missing

If the download progresses OK and you answer the 2 security dialogs permitting the application from B2BPO.com to run and then there is no Console window for JWS on your display, then follow these JWS instructions for "show console":
  1. if there is a JWS icon on the desktop use that to start - otherwise
  2. use the run menu to  start JWS:
  3. clik start in lower left
  4. clik run then type "javaws"
  1. this depends on the version java web start ( 1.4.2 or 1.5 beta )
  2. find preferences under "file" or "edit" menus
  3. clik on the "advanced" folder tab
  4. depending on the JWS version , specify show console
  5. check the selection for "Java console, show console" OR
  6. output options "show java console"

Resolving Security Exception

If you get this exception in the running Subscription console it means that there was data published on the "google" topic and that, in attempting to write a copy of the cached google page to your desktop, the security policy governing the Java "sandbox" was violated. Java Web Start's Security offers lots of protection, and in the current release, a little unintended behavior. Some users report problems even though the jar files included in the downloaded application are all signed by "Borneo Inc." and the JNLP config file specifies <security> <all-permissions/></security>. The remedy steps below will brute force a relaxed java security policy under Web Start. The new policy will allow the b2bpo application to write files to the desktop.

Follow these remedy steps:
- determine windows "home directory" and open up a file manager on the directory. Using the Windows start menu, click on Run and then enter "cmd.exe" in the dialog window. When you clik "OK" a window will come up showing the home directory in the prompt expression within the window.
windows console

- locate the java policy file, whose security declarations need to be expanded

java policy file location

-double-clik on the "java.policy" file or open it in another editor so you can change the old version below

policy file old version

- add new policy directives indicated in the blue background sections below and then save the file. Download of the text section is here

blue hi-lighted section is added to file

- rename the file edited above from "java.policy" to
".java.policy" The leading "dot" in the name is important in assuring that the Web Start Run time picks up the newly edited directives. The reason for the name change is not entirely clear. However, as you can see by checking the Master security file below, the name  used  in the edit above has to start with a "." see the name if you like by looking at the line containing ${user.home}/.java.policy
 
java security master policy file