Abstract
A commercial Customer Relationship Management application of approx. 1.5 MLOC of C++ code is being reimplemented, in stages, as a service-oriented, multi-tier application in C# on Microsoft .NET. We have chosen to use a domain-specific language both to model the external service-oriented interfaces, and to manage the transition to the internal, object-oriented implementation. Generic UML constructs such as class diagrams do not capture enough semantics to model these concepts. By defining a UML Profile that incorporates the concepts we wish to model, we have in effect created a Domain-Specific Language for our application. The models are edited using Rational XDE, but we have substituted our own code generator. This generator is a relatively generic text-substitution engine, which takes a template text and performs substitutions based on the model. The generator uses reflection to convert the UML and Profile concepts into substitution tags, which are in turn used in the template text. In this way, we can translate the semantics of the model into executable code, WSDL or other formats in a flexible way. We have successfully used this approach on a prototype scale, and are now transitioning to full-scale development.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Object Management Group: Model Driven Arhictecture Home Page (2004), http://www.omg.org/mda/
Czarnecki, K., Helsen, S.: Classification of Model Transofrmation Approaches. In: 2nd OOPSLA 2003 Workshop on Generative Techniques in the Context of MDA, Anaheim, USA (2003)
Czarnecki, K.: Overview of Generative Software Development (2005), http://www.swen.uwaterloo.ca/kczarnec/gsdoverview.pdf
IBM: Rational XDE (2005), http://www-306.ibm.com/software/awdtools/developer/rosexde/
Telelogic: Telelogic Tau (2005), http://www.telelogic.com/products/tau/index.cfm
Borland Inc: Together (2005), http://www.borland.com/together/
Microsoft Inc: Visio 2003 (2005), http://office.microsoft.com/en-gb/FX010857981033.aspx
Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories. Wiley, Indianapolis, USA (2004) ISBN: 0-471-20284-3
Microsoft Inc: Microsoft Grows Partner Ecosystem Around Visual Studio 2005 Team System (2004), http://www.microsoft.com/presspass/press/2004/oct04/10-26OOPSLAEcosystemPR.asp
Deursen, A.v.: Using a Domain-Specific Language for Financial Engineering. ERCIM News (1999)
CWI: ASF+SDF MetaEnvironment (2005), http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/MetaEnvironment
Ho, D.: Notepad ++, Version 2.8 (2004), http://notepad-plus.sourceforge.net/
Judson, S.R., France, R.B., Carver, D.L.: Specifying Model Transformations At the Metamodel Level. In: UML 2003 - Workshop in Software Model Engineering, San Francisco, USA (2003)
Pires, L.A.F., Sinderen, M.v., Farias, C.A.R.G.d., Almeida, J.A.P.A.: Use of Models and Modelling Techniques for Service Development. In: 3rd IFIP International Conference on E-Commerce, E-Business and EGovernment (I3E 2003), Guarajã, Brazil, pp. 441–456. Kluwer, Dordrecht (2003)
Solberg, A., Oldevik, J., Aagedal, J.Ø.: A framework for qoS-aware model transformation, using a pattern-based approach. In: Meersman, R., Tari, Z. (eds.) OTM 2004. LNCS, vol. 3291, pp. 1190–1207. Springer, Heidelberg (2004)
W3C: Web Services Activity (2004), http://www.w3.org/2002/ws/
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
Vokáč, M., Glattetre, J.M. (2005). Using a Domain-Specific Language and Custom Tools to Model a Multi-tier Service-Oriented Application — Experiences and Challenges. In: Briand, L., Williams, C. (eds) Model Driven Engineering Languages and Systems. MODELS 2005. Lecture Notes in Computer Science, vol 3713. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11557432_37
Download citation
DOI: https://doi.org/10.1007/11557432_37
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29010-0
Online ISBN: 978-3-540-32057-9
eBook Packages: Computer ScienceComputer Science (R0)