Monday, January 17, 2011

Rapid Development using Model-Driven Development

Rapid Development using Model-Driven Development

Basically, MDD states that only the model of an application needs to be developed, and that the rest is automatically generated





In the context of MDD the model is the means of representing the data and the logic of the application. It can be either a graphical notation, such as UML.

Model-driven approach is use for rapid development, in which you produce a model and obtain a full application from it. The model consists of a Business Component.

The Business Component approach allows you to structure the application around business concepts. Apart from business components there will be modules like controllers, validator, calculators, etc. that you can optionally use to customize your application. It generates lot of automatic stuff, but it is flexible enough to be useful developing real life business applications.

At the end of the day you can develop applications just using simple Java classes with annotations.

Big Differences:

1. Ideal application you have to write view, model & controller ideal MVC framework but using model driven development you only need to write the model the result is less code.

2. Rapid development since only need to write the model(business component)

3. If your data structures and the business logic are likely to change frequently, then the Business Component approach is very useful since all changes can be made in the same place instead of being scattered over multiple files.

4. Productivity would increase.

5. More structured

Wednesday, January 5, 2011

Business Process Modeling Notation (BPMN)

Business Process Modeling Notation (BPMN)
Business Process Modeling Notation (BPMN) is a graphical representation for specifying the business process in a business process model.
BPMN was developed by Business Process Management Initiative (BPMI) and Is currently maintained by the Object Management Group. The latest version of BPMN is 2.0. Business Process Modeling Notation is a graphical representation for specifying the business process in a business process model.
BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyze the efficiency of the business process, and be informed of problems.
Elements:
The modeling in BPMN is made by simple diagrams with a small set of graphical elements. It should make it easy for business users as well as developers to understand the flow and the process. The four basic categories of elements are as follows:
Flow Objects
Events, Activities, Gateways
Connecting Objects
Sequence Flow, Message Flow, Association
Swimlanes
Pool, Lane
Artifacts
Data Object, Group, Annotation

The latest version of BPMN 2.0 (which is in beta) supports a formal met model for BPMN constructs and important constructs like conversations for correlating two processes , event handling (for suppresses and non interrupting events) and transactions and compensations.
Tools:
Seam Framework
This support jBPM for BPMN is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions.
Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months for more details please refer http://seamframework.org/Seam2