Sharing my thoughts and ideas on subjects ranging from software technology to music. Thank you for reading.
Saturday, 20 October 2012
Wednesday, 10 October 2012
JdbcXmlService - Stock ticker demo
JdbcXmlService is a java based server framework which I have been developing part-time since 2006. I have decided to show it the light of day via a demo stock ticker web application. This is a stock ticker with a difference. It can be programmed to display messages based on the historical stock movement data.
The business logic works by :
1. Retrieving the stock ticker and rules data from remote stock database
2. Retrieving the stock data from external web source based on stock ticker
3. Store a subset of the attributes retrieved in (.2) into a remostock history database
4. Execute rules based on the stock history
5. Display results
6. Repeat every 5 minutes
The above steps were accomplished using a custom xml configuration file (The details of which will be explored later) which JdbcXmlService executes.
Please note the demo will be available for the Evening US market opening times. Post a message on twitter or on the Facebook site to let me know your interests or thoughts on it.
Please note that the application is currently down at the moment. The above screen cast shows a very brief overview of the demo and the Xquery rules and the database interaction - unfortunately the explanation text appears to very small - another screen cast will be uploaded later (and use YouTube's annotation editor)
The business logic works by :
1. Retrieving the stock ticker and rules data from remote stock database
2. Retrieving the stock data from external web source based on stock ticker
3. Store a subset of the attributes retrieved in (.2) into a remostock history database
4. Execute rules based on the stock history
5. Display results
6. Repeat every 5 minutes
The above steps were accomplished using a custom xml configuration file (The details of which will be explored later) which JdbcXmlService executes.
Please note the demo will be available for the Evening US market opening times. Post a message on twitter or on the Facebook site to let me know your interests or thoughts on it.
Please note that the application is currently down at the moment. The above screen cast shows a very brief overview of the demo and the Xquery rules and the database interaction - unfortunately the explanation text appears to very small - another screen cast will be uploaded later (and use YouTube's annotation editor)
Labels:
JdbcXmlService
Friday, 15 June 2012
HTML table to XML in JavaScript
Please note this code will now be hosted github :
https://github.com/aetuk/wasjsapi/blob/master/tabletoxml.js
getCheckedRowsXml = function(htmltablename, xmltablename) {
var rowsIndex;
var xmltable = '';
var xmlrow = '';
var rows = document.getElementById(htmltablename).getElementsByTagName(
'tbody')[0].getElementsByTagName('tr');
for (i = 1; i < rows.length; i++) {
// Xml defined based on a ‘checked’ checkbox - Feel free to add your
// criteria here to filter the data selected ( or not)
if (rows[i].getElementsByTagName('td')[0]
.getElementsByTagName('input')[0].checked) {
// here "i" is the row number if checked
var cells = rows[i].getElementsByTagName('td');
for (c = 0; c < cells.length; c++) {
// xmlrow = xmlrow + '
// '+cells[c].id+'="'+cells[c].innerHTML+'"';
xmlrow = xmlrow + '<' + cells[c].id + '>'
+ cells[c].innerHTML + '</' + cells[c].id + '>';
}
if (xmlrow != null)
xmltable = xmltable + '<row>' + xmlrow + '</row>';
xmlrow = '';
}
}
if (xmltable != null)
xmltable = '<' + xmltablename + '>' + xmltable + '</'
+ xmltablename + '>';
return (xmltable);
}
This function will return a xml representation of a HTML table for each row on the table has a checkbox set to true in the form : <xmltablename><row><cell_name>cell_value<cell_name/><row/><xmltablename/>
It assumes that the html table has a checkbox on each row and that the name of the column is defined by cell id. Feel free customise it to suit your needs.
Labels:
javascript dev
Sunday, 10 June 2012
Long term project success
In general great solutions stand the test of time with little or no maintenance - that differentiates a poor solution from a good one. A great solution takes this further and requires little effort to evolve. Successful projects are also governed by this rule.
Technology in most cases is not the limiting factor of producing a great long-term project outcome - it is the mindset and imagination of project participants.
Critical success factors are defined during requirements stages, attempting to instill longevity into its the solutions foundations, by covering as many events and outcomes as possible as laid out by the business. But the theme of these factors is still governed by the project decision makers.So if simple, easy and seamless maintenance is not a priority then factors nvolving maintenance would be included as an afterthought or simply ignored when shaping the projects direction - Ultimately a functional but poor solution is achieved.
The maintenance aspect of the project is in most cases treated as an afterthought - especially if the project is handled by an external consultants - but its still the stakeholders responsibility to highlight maintenance as a central theme . Ignoring it displays a short-term attitude of the Return of investment. Maintenance has a huge impact on costs and time. A project may have cost 1 million GBP to complete but over the course of of 2 years maintenance cost may add 4 million to that value due to additional labour costs. Investing in maintenance from the start may add 1 million GBP to initial project costs while reducing maintenance costs to 2 million.
For example you as a consultant has been tasked to create a ecommerce website 123 for company xyz. You have a choice of building an automated ETL mechanism to extract product data from an existing system, or you can enter this data by hand. So you present these options to the business with the associated advantages and disadvantages. If time to market takes priority , then the manual approach would most likely be selected. If maintenance takes priority then the ETL approach would be taken.
Successful projects requires maintenance to built in at its core.
Labels:
Business process
Sunday, 20 May 2012
Sunday, 13 May 2012
Measuring Integration
Integration has been and still is one of the most difficult aspects systems development - both from a technical and social perspective. As was mentioned in previous articles, in most cases people move towards silo-centric solutions - integration is seen as ‘nice to have’, in management speak. Then one day integration suddenly becomes a ‘must-have’ due to competitive pressures. These pressures usually leads to a poor solutions.
The integration index is the number of steps required to access or retrieve any piece of information in any setting. For example at home - how many steps are required to find out the bill spend last month. The more integrated the environment the less number of steps required. In an organisation the number of steps is instrumental in the determining its efficiency.
Note the definition of the integration index will change over-time - this can be seen as the first draft
Labels:
Business process
Saturday, 17 March 2012
Workplace Education
Education in the workplace is of critical importance - now -more than ever, due to changes in technology and development and process methodologies. Employees minds must be kept sharp in order to adapt to fast changing demands.
Too often employees lose sight of the point and purpose of what they are doing within an organisation. They go through the motions instead of taking a critical look at what they are doing - and how they can be improve things. Such a critical perspective can only be achieved if a good understanding of the core concepts of the role and business surrounding it is achieved. Yes, there is ‘learning on the job’, but that has its limitations. In the face of tight deadlines we usually only learn all that is required to get the job done quick. Therefore time need to be taken to educate the workforce - at all levels
Workplace education usually means taking days off for training on or off-site. This type of training is expensive in terms of time and money - unless the skills are actually used.
Such formal training though is invaluable in many circumstances but it not nimble enough to cater for smaller but fast changing requirements. To meet such requirements training material should be created by the team in the form of examinations (multiple choice, short question and scenarios) and quizzes. The masses of (usually un-read) documentation generated by the team would be revision material. This would be a simple and effect way of ensuring internally generated knowledge is understood by all and not wasted. I would predict it would have the effect of strengthening core competencies and increasing productivity - How? The information would be memorised and understood. A quiz with a valuable prize would be an ideal way of encouraging a team to brush up on theory behind the work they actually doing.
Labels:
Business process
Subscribe to:
Posts (Atom)