[go: up one dir, main page]

Academia.eduAcademia.edu
Revista de Estudos Politécnicos Polytechnical Studies Review 2008, Vol VI, nº 9 ISSN: 1645-9911 A new MDA approach based on BPM and SOA to improve software development process Miguel A. Sánchez Vidales12, Ana Mª Fermoso García1, Luís Joyanes Aguilar2 masanchezvi@upsa.es, afermosoga@upsa.es, luis.joyanes@upsam.net (recebido em 19 de Março de 2008; aceite em 20 de Abril de 2008) Resumen. El concepto de Negocio Bajo Demanda, acuñado por IBM, tiene como finalidad facilitar la relación entre dos dominios tradicionalmente separados en casi todas las organizaciones, el dominio del negocio y el tecnológico. Este es un problema recurrente en la mayor parte de los sistemas de información. Este nuevo concepto esta basado en la Arquitectura Orientada a Servicios, más conocida como SOA (Service Oriented Architecture). Esta arquitectura permite conectar los servicios software y los del negocio. Si las organizaciones lograran implementar esta nueva idea de Negocio Bajo Demanda sin duda mejorarían el desarrollo de sus procesos software, especialmente si además en paralelo también aplicaran otros estándares tales como MDA (Model Driven Arquitecture) o BPM (Business Process Managament). Por un lado MDA facilita, através e sus modelos CIM (Computation Independent Model) y PIM (Platform Independent Model), la separación entre la lógica del negocio y las plataformas software e infreaestructuras tecnológicas. Por otro lado BPM ayuda a definir los procesos de negocio o modelos CIM de MDA. En este artículo se plantea una nueva recomendación basada en MDA que combina BPM, SOA y las técnicas de Negocio Bajo Demanda, para facilitar la definición de las fases iniciales del desarrollo de procesos software. Partiendo de la creación de los modelos de procesos de negocio, conocidos como CIM en MDA, se pueden crear los modelos software a ellos asociados, basados ya en servicios sofware y conocidos como modelos PIM en MDA. Keywords: MDA, BPM, SOA, Negocio Bajo Demanda. 1 Pontifical University of Salamanca – Compañía, 2, 37002 Salamanca, España 2 Pontifical University of Salamanca (Madrid Campus) – Juan XXIII, 23, 28040 Madrid, España Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar Abstract. On Demand Business concept, from IBM, shows how to coordinate the transformation of enterprise organization and its technological infrastructure to bridge the gap between business and technology. This problem appears in most of the information systems. This concept is based on Service Oriented Architecture (SOA) to improve the connection between business services and software services. If companies can reach this On Demand Business environment they could improve the software development process by applying standards like Model Driven Architecture (MDA), to separate business logic from software and technological platforms, and Business Process Management (BPM) to define business processes as Computation Independent Models (CIM). In this article we propose a new MDA approach that combines BPM, SOA and the On Demand Business to improve the initial phase of the software development process. Starting on the creation of business processes models, classified like CIM, we can associate them to initial software models, based on software services, classified like Platform Independent Models (PIM). Keywords: MDA, BPM, SOA, On Demand Business. 1. Introduction To define a valid separation between business, software and technological platforms in the information systems, Model Driven Architecture (MDA) uses different kind of models. The most abstract models are called Computation Independent Models (CIM) and according to the MDA official guide (OMG, 2003a), they must be associated to system requirements or business domain. Software models in MDA are classified in Platform Independent Models (PIM), which include the software logic without technological details, and Platform Specific Model (PSM), associated to specific software models of technological platforms. According to MDA, using the adequate steps and transformations between these kind of models, we could generate software starting on business models. One of the MDA fields less explored is related to the correct definition of CIM models and suitable methods to transform them to PIM models. The MDA official guide does not mention how to do it, although the importance of this part is evident. In fact, OMG has asked for proposals for the creation of a standard Business A new MDA approach based on BPM and SOA to improve software development process Process Definition Metamodel (BPDM) (OMG, 2003b) to solve part of this problem. In the scope of business modeling, the Business Process Management (BPM) discipline (Kelly, 2005) is very important. It makes reference to the set of activities of analysis, design, development, execution, monitoring and optimization of business processes. Therefore, it could be applied in the definition of models associated to business, that is to say, to CIM models according to categories established in MDA. From a technological point of view, in the last years has grown the number of projects based on software services to improve flexibility and integration (Fernández, 2005). This kind of development, founded on software services, changes the traditional approach and allows implementing applications with small software components. In relation to software services, the Service Oriented Architecture (SOA) (Sprott, 2004) allows to access and to execute these software components with independence of its location. SOA can also integrate software implemented with different technologies and it is independent of platforms, operating systems and middleware. Using SOA as a basic foundation, IBM proposes a concept denominated On Demand Business (West, 2004). From a business perspective, the main objective of it is to integrate strategic processes to be able to respond, in a flexible and fast way, to any change in customers demand or new business opportunities. From a technological point of view, the On Demand Business is based on SOA and uses software services to improve the connection between the enterprise processes and the software that is used in these processes. Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar Figure 1. Some MDA interpretations are focused on software models, PIM and PSM, and do not manage an adequate business perspective Because MDA guide does not specify how business models (CIM) must be handled, and it does not describe either how to associate them to the initial software models (PIM), many MDA interpretations are focused on software models, PIM and PSM, and do not manage an adequate business perspective. For this reason, as we can see in figure 1, in some MDA interpretations it is not solved the gap between the business domain and the technological one. In this sense, On Demand Business concept shows how to coordinate the transformation of enterprise organization and its technological infrastructure to bridge the gap between business and technology. Nevertheless, this concept does not adjust to MDA specification. Therefore, it cannot contribute to the inherent benefits of this specification, related to the model driven development and the separation of logical aspects from the details of technological platforms. Considering the advantages, disadvantages and deficiencies of MDA, BPM, On Demand Business and SOA, in this article we present a recommendation that combines all these concepts to improve software development and associate them to business processes. To make it possible, is necessary to establish a special On Demand Business context, specific for each company. In this environment, it will A new MDA approach based on BPM and SOA to improve software development process be possible to create CIM models based on business processes, and then transform them to PIM models based on a Service Oriented Architecture. In this context, software is strategic for business, and business must be the first and basic aspect to manage in the software development process. Therefore, this propose can contribute to solve the gap between business domain and software development. The software development process would be adjusted to business processes and, for this reason, it would be faster and easier to react to business changes. In next sections we expose progressively our proposed recommendation. 2. Basic foundations In this section are described, in a brief form, the fundamental aspects on which this proposal is based, that is to say, MDA, BPM, SOA and the On Demand Business. Model Driven Development (MDD) and Model Driven Architecture (MDA) At the present time software development disciplines and methods, like Model Driven Development (MDD) (Selic, 2003), are based on abstract models from which is possible to generate another models or code using more or less automated transformations. For this reason, if we want to improve the software development process, we must research how to improve the creation, management and transformation of some critical models. As a MDD specialization, the Object Management Group (OMG) presented in November, 2000 the firsts papers about the Model Driven Architecture (MDA) specification, whose official guide [1], version 1.0.1, appeared in 2003. MDA represents a new MDD choice for software development that uses three different types of models (see figure 1), each of them for very different abstraction levels. These types of models are CIM, PIM and PSM. Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar Specific content of each MDA model can be interpreted in diverse ways. For this reason, different MDA interpretations could have very different visions of the elements and objectives associated to each type of MDA model. For example in (Kleppe, 2003) CIM models are not used and they start the development process creating a PIM with software requirements. Different MDA interpretations, like (Williams, 2005) or (Larrucea, 2006), start creating a CIM model that contains system requirements or business processes. Each MDA model is defined using a modeling language like Unified Modeling Language (UML) but, in order to maintain interoperability between models, the modeling languages must be based on a common metalanguage, the Meta Object Facility (MOF) (OMG, 2003c). UML profile is another important concept in MDA. It allows defining UML extensions and constraints that can be associated to a specific domain. For example, in (Johnston, 2004) is defined an UML profile that contains specialized elements in business domain like business rule or business goal. In addition, in MDA is necessary to apply mappings and transformations between models. Mappings are required to associate elements in a model, for example a PIM, with the equivalent constructions in another type of model, for example a PSM. Transformations are essential to evolve from one type of MDA model to another. For example, it is necessary to apply a CIM to PIM transformation to generate an initial software model (PIM) from a business model (CIM). This is a complex task that can be defined using the QVT (Query/Views/Transformations) specification (OMG, 2005) to define the way in which the transformations between models, based on MOF, must be applied. Our MDA approach is focused in the relationship between CIM and PIM models. It associates business processes to CIM and the initial software models, based on SOA, to PIM. These concepts are briefly explained in the next subsections. A new MDA approach based on BPM and SOA to improve software development process Business Process Architecture Management (BPM) and Service Oriented Business Process Management (Pyke, 2006) discipline describes the set of activities of analysis, modeling, design, development, execution, monitoring and optimization of business processes. In the present days BPM is a very interesting concept for companies because it can improve business processes integration, productivity and cost. BPM helps companies to manage strategic business processes that, in many cases, are associated to many people, different departments, non integrated information systems, shared data and documents, etc. For this reason in some cases BPM is considered a business discipline. In our MDA approach BPM is applied to analyze and to model the CIM level including the main elements of the business processes, like people, resources, tasks and information. Starting on this type of business model it will be easier to connect the business elements to different software components, configured as software services. This will help to develop software that will satisfy the business goals and requirements. Another basic concept in our MDA approach is the Service Oriented Architecture. SOA makes possible the connection between business domain, that includes the definition of business processes, and IT domain with technologies that implement those business processes. In this sense, David Sprott exposes in (Sprott, 2004) the advantages to use this architecture to make flexible the business. Nevertheless, he alerts about the problems of considering the SOA adoption from a merely technological point of view. SOA represents an important change in software development because it allows constructing applications from a perspective that will not depend on technologies. Now it is possible to define the functionality of each service from a business Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar perspective and we can associate it to software without concerning the technology required for its implementation and execution. All these BPM and SOA features (Noel, 2005), related to the objectives of our recommendation, suggest that the combination of SOA, BPM and MDA could be adequate for a software development that can start on business processes to create a CIM model and then transform it to a PIM based on software services that do not depend on technologies. On the other hand, as described in the introduction, an On Demand Business context can help to reach the adequate scenario where to apply the proposed software development process based on BPM, SOA and MDA. On Demand Business According to IBM, this concept represents a new approach of business management. IBM CEO Sam Palmisano defines an On Demand Business as: “An enterprise whose business processes -integrated end-to-end across the company and with key partners, suppliers and customers- can respond with speed to any customer demand, market opportunity or external threat”. Obviously this idea has important benefits for the enterprise but it is difficult to apply due to the next two aspects: • Companies must change their business organization: It is necessary to use flexible business structures to apply technology in business processes and which can be quickly adapted to any change in business demand or requirements. Therefore, technology and software are important but they will not be useful if the company is not prepared to integrate them as a basic part of their business processes. • Success depends on integration. Strategic business processes must be integrated and must use the main information systems. This critical software must be accessible for many people in the required departments and locations. Only in this context the information can be shared without difficulty between directors, managers, employees, customers and suppliers. A new MDA approach based on BPM and SOA to improve software development process To connect the business domain with IT in an On Demand Business scenario is necessary to coordinate important transformations in the enterprise organization and in the technological infrastructure. Those changes must cause a better relationship between both domains. In this context the technology has an important influence in the business and business guides the technology that must be used. All the basic foundations described in this section must be applied to improve the initial phase of the software development process. The next section briefly exposes our recommendation to do it. 3. Recommendation In this section is described a particular vision that combines MDA, BPM, SOA in an On Demand Business context to show how is possible to improve the development software process starting on business aspects. This recommendation is divided in two different parts, as is exposed in figure 2. Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar Figure 2. Workflow and main steps of the two parts of this recommendation Part I includes the necessary activities to, in a progressive way, transform the enterprise business organization and the technological infrastructure to a particular On Demand Business environment. This context must be based on MDA and SOA in order to allow software development associated to business processes requirements. Probably this is the most difficult part and it can require several years, although it will depend on each company. Part II describes main activities of the software development process proposed for the On Demand Business context reached in part I. It is focused on the enterprise business processes and the software associated to them and it applies the basic concepts exposed for BPM, MDA and SOA. In this part II are only described the A new MDA approach based on BPM and SOA to improve software development process activities related to CIM and PIM levels because our main goal is to show how is possible to connect business processes with initial software models. Part I. Definition of an On Demand Business context based on MDA and SOA This part describes a method that can be applied to obtain an enterprise context based on the use of software and technology associated to business processes. The objective is to reach a flexible scenario in which it would be easier and faster to react when changes in demand or business appear. Companies with this environment will be more competitive. But this method can be hard and difficult to apply because many changes are needed and much people must modify their perspective of business and technology. In the initial context, that is to say, the enterprise and technological environment previous to the On Demand Business adoption, business domain is not integrated with the technological infrastructure. Typically, business processes are not integrated and each department uses their own information systems. To solve this problem we recommend to follow the main steps of this part I, exposed in the left side of figure 2. • Step I.1. Analyze business in the initial context. It is necessary to obtain information about the state of the company and the business in its initial context. For example, strategic goals, main rules, most important business processes, resources, profiles, relationship with customers and suppliers, etc. • Step I.2. Define a plan to reach an On Demand Business context. The main objective of this step is to reach a flexible scenario that allows a quick adaptation to changes. Each company must realize a coordinated transformation between its business organization and its technological infrastructure because the On Demand Business requires the use of adequate software and technology in their business processes. Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar • To make that possible, it is necessary to use a progressive strategy, based on iterations. This approach is useful for many types of companies. In some of them the number of iterations required will be low because in their initial context they use, for example, adequate methodologies or technologies like web services. In each iteration, specific transformations must be detailed with well defined objectives and results. As it is described in left part of figure 3, in this cycles important activities must be repeated. • In the first activity is proposed to analyze the company in the future On Demand Business context. It is necessary to detail the expected results in the new context, to describe if it is required to change the business objectives or rules. The next activity analyze if must be redefined the business processes used in the initial context. And this is the normal situation because the business processes usually will change to take advantage of the new scenario. At the same time it is analyzed the technological infrastructure needed to support the new business processes in the new context.´ A new MDA approach based on BPM and SOA to improve software development process • Figure 3. Workflow diagrams with main activities of steps I.2 and I.3 • With the information obtained in the previous activities, it will be possible to define an adoption plan to reach the On Demand Business context. The company must detail the concrete objectives of each iteration in this plan. To make a progressive transformation, in each cycle only must be executed the necessary coordinated transformations of some parts of the organization and the technology infrastructure. • After transformations are made, it is recommended to define and to execute a pilot project. This activity is considered critical because it will be useful in many and different aspects. It will define a concrete and real business goal supported on the use of technology. This way, it will contribute Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar to a progressive approach between business managers and technology specialists who need to work together to solve a simple but real problem. In addition, the education in the new context is made in a progressive way. This approach, based on executing several pilot projects in different iterations, will help to reach the cultural change associated to the On Demand Business. • Finally, each state of the On Demand Business context reached in each iteration must be evaluated. After the execution of each pilot project, the information obtained will help to value the transformations applied. With this evaluation the company will decide to leave this strategy or to continue with other iteration. If they decide to continue, probably it will be necessary to modify some details of the On Demand Business context defined in the previous iteration. For this reason, it will be necessary to come back to the fist activity in this step. • Step I.3. Define a development environment based on MDA and SOA. In this step each company must define its own development environment, according to the restrictions of the MDA specification and SOA architecture. The main activities of this step are exposed in the right part of figure 3. In the first place it must be defined the specific content of CIM, PIM and PSM models and the languages associated to them. In addition, it must be detailed the UML profiles that can be used in these types of models. • After this activity, it will be necessary to define the specific software architecture used to develop and execute the enterprise software in the On Demand Business context defined in the previous step. This architecture must be supported on SOA and the selected CIM, PIM and PSM models. As is described in (Sánchez, 2005), each company can determine in which way they want to organize these types of models according to its MDA interpretation. Additionally the company must define the adequate transformations between MDA models and the rules and restrictions to convert the elements of one type of model to another. • This can be completed in the next activity, when the MDA tools are chosen to be used in the new context. At the same time, the company must define the software development process that wants to apply in this new scenario based on MDA. This new process must be supported on the selected new tools and, on the other hand, these tools can determine some aspects of the development process. • In this approach we propose a development process based on the main steps defined in part II of this recommendation. • After these activities are executed, the company will have transformed its organization and its technological infrastructure to an On Demand Business A new MDA approach based on BPM and SOA to improve software development process • context. In addition, this new scenario will help to develop software applying the MDA specification and starting on the business goals and requirements. • Part II. Software development process in an On Demand Business context based on MDA and SOA In this section is described the recommended steps to develop software applications associated to business processes in an On Demand Business environment based on the principles of MDA and SOA. This context will be particular to each company and it will have been created following the steps described in part I of this recommendation. The following steps are always related to a particular business process to perform a software development starting on the CIM level. To expose how to connect business processes with initial software models, we will focus on the description of steps II.2 and II.3 associated to CIM and PIM levels. Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar Figure 4. Workflow diagrams with main activities of steps II.2 and II.3 • Step II.1. Manage and organize a project related to a business process. Includes the mandatory project management tasks associated to the software development process. In this context is very important to define mixed work groups with business managers and technical specialists. This way both points of view will take part in all the steps of the development process. • Step II.2. Business process modeling and specification (CIM Level). In this stage must be defined many details of the business process. The workflow diagram with the main activities of this step is included in the left side of figure 4. • In the first activity is crucial to identify the key elements of the business process: people, tasks, documents, data and applications. In a parallel activity the company must analyze when the tasks of the business process will require total software automation, when they need software with human intervention and when they are completely manual. In addition, it is very important to A new MDA approach based on BPM and SOA to improve software development process determine the integration level in this business process with another enterprise processes. For this reason the company should start developing simple business processes and then integrate them with others more complicated. • With the information obtained will be possible to create a business process model, considered CIM in MDA, and to include on it the specification of its main characteristics. Besides, is necessary to define the business rules associated to the process and identify the expected behaviour of the process in normal and special conditions. • In the last activity and using a specialized simulation tool, it will be possible to make a virtual execution of the business process modeled before. In order to make a good analysis, the process must be simulated in different scenarios and conditions and the results obtained compared with its expected behaviour. For example, in some projects we have executed this step using IBM WebSphere Business Modeler (Swithinbank, 2005), a specialized tool for business process modeling and simulation. • This type of CIM makes possible to represent the knowledge of the business in a comprehensible format that will be easy to use for the software specialist to define the PIM models, as we can see in the next step. • Step II.3. Software analysis related to the business process (PIM Level). In this case the main objective is to define the software requirements and to identify the software services that must be developed to support the business process modeled in the previous step. In the right side of figure 4 are represented the main activities of this step. In the first action, a CIM to PIM transformation is executed using the descriptions of CIM and PIM elements, languages and transformation rules defined in part I. The model obtained after the first CIM to PIM transformation will be very simple because it will not have any detail about software requirements. For this reason, this first PIM should be extended and detailed with this information about the software to use in the business process defined in the CIM. For example, this activity could be done using UML use case diagrams for describing the software requirements, although it depends on the interpretation of each company. • When this PIM is completed, it must be performed the software analysis activity and the identification of software services that are necessary to execute the process. This action is very important because it realizes the connection between the software requirements with the software elements that can perform these requirements. Also in this case, each company will have decided what type of constructions employ to represent the software elements Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar and the services, but in every case the model obtained must be platform independent. For example it could use UML analysis diagrams. • After this action, the resulting PIM will be very different with respect to first obtained after the CIM transformation. In the last activity of this step, business managers and IT specialist must evaluate and review this PIM model. In this way, if the model is considered correct, developers will have a business validation in a early phase. Therefore, this activity can reduce the number of typical errors produced in context with no good connection between business and IT. • If the model is not validated there will be another activity to review the CIM model and its relationship with the final PIM. It will be necessary if business managers detect any problem with the software proposed or the software specialists propose to change some parts of the business process to improve the connection between business and software. After this, all the actions of this step would be repeated until the PIM is validated. • Step II.4. Software design, implementation and deploy. The first objective of this step is to obtain the design models related to real platforms and technologies starting on the PIM model. In order to reach this goal it will be necessary to apply one or more PIM to PSM transformations. This number will depend on the architecture defined in the part I of this recommendation, in which are defined the characteristics and the content type of each PSM. Once created and detailed the PSM models, they must be transformed into code that finally should be completed and deployed. • This broad and complex step is necessary to be able to carry out a complete software development. But, as we have exposed before, we will not mention more details about the activities in this step because this article is focused on the PIM to PSM connection. • Step II.5. Execution, monitoring and review of business process and its associated software. In previous stages a business process has been modeled and the associated software has been analyzed, designed, implemented and deployed. In this step the main objective is to acquire information about the execution of the mentioned business process and its associated software. With this information it will be possible to measure the efficiency of the process with respect to its expected behaviour. Also it will be possible to assess the results in order to review and improve the process or the software implied on it. If we use the adequate tools we can also monitor the process and its main parameters to help to business managers to take the right decisions. • This final stage is very important to detect improvements and to react quickly when changes appear. Only if this step is applied the company can A new MDA approach based on BPM and SOA to improve software development process evolve and preserve the advantages of an On Demand Business based on MDA and SOA. 4. Conclusions This article represents an approach to show how is possible to combine some basic aspects of the MDA specification with BPM, SOA and the On Demand Business. We have described briefly how this special combination can improve the software development in some companies starting on business processes descriptions. In summary, these are the general conclusions and main concepts of this recommendation: • The software development process starts on CIM models associated to business processes. We propose to start the software development process modeling the main elements involved in a business process. According to MDA, the model created can be classified as CIM because it does not represent any computational detail. After this, the CIM must be transformed and associated to a initial software model, classified as PIM. To realize this action is very important to define an MDA development environment that fits the enterprise characteristics. • BPM helps to define the CIM level. CIM models are based on the description of business processes. They can contain different elements and have more or less details, but all of them will be easy to create and manage for business managers. In addition, these models get better knowledge of the system and simplify the vision of the problem for technical specialist. For this reason, BPM also improves the communication between business managers and software developers and contributes for a good definition of software requirements. • SOA simplifies the connection between business processes and software services. Creating small pieces of software, configured like services, it will be easier to link business tasks to software functions. In this context, SOA is basic to associate tasks of a business process with software services with independence of location and technologies. This association between business processes and software services improve the connection between business models and the initial software models. Tékhne, 2008, Vol VI, nº9 Miguel A. Sánchez Vidales, Ana Mª Fermoso García, Luís Joyanes Aguilar • To reach an On Demand Business context is necessary to realize coordinated transformations between the business organization and the technological infrastructure. In order to take advantage of all the potential of the On Demand Business, it is necessary to make changes in the way the software applications are developed and also in the way to manage the business. • Instead of using great applications, software must be implemented using small services. On the other hand, in the business scope each company must define and organize its business processes. The business services must be configured to be relatively independent and easily associable to software services. • In this context, software will be easier to associate to business processes. But the On Demand Business is difficult to reach and, for this reason, this recommendation describes in part I our particular proposal to do it. • This recommendation represents a specific MDA approach that extends the On Demand Business and it is based on BPM and SOA. Because the On Demand Business is difficult to reach, part I of this recommendation describes the steps to transform the enterprise and technological context, adapting it to our particular interpretation of MDA. • This specific MDA vision is based on the use of BPM fundamentals to create CIM models. Besides, it uses SOA to facilitate the use of software services connected to business tasks. Although this article describes a theoretical approach, at the present time this recommendation is beginning to be applied in the Pontifical University of Salamanca with the objective to improve its academic processes and their adaptation capacity to face the changes implied in the new European Space of Superior Education. The experiences and results of this project will be exposed in further articles. References Fernández González, J. (2005). Qué les pasa a los Servicios Web. Data.ti, 226 (36-42) Johnston, S. (2004). Rational UML Profile for Business Modeling. Developerworks article, IBM from http://www-128.ibm.com/developerworks/rational/library/5167.html Kelly, D., Ashton, H. (2005). Changing Business for Better: A Practical Guide to BPM. An Introduction to BPM. Technical report, Upside Research from ftp://ftp.software.ibm.com/software/bigplays/BPM_Guide_Upside_Re_10-4-05.pdf A new MDA approach based on BPM and SOA to improve software development process Kleppe, A., Warmer, J., Bast, W. (2003). MDA Explained. The Model Driven Architecture: Practice and Promise. Michigan, USA: Addison-Wesley~ Larrucea, X., Benguria, G. (2006). Applying a Model Driven Approach to an e-Business Environment. Actas del DSDM'06: III Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones.. Sitges, Barcelona, España Noel, J. (2005). BPM and SOA: Better Together. Technical report, IBM from http://www.bulldogsolutions.net/IBMWebSphere/knowledgebase/SOABPM.pdf OMG (2003). Object Managament Group: MDA Guide Version 1.0.1. Document omg/03-06-01 edn from http://www.omg.org/docs/omg/03-06-01.pdf OMG (2003). Object Management Group: Business Process Defnition Metamodel. Request for Proposal bei/2003-01-06 from http://www.omg.org/docs/bei/03-01-06.pdf OMG (2003) Object Management Group: Meta Object Facility (MOF) 2.0 Core Specification. Final Adopted Specification pct/03-10-04 edn. from http://www.omg.org/docs/ptc/03-10-04.pdf OMG (2005). Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification pct/05-11-01 edn. from http://www.omg.org/docs/ptc/0511-01.pdf Pyke, J. (2006). BPM in Context: Now and in the Future. In Fischer, L., ed. of Workflow Management Coalition, Workflow Handbook (pp. 17-28) Sánchez, M.A., Caramazana, A., Joyanes, L., Fermoso, A. (2005). Adaptation to MDA (Model Driven Architecture) for better Web Software Modeling and Development. In NEWI (Ed.), Proceedings of the International Conference on Internet Technologies and Applications 2005 (ITA'05) (pp 451-460). Wrexham, North Wales, (United Kingdom) Selic, B. (2003). The Pragmatics of Model-Driven Development. IEEE Software, 20 (19-25). Sprott, D. (2004). The Business Case for Service Oriented Architecture. An Introduction to SOA for Business Managers. CBDI Journal from http://www-306.ibm.com/software/solutions/webservices/pdf/cbdi_report_soa.pdf Swithinbank, P., Badawi, H., He, J., Izuno, A., Lewicke, P., Schwarzer, H., Yusuf, L. (2005) Build a business process solution using Rational and WebSphere tools. First edn. Redbooks. IBM from http://www.redbooks.ibm.com/redpieces/pdfs/sg247105.pdf West, M. (2004). Why Software Development Matters: Competitive Advantage and the On Demand Enterprise. Technical report, Saugatuck Technology Williams, P., Rogala, L. (2005). Building Model-driven Service Oriented Architectures with IBM Rational Software Architect. Technical report, IBM Software Group from http://www.praxiseng.com/Media/PhilRU2005.pdf