model driven approach for developing cloud application

14
MODEL DRIVEN ARCHITECTURE FOR DEVELOPING CLOUD APPLICATIONS BY-ROSHAN ,JEEVITH ,PRANJAL NMIT, BANGALORE

Upload: roshan-kumar

Post on 22-May-2015

418 views

Category:

Technology


2 download

DESCRIPTION

here I Describe about framework for developing cloud application and what are the advantages and disadvantages of Model driven approach and final conclusion of paper. you can get full paper by mail to me. email id [email protected]

TRANSCRIPT

Page 1: Model Driven Approach for Developing Cloud Application

MODEL DRIVEN ARCHITECTURE FOR DEVELOPING CLOUD APPLICATIONS

BY-ROSHAN ,JEEVITH ,PRANJALNMIT, BANGALORE

Page 2: Model Driven Approach for Developing Cloud Application

CONTENTS

What is Model driven architecture (MDA)

Adapting Model Driven Architecture for Cloud applications

Model Driven Framework for Developing Cloud Applications

Advantages of Model Driven Approach

Disadvantages of Model Driven Approach

Page 3: Model Driven Approach for Developing Cloud Application

What is MDA ?

Object Management Group(OMG) introduce the Model Driven Architecture (MDA) as an approach to software development.

MDA describes the system at a higher level of abstraction in which model form the primary artifacts.

The models are described at different level of abstraction:-1. CIM(Computation Independent Model) :- describes the basic features

of system and produces a structured and coherent document of requirement specification.

2. PIM(Platform Independent Model):- describes the behavior and functionality of the system in a generic manner.

3. PSM(Platform Specific Model ) :- describe the system with respect to a specific platform.

Page 4: Model Driven Approach for Developing Cloud Application

• The CIM will be transformed into a Platform Independent Model by an Enterprise Architect.

• Resulting PIM has to be targeted to a platform to complete the build process.

• The transformation of a PIM to a PSM will be done by a platform specialist.

• In this process, principle knowledge is added at each step by different professionals.

• The main challenge is the transformation between the different models.

MDA basic process

MDA process for a complex system

Page 5: Model Driven Approach for Developing Cloud Application

Adapting Model Driven Architecture for Cloud Applications

• Service Oriented Architecture (SOA) is a development paradigm which

involves breaking down of an application into smaller services.

• SOA enables interoperability among services and these services can be reused

in different applications.

• SOA decreases time and cost of development in software product-lines.

• MDA can be combined with SOA by describing each of these services as models

and then integrating them to form the complete application.

• By combining these two technologies we incorporate platform-independence

and interoperability into applications.

Page 6: Model Driven Approach for Developing Cloud Application

Model Driven Framework for Developing Cloud Applications We describe a generic framework for developing an application for cloud

environment as shown in figure 1. We start the development process with requirement specification phase in

which we develop a Computation Independent Model. By leveraging the Service Oriented Architecture (SOA), we decompose the

application into several services, each implementing a smaller function of the application.

Model for each of these services using model driven approach is being created. which represent the Platform Independent Model (PIM).

Page 7: Model Driven Approach for Developing Cloud Application

• Metamodels, in simple terms are model of a model.

• These metamodel describe the various elements, constructs and syntax of a model.

• Figure 2, shows four-layered architecture of Metamodel.

• M1 layer contains the models that describe the data.

• M2 layer corresponds to the metamodels that describe the model in M1 layer.

• M3 layer represents the Meta Object Facility (MOF) - a standard that provides Meta Object Language (MOL) for standardized description of the metamodels specified in different modelling languages in M2.

• This helps to integrate the various models into one framework and carry out various model transformation

Page 8: Model Driven Approach for Developing Cloud Application

• Deployment

Once the application is developed the next phase is deployment in the cloud. The application to be deployed consists of models and application bits. These models and application bits are combined into a bundle and introduced into cloud. In the cloud, the platform makes an analyses of the application bundle and develops a

plan to distribute the various components among different servers so that it can achieve the required Quality of Service (QoS).

This plan should be dynamic in nature such that when the demand for services increases new instances must be created and when the demand decreases these instances should be deleted.

Personalization of service is important factor which can be done by modifying the models.

The model description files are files obtained after modifying or customizing the model templates.

They are specific to one user and stored in a separate directory of that user. Thus each user uses the services independent of the other.

Page 9: Model Driven Approach for Developing Cloud Application

Scalability

One of the characteristics of cloud applications is scalability .

When the demand for service increases above a threshold level new instances

of services are created. These instances must be deleted when the demand falls

below a certain level.

We can automatize the creation and deletion of instances by including

appropriate metrics in the model.

We can also develop models to provide information about how the application

should adapt to the cloud environment.

Different service providers want their applications to behave in a certain way,

some want faster response and some always wants the application to be there.

Thus, this information helps the cloud provider to make decisions on better

management of application.

Page 10: Model Driven Approach for Developing Cloud Application

Architectures Drawbacks

1)DSL based Approach to Software Development and Deployment on cloud

It is platform dependent and it requires deploying Domain Specific Language on every cloud platform where the software is to be deployed

2) Reusability Framework for Cloud Computing It compromises on the quality of the software produced and some of the required components may not be available in the cloud repository

3) On Demand Service Oriented MDA Approach for SaaS and Enterprise Mashup Application Development

It does not address customization of services and hence does not describe how multi-tenancy is achieved

4) Object Oriented Architecture It is platform dependent and the application is developed with respect to a particular development environment.

5) Cloud SaaS and Model Driven Architecture It does not mention about customization of services as per user requirements.

Comparison of different approaches to cloud software development

Page 11: Model Driven Approach for Developing Cloud Application

ADVANTAGES OF MDA

MDA bridges the gap between business and IT. MDA is more cost effective. MDA is less error prone. In MDA, documentation is up to date, we have to modify it to

generate changes. MDA results in software being less sensitive to changes in

technology.

Page 12: Model Driven Approach for Developing Cloud Application

DISADVANTAGE OF MDA

Every time we have to regenerate code, which require changes.

The role of projects member are quite different. It actually introduces a lots of rigidity.MDA results in software being less sensitive to changes in

personnel.Once we make changes, it is difficult to upgrade tools and

we have to regulate code.

Page 13: Model Driven Approach for Developing Cloud Application

CONCLUSION

This paper presents a model driven paradigm for developing cloud enabled applications.

It provides a complete description of different phases of model driven development.

Applications developed using this approach are robust, flexible, agile and can dynamically scale as per user requests.

We are currently working on other modelling languages which can be used to model the languages.

Page 14: Model Driven Approach for Developing Cloud Application

THANK YOU