Tuesday, December 21, 2010

Key issues for implementing SOA

The primary issue that needs to be considered when implementing a SOA is that the entire organization is on board. If some parts of your organization are implementing an SOA and others have not bought into it, you will end up with similar issues as exist when an SOA is not implemented at all. Educating the entire organization in relation to why a SOA is being implemented and the benefits it can bring is the first key issue.


The second key issue comes down to the technology choices that will be made. There are many technologies available that tell you that they ‘do’ SOA, however, many still tie you into proprietary interfaces and technologies. Implementing a standards based SOA by choosing technologies that use standards like SOAP, REST, UDDI etc. can provide additional benefits:



  • You are free to choose best of breed technologies that support the standards that you will use for each different service.

  • You could potentially use different technologies that implement the same standards. While this may sound strange, one product may offer advantages in terms of cost or levels of support for different services that are implemented.

  • In many cases, these technologies will be licensed based on how much you use them. This means that their cost is an operational cost as against more traditional models which require investment of significant capital up front.


Finally starting with a small effort can help you to develop implementation processes for your organization in a practical way thus helping you to improve your planning and delivering what your users want on time and within budget. The SOA Gateway provides the perfect tool to investigate how implementing a SOA may help in your organization.

Wednesday, December 15, 2010

Small or medium size Organizations and SOA

The first question one has to ask here is do you not see your organization being a medium or large organization in the future? If so this becomes rhetorically a question about where your organization will be in 5 years time.


SOA is more a business concept than a technical concept. One would have to assume that organizations are continually striving to improve their ‘services’ and the delivery of those services. The services your organizations provide are improved by:



  • Speeding up delivery of the service.

  • Removing red tape.

  • Ensuring a consistent result when the service is used each time.

  • Ensuring that when things go wrong (as they will), that you deal properly with the failure to the satisfaction of your customer.


From an IT perspective, exactly the same process applies. You should be looking at the parts of your services that are repetitive and thus take time. Identifying  where it make sense to use IT (for manual, repetitive tasks) and where it doesn’t (where a human being is absolutely needed) is the first step to mapping many of your existing manual procedures involved in a providing a service to lower level services that can be implementing efficiently and consistently using a SOA IT Infrastructure.


From that perspective, SOA is for every level of organization; while there is a perception out there that SOA tools and technology is too cost prohibitive for small organizations, this is not the case. There are many tools and services around for implementing SOA which charge based on usage which is cost effective for even the smallest organizations.

Monday, December 6, 2010

Is SOA for every business ?

Consider many large and successful businesses today and the amounts they spend on their IT. Each of these companies started out as small and medium sized enterprises and are spending literally millions each year trying to undo the IT short cuts they may have taken in the past.


Large companies now see the value of a SOA and what it can bring them in terms of costs savings and business agility and so are attempting to convert or move their systems to such an architecture.


So the question really is whether your organization intends to grow and become larger ? If it does, as I would expect all would aspire to, why not get your IT right now ? Implementing a SOA as early as possible provides the foundations to enable your business to scale from an IT perspective in the same way that you expect it will scale in terms of what the business does.


Not implementing a SOA now will mean you incur costs and delays into the future when your business begins to get bigger; and the tactical, stop gap decisions you may be tempted to take with your IT now will come back to haunt you in the future. The SOA Gateway is a tool that can help you to implement a SOA in any size or scale of business.

Monday, November 29, 2010

Soft savings when implementing SOA

Many organizations forget the soft savings that can be achieved by implementing a standards based SOA. ‘Soft’ savings are savings that are difficult if impossible to measure, however, with a standards based SOA there are many such savings that can be made.


A well implemented standards based SOA can deliver Graphical User Interfaces (GUI) with what used to be called OnLine Transaction Processing (OLTP) levels of service. This meant with green screen applications that it generally took less than a second for a response to be received once the enter or other interrupt key  was hit on a terminal. Consider early and current GUIs where response times can be measured in tens of second providing ‘delivery times’ more than ‘response times’ ?


It is well known that after a certain amount of time waiting, the operator of an application will lose concentration on the job in hand and thus will lose productivity.  Implementing a SOA can deliver the responses you need to keep your employees more productive and happier in their work. Nothing can measure this.


Implementing a standards based SOA introduces well designed structures for an application such that each piece of a process and where it is accomplished is well know. Each piece can feed information to monitoring tools so that when failures occur, they can be fixed very quickly if not before people notice due to the monitoring of the application. This leads to less down time of applications and again improves the productivity of the various processes in an organization.


Our final example is the potential to actively monitor what services are used most often, at what time and by whom. This sort of information can be invaluable for tracking where there may be problems in your business processes. While these processes may have been working for years, it may be possible to determine ways to improve them from the usage of the services. Improved business processes again lead to improved throughput and productivity for an organization. The SOA Gateway is the perfect tool to help you achieve soft savings such as these and others.

Monday, November 22, 2010

What hard savings may be made implementing an SOA ?

All organizations want to save money on their processes so that they can provide the same level of service to their customers at less cost. In addition, in the area of IT, companies would dearly like to have consistent costs associated with their IT projects. Implementing a standards based SOA can address both of these issues.


Most informed commentators would agree that up to 70% of the cost of medium to large scale projects is taken up integrating with existing systems or simply accessing existing data. This is because people continually build and implement proprietary integration software using Messaging Oriented Middleware (MOM) or other home grown solutions. This can be very expensive as it involves developing code on the back end system and on the front end and can cause major project delays into the bargain.


There are now products available that help you to implement a standards based SOA which makes your existing applications and data available using a configuration process. This takes up to 90% of the integration cost out of a project directly while also making the real data and applications available in days instead of weeks or months as occurs with traditional projects. This delivers hard savings in the project management and integration areas.


In terms of consistency of cost, this approach also delivers an ability to know how much it will cost to use more of such products. In other words, when it is necessary to integrate with newer applications or reach new sets of data, the cost can be calculate based on the license cost of the tool involved.


The fact that services created in this way can be reused leads to saving again and again thus increasing the Return on Investment (ROI) over time, improving the speed at which your projects can be completed and enabling  the costs of your IT projects to be determined with far more accuracy and confidence. The SOA Gateway is a product that can help reduce integration costs and give consistent costs for future integration projects.

Wednesday, November 10, 2010

Is using SOA more cost effective than other integration approaches ?

In today’s climate, all organizations are trying to reduce costs wherever they can. IT is one of the budget items traditionally hit when times are hard in that many organizations ‘batten down the hatches’ and stop spending on the basis that if it works as it is, then leave it.


However, no business can stand still and IT systems must be maintained to ensure they are still delivering a return for your business. There are two areas where implementing a SOA can save you money.


In the first case, if a project is implemented using a SOA approach but using proprietary interfaces, the costs of the approach will be similar as a similar amount of work is required. However, if a standards based SOA is used, up to 70% of the integration costs can saved due to the following:


-          With the right technology, SOA Services to make existing data or applications available can do this in minutes thus avoiding a large development cost as proprietary ‘plumbing’ to get systems to talk to each other is avoided.

 


-          Unit tests can be built for the SOA Services using off the shelf packages thus saving cost in terms of developing QA unit tests to test proprietary services.


-          Ultimately if the project can work with the existing data and applications effectively from day one, the project can progress as an integrated implementation from day one instead of attempting to join the front and back ends together towards the end of the project as happens in traditional integration projects.


The second part of the cost savings is based on further returns on investment as your organization develops. By using a standards based SOA you can reuse the services created again and again. For each time a service is reused, you are essentially saving the reimplementation of a proprietary version of that service again. Reuse of services also saves costs as follows:


-          Using the same service to do the same thing from multiple channels or technologies ensures that all of your users get the same result and are accessing the same data.


-          A single service ensures that when problems do occur with the service, it is clear what service is a fault and where to find it.
 


-          The standards based SOA approach can ensure that a database of your services is maintained so that programmers into the future can learn how to call the service without the need to understand specifications etc. though of course they will need to understand the data.


The bottom line is that implementing a standards based SOA can save you money up front and well into the future. The SOA Gateway is the ideal tool to implement standards based SOA in your organization.

Monday, November 1, 2010

There has traditionally been a gap between what the business wants from its IT and what IT can deliver. At its worst, many people on the business side consider the IT guys to be too interested in technology; while many IT people don’t always understand why the business asks for what it does.


The problem stems from the fact that up until now, there hasn’t really been a way for the business to express what they want and for the IT guys to fully understand it and why.


We need to consider that the business thinks in terms of process and what it takes to complete a ‘business interaction’. On the other hand  IT people tend to think in terms of transactions i.e. one ‘logical interaction’ with the IT system which either retrieves or updates one or more data records.


Using an SOA approach to this problem, it’s possible for the business and the IT to start sharing a common language. The business process must be broken down into what ‘services’ are required from the IT system. These services may be defined by:



-         What they achieve (e.g. creating an order).



-         What data is supplied as input (e.g. what the customer wants to order).



-         What data is expected as output (e.g. an order number).


While the business will see a full process as consisting of multiple services (e.g. receive order, place order on system, process order, deliver order, invoice customer, and receive payment), by defining the individual interactions with the IT system  (i.e. the services they want) they suddenly start speaking a language that the transactional  IT side understands.


The IT people then know what needs to be done, what data is received on input and what data is sent on output. How they implement and support this is up to them and the business doesn’t care once it does what they want. So both sides end up happy.


While it may take one or more cycles to get final agreement on the services, once they have been agreed, there is a formal ‘contract’ of sorts in place between the business and IT. As a small starting point, this shows how even during the planning phase, a SOA can provide benefit by getting the business and IT into the same camp as it were. The SOA Gateway is a valuable tool that can help the business and the IT people to create services with this in mind.

Monday, October 25, 2010

SOA Data integration and small or mid size companies

We are often asked if undertaking a data integration project makes sense for small and mid size companies. In particular, does it make sense to implement this using a Service Oriented Architecture?


The answer is that it makes as much sense for a small or medium sized company as it does for a large company. In fact it makes more sense in many ways as such companies can achieve this more easily as they are likely to have less data in different places. Just consider that large companies were once small or medium sized and ended up undertaking data integration projects due to the fact that they didn’t integrate their data sources when they were smaller.


This does not have to happen as part of a ‘big bang’ approach. A decision should be taken to do this and as these IT projects progress, use each project to implement SOA data services to represent the business objects that are needed. This will provide the following benefits:



-         It can help to eliminate duplicate data in your organization. Duplication of data leads to large and expensive problems down the road as it gets out of date.



-         It will help your organization’s IT systems to scale as your organization and its data grows.



-         It will enable you to react more quickly to your business requirements as your data services can be immediately available to new systems.


So the time to start implementing data services in your organization is as soon as possible! The SOA Gateway can help any size organization to create data services for its data.

Monday, October 18, 2010

Deploying ‘Connected’ Excel Applications with SOA

Microsoft’s Excel has become an extremely popular tool for collating data, preparing reports and then deploying these spreadsheets throughout an organization. Given the power of the technology, this is not a surprise; however, many of these reports are out of date within hours (or minutes) as the data is included in the spreadsheet without the ability to get the latest copy directly.


Standards based SOA provides the potential to enable an Excel spreadsheet to get the latest set of the data into a spreadsheet with the press of a button. This ensures that when an Excel spreadsheet is delivered to an authorised user, they can immediately ensure they have the latest data on an hourly, daily or weekly basis by simply requesting the latest data.


This is achieved by setting up a simple REST based data service to make the data available to authorised users and using it as follows:



-         Most if not all PCs in today’s networks are connected to server systems using TCP/IP.



-         Excel has a standard ability to use a REST based service to import data which can be executed over TCP/IP. Unlike ODBC connections, this requires NO software installation on the PC.



-         The service can deliver an XML document with the relevant data and Excel can take this updated data and recreate pie charts, reports, pivot tables etc. with the most up to date data.



-         This is all done automatically without the need for any manual intervention to collect the data for Excel.


So your Excel spreadsheets need never be out of date and again and only need to be updated when the charts or reports need to change. Consider also that other technologies such as MS Access can also get at data in a similar way so the same technique can be used for other technologies such as Web Browsers. The SOA Gateway can create such services for you from existing applications or database tables and files.

Monday, October 11, 2010

REST or SOAP Services – When do I use which ?

Our customers often ask if it is better to use REST services or SOAP services and much like other similar questions, it depends very much on what you are trying to achieve.


REST based services lend themselves very well to simple, stateless requests for information or for updating a single resource that is updated in isolation. Due to the statelessness of REST requests, each one must work or fail in isolation so it must be clear that recovery of multiple actions undertaken with REST can only be backed out using a compensating transaction. In other words, your application needs to manually undo any changes that it has made. REST also sometimes requires that a number of different formats of errors may be returned which may make error recovery a little convoluted.


SOAP servers lend themselves better to more complex tasks where requests and services tend to depend on each other. For example where two services need to be updated together or not at all. Programmatically it offers a more controlled way to work with the service through service specific SOAP headers for example. It also tends to produce errors or problems in a consistent way using SOAP Faults.


If  I were to hazard some simple rules of thumb:



-         Use REST when simple unrelated updates are required or where the latest set of a specific set of data is required.



-         Use SOAP where more complex related updates are required or where information needs to be gathered and aggregated from multiple sources.


....but be warned, like many other rules of thumb it’s the exception that makes the rule so choose whatever is best for your particular requirement to satisfy the business need. The SOA Gateway gives you the ability to have both a REST or SOAP based access to the same service and thus gives you the ability to see which one fits best for your specific requirement.

Monday, October 4, 2010

SOA “RESTful” Web Services for simple integration

There is a term going around which talks about ‘RESTful’ services which our customers often ask about. It gives the impression of something that can provide great ‘peace and tranquillity’ and in a way, it can.


The ‘REST’ in this expression refers to the REpresentational State Transfer “protocol”.  While this may sound like a heavy duty standard that must be studied in depth, nothing can be further from the truth. Essentially this is the URL based protocol that we are using on a day to day basis in our browsers.


The idea is quite simple in that each URL is unique and is stateless so that it can be invoked at any time to get the data represented by that URL. In a heavy duty REST implementation, one URL will deliver data with links to other URLs to allow you to drill down to the data you want.


In the complex world of integration, a REST Web Service is the simplest way to get data from somewhere to somewhere; consider how easily we move data around the internet ?  For example, a REST service could represent the latest set of data from a data source such as a database.


Any software you have today, be it a simple editor or MS Excel or MS Word, can ‘open’ a URL so can in fact issue a REST request to retrieve  this latest data. Consider a service that delivers information on employees and their locations; MS Word could run a mail merge to write to all of these employees. If the REST service delivers stock quotes, MS Excel could use the data to produce pie charts. Java and .Net can all invoke these RESTful services so what easier way to integrate with your existing data and applications.


The ultimate test of this simplicity is that the service can be tested very easily by using a browser to open the URL. While the data coming back will be raw XML, it’s a very simple way to see if the service is working and doing what you expect. Linked with a stylesheet, a simple way to deliver data to a browser is with a RESTful service linked with a stylesheet that makes it presentable.


With such simplicity, why would you want to integrate in any other way ? The SOA Gateway can create RESTful Web Services in seconds from existing database tables or applications.

Monday, September 27, 2010

Avoid Work Station maintenance with SOA

Many years ago when dumb terminals were the order of the day, upgrading those terminals meant changing a fuse or simply replacing them all together. They have by and large been replaced by a PC on every desk which has enabled unparalleled access to applications by users in all forms of organization.


With progress there are always pain points which only became evident as work stations were rolled out across organizations. One of the main pain points with work stations all over an organization is the requirement to upgrade software on each and every work station when specific server software must be updated. This can range from a few hundred PCs to many thousands and results in thousands of person days to keep such software up to date.


Consider then a solution which avoids the need to upgrade software on every PC when server software is updated. Imagine a situation where the software is installed on the server and the work stations just start using the new server software out of the box. Doesn’t this sound like a very attractive scenario ?


Well the wait is over as SOA standards like SOAP and REST mean that this can happen today. When a server communicates using the SOAP or REST standards, there is no requirement to install a work station specific component. This is achieved because the work station software either knows how to call a REST based service already or can learn how to call a SOAP service by exchanging a few messages with the server.


This has the potential to revolutionise how often you need to upgrade the work stations in your organization. The SOA Gateway will enable you to create services on your server systems that require no software footprint on your workstations.

Tuesday, September 21, 2010

“Response times” vs “Delivery times” - how can a SOA help ?

Those of us of a particular vintage will remember green screen applications which were essentially character based screens to allow you to communicate with your applications. We will also remember the fact that these applications generally had response times of less than a second from the time you hit ‘enter’. There was a general rule of thumb that if the response took any longer than 1 second, the user’s attention would be lost and thus reduced productivity was the outcome.


Moving forward we now have visually quite stunning graphical interfaces with which to communicate with our applications, however, how many of these provide “delivery times” of 10’s of seconds between interactions ? This is generally because the screen being displayed is made up of many parts and takes many round trips to the system to complete the screen.


This does not have to be the case. With a well designed Service Oriented Architecture, one or a limited number of services can generally provide all the information required for one screen. This means that the data to build the screen can be retrieved in less than a second. The additional ‘beautification’ that admittedly makes the screen look good is normally static in that it doesn’t change from display to display and can be cached locally.


Using a Service Oriented Architecture (SOA) and caching of graphical images, it is therefore possible to have the benefit of a fully graphical interface with response times of less than a second reminiscent of the green screen era. Many studies have shown that such responsive applications improve the productivity and job satisfaction of people using those applications many times over.


The SOA Gateway will enable you to create the services that will provide such an architecture.

Monday, September 13, 2010

How can a Service Oriented Architecture (SOA) help with Quality ?

For many projects and implementations, the cost of implementing a good quality assurance suite can cost as much as and even more than the implementation of the required functionality for the project itself. This is primarily due to the fact that with traditional project implementation, the interfaces and unit testing all involve proprietary interfaces.


When using a standards based SOA throughout your organization, it is possible to significantly reduce the costs associated with the creation of a fully functional QA suite. This is possible because when services are implemented using SOAP or REST based standards, there are a multitude of tools available freely or at minimal cost on the web.


Many of these tools enable testing of services using a configuration based approach. This facilitates the creation of QA suites without having to use programmers to code the test suites. The tools will import and understand how to call a service and then non programming resources can be used to drive the tests. This in itself represents the potential for massive savings.


Where more obscure tests are required, it is possible to drive services implemented using SOAP and REST using scripting languages like PHP or RUBY. There are many resources available that can program in these languages.


Finally a major issue with QA is that it can sometimes impact on the execution profile of a system because it runs on the same platform as the system. When standards are used, it’s possible to drive services built using these standards from a totally different system thus emulating more accurately what the real users will do to the system.


The SOA Gateway enables the creation of such services from base data access services to complex front end services to be made available to your customers

Monday, September 6, 2010

Using Web Services instead of SQL to access data

Many organizations and projects consider accessing data using SQL or perhaps ODBC without looking at alternatives. But there is now a real alternative to those technologies. It’s now possible to access your data using SOAP or REST based Web Services which can offer distinct advantages over SQL or ODBC.


It’s now possible to access data directly using REST or SOAP based services. These provide CRUD (Create Read Update  Delete) services which allows the addition, reading, updating and deletion of data. This offers many advantages over traditional SQL access to the data some of which are listed here:



  • The data will be delivered as XML thus avoiding any code page issues between platforms.

     

  • Communication uses HTTP over TCP/IP so connectivity is direct and simpler to configure.

     

  • HTTP over TCP/IP enables easier access to data across firewalls.

     

  • It’s possible to use standard access and encryption technologies to ensure secure access to the data to authorised users only.



  • Due to the standards used, there is no requirement for a software footprint for the data access on the accessing system.


Ultimately it’s really a case of the right tool for the job; how you wish to access the data will depend on what you are trying to achieve. You will find a longer discussion on this topic here which discusses this topic in more detail. The SOA Gateway provides a very simple way to enable access to your data using SOAP and REST based Web Services

Monday, August 30, 2010

Your Data In a Service Oriented Architecture

Many users of a Service Oriented Architecture (SOA) only see the promise of delivering Services at the outer limits of the IT infrastructure, but why not use the same concepts for basic data ?


Ultimately any organization is only as good as the raw data that it holds. This includes the basic data used to maintain customer and sales records right up to the management data used to plan for the future of an organization. Many organizations do not see the advantages to accessing this data as a service; they simply see the data as something other services use.


There are many good reasons to treat access to an organization’s data as a service for the following reasons:


  • The data will normally be accessed by more than one different application; a standards based SOA offers such reusability.

     

  • New data elements will be needed from time to time to support ongoing business requirements; a  standards based SOA offers the ability to manage or govern such changes.

     

  • Many problems are caused by tight coupling of applications with the data; loose coupling offered by  standards based SOA resolves many of these problems.

     

  • Connectivity using SQL or other mechanisms can be complex to configure and support; a standards based SOA can allow access to the data with no additional configuration.


From the above it is clear that adopting a service oriented approach to accessing your organization’ s data  can deliver all the benefits a SOA can offer right down to accessing your organization’s back end data. The a SOA Gateway is the ideal tool to enable you to make your data available as service

Tuesday, August 17, 2010

“Service Reuse” in a SOA – What does this mean ?

One of the great promises of a SOA is the ability to ‘reuse’ services; but what does this mean ?


If you refer to ‘What is a service’ you will see that in many ways, IT Services may be equated to standard things that you may do in your business such as issuing an invoice. The issuing of the invoice is an internal service within your organization that happens when a transaction is executed with a customer such as when a widget is sold.


Consider the situation whereby a new widget, let’s call it ‘widgetx’ is now available to be sold by your organization. This requires a small change to the invoicing process. You are unlikely to bring in a new resource and process to process this new invoicing requirement; you will reuse the existing resources you have and adapt the process (if necessary) to handle the new requirement. You ‘reuse’ your internal ‘service’ in order to make better use of resources, save money and streamline your organization.


In the IT world in the past, service reuse occurred somewhat rarely if at all and thus instead of reusing existing IT services, a new service was introduced equating to a new resource and process in the previous example. This added cost and complexity which multiplied exponentially as IT services were not reused and raised major integration problems between departments in an organization or between organizations.


A standards based SOA enables IT services to be reused in much the same way as the invoice example above. It enables easy reuse of existing IT services to provide extra processing for new requirements. It also enables the controlled updating of the IT service when necessary to handle additional requirements to avoid service duplication resulting in many similar but different services being available. This saves organizations money in the short run by quickly having new IT services up and running and in the long run by ensuring that IT services evolve correctly going forward to support ongoing business requirements.


The SOA Gateway is the perfect tool to help you achieve service reuse.

Monday, August 9, 2010

What is a "Service" in a Service Oriented Architecture (SOA)

Many people struggle with the term ‘Service Oriented Architecture’ or SOA on the basis that there is some extensive knowledge required to understand it. Technical organizations are selling their products using the term ‘SOA’ as if the term itself is a panacea for all the IT problems of the past: it has ‘SOA’ in the marketing blurb.....quick, get the cheque book out and buy one.


Unfortunately, almost every supplier has jumped on the bandwagon and there is SOA this and SOA that to the degree that many people are now saying ‘SOA What’ ? This shouldn’t be the case as SOA has for the first time succeeded to a degree to bridge the gap between the business and the technical.


The basic principle of SOA is that services are created and reused. Consider your own business goals and see what you try to do. Don’t you provide one or more ‘services’ which your customers use and are repeated many times a day when things are going well ? When you have a successful service, be it a service that sells books online or a service fixes washing machines, you will try to improve it where it needs improvement and to replicate it such that you can service more customer requests.


The ‘Service’ in SOA is essentially an IT representation of what you might do to support your successful business services. In terms of your Service, you may actually have a number of back end services that are used to fulfil the customer requirements. For example, you may have a person who raises invoices when someone purchases something. The raising of an invoice is more or less identical whether you are servicing a washing machine or servicing a boiler. Someone has purchased something and now needs to pay for it.


In most organizations, you already implement a SOA in your day to day workings. Translate this to the IT world and all that changes is that where it makes sense, a service is implementing by some computer process to do the same thing quickly and consistently time and time again. The goal of an IT Service must be to save cost on how the ‘Service’ is currently implemented and to make this more efficient, quicker or more accurate.


Taken a step further, your IT department may map this service back to other services but you don’t need to care. Once your business service is implemented and working, do you really care how it works in the background once it runs ? If you need changes, you don’t really care how this is done technically you just want your service to support new functionality ?


There you are, you know a lot more about Service Oriented Architectures (SOA) than you thought and in fact in many cases your organization has been doing this for years. The good news is that IT has finally caught up with the business and can implement the business services you require, where it makes sense, as IT Services in a SOA and the SOA Gateway enables organizations to implement such services.

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.