Friday, July 30, 2010

Is SOA Only for Large Organizations ?

There is a view amongst small and medium size organizations that implementing a Service Oriented Architecture (SOA) is only for ‘the big guys’ due to the cost and resources that are required. In fact nothing could be further from the truth as any size organization that run a simple PC with Word or Excel can benefit from a SOA and particularly a standards based SOA which is what the SOA Gateway can provide . The following looks at the three types of organization and how standards based SOA can help them. As we’re talking technology here, we classify organizations based on the technical capability rather than how such organizations may be traditionally classified.



‘Small’ Organizations



These organizations are seen to be those with a number of non linked PCs or perhaps a small network of PCs with a file server. In the majority of cases, these organizations would have no technical support on site and would be more than likely to use software services delivered by their larger partners than providing services themselves.



These organizations have suffered in the past due to the cost of integrating with their larger partners which was prohibitive. With the advent of SOA, your partners are in a position to expose services that you can consume with the standard applications you use today. Products like Excel and Word can work with services thus enabling you to integrate with the IT systems of your partners in a way never before possible. The advent of Software as a Service (SaaS) and Cloud based services provides the ability for smaller organizations to use extremely complex software solutions for a fraction of their cost as they are charged based on your usage of them rather than the base cost of developing the solution.



‘Medium’ Size Organizations



These organizations are likely to have a reasonably sized network of PCs with a number of servers with various applications running in support of the business. They would have a minimum of a technical and/or network support function and in many cases would have application development specialists on site.




These organizations also suffered based on the cost of integration. Massive savings can be made by giving trusted partners access directly to systems thus facilitating ‘straight through processing’ (STP) improving the speed at which data is processed and the quality of that data. Using a standards based SOA, these organizations can benefit internally by creating services for internal use and enabling those services externally that partners or even potentially customers could use. A standards based SOA enables a plug and play approach to be adopted by choosing best of breed products that best suit the need and produce the best ROI. Many SOA products also adopt a usage based licensing approach thus making them more cost effective for such organizations.



‘Large’ Organizations



These organizations are likely to have a very large network with onsite development staff for applications. Apart from the obvious benefits for these organizations from using SOA internally, it also presents great opportunities to improve business. A standards based SOA will enable these organizations to easily provide access to trusted partners to their systems. This provides the ability to consider working with smaller suppliers for example who can deliver value to the business. Essentially the only thing a supplier will need will be a PC with Microsoft Excel and they can play with the big guys.



Summary



Any organizations with any IT capability from a single PC and upwards can benefit from a standards based SOA for the following reasons:




  • Minimal cost of integration


  • The usage base licensing model allows your costs to increase or decrease based on your usage thus becoming an operational expense (OpEx) rather than an expensive capital expense (CapEx).


  • It facilitates ‘straight through processing’ of data thus ensuring speedier processing of the data and less data errors through retyping of information.


  • In terms of offering services to business partners or customers, offering an online capability helps enormously.

Sunday, July 25, 2010

Controlling IT Projects – Using a Service Oriented Architecture will help


Michael Hugos’s recent post “Use Cloud, SaaS and SOA to Earn a Seat at the Table” stirred some thoughts in my head about how SOA can help bridge the divide between the business and the techies. There was a time when IT projects were driven from the technical engine room of an organization or by external consultants. This is no longer the case as now the business will generally fund and drive IT projects.



I have heard many non technical business people complain that they feel they have no control over projects as they don’t understand what ‘the techies’ are talking about. In many cases, projects go on for months if not years and the result at the end is less than satisfactory. In some cases, the results are simply not what is expected while in others, the reasons for the project in the first place no longer exist. The problem here is that many people feel that IT projects are ‘different’ and should be run in a different way. Let’s look at how a standard business project, such as a project to run a marketing campaign, is run and how similar principles can be applied to an IT Project and in particular how using a Service Oriented Architecture will help



Project: Run a Marketing Campaign to Attract 1,000 new Customers



The CFO has provided a budget to run a marketing campaign to attract 1,000 new customers. As with all projects, there must be a strategic goal. In this case, the goal is to attract 1,000 new customers. The first part of the project will be to look at the options available to run the campaign. There are number of options available:



- Design an advertising campaign and run this on various media.



- Use a tele-marketing company to call the target market directly.



- Build a Web Site and work with a Search Engine Optimization specialist to attract as many hits as possible.



The choice of which of these to use will very much depend on the product and the target audience, however, there will be similar steps to all



- Each will have an element of a base fixed cost to create the materials for the campaign plus a variable cost that will be used to actually fund the campaign.



- An initial trial of the campaign will then take place using limited amount of the remaining budget.



- If one very lucky and this works well first time and attracts the requisite number of new customers relative to the spend, you are likely to do more of this as on the basis that it will reach or exceed the goal set.



- More often than not, things don’t always work well first time and the campaign or channel selected will have to be tweaked until the right combination is found to bring in the required number of new customers.



The main point of this is that this project will be driven based on results; you spend as little as possible to get a result. When the results aren’t good, you stop, think again and then try again until the right approach is found. Only then do you ramp up the amount of money to be spent and push forward with the full campaign.



Project : Use IT to Reduce the Time to Complete a Specific Business Process by 50%



Again there is a strategic goal here to use IT to reduce the time to complete a business process by 50%. An example of how this might be achieved would be by changing a manual process to a computer based process. The bottom line is that to reach the strategic goal, when implemented, this business process will take 50% less time thus meaning twice as much work can be completed or 50% less effort is needed than was previously needed. Only the organization can assess the cost/benefit of implementing an IT system so the budget for an IT Project can only be set on that basis, however, using a Service Oriented Approach, the project can be run as follows:



- Based on the ultimate goal, break this down into smaller pieces. In terms of SOA, this would mean defining a number of ‘Services’ (the ‘S’ in SOA) that that the project requires.



- The creation of each ‘Service’ will provide a result so take one service, and plan to implement it using a number of different possible technologies to see real results in your organization.



- There are many SOA oriented software products available today that enable you to try at little or no cost to see if it fits your purpose. The best way to determine if a product will work for your requirement is to use it. If there appear to be a number of products that fit the bill, implementing one service with each of them will soon highlight the positives and negatives that are associated with each.



- If you are lucky enough that this works well first time and everyone is pleased with the result, replicate what you have done using the chosen product with the other services noting the results as each service is created.



- In most cases, it will not be what you wanted:



o Perhaps there are small issues and it can be tweaked to make it work as you want



o It may even highlight a flaw in the target goal.



o Perhaps the technology chosen doesn’t live up to expectations



o Perhaps you need to go back and start again



- At the end of the day, the previous cycle needs to repeated until you see a result that is what you want. Only at that point do you commit more resources perhaps developing the other required services in parallel but only when you have proven results with a small subset (i.e. service) that will be required as part of the overall strategic goal.



As with all projects, the results will not always be good or positive, however, it gives you the means with which to correct any issues at the earliest possible stage where previously IT Projects could run for months and years essentially building on problems that occurred very early in the project. SOA allows you to take an approach that provides a high degree of business involvement and control of the project. SOA enables the IT group to deliver results quickly and the business people can work with the deliverable to see if it fits their needs.



Now the business people in your company have the same ability as they have on other projects (like the marketing project mentioned earlier) to monitor progress and exercise control. This will make them more comfortable with IT projects and thus more likely to fund IT projects. Skilful use of SOA is what makes this possible.



The “SOA Gateway” is a product that can be extremely helpful to help achieve such control.

Monday, July 19, 2010

IT Implementation Projects - It's all about the data !

IT Implementation Projects – It’s all about the data

Almost all software projects in organizations these days are driven by the business and rightly so. It will eventually get to the more technical people who will break the business requirements into more technical specifications. There is a tendency in such specifications to focus on what technology will be used at the user side to present results to the business with little thought put into the data and where it will come from. Eventually, a ‘tactical’ approach is used to get the data in the easiest way possible. This leads to various efforts to get at the data from proprietary integration efforts to the ubiquitous Enterprise Service Bus (ESB) technologies which collect the data in a form of ‘staging post’ prior to delivery to the consumer. At its very worst, it involves copying the data somewhere else so that it can be easily accessed by the new application required by the business. This leads to multiple issues surrounding this data:

  • When proprietary integration is used

    • It can be difficult to quickly implement changes that are required.

    • A major effort must be put into monitoring and managing the environment.

    • Integration is usually only usable by one application.

  • When an ESB or ESB like approach is used:

    • The data integration is then a multi tier process with the data being collected from different places. This then has multiple points of failure thus leading to stability problems.

    • If multiple trips are required to get at the data, the response times to users become delivery times.

    • While limited usage can sometimes work well, such solutions generally tend to have problems scaling to high volume usage.

    • How secure is the data? Each hop that it goes through is a potential security loophole. Also, who is accessing the data; these solutions make it very difficult to provide a user’s credentials all the way through the process which leads to problems with authorisations sometimes solved by using servers with ‘super user’ status.

  • When data is copied:

    • It can quickly go out of date creating a bigger problem to then keep it synchronized with the original data.

    • If the new application also updates the data, a synchronization process will be required in both directions which can lead to update clashes.

    • If existing applications that access the original data are still running, there will be a time lag between when data entered on one system is seen on the other system.

    • What happens when another business requirement needs the same data or a subset of it?

What data that is required to satisfy a business requirement and how it will be accessed should be the first part of any technical investigation for a project.

Determine what data will be required as early in the project as possible as this will help in the following ways:

  • It can clarify process issues to the business in relation to how the new system will interact with existing systems.

  • It will identify if all the data that is required is actually available.
The SOA Gateway will enable you to access the data in minutes instead of weeks or months with custom built infrastructures.
  • The SOA Gateway ensures that your data is only accessed by authorised personnel or processes.

  • The SOA Gatewayhas monitoring features to help ensure that all is running well.

  • The SOA Gateway will allow changes to be made easily and to enable access to additional data as required

  • While there will be a cost to this, it must be compared with what it costs in time and money to implement and maintain a custom built infrastructure

  • The SOA Gateway enables the creation of sensible ‘business views’ of the data (based on multiple sources) such that each represents a valid business object rather than simply representing the underlying structure of the data. Done properly, this sort of effort will pay dividends in the future when other business requirements require access to the same business view.
Having access to production or test data quickly presents the opportunity to quickly show prototypes to business users with actual data as against mock-ups. This can be extremely helpful to deliver the product that the business wants and helps to manage expectations.In summary, while the above efforts will cost a little more in time, money and effort at the start of a given project, the Return on Investment (RoI) will be easy to measure in terms of:
  • Sharing the same data with existing applications so all parts of the business are working with the data ‘real time’.

  • Delivering an application that satisfies the business requirement through early prototyping with real data.

  • Delivering a system that only allows authorised users to access the data

  • Delivering a system that can scale with the business.

  • Delivering reusable business views that can be reused in future projects time and time again.