Understanding Service-Oriented Architecture
Software architecture has been emerging as a discipline over the last decade (Garlan 2000). A system's software architecture describes its coarse-grained structures and its properties at a high level. As long as the technology supports those structures and properties, the technology can be considered to implement the architecture. For instance, Jini is a technology that supports service-oriented architecture, because it supports the properties of SOA.
It is important to apply the concepts of software architecture to any new technology to take full advantage of it. Service-oriented architecture is implemented by technologies other than Web services, but the term and concepts have gained popularity recently because of Web services. For instance, the computer industry has used the term service for about two decades to describe various platforms.
Interface design is perhaps the most difficult part of designing services in service-oriented architecture. The modularization techniques practiced for decades still apply to services. Service design is even more difficult, because the domain a service supports is not limited to a single application. Therefore, it is best to perform modularization starting with a conceptual model of the business rather than of a single application. If the interface design is done well, the services are more likely to be reusable in other applications, and organizations will realize a higher return on their investment.
Web services are refocusing organizations on the concepts of service-oriented architecture. Although highly reusable, loosely coupled architectures have been a goal for many organizations. Web services are fostering interest in and providing the technology to implement service-oriented architectures that enable them to realize their vision.
- Bass, L., Clements, P., and Kazman, R. Software Architecture in Practice. Addison-Wesley, 1997.
- Bieber, G., and Carpenter, J. Introduction to Service-Oriented Programming (Rev 2.1). www.openwings.org/download/specs/ServiceOrientedIntroduction.pdf, accessed October 2002.
- Fowler, M. UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, 1997.
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
- Garlan, D. Software Architecture: A Roadmap. ACM Press, 2000.
- Herzum, P. Web Services and Service-Oriented Architectures. Executive Report, vol. 4, no. 10. Cutter Distributed Enterprise Architecture Advisory Service, 2002.
- Meyer, B. Object Oriented Software Construction. Prentice Hall, 1997, pp. 3948.
- Object Management Group (OMG). CORBABasics. mwww.omg.org/gettingstarted/corbafaq.htm, accessed October 2002.
- Parnas, D., and Clements, P. The Modular Structure of Complex Systems. IEEE, 1984.
- Potts, M. Find Bind and Execute: Requirements for Web Service Lookup and Discovery. www.talkingblocks.com/resources.htm#, accessed January 2003.
- Stevens, M. Service-Oriented Architecture Introduction, Part 2. Developer.com, http://softwaredev.earthweb.com/msnet/article/0,,10527_1014371,00.html, accessed October 2002.
- ———. Multi-grained Services. Developer.com, http://softwaredev.earthweb.com/java/sdjjavaee/article/
0,,12396_1142661,00.html, accessed October 2002.
- Sun Microsystems. Jini Network Technology, www.sun.com/jini.
- ———. Jini Technology Architectural Overview, http://wwws.sun.com/software/jini/whitepapers/architecture.html, accessed October 2002.
- ———. Jini Technology Core Specification: LE-Distributed Leasing. http://wwws.sun.com/software/jini/specs/jini1.2html/lease-spec.html, accessed October 2002.
Source of this material
This is Chapter 2: Service-Oriented Architecture from the book Java Web Services Architecture (ISBN: 1-55860-900-8) written by James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, published by Morgan Kaufmann Publishers.
To access the full Table of Contents for the book.
Page 8 of 8