The service business runs on software. Whether it’s insurance, banking, consulting or other forms of professional services, IT is the very lifeblood, not just a convenience or something that makes life a little easier.


There is a challenge within this scenario. Applications run across the enterprise, and even if they perform similar functions, they are often developed independently. Having the same application in three places, which is too often characteristic, divides the resources required to keep several similar or identical applications current. Not only that, this duplication undermines a business’ ability to excel at service.


This situation characterized SunTrust Bank not so long ago. In order to modernize their thinking and their systems, the bank needed to think of software as they would think of their business: as a service. This in turn required them to consider service-oriented architecture (SOA) as their new way of doing business.


In order to meet their profit goals, SunTrust needed to improve their agility and reduce redundancy. In that regard, they also wanted to lower their cost and the complexity of their environment.


Redundancy has a negative impact on productivity and quality, both at the time of development and especially when updating. Recognizing this, SunTrust desired an environment where a single service could provide any data that was required and then service-enable the application scenario. That meant creating composite applications, or -to put it another way - composite businesses.


Think of yourself going into the bank to open up an account. In fact, perhaps you want to open up more than one account: a checking account, a money market, maybe a traditional savings account. Would you want to go to three different desks or fill out three different forms in order to accomplish this? The bank wanted to create a process where the customer could do that all in one step, which is what they considered - and eventually adopted - a composite business service approach to the design and development.


Several software quality principles aided in this new thinking. The first may be the most obvious: eliminating the redundancy would help to keep things simple. Other measures included maximizing reuse and the use of automated tools. The bank also wanted to reduce or eliminate coding, which would have both efficiency and quality benefits.


In the area of development, two precepts are significantly important. The first is reuse itself, and the second is granularity, i.e., breaking down a service into its most granular levels and providing services for each of those elements. These are called elemental services.


For example, a debit, a credit and recording a transaction are all elemental services. A composite service is simply a collection of elemental services strung together via business rules. An example of this could be a funds transfer, which would execute three elemental services and thus perform the composite service: debit account, credit account and record transaction.


Composite services can also be strung together to develop more sophisticated composite services. In the case of the funds transfer, you are actually designing and implementing four services rather than one. Of course, they are much smaller and easier to develop, but the development time is still slightly longer. It is imperative that the same, or nearly the same, development process is used to produce all of the elemental services for consistency and quality control.


Once elemental and composite services are designed, they have to be developed in the most efficient way possible. This is because in order to implement this type of design, the initial development can actually take longer than to develop a huge service that does everything haphazardly. SunTrust uses the Ivory product from GT Software for this rapid elemental development. As more and more elemental services become available, the development of composite services shifts towards “plug and play.” This enables composite services to be assembled rather than coded.


As the mainframe ages, the COBOL programmers are retiring, and there doesn’t seem to be an influx of young blood in that discipline. So, like many other mainframe shops, the bank tried to reduce and eliminate the coding and their reliance on that dwindling workforce. Aside from the availability of COBOL programmers, the bank also needed to quicken its time to market, which meant shortening the development cycle. The more a business can automate this process and eliminate manual coding, the more positive the impact on the quality of the result.


For the same reasons - productivity and quality - SunTrust also needed to reduce the maintenance and support requirements. Also, the bank needed to implement the process into a governance model. They were trying to avoid the “silo SOA,” as SunTrust Assistant Vice President Glenn Schneck called it, because that “would do nothing more than create independent services, and we wanted to get away from the silos.”


The bank currently has a big enterprise application integration (EAI) hub using IBM WebSphere MQ and IBM WebSphere Message Broker, and that can get really complex and difficult to manage. On top of the simplicity objective - or perhaps because of it - we wanted to service-enable the mainframe.


The bank had a mobile application that needed to be in a pilot production in a very aggressive time frame for AT&T customers to do banking on their cell phones. That was done with the back-end mainframe CICS DB2 system. And despite a 240-day projection for the work to be completed, the bank actually completed the development within 60 days.


The mobile banking application allowed SunTrust to utilize the existing online banking functionality, so we really didn’t have to do anything in the background. It was a matter of doing combined services. With combined services, the bank could take things that didn’t communicate and make them collaborate. The application required a customer relationship service, an account detail service and the transfer of funds service. Previously, the bank would have to make three separate calls back to the mainframe. By using the SOA approach, SunTrust was able to compose that into a single Web service that online banking can call.


The new system is easier to deploy and maintain. And, as a result SunTrust will see improvements in the better will be their customer service, which is, after all, the first word in SOA.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access