Pattern Product Code Management - Customization Using DSL V 1.0 Dated Oct 5 2010

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

http://architecture-soa-bpm-eai.blogspot.

com/ Page 1 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

Pattern Name: Product Code Management – Customization using DSL


Pattern Class: Architecture Version: 1.0
Pattern ID: Release Date: Oct 5, 2010

Table of Content

1. Pattern Name ........................................................................................... 2


2. Also Known As.......................................................................................... 2
3. Class Name.............................................................................................. 2
4. Intent ..................................................................................................... 2
5. Motivation (Forces) ................................................................................... 2
6. Applicability ............................................................................................. 2
7. Structure ................................................................................................. 2
8. Participants .............................................................................................. 3
9. Collaboration............................................................................................ 3
10. Consequences .......................................................................................... 3
11. Implementation ........................................................................................ 3
12. Sample Code............................................................................................ 3
13. Known Uses ............................................................................................. 3
14. Related Patterns ....................................................................................... 4
15. Reference ................................................................................................ 4

http://architecture-soa-bpm-eai.blogspot.com/ Page 1 of 4
http://architecture-soa-bpm-eai.blogspot.com/ Page 2 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

1. Pattern Name
Product Code Management – Customization using DSL

2. Also Known As
N.A.

3. Class Name
Architecture

4. Intent
To Manage code (Core language – java, c/c++, etc) and SQL scripts
(DDL and DML).

5. Motivation (Forces)
In any products’ life cycle management of its code is one of the
most important tasks. As the code base size increases and
customization due to increasing customer base, its management
becomes difficult and some time unmanageable.

6. Applicability
This pattern is applicable in any software development where
product is not off the shelf (not like MS Office) but requires
customization due to varied customer needs and choices but
serving same underlying business needs.

7. Structure
In this pattern, product designer provides a framework which allows
extension of features and facilities within boundaries using specified
Domain Specific Language (DSL). The boundaries define the
product but enough flexibility to accommodate customer needs.
Generally speaking, these boundaries are defined by business
domain.

In contemporary product Haskell and Groovy is very popular. Few


years back Visual Basic like DSLs were very popular.

http://architecture-soa-bpm-eai.blogspot.com/ Page 2 of 4
http://architecture-soa-bpm-eai.blogspot.com/ Page 3 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

8. Participants
N.A.

9. Collaboration
N.A.

10. Consequences
Customization developers must be well aware of product’s
underlying framework and DSL.

Some customizations will be done by customer without informing


product designers’ which will hamper the feature enhancement in
core product due to information unavailability to product designers.

Upgradation may become little difficult if customization has not


followed the rules laid by product designers.

11. Implementation
In this pattern, product designer provides a framework which allows
extension of features and facilities within boundaries using specified
Domain Specific Language (DSL). The boundaries define the
product but enough flexibility to accommodate customer needs.
Generally speaking, these boundaries are defined by business
domain.

12. Sample Code


N.A.

13. Known Uses


SAP using ABAP

N4 by Zebra using Groovy

http://architecture-soa-bpm-eai.blogspot.com/ Page 3 of 4
http://architecture-soa-bpm-eai.blogspot.com/ Page 4 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

14. Related Patterns


Product Code Management – Customization by Customer

Product Code Management – Use Customer specific folder

Product Code Management – Use Customer specific marker

Product Code Management – Distinct Code base

15. Reference
N.A.

http://architecture-soa-bpm-eai.blogspot.com/ Page 4 of 4

You might also like