Wednesday Sep 07, 2016

Floats, Moats & Blockchain in an e-commerce business

This article is about a blockchain use case in the e-commerce business, but first, let me talk about a couple of ideas that would be relevant for any business, and even more so for an e-commerce business. The idea of Floats & Moats.

A Float as Warren Buffet describes is "In effect, the money we are holding that will eventually go to other people, but of which we have a temporary possession." and Buffet loves a business which has a Float. What Warren Buffet loves even more is the Moat, he uses a moat as a metaphor to illustrate a business's superiority "that makes life difficult for its competitors"

A Float & Moat go together, here is a quote from one of the famous letters of Berkshire Hathaway that kind of nails it down. Warren writes,

"Leaving the question of price aside, the best business to own is one that over an extended period can employ large amounts of incremental capital at very high rates of return"

So, why are we discussing Floats & Moats in the context of an e-commerce business? well, like any other business which intends to offer investors a very high rate of return on investments, an e-commerce business must also create a wide enough float and moat? The use case on Payments in e-commerce applying blockchain technology may well be instrumental in creating a moat and a float, let us see how:

Overview of the business situation and recognizing the opportunity

An ecommerce Payment transaction is a series of payment instruction messages, beginning with the customer's order and including a series of further instructions between the participating institutions, with a purpose of making a payment to the seller.

In the current setup a ecommerce parent transaction moves using one of many possible payment networks such as Bank Transfers, Credit Card (Master Card, Visa, Rupay), cash on delivery etc., While the fund moves in sequential process. Movement of funds across each hop seeks a Nominal fees.

Besides the cost, current funds transfer mechanism open to settlement delays, counter party risks and reconciliation errors.

So, e-commerce companies are bearing multiple costs which in turn pass these bundled costs to the customer. The cost of Payment processing can be as high as 7% of the transaction value

Current Solution:

Who are the players in this transaction?

  1. Originator: The Individual who is making a purchase on the e-commerce site
  2. Beneficiary: The Party who is selling the product on the e-commerce site. The ultimate party to whom the monies will be credited when the e-commerce transaction completes
  3. Originator's Financial Institution: The Bank, Credit Card company, Payment Wallet on the smart phone
  4. Beneficiary's Financial Institution: The financial Institution that is used to credit the beneficiary's party
  5. e-commerce company: The e-commerce site on which this transaction is taking place
  6. e-commerce company's Financial Institution : The financial Institution that is used to credit the e-commerce company’s account

How would a Distributed Ledger, blockchain help?

All the players in an e-commerce payment transfer must take a series of coordinated steps for the payment to reach the beneficiary. Each bank in the chain must pay the bank downstream and receive payment from the bank upstream. These payments must offset each other such that at the end of the series of transactions, what remains is the increased balance in receiver’s account in receiving bank and the decreased balance in the account of sender in Originating bank.

This coordination requires

a. Trust- which is achieved using Wallets, Payment Banks, Commercial Banks & the e-commerce company; which has to prove its reliability, accuracy on following

i. Authentication of the transaction

ii. Checks & validations like sufficiency of  funds

iii. Credit and Debit to upstream and downstream Banks at right time and with right amount

iv. Do this in Secure manner

b. Maintain a ledger representing definitive record of respondent balance of funds for respondent Banks

Why use a Distributed Ledger?

Distributed financial technology could provide solution to this traditional funds transfer framework, replacing the need for the trusted third party i.e., clearing house . The 3 Banks A,B, C & the e-commerce company would use distributed financial technology to replace the trusted third party, and settle with each other, through any entity that has account on the books of both Bank A, B & C (here termed as Connector).

In contrast to the common clearing house model (where all banks A, B & C each have accounts with the clearing house), here it is the connector that has accounts with Bank A,B 7 C. This connector can be institutional broker or dealer, willing to act and authorized by both the Bank. Banks may choose to use different connector for each transaction.

So, how does a Distributed Ledger create a Float and a Moat?

Now, I would like you think of a mobile payment service that is a wallet, a payment bank, and a major e-commerce player. You use it to pay your taxi bills, and buy stuff on-line in India. What you see here is that this Eco-system has a potential to create a large Float. A distributed ledger shared by a  Payment Bank, a Commercial Bank, an e-commerce company and the mobile wallet would make it difficult for a anyone to compete with such an eco-system & this creates a Moat.

"Leaving the question of price aside, the best business to own is one that over an extended period can employ large amounts of incremental capital at very high rates of return"

Friday Aug 19, 2016

Blockchain technology and its future in the Enterprise

It has been a rather long hiatus from my blog writing, but I am glad that I finally am back to doing one of my favorite most things, writing about technology innovations affecting businesses. That said, which are those Innovations I am talking about? A quick look at the Gartner Hype cycle 2016 tells us one thing very clearly, i.e., Blockchain is at its peak!!

So, why is blockchain at its peak? What does it really offer? Even the Reserve Bank of India, a central bank known for being conservative talks about blockchain in its Payments & Settlement systems vision statement 2018. Why does the RBI want to monitor and put a regulatory framework around a technology innovation that is not yet fully matured? The above reasons and the buzz around blockchain makes it a very interesting topic to write about. So here goes...

What is Blockchain?

Simply put, Blockchain is a distributed ledger. It is a trend that is a mashup of multiple technologies originally invented to support the digital currency "BitCoin". It is a shared ledger which keeps a historical record of all the transactions across multiple nodes, but bear in mind

Blockchain ≠ Bitcoin.

Bitcoin uses blockchain technology keep a consistent record of transactions. Blockchain is the clever innovation that Bitcoin used to avoid a Trusted Third Party i.e., a payments clearing house and transact on P2P basis.

Blockchain makes perfect sense for Bitcoin, but why blockchain for businesses?

What blockchain does is, it creates a trusted record of transactions without a need for centralized, trusted third party, example: A Clearance house. While Blockchain worked out very well for a crypto currency like Bitcoin, its uses cases and applicability goes beyond crypto currencies. It can apply to any number of parties who necessarily don't trust each other but need to transact with each other. With blockchain, since both the parties maintain the same copy of the ledger, the trust is inferred.

The "Trusted Third Party" (TTP), typically maintains a single ledger of the transactions. There are essentially 2 problems with this model. 

  • The TTP takes time, typically days
  • They charge a small fee per transaction.

A distributed ledger can completely remove the need for the TTP, thereby taking only a few minutes utmost to record the transaction without any fee! That's what makes the Blockchain Disruptive.

Like all innovations, blockchain has its own challenges.

  1. Ensuring constant availability of the record: Everyone should have the copy of the record
  2. Ensuring all the transactions are legitimate: All transactions need to be digitally signed
  3. Ensuring that the record cannot be tampered with: Each record (transaction) is chained with the hash of the previous transaction. History of transaction cannot be rewritten
  4. Have a consistent sequence of transactions: On a global scale if transactions where to happen at the same time, the first one to solve a cryptographic puzzle gets to be first in the sequence of transactions. This is where the term "Mining" the blockchain comes from.

Given the immense potential for blockchain, where can it be put to use?

There are plenty of use cases and not just in payments or the Financial Services industry. The use cases range from smart contracts to proof of ownership of digital content. I particularly like the article from letstalkpayments below. It has a comprehensive list of the use cases and the startups working on them.


Blockchain is evolving into a ecosystem from being a technology

Bigchain DB, ethereum, Strato, ripple, eris,, coinalytics, and lastly hyperledger are just some of the players in the eco system. Hyperledger seems to be the most open framework that I have come across.

Exciting times ahead?

Gartner seems to agree, but hold on, bitcoin is the biggest user of blockchain technology till date and the largest volume transactions bitcoin handled in a single day is about 277K. That may seem like a lot, but even some of the smaller banks in India see similar volumes. Can blockchain really handle the scale of payment transactions that a commercial bank handles today all while chaining previous associated transactions? Does the blockchain have to be backed by a traditional database to scale? I would sure like to find out.

Wednesday Jul 10, 2013

Vantage Point - 8 points of view for evaluating a BPM product

Today let me tell you a little story, A detective story with 8 witnesses, each with different points of view. This story is based on a Hollywood movie, "Vantage Point"

Wikipedia describes the movie as “a 2008 American political action thriller which focuses on an assassination attempt on the President of the United States as seen from a different set of vantage points through the eyes of eight strangers…Displayed with eight differing viewpoints, an assassination attempt on the president occurs, relayed in a time span of 23 minutes. Each time the events unfold from the beginning, a new vantage point is shown revealing additional details, which ultimately completes the story of what actually took place during the incident and who was involved in the conspiracy.”

Let me introduce the 8 witnesses in my story. Each has a different point of view. The basic idea borrowed from the movie is that we get closer to the answer when we have multiple vantage points. As we move from one vantage point to the next, you will get a piece of the puzzle. When you have seen all the eight vantage points, you will have all the pieces of the puzzle. You will get closer to the answer. 
  1. The Business Analyst: Our first witness is the "Business Analyst" . His job is to model an optimum process that can serve the business and have end-to-end automation. How will he do this? 
    • First he would have to collaborate with the business users working on the as-is process, evaluate the bottlenecks with the As-is process.
    • Next he would need to discover the IT assets that will support him in modeling an optimum process that is executable and meets his business user's expectations from the To-Be process.
    • Simulate this process for various business scenarios and provide a realistic view of costs, units and time.
    • He should then make sure that his process meets regulatory requirements, extracts the right KPIs for the management, make content seamlessly flow with the process.
  2. The Prudent Architect: Now, let us shift focus from our Business Analyst to our Prudent Architect. Imagine you are the old fashioned Prudent architect that each business process must be a function of Business, Applications, Data & Technology architectures in that order. 
    • How will you ensure that your architecture vision is implemented in the way you visualized
    • What are the key factors that will ensure that change in process model does not affect a change in user experience, governance, integration artifacts, data model etc.,
  3. The Smart developer: Now let us put ourselves in the shoes of the smart developer. What does the developer need when implementing a process. 
    • Clear sense of direction: Thankfully our business Analyst has done his job when modeling the process and has already modeled the optimum process that meets business expectations
    • Sound architecture: The smart process developer now enjoys a layer of safety which has been taken care by SCA, service mediation layer, adapters to connect to legacy applications & various underlying transports
    • Ease of implementation : Easy to use wizards when connecting participating applications, people, content. Ability to add rules, analytics etc.,
    • Ease of team development and deployment: The smart developer works in the ecosystem of several others who participate in implementing the process. Together they need a system of continuous integration. When they are closer to staging & production. Ease of deployment of team artifacts is paramount.
  4. The Business Owner: How would a business owner think about process automation. We know one thing about her, she would certainly think out of the box, unlike our Prudent Architect. If she can save money & time with stable processes, she will consider automating the processes end-to-end. 
    • How will she get visibility on how value is being made by process automation.
    • How will she ensure that people responsible for their tasks are turning around in time delivering maximum profitability & user satisfaction
  5. The process participant: You are the quintessential process participant, you participate in many processes quite frequently. Right from the time when you were on-boarded into your company, when you salary account got created, when you applied for that home loan, when you procured something, when sell something, when you file you tax returns etc. You cannot escape from participating in a processes. I am sure you you've had some expectations from the processes you've participated in. Couple of mine are
    • I'd like to know the current status of the process I am participating in
    • Could I be notified when things are going according the plan, but if there is something amiss, I want to be alerted.
  6. The IT Administrator: IT administrators fear a lot, they worry about micro events that occur in the infrastructure they own. Any uncertainty in the data & audit traces means that need to act fast. That is why
  7. The Value oriented Management: Imagine you are a value oriented manager who is responsible for business process automation at your company. How would you show value to the business owners. You could do many things, but let us talk about the 3 most important things
    • You could build a business case for BPM.
    • You would focus on automating processes which are low in complexity & high in value first
    • Show business owners how they would save money & time.
  8. The Enterprise: You see, things carry on, because they have carried on. The business has been around for so long and people have this status-quo bias, this inertia which prevents them from change. Moreover, there are people, who don't want this change. Plus, of course, the company depends on the contributions of these very people.I think we all agree that the real cost of automating a process is hardly in the BPM product you choose. The real cost comes in the form of status-quo. 

The choice really is up to you.You can put yourself in the shoes of any of the above 7 witnesses and rationalize your choice. I do know you get closer to the answer when you have multiple vantage points. Having just one vantage point in a detective story is not good enough. Having 8 is rather cool!!

Monday Jun 10, 2013

Making a Case for Case Management

Enterprises need to achieve business results. In order to achieve the right business results, they often find themselves balancing their processes between being
  • Flexible yet Rigid
  • structured while unstructured
  • predictable yet cater to the unexpected
  • managed but free

It would be evident that this fine art of balancing requires trade-offs on both ends of the spectrum. 

In the recent years, several enterprises have implemented automated business processes to bring structure to multitude of activities during transaction processing. The business processes themselves have gone through multiple optimizations to suite business needs over the years. The optimizations follow the path of
  1. Straight thru Processing: These optimizations start with increasing straight-thru-processing and reducing the manual activities
  2. Increase visibility: Increasing visibility on both manual as well as automatic(system) activities. The visibility could range from reporting on monthly SLAs & KPIs of the processes to near Real-time reporting. 
  3. Process Control: ultimately leading to better process control
If we take the narrow view of a business processes, we could easily fall into the trap of making structure a prerequisite for implementing BPM. This is really not the case though, each business process can have varying degrees of 

  • Predictability: The sequence in which tasks & events are executed are known. In highly predictable processes there is little or no change in the sequence.
  • Flexibility: Flexibility allows the process to reach different results every time the process executes. The ability to reach different results is based on business dynamics and modeled as rules
  • Visibility: If we have low predictability & high flexibility, what will business owners do with the KPI metrics they collect? the process is unpredictable anyway.

Let me use a  simple metric called "score" to rank the degrees of predictability, flexibility and Visibility required on process execution & plot it on a radar chart

 Process Characteristics  Score (1..10), 10 Highest
 Predictability  3
 Flexibility  8
 Visibility  3

You can easily now see that the above scores show the process in question is high flexibility with low visibility & predictability. This process I believe would require a "Case". When you design(structure)a case, you are designing for unpredictability.

This looks good in theory, but in real tangible terms, what is the advantage to business to design a case rather than a business process? For that, let me use my favorite example, the Loan Origination Solution. If you closely look at the LOS example that is implemented, you'd see that we are following the path of structure, for example,
  • The decision making follows a more the structure approach of Branch --> Zone-->Region-->Central as would be followed by any bank in India
  • Business Rules decide the level of approval based on values such as loan amount, Net worth of loan seeker, customer credit scores etc.,
  • Canceling the loan means just terminating the loan process.
  • and several other sequential activities
Modeling the Loan Origination Solution as a Case would require some new thinking!!
  • The decision making should done by stakeholders of the case rather then structured management hierarchy
  • The activities could be modeled based on milestones instead of sequence of activities
  • each case would be handled by a case manager 
  • Canceling a loan is just one many case events that the solution allows for. It does not necessarily terminate the case
  • The case activities themselves could be either modeled as BPM processes or simple Human Tasks
  • Below is the brief story board design of the case, quite a departure from earlier storyboard

Monday Jun 03, 2013

The Curious Case of Morning Routine: A Simple Example of Case Management

Here is an example of Case Management I tried out over the weekend. It is a Case of a Person's Morning Routine. Every person performs certain tasks every morning, but, perhaps not in the same order. A Person may choose to not perform some of the tasks too.

Some of the morning activities of a person may include

  • Brush Teeth
  • Jog
  • Shower
  • Get Dressed
  • Eat Breakfast
  • Check Email

Every Person may handle the morning routine differently. A Person may even choose not to perform an activity as part of the routine. I've illustrated some sample routines

You will notice that the routines are different, but, certain patterns could emerge out of each case, for instance, activity "Get Dressed" always succeeds Shower. There can be other patterns based on time taken for each activity. If we wanted to add complexity the case of Morning Routine, we could parallelise tasks and model Eat Breakfast & Check Email together.

When the number of persons increase you could potentially detect patterns based on the persons age, sex, country and so on. There are many possibilities!!.

I have developed a bare bones case management application using Oracle BPM PS6. It includes

  • The case itself
  • Each case activity modeled as a BPMN process
  • Business rules to trigger case activities
  • Case UI (This one is from the sample Case Management UI)
  • etc.,

Sunday Apr 14, 2013

Cloud computing is the new normal. Process Excellence, Service Orientation is hygiene.

This weekend there was an interesting show titled "Cloud Computing, Beyond the Hype" on NDTV Profit

The show had Sunil Jose, vice president of applications at Oracle; Sanket Atal, CTO of; Sanjeev Prasad, CIO of Genpact, and Biswajeet Mahapatra, research director of Gartner as panelists. While the show was obviously focussed on Cloud computing. There are some snippets which I thought were highly relevant for BPM and SOA.

Highly Recommend that you view the entire show, Have embedded the video below.

Be sure, you hear:

Sanket Atal, CTO of @03:07 mins, "MakeMyTrip Architecture is Service Oriented"

Sanjeev Prasad, CIO of Genpact @4:51 mins : "Lead by Process, need technology to make it happen"

Sanjeev Prasad @5:31 mins, "Deep Insights into Processes & Data".

Sanjeev Prasad, @11:33 mins, talks about the customer workflows(read processes) hosted at Genpact.

You could also view the Video here

My previous article talked extensively about Oracle BPM for BPOs. I was quite excited to hear Sanket & Sanjeev share similar thoughts.

Monday Mar 25, 2013

Oracle BPM for BPOs: Lifecycle of an Outsourced Process

BPOs are Organizations that contract the operations and responsibilities of specific business processes from their customers. The nature of outsourcing of the process could be the complete process, a large segment process or even a specific function.

Largely their operations can be categorized into :

Front-office operations (contact centers): Contact centers rely extensively on telephony for both in-bound and out-bound contact with the client's customers. They mostly integrate with their client's CRM systems & Telephony systems. For front office operations, real-time visibility into the various communication threads, revenue per transaction, conversion rates, shrinkage, call handling rates, schedule adherence, etc. is the key for the outsourcing enterprise.

Back-office operations: For processes related HR, Accounting, Finance, Payroll, Legal, Invoice processing etc., large enterprises whose core business is not the above Lines of business  may choose to outsource an entire process or subsets of each process in an LOB to BPOs.

As is evident from the description above, the core business of BPOs is to deliver efficient business processes. In that context BPOs have long relied on Business Process Management technologies to deliver efficient processes to their customers.

Let us now look how BPOs can use BPM technologies in the life cycle of an outsourced process. For that, let me illustrate the life-cycle itself. 


  1. BPO's Pitch an offering to the Outsourcing Enterprise.
    • Discover & Identify the as-is Process Model: The customer running a complex process has documented their processes in tools such as Visio, or, can be disocvered during the study phase by the BPO.
    • Showcase the to-be Process Model: These processes need to be imported into Oracle BPM, refined and modeled in an optimum way using standards based technologies
    • Simulate the process model : BPO's can highlight the ROI aspect of running the outsourced&optimized process by using an exhaustive simulation of transaction volumes that the customer could experience.
    • Play the Process model to get the feel of execution by end users: The only way an outsourced process can be experienced before it is in production was through mock-ups until recently. Not anymore, you could pretty much play the entire process out even before the on-boarding has started
  2. On-board the process: On-boarding is the critical most phase in the process life-cylce for the BPO. It is this phase where the BPO is gaining negligible revenue from it's customer while incurring costs on-boarding the process. Typically it takes about a month or two to on-board a process. A BPO needs to reduce the on-boarding time as much as possible to impact revenue and increase customer delight. 
    • Model the end-to-end process exhaustively : Model the process to fit the systems, content and human interactions the process implements. 
    • Simulate to identify load related issues and optimize process before executing it. Identify the capacity of systems integrating with process and simulate the process with peak capacity metrics
    • Implement UI for human tasks:  This task was time intensive as developers spent most of their time developing UI artifacts meeting exact requirements . With Web Forms and ADF, time lines can be reduced radically
    • Integrate Apps: The Customer may require real-time integration with his enterprise applications such as ERP, CRM and other transaction critical systems. The BPM solution should be based on a strong SOA backbone and B2B capabilities
    • Integrate Communication components: It is imperitive to integrate to the customer's communication software such as email, SMS, voice etc. integration with communication software should be out of box for the BPM system
    • Integrate Content: Outsourced Processes related to Account payable & receivable, legal procesess, processes with signed application forms all require integration with Document Management Systems both on the customer's end as well as the BPO. Integration with multiple DMS or Content systems should be out-of the box
  3. Implement the Process
    • Provide complete visibility into the various stages of the process being executed: The process modeling solution should provide the ability to define KPIs and key metrics which can be surfaced onto a Real-time dashboard for process visibility & alerts. This requirement is relevant both of agents executing the process at the BPO and customers 
    • Manage Task Assignment: The  BPO agent team executing the process should be able to distribute workloads among the team members based on various algorithms based on skill, load, and productivity
    • Manage Process Instance queues: Working Shifts & multi-location execution is norm when executing processes. A set of instances being executed in the Gurgaon office could migrated to the Jakarta office as and when needed. The BPM system should support migration of process instances from one queue to another seamlessly 
  4. Execute the Process : Process execution involves human interaction from various channels(web, mobile, voice), integration with services(applications, communication, network), events, messaging, data sources, content etc., The BPM system should support all the integration scenarios. Customer team, Agent team, Management and process owners should all be able participate and execute the process and collaborate when executing the process.
  5. Monitor & QC the process 
    • Run self running QC Processes: BPO should be able to model & implement self running QC processes based on reducing sample sizes of the agent tasks being quality controlled. Business rules play an important role here to define which activities should be QC's and which need not be.
    • Analyze KPIs: The BPM solution should provide rich real-time analytics of process execution. This helps the agent team to take stock of where they are w.r.t the targets they intend to achieve, error rates, escalations and so on. Customers could be alerted with key execution metrics to provide visibility on process execution
    • Monitor the health of the Process on IT parameters: IT Admin teams should able monitor the health of the IT systems participating in the process, they should be able to throttle message inflow & outflow to various IT systems based on the capacity of the applications
    • Alerts
  6.  Audit the Processes : BPOs have to adhere to stringent audit requirements that their customers' have to adhere to in their respective geographies. This means that compliance & audit-ability is the key aspect of the outsourced process. Archival of executed processes, generating audit reports, complete transaction data visibility for audit teams should be inherent to the solution.
  7. Optimize the Process : An optimum process model today need not be the best fit for future needs as the nature of transaction and processes change. 
    • Round-trip Simulation: The BPM system should provide round-trip simulation capability to fetch execution KPIs from production systems and use them as an input to simulation models of the refined process
    • Version management: The same process can have different flavors with minor modifications to suite various geographies, market seasons etc., The BPM system should support the need for running multiple versions of the same process & also schedule version changes.
    • Process Migration : Migrating to a new optimized version of the process should be seamless and should involve running process instances too.

While the elements in the life-cycle are generic and apply to any outsourced process, the descriptions & screen images that you see are all delivered by Oracle BPM. This clearly highlights how Oracle BPM delivers value to BPOs. While there are many BPM solutions that can meet expectations on a particular stage of the process life-cycle. Oracle BPM can address all phases in the life-cylce of an outsourced process

Wednesday Aug 29, 2012

Next Generation Mobile Clients for Oracle Applications & the role of Oracle Fusion Middleware

Oracle Enterprise Applications have been available with modern web browser based interfaces for a while now. The web browsers available in smart phones no longer require special markup language such as WML since the processing power of these handsets is quite near to that of a typical personal computer. Modern Mobile devices such as the IPhone, Android Phones, BlackBerry, Windows 8 devices can now render XHTML & HTML quite well. This means you could potentially use your mobile browser to access your favorite enterprise application. While the Mobile browser would render the UI, you might find it difficult to use it due to the formatting & Presentation of the Native UI.

Smart phones offer a lot more than just a powerful web browser, they offer capabilities such as Maps, GPS, Multi touch, pinch zoom, accelerometers, vivid colors, camera with video, support for 3G, 4G networks, cloud storage, NFC, streaming media, tethering, voice based features, multi tasking, messaging, social networking web browsers with support for HTML 5 and many more features. 

While the full potential of Enterprise Mobile Apps is yet to be realized, Oracle has published a few of its applications that take advantage of the above capabilities and are available for the IPhone natively. Here are some of them

Iphone Apps 

Oracle Business Approvals for ManagersOffers a highly intuitive user interface built as a native mobile application to conveniently access pending actions related to expenses, purchase requisitions, HR vacancies and job offers. You can even view BI reports related to the worklist actions. Works with Oracle E-Business Suite
Oracle Business Indicators : Real-time secure access to OBI reports.
Oracle Business Approvals for Sales ManagersEnables sales executives to review key targeted tasks, access relevant business intelligence reports. Works with Siebel CRM, Siebel Quote & Order Capture.
Oracle Mobile Sales Assistant: CRM application that provides real-time, secure access to the information your sales organization needs, complete frequent tasks, collaborate with colleagues and customers. Works with Oracle CRM
Oracle Mobile Sales ForecastDesigned specifically for the mobile business user to view key opportunities. Works with Oracle CRM on demand

Oracle iReceiptsPart of Oracle PeopleSoft Expenses, which allows users to create and submit expense lines for cash transactions in real-time. Works with Oracle PeopleSoft expenses

Now, we have seen some mobile Apps that Oracle has published, I am sure you are intrigued as to how develop your own clients for the use-cases that you deem most fit. For that Oracle has ADF Mobile

ADF Mobile

You could develop Mobile Applications with the SDK available with the smart phone platforms!, but you'd really have to be a mobile ninja developer to develop apps with the rich user experience like the ones above. The challenges really multiply when you have to support multiple mobile devices. ADF Mobile framework is really handy to meet this challenge

ADF Mobile can in be used to

  • Develop Apps for the Mobile browser : An application built with ADF Mobile framework installs on a smart device, renders user interface via HTML5, and has access to device services. This means the programming model is primarily web-based, which offers consistency with other enterprise applications as well as easier migration to new platforms.
  • Develop Apps for the Mobile Client (Native Apps): These applications have access to device services, enabling a richer experience for users than a browser alone can offer. ADF mobile enables rapid and declarative development of rich, on-device mobile applications. Developers only need to write an application once and then they can deploy the same application across multiple leading smart phone platforms.

Oracle SOA Suite

Although the Mobile users are using the smart phone apps, and actual transactions are being executed in the underlying app, there is lot of technical wizardry that is going under the surface. All of this key technical components to make

1. WebService calls
2. Authentication
3. Intercepting Webservice calls and adding security credentials to the request
4. Invoking the services of the enterprise application
5. Integrating with the Enterprise Application via the Adapter

is all being implemented at the SOA infrastructure layer. 

As you can see from the above diagram. The key pre-requisites to mobile enable an Enterprise application are

  1. The core enterprise application
  2. Oracle SOA Suite
  3. ADF Mobile

Tuesday Jul 17, 2012

Algorithmic Trading Sample App using Oracle Complex Event Processing

This week, I've cooked up something interesting, It's not just an article, but a sample application. 

Objective : Build an application that can read streaming stock market quotes, apply technical analysis algorithms & automatically initiate trades.

Ingredients : 
  • Streaming Stock Market Quotes
  • Technical Analysis Algorithms
  • Transaction platform to record trades
  • A platform to design, build, deploy & run my low latency high throughput Algorithmic trading application
Algorithmic trading, also known as automated trading is the use of an electronic platform for entering trading orders with an algorithm deciding on aspects of the order such as the timing, price, or quantity of the order and initiating the order without human intervention. While Algorithmic trading is also usually High frequency, for this sample App we would have go with a frequency that is available with our publicly available "Quote Engine"

Coming back to the topic ingredients, Here is what I have used.

Streaming Stock Market Quotes : For the streaming stock market quotes, I am using the Yahoo Finance Quote Engine. Yahoo provides an interesting way of querying it's services, it is called YQL (Yahoo Query Language). With YQL, I could fire a query that looks like

select * from where symbol in ("WIPRO.NS", "INFY.NS", "TCS.NS" )

convert it into request into a REST query and fetch real-time quotes of the stock listed above.

Technical Analysis Algorithms: This I thought would tricky, but any day-trading book can teach you the details of the technical analysis techniques, here are some of the concepts & algorithms that could be used

Concepts: Uptrend Identification,Downtrend Identification,support,resistance,Double bottom identification,identification of breakthrough, price, volume
Algorithms: Double Confirmed Minimum Profit, Profit locking risk management,Support & Resistance,Profit Targets,Reversal Formations at bottoms,pivot point,fibonacci,Stochastic,MACD (Moving Average convergence divergence)

I have used a simple algorithm to initiate trades(buy, sell, no trade only) in my sample application. Since I am sharing my sample App, you are free to make the algorithms as sophisticated as you'd like to. 

Transaction platform to record trades : I've used Google Finance java API's to record my trades. Google Finance transaction engine allows me to constantly record trades & monitor performance on my trades. The Google Finance APIs have been used in the PaperTrader bean.

Platform to run my Algorithmic Paper Trader: The AlgorithmicPaperTrader App. runs on the Oracle Complex Event Processing Platform. I've modeled my EPN (Event Processing Network) and implemented the entire solution using Eclipse  & Oracle Complex Event Processing feature-set plug-in for Eclipse 3.5 + .


  • Please set or unset System proxies as needed in the source code
  • You will need the following libraries to be added to you Weblogic Event Server & Eclipse project classpath : gdata-base-1.0, gdata-client-1.0,gdata-core-1.0,gdata-finance-2.0, gdata-finance-meta-2.0,guava-r09
  • Please create your own Yahoo API key. I have deleted the key I have used for myself 
  • The Username/password of the Google account used for paper trading is left blank. Please use your own credentials. The application uses the default portfolio "My Portfolio" to record transactions

 You could download the Sample Application here

Tuesday Jul 10, 2012

Process Centric Banking: Loan Origination Solution

There is an old proverb that goes, "The difference between theory and practice is greater in practice than in theory". So, we keep doing numerous "Proof of Concepts" with our own products on various business cases to analyze them deeply, understand and explain to our customers. We then present our learnings as they happened. The awareness of each PoC should help readers increase the trustworthiness of the results coming out of these PoCs.

I present one such PoC where we invested a lot of time&effort. 

Process Centric Banking : Loan Origination Solution

Loan Origination is a process by which a borrower applies for a new loan and the lender processes that application. Loan origination includes the series of steps taken by the bank from the point the customer shows interest in a loan product all the way to disbursal of funds. The Loan Origination process is relevant for many kind of lenders in Financial services: Banks, Credit Unions, NBFCs(Non Banking Financial Companies) and so on. For simplicity sake, I will use "Bank" as the lending institution in the rest of my article. 

Loan Origination is one of the core processes for Banks as it is the process by which the it creates assets against which the Institution earns most of its profits from. A well tuned loan origination process can affect the Bank in many positive ways. Banks have always shown great interest in automating the loan origination process for the above reason. However, due the constant changes in customer environment, market dynamics, prevailing economic conditions, cost pressures & regulatory environment they run into lot of challenges. Let me categorize some of these challenges for you

Customer Environment
  • Multiple Channels: Customer can use any of the available channels (Internet Banking, Email, Fax, Branch, Phone Banking, ATM, Broker, Mobile, Snail Mail) to perform all or some of the activities related to her
  • Visibility into the origination process: Expect immediate update on the status of loan processing & alert messages
  • Reduced Turn Around Time: Expect loans to be processed with least turn around time
  • Reduced loan processing fees: Partly due to market dynamics the customer expects the loan processing fee to be negligible
Market Dynamics
  • Competitive environment:  The competition keeps creating many variants of loan products to attract customers, the bank needs to create similar product variants with better offers to attract customers or keep existing ones
  • Ability to migrate loans from one vendor to another: It has become really easy for retail customers to move from one bank to the other given the low fee of loan processing and highly attractive offers. How does the bank protect it's customer base while actively engaging with potential customers banking with competitor banks
  • Flexibility to react to market developments: Market development greatly influence loan processing, underwriting, asset valuation, risk mitigation rules. Can the bank modify rules and policies, the idea is not just to react to market developments but to pro-actively manage new developments
Economic conditions
  • Constant change in various rates and their implications on the rates and rules applied when on-boarding a loan: How quickly can the bank apply changes to rates offered to customers when the central bank changes various rates
  • Requirements of Audit by the central banker: Tough economic conditions have demanded much more stringent audit rules and tests. The banks needs to produce ready reports(historic & operational) for audit compliance
  • Risk Mitigation: While risk mitigation has always been a key concern for the bank, this is the area where the bank's underwriters & risk analysts spend the maximum time when processing a loan application. In order to reduce TAT the bank cannot compromise on its risk mitigation strategies
Cost pressures
  • Reduce Cost of processing per application: To deliver a reduced loan processing fee to the customer, the bank needs to keep its cost per processing loan application low.
  • Meet customer TAT expectations while reducing the queues and the systems being used to process the loan application: The loan application could potentially be spending a lot of time waiting in the queue for further processing. Different volumes & patterns of applications demand different queuing algorithms. The bank needs to have real-time visibility into these queues and have the flexibility to change queuing algorithms at runtime 
  • Increase the use of electronic communication and reduce the branch channel usage: Lesser automation leads not only leads to Increased turn around time, it also impacts more costs to reach out to customers

The objective of our PoC was to implement a Loan Origination Solution whose ownership lies with the bank and effectively meet the challenges listed above. We built a simple story board for the solution


We then went about implementing our storyboard using Oracle BPM Suite, Webcenter Content : Imaging. The web UI has been built on ADF technolgies, while the integration with core-services has been implemented using the underlying SOA infrastructure. The BPM process model is quite exhaustive can meet all the challenges listed above to reasonable degree.

Loan Origination Process
A bank intending to implement an end-to-end Loan Origination Solution has multiple options at it's disposal. It can

  • Develop a customer Loan Origination Application from scratch: Gives maximum opportunity to build what you want but inflexible to upgrade and maintain. Higher TCO in long term
  • Buy a Packaged application & customize it: Customizing a generic loan application can be tedious and prove as difficult as above.
  • Build it using many disparate & un-integrated tools: Initially seems easier than developing from scratch. But, without integrated tool sets this is not a viable approach either



  • A solution based on a Framework: Independent Services and Business Process Modeling provide decoupled architecture that is flexible. We built this framework end-to-end with processes the core process of loan origination & several sub-processes such as Analyse and define customer needs, customer credit verification, identity check processes, legal review process, New customer registration & risk assessment.

Sunday Jul 01, 2012

Seamless STP with Oracle SOA Suite

STP stands for “Straight Through Processing”. Wikipedia describes STP as a solution that enables “the entire trade process for capital markets and payment transactions to be conducted electronically without the need for re-keying or manual intervention, subject to legal and regulatory restrictions” .I will deal with the later part of the definition i.e “payment transactions without manual intervention” in this article.

The STP that I am writing about involves the interaction between a Bank and its’ corporate customers,to that extent this business case is also called “Corporate Payments”.Simply put a  Corporate Payment-STP solution needs to connect the payment transaction right from the Corporate ERP into the Bank’s Payment Hub. A SOA based STP solution can do a lot more than just process transaction.

But before I get to the solution let me describe the perspectives of the two primary parties in this interaction. The Corporate customer and the Bank.

Corporate's Interaction with Bank: 

Typically it is the treasury department of an enterprise which interacts with the Bank on a daily basis. Here is how a day of interaction would look like from the treasury department of a corp.

Corporate Cash

  • Retrieve Beginning of day totals
  • Monitor Cash Accounts
  • Send or receive cash between accounts
  • Supply chain payments
  • Payment Settlements
  • Calculate settlement positions
  • Retrieve End of Day totals
  • Assess Transaction Financial Impact

Short Term Investment Desk

  • Retrieve Current Account information
  • Conduct Investment activities

Bank’s Interaction with the Corporate : 

From the Bank’s perspective, the interaction starts from the point of on boarding a corporate customer to billing the corporate for the value added services it provides. Once the corporate is on-boarded the daily interaction involves

  • Handle the various formats of data arriving from customers
  • Process Beginning of Day & End of Day reporting request from customers
  • Meet compliance requirements
  • Process Payments
  • Transmit Payment Status

Transaction Processing


Challenges with this Interaction : 

Both the Bank & the Corporate face many challenges from these interactions. Some of the challenges include

  • Keeping a consistent view of transaction data for various LOBs of the corporate & the Bank
  • Corporate customers use different ERPs, hence the data formats are bound to be different Can the Bank’s IT systems convert the data formats that can be easily mapped to the corporate ERP
  • How does the Bank manage the communication profiles of these customers? 
  • Corporate customers are demanding near real time visibility on their corporate accounts
  • Corporate customers can make better cash management decisions if they can analyse the impact.
  • Can the Bank create opportunities to sell its products to the investment desks at corporate houses & manage their orders?
  • How will the Bank bill the corporate customer for the value added services it provides.

What does a SOA based Seamless STP solution bring to the table?


Highlights of Oracle SOA based STP solution

For the Corporate Customer:

  • No Manual or Paper based banking transactions
  • Secure Delivery of Payment data to the Bank from multiple ERPs without customization
  • Single Portal for monitoring & administering payment transactions
  • Rule based validation of payments
  • Customer has data necessary for more effective handling of payment and cash management decisions 
  • Business measurements track progress toward payment cost goals 

For the Bank:

  • Reduces time & complexity of transactions
  • Simplifies the process of introducing new products to corporate customers
  • Single Payment hub for all corporate ERP payments across multiple instruments
  • New Revenue sources by delivering value added services to customers
  • Leverages existing payment infrastructure
  • Remove Inconsistent data formats and interchange between bank and corporate systems 
  • Compliance
  • and many other benefits


Digital Solutions for business use cases.


« September 2016