1

I am fairly new to web application development. I have defined my problem domain through talking to various stakeholders and putting a process map together - basically a flow chart showing the different steps and processes that the web application must be able to recreate.

The problem I am having is that I'm struggling to map this process into application design and code. I was wondering if there are any best practices or development methods that help map a business process into an application design?

I have briefly read up about Domain Driven Development and that seems like it may be a good approach.

To clarify, I am after a methodology or design principle that will help turn the business process into code. For example, I COULD just map every box in the process map to an identically named class in my code. Thus translating the business process into a domain model (i.e. object orientated) in my code. But is this the best way to do it?

asked Mar 21, 2013 at 9:44

2 Answers 2

0

You might want to take a look at various open source Business Process Management suites. BPM is this exact idea, identifying the process a business takes to effect some activity, and mapping it into software in a way that manages the flow of the process. It seems like it would lend itself well to your issue. I work professionally with IBM BPM, but that is a proprietary and non-free solution, and is probably overkill for what you might be looking to achieve, which is why I provided a list of open source ones. I suggest looking through how those platforms/framworks operate on a conceptual level, even if they aren't the direct implementation of a solution for you, understanding how they handle the concept can be useful to you in 'rolling your own' solution.

answered Mar 21, 2013 at 14:32
3
  • The tools you mention are workflow tools. Want I want is a methodology or abstract way of thinking that turns the business process map into a set of classes or system architecture. Commented Mar 21, 2013 at 14:47
  • So, more like a transform tool to convert your map into executable code? Or a methodology for doing so yourself? Commented Mar 21, 2013 at 14:57
  • A methodology. For example, I COULD (in an object orientated world) just map every process to a class and recreate the business process as a class map. But is this the best way to do it? Or are their better ways to go about mapping a process into actual code that I will create Commented Mar 21, 2013 at 15:26
0

After a bit of research I've come across the repository/service design pattern. Both are used within the model context of MVC design pattern.

A repository (in my case an ORM) is a model that gets and saves directly from and to a database table sharing the same name. A service (I have actually called mine a 'process') is a model in the MVC sense, but contains a lot more logic than simply just getting and saving from and to a database table.

A 'process' model performs all the necessary logic and uses multiple repositories to get and save persistent data.

What I have done is develop my database to 3NF and setup a repository model for each table. If my application just requires the data from a table, the controllers call the required repository model directly. For a business process that requires the use of several tables, I create a process model. The name of this process model directly maps to my business process and performs the same steps. This has made translating the business process map into code really easy.

Would appreciate any thoughts people have on this approach?

answered Mar 22, 2013 at 15:50

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.