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.
Chapter PDF
Similar content being viewed by others
Keywords
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
Chappell, D.: Enterprise Service Bus. O’Reilly, Sebastopol (2004)
Miller, J., Mukerji, J.: MDA Guide Version 1.0.1 (2003), http://www.omg.org/docs/omg/03-06-01.pdf
Java Business Integration JBI 1.0, http://java.sun.com/integration/1.0/docs/sdk/introduction/introduction.html
Java Messaging Service Specification version 1.1, http://java.sun.com/products/jms/docs.html
XML Schemas, http://www.w3.org/XML/Schema
OAGIS Open Applications Group Integration Specification, http://www.openapplications.org/downloads/oagis/loadform.htm
BPEL.The BPEL4WS 1.1 Specification, http://www-128.ibm.com/developerworks/library/specification/ws-bpel/
Weblogic Integration, http://e-docs.bea.com/wli/docs85/index.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Acharya, M. et al. (2005). SOA in the Real World – Experiences. In: Benatallah, B., Casati, F., Traverso, P. (eds) Service-Oriented Computing - ICSOC 2005. ICSOC 2005. Lecture Notes in Computer Science, vol 3826. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11596141_33
Download citation
DOI: https://doi.org/10.1007/11596141_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30817-1
Online ISBN: 978-3-540-32294-8
eBook Packages: Computer ScienceComputer Science (R0)