Subscribe via Email

Subscribe to RSS feed

First bite of Apple’s new UI testing tool

In early June, Apple released a new UI testing tool in WWDC 2015. I’ve tried this interesting tool in some of our internal projects during the past three weeks, and I’ve discovered some pros and cons along the way. I share my experiences below:

What’s my environment:

OS X Yosemite 10.10.3

Xcode 7.0 beta 2 (pre-release version)

Swift 2.0 (pre-release version)

iPhone 6 Simulator iOS 9.0 (pre-release version)

The pros of Apple’s new UI testing tool: Read the rest of this post »

Posted in mobile, Mobile APP, Testing

Heron: Is it Apache Storm 2.0?

In terms of real-time messaging or event analytics on the distributed node, we think of Storm and Kafka, both famous Apache projects. Storm has been used in Twitter’s production for many years, so it proves to be powerful. On June 4, Twitter shared news that the company developed a new system called Heron to handle billions of events each day, which is fully API-compatible with Storm. Here, we preview the new features in Heron and what’s different with Storm: Read the rest of this post »

Introduction to jQuery Ajax


This blog is intended for novice to understand jQuery Ajax functionality and its integration with servlet by creating a simple project.

 What is JQuery Ajax?

Ajax (Asynchronous Java Script and XML) enables exchanging data between client and server and updating parts of web page without reloading the entire page. jQuery provides easy to use API for Ajax. Data types, text, html, xml, json, jsonp and script are handled.

The following methods are available in jQuery framework to make arbitrary Ajax requests:

          Method                                         Description
 jQuery.ajax() Performs asynchronous HTTP (Ajax) request
 jQuery.ajaxPrefilter() Handles custom Ajax options or modifies existing options before each request is sent and before being processed by $.ajax()
 jQuery.ajaxSetup() Sets default values for Ajax requests. Its use is not recommended
 jQuery.ajaxTransport() Creates an object and handles actual transmission of Ajax data


The sample program elucidates how to construct jQuery Ajax request and implement a servlet. In the example, we populate a table dynamically using ajax every time a name is entered in a textbox.

Requisites for Development Environment set up:

  1. 7.0_60
  2. Tomcat v7.0
  3. Eclipse Java EE IDE for Web Developer Luna (4.4.0)
  4. jquery-2.1.1.min.js

Steps to implement:

  1. Create a dynamic web project with project structure as shown below.                                                                                                      1
  1. Create a html page, AjaxJquery.html with textbox, button and table.                                                                                                                            2
  1. Next, create $.ajax() request to send name in asynchronous HTTP GET request to JqueryServlet.

It encompasses following properties:

         Parameter                                              Description
 url  String containing the url to which the request is sent (mandatory)
 method  Specifies the HTTP method to use for the request (‘POST’, ‘GET’, ‘PUT’)
 data  Data to be sent to the server. It can be plain object ({key1: ‘value1′, key2: ‘value2′}),  String (key1=value1&key2=value2) or Array
 done  Method that is called if the request succeeds. It accepts one or more arguments, all of which are functions. Each callback function takes 3 arguments, the data returned from the server, a string describing the status and the jqXHR (jQuery XML Http Request) object. Other callbacks supported include fail and always
 datatype  Can be text, html, xml, json, jsonp and script. Depending on the data type set the response will be preprocessed before being passed to the success handler



  1. Create HttpServlet class,, overriding doGet() method to receive request and send response to client.                                                                                                                                                                                                                                4


  1. Map the servlet in web.xml, here, com.servlet.JqueryServlet is mapped to /JqueryServlet/*.                                                                                           5
  1. Deploy, run the application and observe the output.

Output :




Tags: , ,

Posted in Coding

How to Configure Eclipse for Spark Application in the Cluster

Spark provides several ways for developer and data scientist to load, aggregate and compute data then return the result. Many Java or Scala developers would prefer writing their own application codes (aka Driver program in spark term) instead of inputting command in the built-in spark shell or python interface. We are sharing some steps regarding how to quickly configure your IDE in order to write Spark application code. Read the rest of this post »

How to install Tabular Mode Service in SSAS 2012


SSAS 2012 provides three different approaches for creating a business intelligence semantic model: tabular, multidimensional, and PowerPivot.

Tabular solutions use relational modeling constructs such as tables and relationships for modeling data, and the xVelocity in-memory analytics engine for storing and calculating data.

Multidimensional and data mining solutions use OLAP modeling constructs (cubes and dimensions) and MOLAP, ROLAP, or HOLAP storage.

PowerPivot is a self-service BI solution that lets business analysts build an analytical data model inside an Excel workbook using the PowerPivot for Excel add-in.

Tabular and multidimensional solutions are built using SSDT and are intended for corporate BI projects that run on a standalone Analysis Services instance. Yet each solution differs in how they are created, used, and deployed. Read the rest of this post »

Handle Slowly Changing Dimensions with Pentaho Kettle – Part2

We examine SCD Type I and Type II here.

Overview of Kettle transformation

Here is overview of transformation. It will be loaded from excel source file and loaded into database.

01 Read the rest of this post »

Posted in BI&Database

Handle Slowly Changing Dimensions with Pentaho Kettle – Part1

In this blog we will talk about how to implement various types of slowly changing dimensions (SCDs) with Kettle in details. And I will introduce the examination of SCD Type I and Type II in Part2.

Types of Slowly Changing Dimensions

Following Kimball, we distinguish two main types of slowly changing dimensions: Type I, Type II:

  • Type I: Changes in the source system result in corresponding overwriting in the target dimension.
  • Type II: Changes in the source system result in inserting tamped versions of dimension rows multiple times in the target dimension.. This allows you to find whichever version of the dimension rows at any given point timely.

Read the rest of this post »

Posted in BI&Database

Understanding Extract Strategy in Oracle DAC

Almost every type of ETL tool has its extract and load strategy with its configurations. In general the user should be concentrated in full load (aka initial load) and incremental load options in whatever tools to utilize. Oracle BI Apps component provides straightforward options to let developer configure appropriate approaches to achieve data load in right time. But the extract technology is a little bit different for various sources – if the source is Siebel, we should configure table trigger and get records produced in an additional image table for insert, delete and update operations; if the source is Oracle EBS, we should utilize the extract query to compare last extract date in DAC with last update date in some specific source tables. Read the rest of this post »

How to Setup Local Standalone Spark Node

From my previous post, we may know that Spark as a big data technology is becoming popular, powerful and used by many organizations and individuals. The Spark project was written in Scala, which is a purely object-oriented and functioning language. So, what can a Java developer do if he or she wants to learn about Spark?

Here, I share my quick way of installing Apache Spark in the local machine. Read the rest of this post »

The influence of updating metadata by sub TI

Basing on my last blog (IBM Cognos TM1 updating metadata in TI submit time explore), we will explore the influence of updating metadata by sub TI here.

Please see below example as scenario 1: Read the rest of this post »

Posted in BI&Database