Search This Blog

Wednesday, June 24, 2015

Business Process Automation & Integration

There is a heap of information on Business Process Automation - so I'm not going to go into great lengths to talk about the different nuances.

Instead I'm going to talk about a few hypothetical cases...


Case 1 - incoming orders


Let's suppose you work in a business that provides some form of product.  Some of your buyers send through orders via email.  Usually the email has an attachment.  It could be an Excel spreadsheet, a CSV file or some other format.  You need to get this information into your company's ERP or in-house application - henceforth let's just call it ERP for simplicity's sake.  Perhaps you have set up an special email address to which your clients can email their orders - let's call it orders@mycompany.com

So it's somebody's job to periodically check this Inbox to see if there are orders to be processed.  If there is an email, then the attachment is saved.  Then you edit the attachment into a specific form that will allow it to be loaded into your ERP for processing.  You need to check that the load process worked OK and maybe you have to send an email back to your client to advise them that their orders were accepted and perhaps even give them tracking information.

There's a lot that could go wrong.  But the main problem is that we are relying on a person to manually tend to the whole process of getting the data into shape, loading it, checking the result and communicating back to the client.

There are 2 major processes involved here - the automation of multiple manual steps and the integration into your company's ERP.

Let's deal with the automation side of things first.

In Case 1 we need to first handle how the data gets to our company.  At a high level, we call this Transportation - how the data is moved.  We see that email is the method of transportation, or more technically it is SMTP & POP.

Next we have to consider the data "payload".  And there are 2 aspects to this:
  1. What file type is being used, and
  2. What data format is being used
In Case 1, let's assume it is a simple text file using CSV data formatting.

So we need to create a process that reads emails coming into a specific Inbox, then detach the file for further processing.

However, it is unlikely that the incoming format is exactly what we need in order to load into our ERP.  So we need to munge it into shape.  Quite often this is a very manual process and prone to errors.  We need to map the incoming data elements to the format required by our ERP.  This involves the Transformation of the data.  It is also where the Integration part of this blog's heading comes into play.  In a Transformation process we are concerned about getting the data into the right shape and moving it to the right data element on the receiving side.  Now this too may vary just as the incoming data varied.  We could be loading it into a flat file that is read by a loader program.  Or we could be directly updating an Incoming Orders table in our ERP, where it will be processed by an existing mechanism.

In some cases we may need to create the flat file, and then invoke the loader program as a subsequent step.

As you can see from Case 1, we have a few steps that need to work together, much like the separate musicians in a band - so we call this Orchestration - ensuring that the process steps work together in a flow that produces the desired outcome.

And to control the creation of these Processing Sequences and who can access them, we need the management layer - or Administration

Case 2 - Outgoing Notifications

In much the same way as we handled Incoming Orders, we will handle Outgoing Notifications.  We need to create a Processing Sequence that handles transportation, transformation and orchestration.  Our ERP may have finished processing some orders and we want to notify the client of the outcome.  The client expects us to FTP an Excel file to a specific folder.  Our ERP creates the XML files in specific client folders - each client has its own folder.  The process will watch for files being created in this folder.  When a file is detected, it is transferred to the client's remote folder via an FTP connection.  We may have agreed to convert the XML into an Excel spreadsheet for this specific client.  After successfully moving the file, we move it to an Archive folder for this client and we send the client an email advising them that a file has been FTP'd to them, along with any other pertinent data.

Case 3 - Application to Application Integration

In our last case, let's look at intra-company process flows.  Quite often a company will end up with multiple applications running on different platforms.  Some will be older, perhaps authored in-house, but comprising the very core of the company's systems.  New applications may be acquired - sometimes through acquisition.  Rarely do these applications work together without some form of integration.  What we need is something that can handle both older methods of exchanging data (like file transfer) with newer methods such as web services - both SOAP and RESTful.

However, your business processing sequence will still need to have the same building blocks - handle the transportation method from one application, transform the data (for the receiving application), transport it into the receiving application and then kick off the processing.

Summary

To wrap it up, you want a solution that a business analyst can use to define your business process flows - think of it as workflow for applications.  You don't want to be writing bespoke programs that provide point solutions, as these will just add to your maintenance overhead.  You want a centralised, secure, code-free solution that handles multiple platforms, data formats, transportation methods in a secure, repeatable fashion.

If this sounds like something your company needs, then I suggest you have a look at LANSA Composer and automate your manual processes.









Friday, January 10, 2014

SmartWatches - Geek to Mainstream in 2014?

They won't look like the watch from the old cartoon series Dick Tracey - they'll be better!


There is a growing wave of SmartWatches out there.  Kickstarter has the Pebble watch
and the Agent watch

and the Geak 



And every man and his dog are releasing them - like Sony, Samsung, etc.

But nobody seems to have cracked it yet.  They all want you to touch the itty bitty screen with your blobby finger - hmmm.  I think it needs to mature and perhaps be gesture based or voice driven - but it will need to recognise your voice AND understand what you are saying.  Think about if a stranger says "delete all emails" and your watch says - "yes sir, right away!"

So I think there is some maturing yet, but with today's crazy-fast innovation cycles, it shouldn't take too long - over and out!

Monday, May 6, 2013

Application Mining

There's much talk today about Data Mining and Big Data.  What I don't see discussed much is Application Mining.

OK, so what is it?  Well in my thinking, it's where you have applications that are effectively performing 1 or more business functions for your organisation.  They aren't the "rising star" applications - more the "cash cow" applications.  You have already invested in them, you maintain them - they just do the job. Some people call them Legacy Applications.

Quite often they are the "green screen" applications - great for data entry, built in a time when GUI sounded like something sticky that you didn't want to accidentally sit on!

The value here is the data AND function.

So how do you leverage this corporate asset?

Intelligent Screen Scraping

Sounds awful - scraping the screen.  Let's use another phrase to cover this - "screen interception".  There's a few products that can intercept the information from the server that was normally displayed on a dumb terminal or in some form of terminal emulator running on the user's PC.

After intercepting the screen instructions, the software can display this to the user in a browser.

This "out of the box" transformation already delivers a benefit of not having to install any special software on the user's machine.

The next level of sophistication is to re-model the browser pages to leverage the power of using the browser and form objects such as date pickers, drop-down lists, etc.  At this point we should also be contemplating how we could revamp the process so that the user interaction is streamlined and designed for ease of use.

We can do this by marshaling multiple "green screens" behind the scenes and presenting a single web page to the user.  This more than compensates for the lack of "data entry speed" that some consultants claim is lost when moving from a character-based screen to a modern web page.

It is also possible to set up a framework that allows you to move some functions out into a web template and better utilise the server functionality.

Delving Deeper Into the Application

Once we have mapped our screens in this way, we can extend their use past the browser.

This can be done by combining screen interactions under a function and making it available in a SOA environment.  There are various approaches in making the function available - it could be by exposing it as a Web Service with a SOAP interface or, more likely, a JSON interface.

It could even be made available to less sophisticated systems running on different operating systems or even different networks.  This is where a product like LANSA's Integrator comes in handy.  LANSA have done a lot of good work in continuing to refine, and add new functionality to, LANSA Integrator.

Of course there are other products out there - so it's a case of "horses for courses".  But is you have an IBM i (aka AS/400) environment, then Integrator is the go.

Saturday, March 16, 2013

Removing Thule Roof Racks from Toyota Corolla - Rapid System 317

OK, this is Not an IT post, but I hope it helps anyone that is in the same position that I was.

I bought a Toyota Corolla Ascent 2004 (through work) and optioned it up to include a Thule roof rack.  The guide for installing the roof rack can be found here.

Even this guide didn't help that much.

You get keys to unlock this roof rack.  One set has the wavy edge you expect to see on keys.  In my case I had 4 of these in the pack (don't know why as they were all the same).  But there is also a slightly larger key with straight edges - it is important.

Most of the Thule roof racks have the keyhole in the "base" - the bit that sits on the roof of your car, but not this system.  It has the keyhole in the end of the rack.

I removed the whole key assembly buy:
  1. unlocking it with the wavy edge key
  2. pulling that key out, then inserting the straight edge key - all the way in
  3. then I pulled the black end, with the keyhole in it, outwards away from the body of the car - this allowed me to push the inside of the key mechanism and it just pops out
You probably don't have to remove the key mechanism like I did.

With the black end bit pulled out a few centimetres, but still in the rack,  start turning it counter-clockwise like you are unscrewing a top or a nut off a bolt. The whole mechanism starts to loosen.  Do this on both sides, then pick one side to loosen off enough to clear the edge of the roof and then lift to remove.

OK, so when you "get it" - the process is easy.  But I couldn't find any instructions on how to remove it on the web - and believe me I tried.

I hope this helps someone out there that searches for an answer!

Friday, March 1, 2013

The 3D Printing Revolution

So pretty much every day I'm reading another article about 3D printing.  For those not up to speed, it means you can print solid objects from a plastic like compound.

This used to be a very expensive exercise, but the price is tumbling as more players enter the market (competition) and we get more people wanting to buy the technology (scale).

I predict (actually, I predicted this about 10 years ago - check with my now-adult children...) that 3D printing would become fairly mainstream in most homes - and here's why.

A while back, a small plastic component in my fridge broke.  It was like a little bracket thingy that held up a shelf in the door.  Now I had 3 options (well 4 if you count "do nothing"):

  1. Drive to the outlet where you can buy this component,
  2. Ring up, order it by phone and pay for it to be delivered, or
  3. Order it via their web site and pay for it to be delivered.

What if I could go to their web site and pay to download the component to my 3D printer?  Problem solved in a few minutes and for far less as I'm only paying for the "design" of the part - I'm providing the physical substance and there's no delivery fee.

OK, let's take a breath and start to continue this line of thinking...

What about all the "add on" products like smartphone cases, little clips, frames, hooks...

People can design things to be printed, then you pay to simply use this design to create the physical object.

Now at the moment, the size of the object is restricted to fairly small - but it is increasing slowly.

Let's start designing!

Monday, November 12, 2012

Low cost Tablet - Disruptive Pricing

With the announcement of the Aakash 2, we see the first usable super-low priced tablet running Android.  The tablet is sold commercially as Ubislate and here's a picture of it.
So it looks OK and has some reasonable grunt.  It has a processor as powerful as the first iPad and twice as much RAM memory. It uses Google’s Android operating system.

Pricing

The Ubislate comes in 4 flavours as shown in the table below:


To give you an idea of the price range, the low-end 7Ri model is about AU$60 and the high-end 7C+ is about AU$85.

There are options to upgrade the RAM if you need it.

So it's very important for companies to consider how they will leverage this type of opportunity.  One way is to be able to punch out app content quickly and securely - where you can control the speed at which the app is updated.

The LongRange product from LANSA looks a good bet.  You can build mobile apps that link back to your server infrastructure so that the server drives the mobile experience.  Instead of having to learn a plethora of new technologies and techniques, LongRange uses the languages on the server.  So for Windows and IBM i servers - you can create apps by using the LANSA development environment.  On the IBM i servers, you can also use RPG & COBOL which are widely used on this platform.

Thursday, August 30, 2012

Organising Your Life With Evernote



When I first started to use Evernote I thought that it was a simple way to record notes - was I ever wrong!

Evernote has done a fantastic job of providing a ubiquitous platform for storing, organising and accessing information - the information you need to get things done (I've specifically chosen the last three words).

Some years ago, I read a great book by David Allen called "Getting Things Done".  The concepts in David's book just rang true to me and I implemented some of the advice in my work and private life.  But over the years, I started to drift away from these foundational practices as things got busy and a bit chaotic (circa 2009 GFC and other big life moments).

Recently I downloaded an eBook from the Kindle store called "Getting Things Done must read Summaries" by David Allen for my adult son so he could  learn the basics of GTD.  I read it too and it kindled (pun intended) a desire in me to see what solutions were around in the marketplace that would help me to pull together a GTD solution using today's technology.  I found another eBook from the Kindle store called "Evernote: The unofficial guide to capturing everything and getting things done." by Daniel E. Gold.  Now you can see where Evernote is coming into the fray...

One of the underpinning tenets of GTD is that you need a system (system means a set of processes, not necessarily a computer or application) to handle all of the things in your life.  Your work life, your personal life.  You need to handle what things to address now, what to file/store, what to get rid of.  By handling all of the calls on your time, and having a system on which you can rely, you free up your brain (both conscious and sub-conscious) to "flow like water".

Evernote runs just about everywhere - Windows, Mac, Android (Smartphone & tablet), iPhone & iPad, Blackberry (does anyone still use these?) and using a browser.  On Linux you can use an open source solution called Nixnote (used to be known as Nevernote).

OK, so it runs in a lot of places - that's good.  But what do you do with it? You store notes, files, pretty much anything that you can store on a computer.  Notes are stored in Notebooks.  Notebooks can be grouped in Stacks.  A note can have any number of tags (that you define).  When you install Evernote on Windows it has nifty integration features like browser add-ins that allow you to clip information on web pages.  There are several ways in which you can clip information on a web page; the URL, the whole page, a selection and the auto-select option.

Evernote also provides hooks in Outlook and in the right-click menu on files under the "Send to" option.

One feature I find particularly impressive is when you add an image as a note.  I've purchased a portable scanner so that I can scan items like receipts, warranties and other documents.  I then upload the image to Evernote as a new note - give it a title and tags.  But the clever stuff is that Evernote has automatically OCR'd the image and I can find the image based on its content.

Oh, did I say that Evernote is free?

I have chosen the premium edition (which provides some extra functionality and storage).  It's very cost-effective when you consider the benefits I am deriving from it.