Tuesday, October 27, 2009

Process Integration: Business Process Language, Deployment, and Execution

Here is the Presentation


On Tuesday, October 27, Team Analyst will be presenting on the topic of Business Process Execution Language. Our presentation will cover an introduction into what Business Process markup is used for, what BPEL is and what it is not. We will discuss different flavors of BPEL and when they are used. An editorial discussion of who's using BPEL and why and who isn't will provide realities of what the language offers. The presentation will conclude with a brief demonstration of the BPEL language.

References:

Business Process Management Institute
http://www.bpmn.org/Documents/FAQ.htm

W3C: WS-CDL Primer
http://www.w3.org/TR/ws-cdl-10-primer/#overview

Institute for Enterprise Architecture Developments
http://www.enterprise-architecture.info/Images/Services%20Oriented%20Enterprise/EA_Service-Oriented-Computing1.htm

SOA Approach to Integration (Packt Publishing)

IBM Developerworks
http://www.ibm.com/developerworks/library/specification/ws-bpel/
http://www.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc/?S_TACT=105AGX04&S_CMP=LP
http://www.ibm.com/developerworks/webservices/library/specification/ws-bpel4people/
http://www.ibm.com/developerworks/webservices/library/specification/ws-bpelj/?S_TACT=105AGX04&S_CMP=LP
http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel4people/BPEL4People_white_paper.pdf

BPM.com
http://www.bpm.com/bpel-who-needs-it.html

SOA World Magazine
http://soa.sys-con.com/node/775928?page=0,1


Softcare
http://www.softcare.com/whitepapers/wp_whatis_bpel.php

InfoQ Blog
http://www.infoq.com/articles/process-component-models
http://www.infoq.com/articles/bpelbpm

PCMagazine
http://www.pcmag.com/encyclopedia_term/0,2542,t=executable+code&i=42842,00.asp

Practicing Safe Techs
http://www.practicingsafetechs.com/TechsV1/BPEL/index.html

Microsoft
http://msdn.microsoft.com/en-us/library/aa559758(BTS.10).aspx

Sunday, October 25, 2009

CIS 8020 Assignment 2 VJ Google Chart

Okay, this is my attempt here at this assignment that I've been struggling with. Hopefully, I will be able to do more than this simple Google Chart task.

Scenario
Recently, my company applied for an award/recognition for most successful and innovative use of Practice Management and Electronic Medical Records software.  One of the criteria used in comparing different organizations was being able to show/demonstrate the percentage of providers using EMR.

The company could have used Google charts to show this information prominently on their web site.  As more providers went live, the chart could easily be updated.


EMR Implementations

Key
EMR = Percentage of providers who are using EMR
IP = Percentage of providers currently in process of implementation
EPM = Percentage of providers using only the front office (EPM) system

Additionally, this Google API could be used as an internal tracking tool. 

Each year, there is an opportunity for employees to benefit from a company bonus as part of the success sharing plan.  There are several criteria used in determining if bonuses will be distributed and how much.  One of those criteria is having a certain level of physician satisifaction. 

It is often difficult to keep the IS team up-to-date because we are out in the field so often.  Having this chart available on the corporate intranet would help.  For example:

Physician satisfaction

Key
S = Satisfied with EMR
NS = Not Satisfied with EMR


In my humble attempt at creativity here, I'll try a different type of chart.

Sales Results

In this scenario, a company engaged in sales activity - say, of EMR software, of course - could post sales results by quarter so that the sales team could keep up with their productivity.

I suppose a line chart would have worked as well. I started working on the bar chart before I fully thought through the scenario but both get the point across.

This chart could be improved by actually displaying the value numerically above each bar chart which is a capability of the Google chart API.

Sales Results

BTW, for anyone else interested in adding color and who is just as NON-technical as I am, there are several web sites out there that display different colors and their HEX value. Here's 1 of them: Hex Color Chart.

CIS 8020 Assignment 2 David Bowles Google Maps API

If you are a transportation company, you need a way to track the goods you have in route to your customers or possibly goods traveling back to your premises in the case of reverse logistics.

The following case outlines a partial solution for tracking those items in an effective way using the Google Maps API, JavaScript, and PHP.

Most companies offering satellite tracking of tractors only provide the customer with latitude/longitude coordinates and the customer must decide what to do with the data to interpret it in a meaningful manner. In my company's case, we are using an antiquated software packaged called Street Atlas which the users must browse and find the appropriate "tracking" file. The solution I have toyed with to provide a cleaner, more-seamless integration would allow the satellite vendor to write data directly into a mySQL database (if they have the capability) or directly to a JSON text file and have a JavaScript program within the site read the data and display it onto a Google map. The other "administrative" benefit is the user no longer needs to have Street Atlas installed on their computer which also eliminates licensing fees since Google Maps is free.

This view allows for two ways to track tractors:
  1. By clicking a point on the map to determine which tractor it is, or
  2. By clicking a tractor number on the right side of the map and the related point highlights.
Below is a screenshot of this prototype application. By clicking on the picture, you will be taken to the site that actually hosts it. I have had to host the application on my personal website because the limitations of Blogspot does not allow me to host files that contains the data used to populate the map.



The other closest Google APIs that you could use to develop such an application would be either the Google Analytics or Google Charts APIs. Both APIs have the same difficulty in that they do not have integrated "geo-coding" mechanisms to pass the API a latitude/longitude pair and it visualize a point on the map. Both of these APIs can only illustrate political or physical boundaries. Google Maps API is the only choice for accurately representing location data onto a map-like visualization.

If anyone would like a copy of the code that I used to develop this application, please let me know and I will be happy to supply it.
Update: I noticed today that the graphics are "hokey" in Internet Explorer. This application is best viewed in a browser like Firefox or Safari.

David Bowles

Tuesday, October 20, 2009

CIS8020 Assignment 2 KA Google Static Maps

There are numberous applications for an API that can be used to create graphical depictions of the United States. National elections could use the API to create a map that will show which states voted for Republicans and which states voted for Democrats. CDC could use the API's to create maps identifying which states have been subjected to an infectous disease.

One of my personal goals is to visit every state in the United States. I used the API to create a graphical representation of states that I have visited so far. I could have used the color gradient to differentiate how much TIME I've spent in a given state i.e. I grew up in New Jersey, lived in California for 6 years, and lived in Georgia for 10 years so I could have made those states dark red and all of the other states a yellow color to indicate that I have not spent as much time there.

I could have expanded this to show countries I've visited throughout the world but I would not have been able to show the details of each individual state I've been to. I also could have "drilled down" to different addresses I've lived at but I did not want to show that level of detail.

I could also use the images created by the Google API in a document for work i.e. presentation. The URL for these API's were a little clunky to write as I had to include all of the state abbreviations and the color gradient required for the state.



This is a Google Map I've created to visually display the States that I have visited throughout the USA.

Monday, October 12, 2009

The cloud computing data loss saga continues with T-Mobile

I think it's safe to conclude that if you are a CIO supporting the "cloudification" of your applications or data, you better polish up your resume. I think Paris Hilton and Miley Cyrus will sue T-Mobile as a result of this loss. Think of all the BFF contacts and calendar entries for parties they are missing.

http://www.yahoo.com/s/1145130

DB

Monday, October 5, 2009

When Cloud Computing Goes Bad

Check out this story on CIOInsight.com that details the experience of one disgruntled CIO of Pulte Homes, Inc. after trying to move to a Cloud architecture:

http://blogs.cioinsight.com/knowitall/content001/the_cloud/pulte_cio_has_cloud_horror_story.html?kc=CIOMINUTE10052009CIO1

DB

Sunday, October 4, 2009

Web Page Integration with Data Visualization using Google Chart API

I'm always looking for better ways to display data to business managers (and myself) so that business or I.T. decisions can be made more quickly. I've heard about Google Charts for a couple of years but never really investigated using them until this weekend. I previously haven't given much credit to Google but this is one service that I can give praise where rightfully deserved.

If you haven't heard about the Google Charts API, it is a "web service" that allows one to embed dynamically rendered charts on a web page. The chart selection can be Bar, Line, Pie, Venn, Scatter-Plot, "Google-o-Meter" (think speedometer), or even a World Map.

The user wanting to display a chart simply embeds a hyperlink to Google's Chart API in their webpage and upon loading, the visualization is loaded. Using this method of chart visualization means that you now have a platform, language, and browser independent chart control that you can embed into your website because it is simply based upon an http url.

Below is an example of a Pie Chart that this service offers:


Pie Chart Example


This Pie Chart was rendered using this simple url:

http://chart.apis.google.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World

where the parameters
  • cht assigns chart type ('p3' = Pie Chart)
  • chd assigns data points ('t:60,40' = 60% for the first value, 40% is the second)
  • chs assigns the size in pixel dimensions of the chart (250 pixels wide by 100 pixels tall)
  • chl assigns the data labels based upon the data point order (60% labeled "Hello", 40% labeled "World")
The "neatest" chart Google Chart offers is the World Map, where you can setup different gradients of colors to represent different countries and/or political boundaries within the countries by the intensity of the data point (1-100).

Below is an example of a map of the United States where I have only colored Georgia, red:




This chart was called using this url:

http://chart.apis.google.com/chart?cht=t&chs=440x220&chd=t:100&chtm=usa&chco=FFFFF,FF0000,FFFF00,00FF00&chld=GA


Of course, the rendering of these charts is very quick, as you can see by simply refreshing this blog page. Google allows unlimited calls to this API per day, but requests that you email them if you expect over 250,000 calls per day.

While some of you may already be familiar with this service offering, I hope that those of you who are not will find some value in this posting. From a dashboard perspective, this service can drastically lower the complexity of building a solution for your business.

David Bowles