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.
- "username" is the screen name you will use in future log-ins for
your 30 Day Demo
- "GroupName" is a standard security category used to adjust
permissions levels for entire categories of users.
- "RoleName" identifies a type of permission authority granted to
groups or to individual users.
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:
- Create New Topic - TBD
- Grant Topic Permissions - TBD
- SUbscribe to Topic - TBD
- Publish Google
Topic - Generate simulated business data using a standard Google Search
- View my Topics - TBD
- View My Subscriptions - selecting this choice and cliking on
"Submit" will bring up the list of "dogtown's" Subscriptions
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"
- Select an item from the list and clik on "submit" and you go to
the detail screen
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.
- Topic Action - only "subscribe" is relevant to this demo
- Protocol - if you clik alternate selections, the UI adjusts to
display properties relevant to connections on a specific protocol.The only demo "Protocol" type supported on a "Submit"
is "polling". Other protocols demonstrate context switching
and alternate screen properties.
- Polling Interval - you control how often requests will be sent to
the PostOffice to forward to you any new information on your topic. The
sample page specifies "1 minute
intervals".
- Wsdl HostAddress - allows alternate request destinations. Only
"b2bpo.com" is relevant in demo.
- Begin Subscription - when do you want to start subscribing to the
topic. ( select a date that is older than CurrentDateTime)
- End Subscription - choose a time to end the
subscription that is greater than
the current time. Note that on the sample screen this time
field has been set roughly 4 minutes after current-time listed in the status
line on the upper right-hand portion of the screen.
- Submit transfers control to the RUN B2B Interfaces module. Next
screen is a confirm screen asking if you want to "launch"
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
- Why this is On-Demand Integration as a Service?
- Reliable messaging or guaranteed Delivery?
- How does the B2BPO Log help assure that message
delivery occurred?
- How are the Log messages correlated?
- How are proxy servers handled?
- Installing the Java Virtual Machine
- 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:
- Publishing Client - Marshalls data to be published in a Message
with Attachments "Client-fileList-published-on-Topic"
- PostOffice - receives Publish requests in SOAP-RPC calls.
"message-received-at-PostOffice"
- PostOffice - persists attachments from SOAP message.
"PostOffice-persists-fileList-on-Topic"
- Subscribing Client - sends message to be updated. not logged
- PostOffice - receives Subscription requests in SOAP-RPC calls.
"message-received-at-PostOffice"
- PostOffice - RPC Response message includes attachments.
"PostOffice-forward-fileList-on-Topic"
- 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
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":
- if there is a JWS icon on the desktop use that to start -
otherwise
- use the run menu to start JWS:
- clik start in lower left
- clik run then type "javaws"
- access the menu for jws
"preferences"
- this depends on the version java web start ( 1.4.2 or 1.5 beta )
- find preferences under "file" or "edit" menus
- clik on the "advanced" folder tab
- depending on the JWS version , specify show console
- check the selection for "Java console, show console" OR
- 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.

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

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

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

- 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
