Tuesday, January 3, 2017

Blockchain- Unexpected twists in technological innovation

Of late , if there is one technological innovation, which shakes the financial world to its core, it is most likely the arrival of digital currency (bitcoin in particular). Rather than relying on a government, bank, or intermediaries, bitcoin system is made of individual users and its objective is to have a decentralized financial system and to break the systems dependency on a few elite global decision-makers.

Trade based on decentralized system using digital currency is indeed a remarkable transformation when one considers the origin; from Barter system - where goods or services are directly exchanged for other goods or services without using a medium of exchange, such as money or financial institutions controlled system.

Bitcoin transaction is a transfer of digital ownership of a certain amount of digital currency on the bitcoin network. During bitcoin transaction, the merchants present their bitcoin wallet address in a convenient manner such as a Quick Response (QR) code to the customer. The customer uses their phone camera to scan the QR code into their installed bitcoin wallet app and to acquire the needed details to initiate bitcoin transaction.  And finally when the bitcoin transactions are confirmed on the network, it is said to be complete and valid. This process of not relying on traditional financial intermediaries to complete a valid transaction frees the system from the existing establishment and leaders.

Although bankers raised doubts about the bitcoin concept, the under pinning technology (Blockchain) is somehow seen by many banks as having a number of useful features. Blockchain works like a huge decentralized ledger for the digital currency bitcoin which records every transactions and stores the information on a global network so it cannot be tampered with. It is this technology that banks feel can be utilized in many areas even without the adoption of digital currency.

The biggest advantage presented by blockchain technology comes in the form of creating a completely transparent trading system as it is shared among a large number of users allowing trades to be viewed and verified by anyone using the system. Second advantage blockchain brings is the reduction of risks which the traditional payment methods presents. The no chargebacks feature, transparent system with less fraud possibilities and zero possibility of erasing the traces of a digital transactions presents a technology with reduced risk.

There are already many silopilot initiatives and group collaborations for adopting blockchain for banking products in mortgages, trade finance and in insurance sector such as automobile insurance and home insurance as well as in virtually in all areas, which represents a major step in the use of new technology in traditional banking/insurance businesses.

In mortgages area this is being piloted by banks as the same survey work is often conducted multiple times on the same property as different customers shop around for mortgages. Now blockchain to be used to create a decentralized network of banks and surveyors through which the latest valuation can be listed, verify and shared in real time.

To detect and prevent multiple fraduantant claims which is currently costing the insurance sector, many are piloting blockchain for maintenance of insurance contract and claims and ensuring validation by a network of insurance provider and regulators and other appropriate parties to ensure only the valid claims are settled.

In trade finance, blockchain technology is being validated to hold legal contracts/smart contracts, facilitate the movement of goods to be monitored and facilitate payments in close to real time.

Even many central banks like Bank of England and the People’s Bank of China are contemplating about issuing their national currencies onto some sort of distributed ledger that helps them to track every penny on every step of its journey through the financial system in real time. If that happens an invention aimed at dethroning central banks may instead ends up empowering those central banks and making money much more easily traceable.

Potentially banks could act as a platform supplier, providing the ecosystem based on blockchain technology for external counter-parties to connect to (Does this open the door for OpenAPI?)  and thereby they could even improve their market share. With many traditional players in the midst of a radical transformation programs with the adoption of deploying robo-advisors equipped with big data solutions as replacement of their financial advisors, payments simplifications, migrating core business operations to cloud and driving digital initiatives into mainstream with the objective of simplifying their landscape, reducing their operation cost and trying to become more agile. It will be genuine opportunity for the financial institutions to check if their investment to become agile when it comes to embracing innovative and evolutionary technologies are indeed paying off.

Tuesday, October 25, 2016

IoT, is it a game-changer for Banks?

Days are not too far when we will be surrounded by intuitive connected devices such as sensors collecting and transmitting data about us, our living and working environments and offering intuitive services as we conduct business transactions.

While some industry such as oil and gas, large manufacturing, health care and smart home industry are ahead in exploiting this phenomena, Banking and Financial sector are bit slow on this front.

With customers expecting more and more personalized services and keen on embracing digital service than the traditional services, there is no doubt that IoT and associated data will add value to banks and their customers.

Banks realizes the new opportunities and their associated challenges, and are progressing in tackling them, which includes the establishment of clear benefits the IoT can deliver (commercial ideas), overcoming the lack of IoT expertise, choosing 3rd party collaborating partners, infrastructure for implementing them and data challenges (information storage, security, privacy, information visualization).

May be IoT will help banks to innovate and devise better ways to improve customer satisfaction, risk management, reduce costs and improve overall operational efficiency.

Transforming branch operations

Innovative approach to improve branch sales is the need of the hour for the Banking industry as branch transactions continues to decline and branches are facing imminent closure. Yet branches are seen by many banks as an advantage in fighting off competition from new players as, when customer walks into the branch it provides an opportunity for the bank to provide a personalized experience, with targeted advice, context-aware offers and insight and thereby helping banks to attain a new level of customer intimacy.

Transforming Commercial banking operations 

Manufacturing industry usually have a line of credit with banks for purchasing raw materials and to manage their operational expenses. This takes various forms from overdraft to working capital loan and banks usually take raw materials and finished goods as collateral.

The challenge often for the bank is on the monitoring mechanism to ensure the loan agreement is being followed and to avoid being in situation of being unaware when their customers indulge in fraudulent practices. This is very time consuming and manual process, which involves site visits and manual verification of various documents such as purchase order to determine the stock level and inventory of finish product.

Using IoT, the bank can encourage the business customer to install sensors in their warehouses and assembly lines, which will inform/alert the bank and insurance providers when there is significant deviation from the agreement and helping them to detect the possibility of default early enough and/or prevent the fraudulent practices. This also offers opportunities for the banks to shorten the time required to make decisions regarding increase in line of credit request from customers or even automate the credit risk decisioning and improving the operational efficiency of the bank. These enable banks to progress towards digital era by relinquishing the need for physical visits and abandoning time consuming and error prone paper works. This will also go a long way in minimizing loan defaults and win-win proposition for both business customers as well as for the banks. 

Businesses often use letters of credit (LC) to facilitate or guarantee payment in domestic and international transactions. LC process are complex and the use of LC in international transactions are governed by rules and regulations of The International Chamber of Commerce and the use of domestic LC in US by United States Uniform Commercial Code.

Usually the seller ships goods to the buyer and presents all the documents required in the LC to the bank. The bank reviews the documentation for completeness and compliance of contract and once buyer/buyer’s bank also certifies that all conditions have been met, funds are transferred to seller on behalf of the beneficiary. 

With IoT enabled cargo carriers and adoption of API Management (public API) by logistics providers on the rise, new opportunity are presenting themselves for the bank to consume those API and improve their ability to track and trace consignments and to automate the Letter of credit process.  In essence IoT enables, manufacturing industry and banks to streamline and automate their critical business process, while delivering audit trail to meet industry regulations, improvement in the overall operational efficiency and efficient customer services.

Transforming Mortgage business

In UK, lenders generally lend on a newly build or newly converted property only when the property is covered by a warranty scheme for example National House Building Council (NHBC) Buildmark scheme - which are regulated by Financial Services Authority (FSA). Buildmark is an insurance and warranty scheme designed to protect home owners should a problem with their home after the completion of construction for a period of 2 years, where builder will be responsible for rectifying any defects or damage reported such as structural damage or if any caused by their failure to build to the NHBC Standards or due to contamination. 

Also in UK, Energy Performance Certificates (EPCs) are mandated (with some exceptions) whenever a property is either built or sold. Lenders generally seek EPC (which rate energy efficient property as A and worst with G) as part of mortgage application process as the certificates provides useful information about a property’s energy use and typical energy costs as well as recommendations about how to reduce energy use and save money.

Using IoT, the bank can encourage the home buyers and builders to install sensors in their homes, which will inform owner, the bank and builders when there is significant internal damage to the walls or roof and helps them to detect damages early and prevent the need for exhaustive repairs to the structure of the property. These data could also come handy if it ends in dispute between homeowner and the builder and NHBC has to steps in to offer Resolution Service to assist in resolving disputes about defects or damage relating to the NHBC Standards.

Many banks tie up with insurance companies or have insurance subsidiaries and provides home owners many types insurance products and these sensor data can even be mashed with other agency data such as weather forecast or natural disaster warnings to provide them alert in advance where it make sense and to quickly assess the damage and facilitate quick settlement of claims.

Even when the EPC are valid for 10 years, these sensor data can be used to help home owners not only with suggestion on home improvements but can help the bank to work out home owners eligibility and offer personalized further advances thus enabling cross sells, while delighting customer with their timely services.

For bank success lies in developing a strategy and implementing IoT initiatives hand-in-hand with the likes of the cloud and big data and not when IoT is looked upon as a digital disruption which they can be ignore or as a standalone transformation program.

IoT without a doubt is not only going to bring competitive advantage for the early adopters but will also play a vital part in deciding the further market leader. The Banking industry, especially in Europe is currently undergoing a turbulent times with fierce competition both from new entrants (FinTech) and from regulators such as the introduction of Directive on Payments Services (PSD2). With Brexit thrown to the mix, banks (especially in UK) are at a cross road, where their strategy will decide if they are going to be able to play a vital role in customer’s daily life or become a back office type service provider in the future.

Tuesday, January 5, 2016

Mobile Payment to Redefine Customer Experience

In order to remain as dominant force in the market and to retain/improve the customer base  during competitive era, organizations shouldn’t be looking for marginal improvements to existing business models instead they should create entirely new paradigm that completely modify  the way organizations interact with customers and their suppliers.

With the smart phone adoption becoming more wide spread and penetration of contactless payment between buyers and sellers on the rise, retailers and small businesses have been presented with an opportunity to redefine customer experience.

Scenarios which were envisioned as distant reality such as a visit to a supermarket or department stores by customers who use sensor embedded shopping carts with displays for price of the item as well as the total shopped amount as and when they select a product from the shelf are becoming order of the day.

When the customer leaves the store, payment services (like Apple Pay which allows Apple iPhones 6 and iPad to interact with point of sale systems using a near field communication techniques. Samsung Pay which allows Galaxy S6 and Galaxy Note 5 to interact at standard mobile payment terminals with magnetic stripe readers and at NFC terminals) are facilitating customers to make payment by waving their mobiles thus avoiding long lines.

With the customer authorizing these payment using fingerprints data stored on their phone and with the usage of unique dynamic security code for each transaction instead of transferring the amount using credit card numbers, the user gains better experience and security than OTP and secrete code days.

Smart phone are offering better security by adopting biometric (fingerprint, eye scan or facial recognition) mechanisms. This is opening up a new possibility of exceeding spending limit beyond customer’s credit or debit card limit while making it possible to provide high value transactions.

With contactless mobile payments making use of the same underlying infrastructure used to support contactless card payments the probability of contactless mobile payment overtaking other payment forms (including traditional payment forms such as credit and debit cards) remains high during the coming years.

These technological advancements happening in payment domain are providing organizations an opportunity to create new markets, new offerings, new ways to interact with customers, and to achieve value that was not previously possible.

While deployment of contact less mobile payment mechanism and embedded technologies provides a seamless shopping experience to the customer,  the sole responsibilities of in store customer service representatives are to assist and engage the customers during their visit - a redefinition of face-to-face channel offering.

Tuesday, December 1, 2015

Did Banking sector embrace Cloud or Digital Transformation?

Technical analysts always show great interest in predicting the technologies that will dominate in the upcoming years. Some of the major predictions that were made for past few years were about industry wide adoption of Cloud and Digital transformation. Let’s look at the status of those predictions, especially from the perspective of banking sector.

Despite the predictions stating that for the past few years banks are just a heartbeat away from adopting cloud technology, there are many reports which points to reluctance in the banking sector to run their core banking applications in the Cloud. The initiatives associated with running core processing in the Cloud seem to hit the roadblock due to security, privacy risks, and regulation concerns. Rather, financial institutions seem to focus on adopting Cloud solutions in their supporting areas like: messaging platform, customer relationship management (CRM), knowledge sharing platform, marketing and data storage.

While Cloud adoption predictions were not so encouraging, the predictions related to digital transformation turned out to be more promising.

In recent years, banks feared that their biggest competitive threats would come not from other traditional financial sectors, but by the entry of non-financial companies such as Google (with Google Wallet offerings) and Apple (with Apple Pay offerings). These new entrants, who owe much of their success to their extreme agility in adopting emerging technology, have forced the traditional banks to rethink their business models and even the customers they serve. 

With new entrants fielding themselves in between the customers and the bank and making inroad into lucrative parts of banks’ relationships with their customers, banks are fighting back by focusing on digital transformation initiatives such as enhanced digital marketing, improved customer on-boarding process,  offering digital channel, improved Omni channel customer experience and analytics based customer segmentation.

Let us look at few banks on how they have reinvented themselves through their digital transformation initiatives to meet the challenges.

 US Bank, a Minneapolis-based bank as part of their digital transformation initiatives offered a best in class digital channel experience to their customer by completely redesigning their online self-servicing platform.

National mortgage bank of France, Crédit Foncier de France as part of their digital transformation initiatives extended well beyond their traditional boundaries by orchestrating the entire customer experience of buying a property by augmenting their strong B2B capabilities by partnering with other firms.

ICICI, an Indian bank as part of their digital transformation initiatives made substantial reduction in the turn-around-time (from few days to few hours) for their bank’s account opening process by deploying a tablet based application which allowed their sales officers to capture all KYC documents and complete the account opening formalities at the customer’s door-step.

 Lloyds Banking Group one of the largest bank in U.K reinvented by double-down on digital banking, closing branches and cutting costs.

 BBVA Compass, one of the largest bank in U.S as part of leading the modernization of the payment process entered into an agreement with startup Dwolla to offer real-time payment facilities to customers.

Bank of Ireland, a banking & insurance group overcame some of their key business challenges of sustaining relationships with customers and targeting customers in timely manner to maximize engagement through digital marketing initiative combined with analytics.

Sunday, May 18, 2014

Key Arsenal: Enterprise Architecture Repository

Every Organization understands that they are dependent on IT for day-to-day operations and spend millions on IT (IT personnel, software, hardware & facilities) every year. However Business is not always clear what they get in return for these investment in quantitative terms or how IT helps the business to save money, reduce risk and increase business agility.

In other words, some of the challenges of organization are:
Management of IT portfolio, Achieve strategic alignment between business and IT, Achieve Application optimization  and Implementing IT governance

To alleviates the problem, tools like Enterprise Architecture Repository is being implemented by many organizations since they
  • Help business to establish a single source of truth for all IT related information, which in turn provides business a basis for planning and insights about IT assets they own.
  • Help in achieving strategic alignment, which in turn helps to measure the contribution IT makes to the business bottom line.
  • Help them with application optimization (and save money).
  • Facilitate implementing effective IT governance in the organization (and reduce risk).

It should be noted the effectiveness of these platform however depends on number of supporting process/activities adopted in the organization for example to achieve application optimization there should be process in place to carry out the following activities: defining application groups - classifying the applications to defined groups - identifying owners for the applications - establishing application meta-data and populating those mandatory application attributes - populating the repository with the collected application details - constant refreshing of repository to be up to date.

Similarly to achieve IT alignment business, there should be process in place to collect and load data about business goals - business strategy - to link goals/strategy to IT projects that supports them - to link organization capability to application.

But once implemented, enterprise repository provides numerous analytic views and reports and helps management to make accurate decisions about IT investments, comprehend the impact of new business strategy against the current capability, optimize the existing application portfolio and measure the projects which have the direct bearing on the organizations bottom line.

Saturday, June 23, 2012

Testing Tools in SOA and Cloud Era


Traditionally when an organization or project team talks about quality, the focus is about functional testing, regression testing & load/stress testing and the market place had been dominated by few players like IBM, Micro Focus and HP/Mercury supplying the necessary tools to meet customers demand. But recent technological advancement in the area of SOA/ESB, cloud and Business Process Management (BPM) has redefined the quality management market and many new players are trying to unsettle the so called leaders in this market space.
LISA

Now a days organizations are looking for tools to not only to improve the software quality but also to improve their productivity in quality related activities which eventually leads to reduction in the time to market as a way to increase their business bottom line.  Also the competition in the quality market space are heating up with the advent of new players like iTKO's LISA, Parasoft's SOATest, Crosscheck Networks SOAPSonar etc., at times when the most of the applications that being developed are shifting from client/server or vanilla Web applications to SOA based, which consists of Web Services/ESB and cloud based, which combine services running internally and services deployed on cloud-provided services.

At a macro level, few open source tools are also playing a vital role such as:
  • soapUI, a complete and automated testing solution which provides support from SOAP- and REST-based  Web services, to JMS enterprise messaging layers, databases, Rich Internet Applications, and much more.
  • WebInject(Perl based) tool for automated testing of web applications and web services.
  • TestMaker offers an easier way to expose the performance bottlenecks, functional issues in Web, Rich Internet Applications (RIA using Ajax, Flex) SOA and BPM applications.

SOAtest

With quality management area still very volatile as  growing number of vendors continues to enter the market on one side and vendor consolidation such as acquisition of iTKO by CA Technologies and Green Hat by IBM happening at the other side,  the coming years will be very interesting for organizations, developer and QA team involved in SOA, BMP and Cloud application developments.

Monday, June 4, 2012

Hadoop in Big Data Era


A generic processing framework designed to execute queries and batch read operations against massive datasets, across clusters of computers, which facilitate the organizations to scans through tons of data (which are first loaded into the Hadoop Distributed File System - HDFS), and produce results that are meaning to the them. Simply put, Hadoop is the key open source technology that provides a Big Data Engine.
Hadoop operates on massive datasets by horizontally scaling the processing across very large numbers of servers through an approach called MapReduce and not by vertical scaling which requires powerful single server to process the huge data in a timely manner.

Hundreds or thousands of small, inexpensive, commodity servers do have the power if the processing can be horizontally scaled and executed in parallel. Using the MapReduce approach, Hadoop splits up a problem, sends the sub-problems to different servers, and lets each server solve its sub-problem in parallel. It then merges all the sub-problem solutions together and writes out the solution into files which may in turn be used as inputs into additional MapReduce steps.
Although Hadoop provides a platform for data storage and parallel processing, the real value comes from add-ons subprojects (ZooKeeper, Pig, Hive, Lucene, HBase, etc), which adds functionality and new capabilities to the platform. Most implementations of a Hadoop platform will include at least some of these subprojects, for example an organization will choose HDFS as the primary distributed file system and HBase as the database to store billions of rows of data and MapReduce as the framework for distributed processing.

A number of companies are emerging with the different plans to help the organization in using Hadoop by extending support or by providing professional services or by producing tools that work along with Hadoop and make it easier to use or by providing a complete platform (based on Hadoop) that addresses many of the enterprise needs. It is worthwhile to look at few of the players in this segment

InfoSphere BigInsights
IBM took the open source Big Data technology - Hadoop and extended it into an enterprise ready Big Data platform.
IBM delivers a Hadoop platform that is hardened for enterprise use with deep consideration for high availability, scalability, performance, ease-of-use and other things one normally expect out of solution to be deployed in production environment.
Also InfoSphere BigInsights flatten the time-to-value curve associated with Big Data analytics by providing the development and runtime environments for developers to build advanced analytical applications and providing tools for business users to analyze the data.
Cloudera CDH
(Cloudera's Distribution for Hadoop)
Cloudera delivers an integrated Apache Hadoop-based stack containing all the components needed for production use, tested and packaged to work together. It incorporates only software from open source projects – no forks or proprietary underpinnings and comes with Cloudera Manager which is a end-to-end management application for Apache Hadoop that includes revolutionary features such as proactive health checks and intelligent log management
M5
MapR’s M5 make Hadoop more reliable (provides full data protection, no single points of failure), more affordable, more manageable (improved performance) and significantly easier to use.


To put in perceptive, Hadoop should never be considered as replacement of relational databases or data ware housing, but something that will coexist and complement the traditional data store to provide richer capabilities to the organization. While traditional ware houses are ideal for analyzing structured data from various systems, the sheer magnitude of unstructured and semi structured data involved makes it very sensible to use the cheap cycles of server farms to transform masses of unstructured data with low information density into smaller amounts of dense structured data that is then loaded into traditional database for further analysis. 

To conclude, open source Hadoop offers a great deal of potential for enterprises to harness the data (structured, semi structured or has no structure at all) that was until now difficult to manage and analyze. Hadoop is also gaining wider acceptance with vendors who are coming out with various Hadoop-based stack to significantly provide a better user experience.

Friday, May 25, 2012

NoSQL Database in Big Data Era


For quite some time, the on-premises relational database has been the undisputed model for database management in most organizations. But, now options such as, cloud based and NoSQL databases are gaining popularity as an alternative model. Some of the reasons for enterprise to look at NoSQLs are: First the volumes of data that are being stored now-a-days have increased massively and managing the same by a single relational database management system are becoming reasonably impossible for the enterprises. This situation has leads the enterprise to look at various (horizontal or vertical) database scaling options. Horizontal scaling forces enterprise has to go in for high investment mode to buy powerful hardware where else vertical scaling involves usage of inexpensive commodity hardware.  As traditional relational database do not scale out easily on commodity clusters, as the NoSQL databases which are usually designed with low-cost commodity hardware in mind, the enterprises to realize the economic benefits are moving towards horizontal scaling based on NoSQL database system to meet the demand for powerful data processing system. And finally, change management is becoming a big challenge in large production relational database systems and realization that NoSQL tends to impose comparatively very less data model restrictions and along with the fact that NoSQL uses Key Value store which allows application to store virtually any structure it wants in a data element is compelling enterprise to look at alternate options to relational database system.

Even though NoSQL database seems to be promising, factors like product maturity, availability of expertise in the market and enterprise support offered by vendors are hindering the adoptions in many mainstream enterprises. It is worthwhile to look at few of the products in this segment.


FlockDB
An open source distributed, fault-tolerant graph database (data store made up of network of nodes and stores relationships between nodes). Promoted by Twitter to build its database of users and manage their relationships to one another. Simpler when compared to other powerful graph databases such as Neo4J, but has not gained major acceptance in the community as of now.
Cassandra
An open source distributed database system based on key-value store. Promoted by Facebook as a good tool for tracking large amount of data across network of computers, such as status updates in Facebook is build upon with a principle of "eventual consistency", and  not, "perfect consistency". Well accepted in the community and many companies, including Acunu and Datastax offers commercial support for Cassandra.
CouchDB
CouchDB stores documents, which is made up of a set of pairs that link key with a value.  It searches for documents with two functions to map and reduce the data. One formats the document, and the other makes a decision about what to include. Provides interfaces based on JavaScript/JSON. Enjoys rapidly increasing community support.
MongoDB
An open source database system. MongoDB stores structured data as JSON-like documents with dynamic schemas and allows direct data queries using JavaScript.
Riak
Riak is one of the most sophisticated data stores, which comes as open source and enterprise variant. Build on the principles of "Eventual consistency is no excuse for losing data", it offers most of the features found in others, and adds more control over duplication. Although the basic structure stores pairs of keys and values, the options for retrieving them and guaranteeing their consistency are quite rich.
SimpleDB
A highly available and flexible non-relational data store, promoted by Amazon. Build on the principles of "Eventual consistency”. Provides a simple web services interface to create, store multiple data sets and to query data.
HBase
An open source, distributed, column-oriented store, modeled after Google's BigTable. Written in Java and promoted by Apache, runs on top of Hadoop Distributed Filesystem – HDFS and provides BigTable-like capabilities for Hadoop. HBase is not an "eventually consistent" data store and is designed to be strongly consistent, even if that consistency causes availability problems. Provides programmatic access through Java API, Thrift and REST.

Monday, April 30, 2012

The new frontier in Business Analytics: Big Data


Most of the organizations have access to tons and tons of information, but they don’t know how to get value out of it because most of the information is either in unstructured or semi structured format.  But most of these organizations who witness the data explosion around them have also started to realize that analyzing this large data sets (or Big Data) will become a key basis of competition and growth, sooner or later.

Now-a-days, every organization has taken the first step in data analytics, having data warehouses in place. The traditional data warehouses are mostly for analyzing structured data from various systems and producing insights with known and relatively stable measurements.  What gets unaddressed in the traditional solution is the unstructured or semi-structured data, which forms more than 70% of data generated in an organization such as email communication, server logs, customer service call logs, status updates in social media sites etc...

So what characteristics should the data sets have to qualify itself as Big Data? According to IBM, Big Data has three important characteristics: Volume, Variety and Velocity, the amount of data involved, the types of data and speed at which these are getting generated for the analysis.

Big data requires exceptional technologies to efficiently process large quantities of data within tolerable elapsed times. There are many and to begin with, let us get familiar with NoSQL and Hadoop, which is synonymous with Big Data in my subsequent blog.

Thursday, October 27, 2011

Smart Phone Market Trend


When compared to Apple and Google, no one has any sort of hesitation to label Microsoft as a player who is still struggling to gain respectable share in the smart phone ecosystem.  But Microsoft is not giving up the hope and is looking to various partners like Nokia who has a worldwide reach to help it come up from behind.  Recent event like Nokia introducing two smart phones the Lumia 800 and Lumia 710, both based on Windows mango OS proves this.

Smart phone OS Market Share
Nokia too, a pioneered and dominated player until Apple and Google showed up is looking for image makeover.  With Google said to buy Motorola Mobility Holdings Inc in a bid to introduce hardware to the Android system and with Apple already a maker of both the iPhone hardware and the operating system (iOS).  Some analyst sees the availability of variety of Windows Phone models as one of Microsoft core strengths, but at the same time avoiding the "chaos" found in Android (a Linux based system operating system, developed by the Open Handset Alliance led by Google to work on the hardware from HTC, Samsung, Motorola, Sony and LG) by controlling the operating system and working directly with multiple operators and manufacturers including Nokia. This unique strategy of Microsoft’s partnership programs are something to watch for in the smart phone space in the coming days.
Events influencing Smart Phone Market
While Apple, Google and Microsoft battle it out, what amazes equally is the technological growth in the industry in the last few years.

Apple Humor
Nokia Lumia 800 phone for example feature a 3.7" screen, 1.4GHz processor, 16Gb of internal memory, 8MP instant share camera based on top end Carl Zeiss optics and runs on high-speed 4G networks that use a technology called LTE, or Long Term Evolution, as well as on older(!!) 3G networks. Only a year back, BSNL and AirTel offering 3G in India was big news and 5 MP cameras were considered a symbol of lavishness.

In such a high competitive smart phone ecosystem the question everyone has in mind is will Microsoft with its never ending innovation and past experience in wooing the customer be able to project itself as a tough competitor to Google and Apple with the help of once the innovative force in mobile phones market - Nokia. It is unlikely that Microsoft will be able to pull this off without fighting really hard in the coming years.

Monday, August 15, 2011

Mainframe Enablement for SOA: Part IV


Over the last two decades, CEOs of large corporations are finding themselves locked in a vicious cycle. Maintenance of legacy system are taking a bigger share in their IT budgets each year, as a result of which only very less is available for developmental upgrades.  But without developmental upgrades, maintenance on outdated systems is only going to create more problems in the long run. Now the industry has found a solution though Service Oriented Architecture (SOA), which offers a low-cost methodology to integrate, update, and manage data, applications, and utilize effectively any existing legacy system.

By moving to a SOA environment, you can gain a significant return on the investment by reusing components of your legacy systems. However, migrating to an SOA environment is neither automatic nor easy.  First step in moving towards SOA consists of providing access to mission critical business data and application in a technology neutral way. As pointed out in a  previous blog “Mainframe Enablement for SOA: Part I “of mine, Mainframe still enjoys a special status in many Fortune 500 companies and world’s largest corporations, including banking, finance, health care and insurance companies as they still run the business and contain critical business logic that is unique, difficult and costly to replicate. So in this blog we will explore the ways to enable mainframe application so that they can be part of the SOA world.

There are many solution approaches to enablement including few we have discussed in “Mainframe Enablement for SOA: Part I and Part II”. However, the making use of ESB is a better way. It provides many advantages in the area of governance, flexibility, quality of service (QoS).

Architecture


Note that ESB such as WebSphere Enterprise Service Bus supports z/OS and other distributed platforms like Linux for System, AIX and Windows. This approach requires the following software:  IMS Version 9 and IMS Connect Version 9 or above and for IMS enablement, CICS Transaction Server and CICS Transaction Gateway for CICS enablement. Other things required is J2C connectors like IMS TM Resource Adapter which implements the J2C Common Client Interface (CCI), a programming interface that allows your application to communicate with IMS Transaction Manager and CICS TG Resource Adapter, which allows communication with CICS Gateway.

Advantages of this approach

There are many advantages in using ESB as part of the solution since ESB are designed to avoid the point-to-point connectivity between services provider and service consumer, whereby it provides location transparency. 

ESB routes messages between services thereby removing the direct one-to-one relationship between end points.

ESB also provides built-in transformation capabilities for both message formats (for example binary into XML) as well as transport protocol transformation (example SOAP to MQ). 
And with CICS TG and IMS Connect providing two-phase commit, advanced security and system management, and the fact that no change is required in the CICS programs or IMS programs it turns out to be, the ideal way to enable Mainframe for SOA.

Thursday, August 4, 2011

Mainframe Enablement for SOA: Part III


In Mainframe Enablement for SOA Part I and II, we have discussed the approaches to enable CICS applications and IMS; now let us explore an approach to expose DB2 data or application as service.
JDBC Solution

The DB2 application or data can be exposed as Web services, implemented in J2EE Application Server via Java Database Connectivity (JDBC).  These Web services can be accessed directly from a Web service consumer using the Web Service protocols.

The Java Database Connectivity (JDBC) is an application programming interface (API) that the Java programming language uses to access relational database, such as DB2. The actual implementation of the JDBC interface is provided by the database vendor as a driver. This provides portability because all access using the JDBC is through standard calls with standard parameters. This enables an application developer to write code with little regard to the database being used, because all of the platform-dependent code is stored in the JDBC drivers.

There are 4 types of JDBC driver and z/OS supports Type 2 and Type 4. A type 2 driver is platform- and database-specific implementation.  Type 4 drivers are implemented using Java and are platform independent but are database-specific as they use proprietary database protocol to connect. For example, DB2 Type 4 driver access DB2 through DRDA. These pure Java drivers deliver high performance, scalable remote connectivity and manageability for Java-based enterprise applications to a remote DB2 running in z/OS database server


Architecture


Advantages of this approach
  • Extremely easy to use and quite popular approach with Java developers.

Sunday, July 17, 2011

Mainframe Enablement for SOA: Part II

My previous blog, discussed the approach one could adopt if the organization’s portfolio comprises of CICS applications; now let us discuss the one of the simplest approach to expose IMS application as service.

IMS SOAP Gateway 


 IMS Enterprise Suite SOAP Gateway is a web services solution that enables IMS applications to interoperate outside of the IMS environment through the SOAP protocol.

The IMS application can be exposed as Web services, by first creating a Web Service Description Language (web service interface) for the IMS application followed by deploying the web service interface to IMS SOAP Gateway and defining the connection and correlation information by using the deployment utility. Once deployed, any client application (Java or Microsoft .NET based) can send a SOAP message to invoke the IMS application. SOAP Gateway is compliant with the industry standards for web services, including SOAP/HTTP 1.1 and Web Services Description Language (WSDL) 1.1

Tools like Rational Developer for System z can be used to generate the WSDL file that is needed to enable the IMS application to run as a Web service provider.  All that is required to generate the WSDL file is the COBOL copybook for the IMS application that describes the input and output message format.

Architecture

Note that SOAP Gateway supports various z/OS, other distributed platform like Linux for System, AIX and Windows. This approach requires the following software:  IMS and IMS Connect Version 10 or above and IMS SOAP Gateway.

Advantages of this approach

  • Simple and easy way to enable IMS application. 
  • Existing transactions can be retained with no change.

Even though this is an easy way to enable IMS transaction, this approach has many many drawbacks such as no support for MFS-based transactions and two-phase commit.  So exploring the options which make use of Enterprise Service Bus is suggested.  Will look at the ESB based enablement in a subsequent blog.

Thursday, July 14, 2011

Mainframe Enablement for SOA: Part I

Even today, mainframe computers play a pivotal role in the daily operations of many of the world’s largest industries, including banking, finance, health care and insurance companies. While many other forms of computing are also being used, mainframe occupies special place in e-business dominated world. 

All began in 1960s, when IBM introduced S/360 followed by S/370 and S/390 with Multiple Virtual Storage support (MVS) OS to the current z9 and z10 with z/OS (A 64-bit operating system). Mainframe computing remains relevant even today  due to its high reliability, availability, and serviceability (RAS), security, scalability, continuing compatibility, evolving architecture, extensibility, and  lower total cost of ownership (TCO) 

The advantages of mainframe computing are often overshadowed by the need for premium hardware and labor costs, costly software licensing and maintenance expenses. In the face of all these difficulties, some organizations wish to   migrate to open systems. But there are many problems.  Mainframe cannot be dropped or replaced easily because: they still run the business and contain critical business logic that is unique, difficult and costly to replicate.  Reusing existing application will always leverage previous IT investments.  Since these systems has not become useless but has only limited business agility and flexibility in the current scenario, effort should be made to modernize these systems to meet the additional business needs. 

There are many ways to enablement including exposing the data on z/OS as a service and exposing the programs on z/OS as a service. When we say, exposing data on z/OS, it includes the following, VSAM data, IMS data and DB2 data. And when we say, exposing programs on z/OS, it includes the following, CICS program, IMS programs and DB2 stored procedures.  

Below we will discuss an approach which can be adopted if the organization whose application portfolio comprises of well designed CICS applications and uses 3270 displays as the user interface to the CICS application.

CICS Transaction Gateway 

The CICS application can be exposed as Web services, implemented in WebSphere Application Server via CICS TG.  These Web services can be accessed directly from a Web service consumer using the Web Service protocols.

The CICS Transaction Gateway (CICS TG) is a set of client and server software components that allow an application based on Java to invoke services in a CICS region. CICS TG currently supports the following platforms: z/OS, OS/390, Linux for System, AIX, Sun Solaris and Windows.

Architecture


Note that both CICS TG and WebSphere Application Server can run on z/OS or other distributed platform.  This approach requires the following software:  CICS Transaction Server, CICS Transaction Gateway and WebSphere Application Server or a J2EE server supporting the CICS TG resource adapter.

Advantages of this approach
  • CICS TG is a mature connector supporting two-phase commit, advanced security and systems management.
  • No changes to the existing CICS programs are required.
  • Performance extremely good, especially when all three (WebSphere Application Server, CICS TG, and CICS) run on z/OS. 

One of the drawbacks of this approach is that, the connection between WebSphere Application Server and CICS is not totally coupled loosely, for this exploring alternatives which make use of Enterprise Service Bus is suggested.  We will look at the ESB based enablement in a subsequent blogs.

Tuesday, January 4, 2011

Career Guide: Tester

One of the most frequently asked questions about web application testing goes something along the lines of,

"I am interested in becoming a tester, but I don't know where to begin. There seems to be so many types of  software testing techniques, methodologies and tools, that I feel lost. How do all these testing methods relate to each other, which ones do I need to learn in order to be considered a serious professional, and which one should I learn first?"

However, there is no single answer to these types of questions and truly no unique set of testing techniques or tools which can address all requirements of a web application.

This article's focus is on those who are trying to make their first step into the IT industry and for beginners who wish to find the right guidelines (set of tools and techniques to master) to make a career out as tester in a web applications based company.

1. Software testing is an integral part of the Software Development Life Cycle (SDLC). Software testing is nothing but subjecting a piece of code to both, controlled as well as uncontrolled operating conditions, in an attempt to observe the output and examine whether it is in accordance with certain pre-specified conditions. Different sets of test cases and testing strategies are put in place, all of which aim at achieving one common goal - removing all the bugs and errors from the code and making the software error-free and capable enough of providing accurate and optimum outputs. So a sound knowledge in the following areas is a must for a tester.

  • Software Development Life Cycle (SDLC)
  • Software Testing Life Cycle  (STLC)

2. Knowledge of various  testing techniques which are adopted as part of the software testing process is the next topic one should master. Even though there are many, have enlisted a few of them which are commonly  followed in all project.

  • Functional testing
  • Integration testing
  • Regression testing
  • Smoke testing
  • Performance or Load testing

3. Relational databases are generally the preferred choice for storing application data. Relational Database Management Systems (RDBMS) help to organize, store, and retrieve the data in a very efficient manner. Since testing involves checking where the user entered data gets populated in the databases, clear understanding the basics of Relational Database Management Systems like Oracle (http://www.oracle.com/) or MYSQL (http://www.mysql.com/) and Structured Query Language SQL is essential.

4. The essence of novice tester is his ability to understand the functionality or the module that is about to tested and execute the test  cases and record their findings.

Mastering the above technologies, equips you with the required minimum skill sets but it doesn't mean you would be getting a job in IT Company simply.  Many people fail miserably in job interviews when it comes to presenting their strengths in right manner. So, work on your soft skills especially communication skill which will give you, an ability to express your ideas clearly and effectively.

Once the basic requirements are met one could add the following to move up the ladder.

5. The essence of a successful tester who  is his ability to understand user requirements (What is this application all about),  come out with various test scenarios followed by various positive and negative test cases.  Refer "Sample Test Case reference section"  at the end of this article for more details.

6. Version control is a critical aspect of any software project, and its importance should not be underestimated. Version control systems serve several key purposes. First of all, they allow you to safely store successive versions of your source code. In addition to providing a secure backup copy of the test cases and test scripts, this ensures you can step back to a stable version when things go drastically out of control. Version control systems also help team members to work simultaneously on a test cases or script without stepping on each other's toes. So understanding a Version Control System such as Subversion (subversion.tigris.org) or Visual SourceSafe (VSS)and its vital functions is helpful.

7. Bug tracking software is an essential tool that allows software testers to record and report meaningful and relevant information on bugs they have encountered during testing in a effective manner. These tools often results in improved collaboration between the testing and development teams and facilitates better deliveries with less struggle. So understanding of bug tracking tool like Bugzilla (http://www.bugzilla.org/) and the workflow model it supports becomes necessary for a person who wishes to play the role of tester.
Typical life of a bug and most of the Bug Tracking tools supports this workflow model.

Life of a BUG
8. Frequent testing is one of the practices growing in popularity in IT industry now. It provides a powerful approach for combating the inevitable continuous change of  inputs in software projects. But this simple mantra "regression testing" is much easily said than done. . Manual testing have long appeared before automation testing and therefore it is believed to be a reliable process when it comes to software testing. But regression testing are typically constrained by tight project schedules and there is never enough time for detailed evaluation of application multiple times. The software testing methods can be implemented in two ways - manually or by automation. Manual software testing is done by human software testers who manually i.e. physically check, test and report errors or bugs in the product or piece of code. In case of automated software testing, the same process is performed by a computer by means of an automated testing software such as WinRunner, LoadRunner, Test Director.

Nevertheless these are not the only tools or approaches used by all IT companies to test web application. Neither the only ones in the identified category. But this step by step approach provides a good starting point for the new entrants.


Reference: Sample Test Case:
Find below sample Functional and Integration Test Case based on the Figure1, 2 and 3.


Figure 1: Login Screen
Functional test cases for Login Screen:
Test case IDDescriptionExpected Result
FT_101Check the UI.Should have
- 2 text boxes with label as “Username:” and “Password:”
- A check box with label as “Stay signed in”.
- “Sign in” Button. 
FT_102Click the “Sign in” without user credentials.Label “Enter your email address.” should be displayed
below the “Username” textbox. 
FT_103Enter value in “Username” only and click the “Sign in”
button.
Label “The username or password you entered is incorrect.”
should be displayed below the “Password” textbox. 
FT_104Enter value in “Password” only and click the “Sign in”
button.
Label “The username or password you entered is incorrect.”
should be displayed below the “Password” textbox.
FT_105Enter the valid “username” and incorrect “password” and
click the “Sign in” button.
Label “The username or password you entered is incorrect.”
should be displayed below the “Password” textbox.
FT_106Enter the valid “username” and correct “password” and
click the “Sign in” button.
“Gmail:Inbox” screen should be displayed in the right
frame.

Figure 2: Gmail:Inbox Screen
Figure 3: Compose Screen


Functional test cases for Compose Screen:
Test case IDDescriptionExpected Result
FT_201Check the UI Screen should match with above screen shot.
FT_202Click the “Compose mail” button.A right frame should be displayed with 3 text fields –
“To”, “Subject” and text area field.
FT_203Without entering any value in any field click the “Send”
button.
Message “Error: Please specify at least one recipient.”
should be displayed.
FT_204Click the “OK” button in the above message.Message window should be closed.
FT_205Enter a valid email address and click the “Send” button.Message “Send this message without text in the body?” should be displayed.
FT_206Click the “Cancel” button in the above message.Message window should be closed.
FT_207Enter a valid email address, enter a text in the text area and click the “Send” button.Message “Send message without a subject?” should be displayed.
FT_208Click the “Cancel” button in the above message.Message window should be closed.
FT_209Enter a valid email address, enter a subject and enter a
text in the text area and click the “Send” button.
Message should be sent and “Inbox” should be displayed.
FT_210Click the “Sign out” button“Welcome to Gmail” should be displayed.

Integration Test cases:

Test case ID

Steps

Description

Expected Result
IT_001Step 1Open the http://www.gmail.com/
page in browser.
Login page should be displayed.

Step 2Login as valid user with incorrect password.Appropriate message indicating that the login action failed should be displayed.
IT_002Step 1Open the http://www.gmail.com/
page in browser.
Login page should be displayed.

Step 2Login as valid user with correct password.Home page should be displayed.

Step 3Click the “Compose Mail” button.Correct right frame should be displayed.

Step 4Enter valid data in all the fields and click the “Send” buttonMessage should be sent and Inbox should be displayed


Step 5Click the “Logout” button.User should be logged out and login page should be
displayed.
IT_003Step 1Open the http://www.gmail.com/
page in browser.
Login page should be displayed.

Step 2Login as valid user with correct password.Home page should be displayed.


Step 3Click the “Logout” button.User should be logged out and login page should be
displayed.