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.