This Article 
 Bibliographic References 
 Add to: 
Monoliths to Mashups: Increasing Opportunistic Assets
November/December 2008 (vol. 25 no. 6)
pp. 71-79
M. Todd Gamble, Verizon Business
Rose Gamble, University of Tulsa
Opportunities are available resources that yield desired results. An opportunity's suitability depends on who seizes it and the context for its use. Opportunistic development builds hybrid software systems from reusable resources called opportunistic assets. Mashups are Web application hybrids that consume these assets. Monoliths are self-contained systems that can produce such opportunistic assets if they can expose key functions that are easy to mash. A major barrier to reusing legacy monoliths is integration. Elevating integration connectors to first-class opportunistic assets reduces this barrier by linking to and presenting monolith applications as opportunities for mashups.

1. L. Cherbakov et al., "Changing the Corporate IT Development Model: Tapping the Power of Grassroots Computing," IBM Systems J., vol. 46, no. 4, 2007, pp. 743–762.
2. J. Brandt et al., "Opportunistic Programming: How Rapid Ideation and Prototyping Occur in Practice," Proc. 4th Int'l Workshop End-User Software Eng. (WEUSE08), ACM Press, 2008, pp. 1–5.
3. E.M. Maximilien, R. Ajith, and T. Stefan, "Swashup: Situational Web Applications Mashups," Proc. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA07), ACM Press, 2007, pp. 797–798.
4. M.T. Gamble and R.F. Gamble, "Isolation in Design Reuse," Software Process: Improvement and Practice, vol. 13, no. 2, 2008, pp. 145–156.
5. J. Zou and C.J. Pavlovski, "Towards Accountable Enterprise Mashup Services," Proc. IEEE Int'l Conf. E-business Eng. (ECEBE07), IEEE Press, 2007, pp. 205–212.
6. B. Hartmann, S. Doorley, and S.R. Klemmer, "Hacking, Mashing, Gluing: Understanding Opportunistic Design," IEEE Pervasive Computing, vol. 7, no. 3, 2008, pp. 46–54.
7. H.A. Simon, The Sciences of the Artificial, MIT Press, 1996.
8. J. Hong and J. Wong, "Marmite: End-User Programming for the Web," Proc. Conf. Human Factors in Computing Systems (CHI 06), ACM Press, 2006, pp. 1541–1546.
9. R. Ennals and D. Gay, "User-Friendly Functional Programming for Web Mashups," Proc. ACM SIGPLANInt'l Conf. Functional Programming (ICFP 07), ACM Press, 2007, pp. 223–234.
10. T. O'Reilly, "What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software," O'Reilly Network,
11. A. Jhingran, "Enterprise Information Mashups: Integrating Information, Simply," Proc. 32nd Int'l Conf. Very Large Data Bases (VLDB 06), VLDB Endowment, 2006, pp. 3–4.
12. N.R. Mehta, N. Medvidovic, and S. Phadke, "Towards a Taxonomy of Software Connectors," Proc. 22nd Int'l Conf. Software Eng. (ICSE 00), ACM Press, 2000, pp. 178–187.
13. F. Buschmann, K. Henney, and D. Schmidt, Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, vol. 4, John Wiley &Sons, 2007.
14. N. Ahmed and J.R. Milligan, "Fuselets: Lightweight Applications for Information Manipulation," Proc. SPIE, vol. 5820, 2005, pp. 267–276.
15. R. Gamble et al., "FACT: A Fusion Architecture with Contract Templates for Semantic and Syntactic Integration," Proc. IEEE Int'l Conf. Information Reuse and Integration (IRI 08), IEEE Press, 2008, pp. 380–385.

Index Terms:
opportunities, opportunistic development, mashups, monoliths, hybrid software systems, methodologies, interoperability, reusable software, connectors
M. Todd Gamble, Rose Gamble, "Monoliths to Mashups: Increasing Opportunistic Assets," IEEE Software, vol. 25, no. 6, pp. 71-79, Nov.-Dec. 2008, doi:10.1109/MS.2008.152
Usage of this product signifies your acceptance of the Terms of Use.