Advertisement

SOA in the Real World – Experiences

  • Manoj Acharya
  • Abhijit Kulkarni
  • Rajesh Kuppili
  • Rohit Mani
  • Nitin More
  • Srinivas Narayanan
  • Parthiv Patel
  • Kenneth W. Schuelke
  • Subbu N. Subramanian
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3826)

Abstract

We discuss our experiences in building a real-world, mission-critical enterprise business application on a service-oriented architecture for a leading consumer lending company. The application is composed of a set of services (such as Credit Report Service, Document Management Service, External Vendor Service, Customer Management Service, and Lending Lifecycle Service) that communicate among themselves mainly through asynchronous messages and some synchronous messages with XML payloads. We motivate the choice of SOA by discussing its tangible benefits in the context of our application. We discuss our experiences at every stage of the software development life cycle that can be uniquely attributed to the service oriented architecture, list several challenges, and provide an insight into how we addressed them in real-life. Some of the hard design and development challenges we faced were related to modeling workflow interactions between services, managing change analysis, and contract specification. In addition, SOA architecture and asynchronous messaging introduces fresh challenges in the area of integration testing (e.g. how do we test a system whose interface points are asynchronous messages) and in testing the robustness of the system (e.g. how do we deal with out of order messages, duplicate messages, message loss?). To address these challenges, we built a tool called SOA Workbench. We also discuss the techniques we adopted to address scenario-based validation that go beyond traditional document-centric validation based on XML Schema. Monitoring and error recovery, two key aspects of any mission-critical system, pose special challenges in a distributed SOA-based, asynchronous messaging setting. To address these, we built a tool called SIMON. We discuss how SIMON helps error detection and recovery in a production environment. We conclude by listing several opportunities for further work for people in both academia and industry.

Keywords

XPath Expression Asynchronous Message Software Development Life Cycle Credit Report Pull Request 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Chappell, D.: Enterprise Service Bus. O’Reilly, Sebastopol (2004)Google Scholar
  2. 2.
    Miller, J., Mukerji, J.: MDA Guide Version 1.0.1 (2003), http://www.omg.org/docs/omg/03-06-01.pdf
  3. 3.
  4. 4.
    Java Messaging Service Specification version 1.1, http://java.sun.com/products/jms/docs.html
  5. 5.
  6. 6.
    OAGIS Open Applications Group Integration Specification, http://www.openapplications.org/downloads/oagis/loadform.htm
  7. 7.
  8. 8.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Manoj Acharya
    • 1
  • Abhijit Kulkarni
    • 1
  • Rajesh Kuppili
    • 1
  • Rohit Mani
    • 1
  • Nitin More
    • 1
  • Srinivas Narayanan
    • 1
  • Parthiv Patel
    • 1
  • Kenneth W. Schuelke
    • 1
  • Subbu N. Subramanian
    • 1
  1. 1.Tavant TechnologiesSanta ClaraUSA

Personalised recommendations