Concept and Implementation of a Graphical Editor for Composite Application Templates

Size: px
Start display at page:

Download "Concept and Implementation of a Graphical Editor for Composite Application Templates"

Transcription

1 Institut für Architektur von Anwendungssystemen (IAAS) Universität Stuttgart Universitätsstraße 38 D Stuttgart Studienarbeit Nr Concept and Implementation of a Graphical Editor for Composite Application Templates Xuan Wang Studiengang: Informatik Prüfer: Betreuer: begonnen am: beendet am: Prof. Dr. Frank Leymann Dipl. -Inf. Ralph Mietzner CR-Klassifikation: C.2.4, D.2.6

2 Table of Contents 1 Introduction Task Structure Cloud Computing Definition and History of Cloud Computing Three Levels of Cloud Platforms Economics of Cloud Computing Advantages and Risks Component Based Application Design Composite Application Framework Introduction Features of Composite Application Framework Cafe Project Eclipse Modeling Projects and Plug-In Introduction and Background Eclipse Modeling Framework (EMF) Graphic Editing Framework (GEF) Graphic Modeling Framework (GMF) Plug In Development Environment (PDE) Implementation of Graphical Editor Installation of GMF Ecore Model Graphical Definition Model Tooling Definition Model Mapping Model Generator Model Generate Diagram Code GMF Runtime CAR File Export Discussion and Outlook Discussion Outlook Bibliography

3 Table of Figures Figure 2.1 Three Levels of Cloud Computing Structure 6 Figure 2.2 Infrastructure as a Service..7 Figure 2.3 Platform as a Service..8 Figure 2.4 Software as a Service..9 Figure 3.1 Collapsed Example of Cafe Application..17 Figure 3.2 Extended Example of Cafe Application..18 Figure 3.3 Ecore Meta Model of Cafe Application..19 Figure 3.4 Component Dependency..19 Figure 3.5 Component Patterns 20 Figure 3.6 Deployment Relation 21 Figure 3.7 Implementations...21 Figure 3.8 Visible Property...22 Figure 3.9 Requirements...22 Figure 5.1 Create a New GMF Project with Eclipse New Wizard 32 Figure 5.2 Project Folder Structure...33 Figure 5.3 Ecore Model Diagram and Diagram Editor 34 Figure 5.4 Create Graphical Definition Model.37 Figure 5.5 Figure Gallery...38 Figure 5.6 Rounded Rectangle Properties...39 Figure 5.7 Flow Layout Properties...39 Figure 5.8 Compartment Collapsible...41 Figure 5.9 Tool Palette...41 Figure 5.10 Canvas Mapping Properties...42 Figure 5.11 Top Node Reference...43 Figure 5.12 Node Mapping...43 Figure 5.13 Node Mapping Properties...44 Figure 5.14 Feature Label Mapping Properties..44 Figure 5.15 Component Child Reference Properties..45 Figure 5.16 Gen Editor Generator Properties.46 Figure 5.17 Component Name Edit Part.46 Figure 5.18 Cafe Application Editor...48 Figure 5.19 Print..49 Figure 5.20 View..49 Figure 5.21 Page Breaks.50 Figure 5.22 Example...51 Figure 5.23 Car Generator...54 Figure 5.24 Car File...55 Figure 5.25 Extensions

4 1 Introduction 1 Introduction 1.1 Task Nowadays, Cloud Computing has raised a revolution in the whole IT environment. Plenty of large IT enterprises like IBM, Google, Microsoft and non IT enterprises like Amazon have invested a lot to deploy and propagate their Cloud Computing solutions. The traditional Cloud Computing solution is composed of service vendor/provider and services consumers, which delivers customer required infrastructures, software, application services and receive services through paying per usage. Those services received by customers, generally highly standardized, need customization or even redeployment by a third consultant company, which causes the overspending of IT budget and irregularly specified application services. The Cafe project, based on Composite Application Framework, provides a new solution that separating the service vendor and service provider. Service vendor not only supports service provider at the level of infrastructure and application, but also provides a standard process. In order to meet the specified requirements of various customers, service provider should be capable of configuring and redeveloping the application. This kind of solution makes customers to acquire their own specified services through month based fees without configuration and redeployment by a third company. The task of this student research project is to develop a graphical editor for Cafe application templates, which is based on Eclipse Graphic Modeling Framework (GMF) and implemented within Eclipse Plug In Development Environment (PDE). The editor is supposed to provide a user friendly GUI and allow exporting the Cafe application templates as a Cafe application archive file at the same time. 1.2 Structure The Chapter 2 introduces three levels of Cloud Computing in details, the opportunity and risks in enterprise brought by Cloud Computing and Component based application design. The Chapter 3 involves the composite application framework, the concepts and graphical implementation of Cafe application templates. The Chapter 4 is concerned with background knowledge of Eclipse projects including Eclipse Modeling Framework (EMF), Graphic Editing Framework (GEF), Graphic Modeling Framework (GMF) and Plug In Development Environment (PDE). 3

5 1 Introduction Furthermore, it compares GMF with GEF. The Chapter 5 covers the detailed implementation of graphical editor, GMF runtime and the implementation of.car file export. 4

6 2 Cloud Computing 2 Cloud Computing 2.1 Definition and History of Cloud Computing With the rapid development of Internet technology, Internet based applications are becoming more and more popular and significant. Under the circumstances, a new concept Cloud Computing springs up. Cloud Computing is not a new technology, but an integration of different existed technologies. We define Cloud Computing as an Internet based computing, where by shared resources, software and information are provided to computers and other devices on demand, like electricity. [Clo] A more technical definition by National Institute of Standards and Technology (NIST) is that the Cloud Computing is a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. [MG09] When Google raised the concept of Cloud Computing, Amazon had implemented Cloud Computing since 2005 by providing fees based access to their systems via Amazon Web Services. And also IBM, Intel and Sun declared that they had been already aware of the Cloud Computing since long. In my opinion, Cloud Computing is a further development of Distributed Computing, Parallel Computing and Grid Computing or to put it simply a commercialization of Grid Computing. The application area of Grid Computing, which has been widely applied for scientific computing or simulation among the research institutes, is limited to scientific scope and open source communities. As the scientific fulfillments can be looked as open sources for other scientists, there is no need to require a very high security mechanism. However, after the rapid growth of commercial environment requirements, those leading enterprises have made a lot of improvements to commercialize and widespread the Grid Computing technology. 2.2 Three Levels of Cloud Platforms As described in Figure 2.1, there are three levels of Cloud platforms: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS), which will be elaborated in this Section. 5

7 2 Cloud Computing Figure 2.1 Three Levels of Cloud Computing Structure Infrastructure as a Service (IaaS) IaaS is the bottom level abstracting the physical infrastructure. IaaS vendor provides the computing power, storage and other network infrastructures like firewalls for its customers, who purchase the software and hold the license. Further required is a runtime environment to implement their applications. Therefore, IaaS can also be seen as Hardware as a Service (HaaS). Generally IaaS vendors provide services based on virtualization technology. IaaS customers should create a virtual machine with some operation system and other essential application software like database, web server and so on. After the installation and the configuration of applications, they have to upload the whole virtual machine image to the computer cluster provided by IaaS vendors. During the running of virtual machine, IaaS customers are responsible to the maintenances of the virtual machine, while IaaS vendors are responsible to the maintenances of provided infrastructures. The relationship among IaaS customers, Iaas vendors and end users is described in Figure

8 2 Cloud Computing Figure 2.2 Infrastructure as a Service The service fees are based on performance usage such as the processing time, storage capacity, the bandwidth of the network etc. A practical example of IaaS products is Amazon Web Services. [Pij09] To summarize, Infrastructure as a service is about replacing critical data center resources such as space, pipe, firewalls, VPNs, routers, switches, physical servers and storage with scalable and highly available resources in the Cloud. It is about having a data center in the Cloud. [CF08] Platform as a Service (PaaS) At the middle level stands the PaaS. PaaS vendors provide not only the computing power, storage and network infrastructures, but also the running environment as well as some Cloud services. PaaS customers occupy the application software and the license. What they need is a running environment to implement their applications just like IaaS customers. 7

9 2 Cloud Computing End User Customer Configuration file or Application package Figure 2.3 Platform as a Service Figure 2.3 describes the process of PaaS. PaaS vendors also use virtualization technology. Different to IaaS vendors, they also provide a running environment with operation system and other essential middleware. PaaS customers do not need to install the virtual machine and upload the whole virtual machine image. The only thing to upload is the application package or even a configuration file. PaaS vendors may provide some Cloud services such as database service, data storage service, authentication service. The maintenances of the application package retained by customers are in the charge of customers, while the maintenances of the Cloud services and virtual machines are in the charge of PaaS vendors. Because of the providing of standard Cloud services and installed virtual machines, PaaS is less flexible than IaaS. The service fees are also based on performance usage. A practical example of PaaS products is Google App Engine. [Pij09] To summarize, PaaS offerings provide a set of basic services, including virtual servers, storage, and databases. You can use these services to build an application on top of the PaaS platform with the tools, or APIs, provided by the PaaS platform. [Cha10] Software as a Service (SaaS) SaaS is located at the top level of the as a Service models. Besides the runtime 8

10 2 Cloud Computing environment and infrastructures, SaaS vendors also provide already implemented applications as services. SaaS customers neither purchase their own applications or the license nor upload any application package or configuration file. The only thing they need to do is to pay for the SaaS fees. Therefore SaaS customers are also the end users. SaaS vendors are in charge of managing the software license, maintaining applications and providing a hosting environment. Another possibility is that SaaS venders could also be the customers of other IaaS or PaaS venders. However, lacking of successful Cloud Computing cases causes most SaaS venders hold the infrastructure and platform, where the applications run. SaaS customers have to accept the standard applications provided by SaaS vendors, which leads to less flexibility. Figure 2.4 describes the implementation of SaaS. End User Figure 2.4 Software as a Service As the infrastructures are transparent to SaaS customers, the service fees are no longer based on performance usage, but per user per month. A practical example of SaaS products is IBM LotusLive. [Pij09] To summarize, SaaS is a kind of scalable, available, multi tenant supported and configurable software deployed as a hosted service and accessed over the Internet. [Ley09] 2.3 Economics of Cloud Computing In the last Section we have discussed about three different implementation levels of Cloud Computing. Then we will concern with the choice of three levels of Cloud Computing for enterprise and the Service Level Agreement (SLA) between customer and vendor. 9

11 2 Cloud Computing The Alternative of Cloud Computing in Enterprise In the business economics area, the implementation of Cloud Computing is a kind of Internet based IT outsourcing. The requirements of network infrastructures for traditional IT outsourcing are only limited to the capability of guarantee the efficient communication and cooperation between customer and vendor through e.g. and video conference, which is too far away from the requirements for Internet based IT outsourcing Cloud Computing. Public Cloud and private Cloud are two kinds of Cloud Computing. The private Cloud is a marketing term for a proprietary computing architecture that provides hosted services to a limited number of people behind a firewall [PriCL]. As the private Cloud is built within enterprises, the IT infrastructure for building private Cloud is required. The public Cloud services are provided and delivered through Internet. The enterprises do not need to build, but substitute and receive services. The combination and data exchange between private Cloud and public Cloud could be implemented via VPN. No matter which kind of Cloud services the enterprises prefer, they have to choose a suitable Cloud Computing implementation level. In this paper, we focus on the public Clouds. At the level of IaaS, there is no need to purchase or maintain the IT infrastructure. This part of fixed costs turns to a variable cost, which is used to pay service fees. However, enterprises have to purchase the operation system, application software and their licenses. Additionally, they also have to pay a lot to hunt IT experts, who have to be taken care of in order to prevent the huge lost from their leaving. At the level of PaaS, enterprises can use some Cloud services like database and operation system provided by service vendors in addition to the IT infrastructures. Compared to the IaaS level, enterprises can save some money for operation system and some general software provided by PaaS vendors. But enterprises still have to purchase some special application software, which are not provided by service vendors. The enterprises have to hunt IT experts as well. At the level of SaaS, which is the top level of Cloud Computing implementation, SaaS vendors provide a standard solution suit including software, hardware and applications. Enterprises do not need to spend money on any software, hardware or IT experts, as they are the end user to SaaS vendors. The only cost is SaaS fee, which is based on per user per month. At this level, the IT cost of the enterprise is minimized. Without hardware or software maintenances, the enterprises can totally focus on their key business area. But at no matter which level of Cloud Computing implementation, the enterprise has to face the risks like the security of business data, the suspension of outsourcing 10

12 2 Cloud Computing contract, the bankrupt of the service vendor etc Service Level Agreement (SLA) After the selecting phase of Cloud Computing vendors, the enterprises will sign an outsourcing contract, which contains for example the contract of service, contract of purchase, contract for work and labor etc, with the service vendor. The SLA, which is a negotiated agreement between two parties where one is the customer and the other is the service provider, [SLA] plays a significant role in the outsourcing contract. SLA records the agreements of QoS (Quality of Service), which contain for example performance, availability, storage capacity and reaction time, between both sides. They are measured by numbers such as Time Service Factor (TSF), which is the percentage of the service reaction time within an agreed timeframe, Turn Around Time (TAT), which is the time to accomplish some task. SLA management is normally divided into two phases: negotiation phase and monitoring phase. In the negotiation phase, the customer and vendor define the concrete service level, while in the monitoring phase the customer monitors the fulfillment of the contract in the runtime. It is important to note that the agreement relates to the services the customer receives, and not how the service provider delivers that service. [SLA] 2.4 Advantages and Risks After the introduction of Cloud Computing, let s turn to the benefits brought from Cloud Computing and the risks, which should be taken care of by vendors and customers Advantages The IT operation cost will be strongly reduced. The capital expenditure turns to operational expenditure, which is better to manage and makes the cash flow more visible. It saves the cost not only for purchase of IT infrastructure, but also for hunting IT experts and training staffs. With Cloud Computing, the deployment of new applications has been extremely speeded up. As for SaaS, a short time staff s training of the application is enough, while the in house development takes a long development life cycle, which raises the risks and costs. Normally the service vendors have more experienced IT Experts, which helps them 11

13 2 Cloud Computing to solve the technical problem quickly and efficiently. Furthermore, they may have some successful cases to reference and can give a lot of useful suggestions to customers. So the reliability has been improved. How could the scalability be easily realized by an IT in house development enterprise? The enterprise could purchase new hardware or update the available hardware to meet the needs of new requirements. But what would happen if the enterprise finds they do not need so much IT power? They could not just abandon the spare IT resources. Cloud Computing will solve this problem easily. The service fees paid by the enterprise decide the capacity of services received, which makes the dynamically changing of their IT resources possible. The security, which is most important for enterprise, has been improved by Cloud Computing. Imaging how easily is it to steal a 2kg weighted laptop than an over 10kg weighted server? It is too dangers for an IT expert of an in house enterprise to leave his laptop, which may contain a lot of sensitive data, in his car, as there are too many security problems caused by stolen laptops. Even though the enterprise may build a room for their servers, the servers may be touched by some non IT experts. But as for the service provider, the situation is totally different. They provide higher data security to attract new customers via building huge room or even a whole building for their servers, mainframes and super computers. They invest a lot to keep their hardware and software safe, which might be an impossible mission for a middle enterprise. Besides these advantages, there are still a lot of other benefits brought by Cloud Computing like easier maintenance, metering etc Risks Although the Cloud Computing brings so many advantages, the popularity is still queried by enterprises. Enterprises may have the following trepidations. Almost all of the enterprises are worried about their sensitive data. They think the data is safe, only if the data is stored within the enterprise and can be touched by them anytime. Just imaging a middle enterprise, which is reasonable to deploy a middle level database to secure and administrate the sensitive data. But how could this middle level database offer a higher level security mechanism as large level databases like Oracle, DB2, which are usually used by service vendors? Enterprises also worry that the service provider might pass their sensitive data to their competitors. In order to solve the problem, private Cloud, which stores enterprises sensitive data within enterprises, turns up. Thank private Cloud enterprises not only acquire a higher level of security but also keep their sensitive data under control. Enterprises think that a large standardization makes them to lose their competitive 12

14 2 Cloud Computing advantages. Those advanced processes may be passed to other competitors by service vendor. Business Process Reengineering (BPR) is one of the solutions for this problem. The enterprise separates those non value added chains and uncritical processes from the whole business process, outsources these separated processes to service vendor, so that they will not give out their competitive advantages. At the mean time, they can also focus on the key fields of business. As a new solution for enterprise, there are too few successful cases. A stable enterprise may not take this risk. The enterprises may ask, what happens if the service vendor goes bankrupt? Who will be in charge of the contract obligation? Enterprises also have to consider the cost for the transform from in house to outsourcing. In this transform phase, the cost may be huge. The enterprises have to take the risk of not only the corporate culture changing, but also the lost of IT experts or some key persons. It is also difficult to choose a proper service vendor. A wrong choice may cost a lot. For example, could a service vendor with American corporate culture deliver efficient and reliable services to a German traditional family based corporation? Is not the cultural gap between them influence the cooperation? And also enterprises have to consider, where to store their data, in their own country or other countries. What happens if the local law is deferent? 2.5 Component-Based Application Design The component based application design has played a significant role in software engineering area, through which the software development can reduce cost and shorten the development life cycle. A component framework defines a semi complete software architecture that has been carefully parameterized with respect to the components that represent the most variable elements of the domain. A component based application can thus be instantiated from the component framework by simply providing the specific components needed for the particular application. [TVJ+] There are several different component systems based on various platforms like J2EE and Microsoft.NET, which are the two most popular candidates for Cloud Computing. In SaaS, the services provided by the vendors can be considered as a huge internet based application, which contains a lot of component based applications. The communication between these applications may be through message mechanism, which is based on Web Services protocols like SOAP, WSDL, and UDDI. When the service vendors establish new service, the new service s UDDI will be stored in a candidate list. If requestor requires some special service, he will first send the service description to the service discovery facility. After finding out the 13

15 2 Cloud Computing favorable service, the requestor will get the service address, which may be described in WSDL. The requestor now can reference the service via service address. The component based application design can make the Cloud Computing to provide scalable services efficiently and accurately. 14

16 3 Composite Application Framework 3 Composite Application Framework 3.1 Introduction The term Composite Application Framework has not been standardized. The enterprise has its own definition for Composite Application. SAP thinks that Composite Applications are user centric applications supporting highly collaborative and dynamic business processes which span several functional areas across and beyond organizations [SAP]. Microsoft defines Composite Application as a collection of software assets that have been assembled to provide a business capability. These assets are artifacts that can be deployed independently, enable composition, and leverage specific platform capabilities [Bar06]. From the perspective of end user, Composite Application is a standalone application. It can be adapted in a relative short time; it does not care of the organization and system boundary but fully utilizes the existing resources; its user interface changes rarely, although the back end system has been totally revised. From the technical perspective, the Composite Application is a collection of existing services and components, which aligns existing IT infrastructures with the requirements of end user. Furthermore, it realizes loosely coupling between user interface and back end system. 3.2 Features of Composite Application Framework Composite Application Framework has the following features. Heterogeneous services, applications and components should behave as a standalone application in the framework. From the perspective of end user, the whole Composite Application acts as a simple and standalone application. There is no need to search a certain application interface to accomplish a certain task. As end user s opinion, the Composite Application might be just a web browser based user interface, which means that the system is transparent to end user. This feature is similar to the Cloud Computing introduced in Chapter 2. The services, applications and components, which compose the Composite Application within the framework, are loosely coupled. When the requirements of enterprise change, the services, applications and components can be easily added, removed or modified with no influence to others. Furthermore, these services, applications, components and computing assets are reusable. The loose coupling leads to the independence between front end user interface and back end system. 15

17 3 Composite Application Framework In the framework, the components are capable of communicating with each other. In the Web Services architecture, the communication could be achieved by different Message Exchange Patterns (MEPs), which are explicitly defined in WSDL 2.0 including In Only MEP, Robust In Only MEP, In Out MEP, In Optional Out MEP, Out Only MEP etc. The framework should support transactional application, which gets data from multiple components and sources. Besides these features, the framework should provide security mechanisms such as role control and authentication; integrate different applications in a single user interface and provide a uniform Graphical User Interface etc. 3.3 Cafe Project Introduction Cafe (Composite Application Framework) is a methodology, architecture and a set of prototypes that aims at modeling, provisioning and executing composite applications in the Cloud [Miet]. The project is part of the ongoing PHD work from Ralph Mietzner at University of Stuttgart. The architecture of Cafe is similar to SaaS application, which has been discussed in the Chapter 2. In the traditional SaaS application, the IT infrastructures and applications are provided by the same application vendor. That is to say, the IaaS, PaaS and SaaS belong to a unique application vendor. Customers can subscribe the standard SaaS application services provided by the application vendor. Generally a standard application cannot satisfy all customers, therefore, the customization has to be issued by costumers. Some customers have its own IT department to handle the customization, while the others choose outsourcing. The deployment by a third IT consulting company is expensive. Customers have to pay the subscription fees as well as deployment fees, which stupendously increase the IT cost. Furthermore, the deployment by the third IT consulting company is risky and requires long deployment life cycle, as the consulting company is neither the application services provider nor the receiver of application services. Cafe architecture raises a new framework to separate the application vendor and the application provider. The Cafe application vendor is in charge of supplying IT infrastructures and standard Cafe application. The application provider purchases the standard Cafe application, whose artifacts are packaged as a Cafe application archive (.car) file, from application vendor. The application provider customizes the application according to the specified requirements of customers. The services subscribed by a certain customer are totally customized, so that the customer does 16

18 3 Composite Application Framework not need to establish his own IT department or ask the third consulting companies to customize the application services. Compare to the traditional SaaS, the customers only need to pay the subscription fees for specific services, which makes the deployment much more quickly. As for the redeveloper of application services so called application provider, the development life cycle of customization is relative short. The application provider could improve his application by learning from the customer s requirements, and turns these improvements to his competitive advantages. Figure 3.2 describes the implementation of from service vendor to service provider delivered application service example. The GUI Component acts as a user interface and runs above the JBOSS App Server. The Component can be accessed by user via URL, while the Workflow Component provides EPR address for invoking specified business process and returns the result back. Finally, the data generated by Workflow Component presents on the GUI Component. Figure 3.1 simplifies the diagram by using Compartment s Collapsible attribute. The task of this paper is to describe how to develop the graphical editor, which supports the easily drawing of Figure 3.1 and Figure 3.2, generates the Cafe application descriptor with Eclipse Graphical Modeling Framework (GMF), and exports the corresponding.car file by Eclipse Plug In Development Environment. Figure 3.1 Collapsed Example of Cafe Application 17

19 3 Composite Application Framework Figure 3.2 Extended Example of Cafe Application Editor for Application Vendor In Figure 3.3 displayed Ecore diagram shows us the meta model of the editor components. 18

20 3 Composite Application Framework Figure 3.3 Ecore Meta-Model of Cafe Application In the application descriptor, the Application Template is the canvas in the diagram and acts as the root of the meta model. It contains arbitrary amount of Relations and Components. The Component Dependency named as Relation in the meta model connects Components, whose source is Visible Property and the target is variability. Figure 3.4 shows the example of Component Dependency. two The Figure 3.4 Component Dependency 19

21 3 Composite Application Framework Component is an important part of the diagram. There are three different Component Patterns, Single Instance, Single Configurable Instance and Multiple Instances, which are distinguished by different icons in the diagram and displayed in Figure 3.5. Figure 3.5 Component Patterns For different customers, parts of their requirements are identical. For example, almost every international commercial company needs the direct quotation of exchange rate. This kind of Component can be set as a Single Instance Component, which provides the same information to all customers. It does not need to know which subscriber is invoking. Therefore no specific configuration is needed. The provider needs to deploy it only once. The update can be applied to all customers, who subscribe this Component service. Furthermore, the same Single Instance Component can be deployed multiple times. The subscription and invoking is controlled by load balancer proportionately. If customers need the specific subscription, the application provider should provide the customer specific Component, which is supported by Single Configurable Instance Component. The Component is aware of every subscriber and provides configured services. For example, the service fees calculation Component sends customer specific invoice monthly according to the contract. Generally, the Single Configurable Instance Component needs to be deployed only once. Adding new subscription does not cause the redeployment, while the updating causes the redeployment. The same as Single Instance Component, one Single Configurable Instance Component can be deployed multiple times. The subscription is handled by load balancer as well. Sometimes the provider needs to change the Single Instance Component to Single Configurable Instance Component, which results in the redesign of the Component and the reboot of the system. To reduce the cost and increase the availability, Multiple Instances Component turns up. The specific instance is deployed to each customer, so that there is no influence to the other running Components by adding new Component. As the relationship between instance and customer is one to one, the load balancer is no more necessary. The running of some Components depends on the environment provided by other Components. In order to express this kind of dependence, Deployment Relation is 20

22 3 Composite Application Framework introduced. It Figure 3.6. expresses the relationship among Components, which is shown in Figure 3.6 Deployment Relation Every Component is implemented through various methods, which are specified in the Implementation attribute. Each Component requires at least one Implementation, whose type might be provider supplied, external or the programming languages like Java, BEPL, C#. The implementation is realized by a set of File attributes containing the path of referenced components or files used to implement the Component. For example, the WAR file is used to implement Java Web Application while the WSDL and BPEL files are used to implement business process. If the Implementation type is provider supplied or external, its File attribute could be empty. The Figure 3.7 shows the different kinds of Components and their Implementations. Figure 3.7 Implementations 21

23 3 Composite Application Framework The Component can be accessed by other Component through not only a so called Deployment Relation but also other flexible ways. For example, End Point Reference (EPR) provides the accesss interface for Web Service while the URL, which contains not only the address and port of the database but also the login and password, provides the access interface for database. In diagram they are described by Visible Property and its Element attribute, which contains the concrete access description. Figure 3.8 shows the examples. Figure 3.8 Visible Property The application vendor not only provides the implementation and accesss of Component to his customer, the application provider, but also fulfills the contract so called Service Level Agreement (SLA) between them. It contains version, availability, and the number of concurrent users etc., which are contained in the Requirement attributes. Figure 3.9 shows the example for Requirement. Figure 3.9 Requirements 22

24 3 Composite Application Framework The last component in the diagram is Variability. It acts as the source of Component Dependency, which describes the relationship between Components and has been displayed in Figure CAR: Cafe Archive File The diagram together with the generated XML description file and the files appeared in Implementation attributes should be packaged as a.car file, which acts as a configuration file sent from application vendor to application provider. The implementation of generating.car file is through the extension of Export Wizard Extension Point in Eclipse Plug In Development Environment, which will be introduced in details in Chapter 5. 23

25 4 Eclipse Modeling Projects and Plug In 4 Eclipse Modeling Projects and Plug-In 4.1 Introduction and Background Eclipse The original meaning of Eclipse is an astronomical event that occurs when one celestial object moves into the shadow of another. [Ecl]. When IBM chose Eclipse to name its new Java Integrated Development Environment (IDE), it was directly targeting the Microsoft s Visual Studio and Sun Microsystems Sun One Studio. After a nine year development, Eclipse became one of the most popular IDEs in the Open Source Community not only for Java but also for C, PHP and other programming languages. According to the official definition, Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. [Ecli] Model-Driven Software Development (MDSD) Generally, talking about the modeling diagram, the UML (Unified Modeling Language) and the diagrams drawn with UML come into our mind. A lot of development teams have increased productivity and quality by introducing the Model Driven Software Development. Before using the Model Driven Development (MDD), a Model Driven Architecture (MDA), which is a software design approach for the development of software systems [MDA], has to be built firstly. The MDA includes defining Platform Independent Model (PIM), determining the target platform, defining the transformation and applying the transformation either manually or automatically. Thank MDD, software development now turns to a model transformation. All of the models are independent with each other and separately defined. Each transformation is from an abstract level to a less abstract or concrete level, until a target system implementation is reached. The EMF (Eclipse Modeling Framework) and GMF (Graphical Modeling Framework), which will be introduced later, are the implementations of OMG modeling standards. Therefore, the development of the graphical editor with GMF is based on MDSD. 24

26 4 Eclipse Modeling Projects and Plug In The Eclipse Modeling Project Eclipse Modeling Project, which is a relative newer top level project in the Eclipse Community, aims to improve and widespread MDSD technology within the Eclipse Community. It provides the following capabilities: Abstract Syntax Development, Concrete Syntax Development, Model Transformation and the latest started Modeling Amalgamation Project (Amalgam), which provides improved packaging, integration, and usability of Modeling project components [EclMP]. Abstract Syntax Development includes the core project of Eclipse Modeling Project Eclipse Modeling Framework (EMF), which has been existed since the appearance of Eclipse platform. EMF provides Model Transaction component, Model Validation framework, Model Query component and Model Search component etc. It also supports the definition of abstract syntax for modeling languages like Object Constraint Language (OCL) and Unified Modeling Language (UML) [EclMPC]. Within Concrete Syntax Development it contains Graphical Modeling Framework (GMF) providing a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF [EclMP] and Textual Modeling Framework (TMF) providing tools and frameworks for developing textual syntaxes and corresponding editors based on EMF [EclMP]. With GMF we can generate a powerful graphical editor, while with TMF we can create a high quality textual editor. In this paper we focus on the GMF. Using Model to Model Transformation (M2M) and Model to Text Transformation (M2T) projects we can generate a user defined graphical or textual editing environment. Within the M2M project the M2M rules can be defined to generate another model from already existed instance models, while within the M2T project the M2T rules can be defined to generate the requested text template. 4.2 Eclipse Modeling Framework (EMF) The EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model [EMF]. It helps programmer to generate Java code from user defined models automatically. The generated Java code can be modified and edited just like other normal Java code. For example, the user defined methods and variables can be added. When the Java code has to be regenerated caused by model changing, the user defined methods and variables will not be overwritten using Java annotations. The model can be stored as an XML file, which has been widely used as a standard, so that the capability of model interchange is quite easy. On the contrary, the model can be created by annotated Java code or XML. During the generation from Ecore model to Java codes, the GenModel, which is a 25

27 4 Eclipse Modeling Projects and Plug In decorator model for the Ecore Model [EMFfaq], is used to define or control the generation process. EMF provides the following key functions: EMF (Core), Compare, Model Query and Validation Framework EMF (Core) EMF contains the following three fundamental parts: EMF, EMF.Edit and EMF.Codegen. Within the core EMF framework, Ecore is used as a meta model to describe model and the runtime environment. The details and the creation of Ecore will be discussed in Chapter 5. EMF.Edit framework provides an easy understanding graphical editor, where the model is modified. In the meantime, the stored XML file is also modified synchronously. Using command stack makes the editor to support the automatic undo and redo. EMF.Codegen facility is able to generate the Java code to build the EMF model editor Compare EMF Compare brings model comparison to the EMF framework, this tool provides generic support for any kind of meta model in order to compare and merge models [EMF] Moreover, it also provides the following different compare methods: a Standalone Core providing a jar based comparison independent of Eclipse runtime, Team Providers Integration with SVN, CVS or GIT, Extensible Framework developed by Eclipse Plug in facility Model Query The query component facilitates the process of search and retrieval of model elements of interest in a flexible yet controlled and structured manner [EMF]. Model Query provides the SQL like query methods. The SELECT class accesses the set of models iteratively, collects the result set according to the query conditions to QueryResultSet object and then returns the QueryResultSet to the caller. The FROM class determines or limits the search area and provides an iterator for elements in the search area. The WHERE class restricts the query conditions. The UPDATE class is similar to the SELECT class, and additionally provides the modification function. QueryResultSet class is used to store the result sets and return them to the caller. Moreover, Model Query provides EObjectCondition class, ConditionPolicy class and EObjectStructuralFeatureValueCondition class as well. 26

28 4 Eclipse Modeling Projects and Plug In Validation Framework Validation Framework provides batch and live validating methods. The validation process can be either explicitly executed after the modification of models or implicitly and live invoked during the modifying of models. The implicit validation needs a validation listener to monitor the validation events. Within the Validation Framework, the programmer can define various constraints with either Java or OCL. 4.3 Graphic Editing Framework (GEF) Introduction After creating the meta model through EMF and generating our user defined model, a graphical editing environment is needed to simplify the model development. A general problem is how to reflect the modification in graphical editor to the model description file synchronously. For example, when editing the graphical description of BPMN in a graphical editor, the corresponding XML schema should also be changed synchronously. Model View Controller (MVC) is one of the most popular solutions used in GEF. The Graphical Editing Framework (GEF) allows developers to create a rich graphical editor from an existing application model. It consists of 2 Plug ins. The org.eclipse.draw2d plug in provides a layout and rendering toolkit for displaying graphics. GEF employs an MVC architecture which enables simple changes to be applied to the model from the view [GEFWiki] Model-View-Controller (MVC) Model View Controller (MVC) is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates domain logic (the application logic for the user) from input and presentation (GUI), permitting independent development, testing and maintenance of each [MVC]. In MVC architecture, Model acts as back end, which provides the operation of application, the generated front end View is generally represented by a GUI, which presents the back end Model with various graphics or other ways. The Controller accepts the input from Viewer; passes it to the back end model and then returns the results to Viewer. The following description is about the MVC control flow. The user changes the Viewer in UI through e.g. mouse click. The Controller listens the UI event and handles the input event. After converting the event to a Model understandable access, the Controller passes the converted event to back end Model. The Model will 27

29 4 Eclipse Modeling Projects and Plug In do some corresponding operations and notify the Viewer through Controller. The modification will be represented in the UI. Through the decoupling of Model and View, which increases the reusability of code, the complexity of Model and View design has been reduced Draw2D Within the GEF editor, the elements like figure, text, layout and connection drawn by user are provided by org.eclipse.draw2d plug in package. Before painting figure, the paint() method will do some initializations like preparing the font, foreground and background color. After the initialization, the paintfigure() method is called to paint figures. In case the child figures are needed, the paintclientarea() method, which sets up a specified area for child figures, has to be invoked. Any operation on child figures is not allowed to beyond this area. After setting up the specified area, the paintchildren() method is invoked to paint child figures. Finally, the paintborder() method is called to specify the border of the figures. The child figure is not allowed to exceed its parent s border. Otherwise, the exceeded parts have to be cut off. During the painting, we can use org.eclipse.draw2d.label and org.eclipse.draw2d.text package to add label or text. After painting the figures, the layout setting is checked. If layout is used, the implementation of layout is divided into two steps. Firstly, all figures will be marked as invalid. Secondly all these marked figures will be validated. During the validation, the information like minimum, maximum and preferred size, position etc. has to be proved. If the figure is modified, these two steps of validation have to be reprocessed. Draw2d also provides connection figure, which is a special figure. Connection figure aims to connect other figures from various child areas. Therefore, the border of connection figure is not defined GEF In MVC architecture, draw2d provides View with figures and connections while the Ecore in EMF provides the meta model for different GEF models. These models can be written in various formats like Java code, XML Schema. The Controller function is provided by GEF EditPart, which provides a bridge between View and Model. It converts user interacted events in UI to model understandable commands and then sends them to model, so that the model modifications can be implemented according to the UI events. And vise vase, the modifications in Model can be reflected to the UI Viewer. 28

30 4 Eclipse Modeling Projects and Plug In Converting the model to our user defined view is relative simple. It is usually realized by adding listeners, which invoke the refresh operation on the view. But converting the UI events to model is much more complex. As soon as the modifications take effect, a request is generated to require the interface and commands, which are in charge of the modifications, in the model. At the same time the edit policies are set. The detailed interaction of this process is beyond this paper. We will not expend it here. 4.4 Graphic Modeling Framework (GMF) Introduction Compared with GEF project, GMF project is fresher and provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF. It aims to provide these components, in addition to exemplary tools for select domain models which illustrate its capabilities [GMF]. GMF is based on MVC architecture and separates the diagram and domain model, which increases the productivity and quality. During GMF development, programmer uses Ecore to describe meta model. According to the description in Ecore, the model, edit, editor and tests codes are automatically generated by EMF Generator Model. In addition, GMF UI also extends the org.eclipse.draw2d package Graphical Modeling Framework Tooling The GMF Tooling consists of editors to create/edit models describing the notational, semantic and tooling aspects of a graphical editor as well as a generator to produce the implementation of graphical editors [Pla06]. After generating the model, edit and editor codes, the Graphical Definition Model, which contains the root element canvas, can be created. There are five kinds of element in canvas, which are Figure Gallery, Node, Diagram Link, Compartment and Diagram Label. Each Figure Gallery has several Figure Descriptors. Under Figure Descriptor one kind of Figure Shapes, e.g. rectangle, rounded rectangle, ellipse, polyline, template point, polyline connection and custom figures etc., can be added. Dimension, layout, label, border and color are stored as shape s attributes, which can be setup separately. Finishing the setting of Figure Gallery, the Node element can be added and references the corresponding Figure Descriptor. If the label attribute has been set in the Figure Shape, a Diagram Label element need to be added and linked with it. The Diagram Link is used to associate with the connection figure in the Figure Descriptor, 29

Winery A Modeling Tool for TOSCA-based Cloud Applications

Winery A Modeling Tool for TOSCA-based Cloud Applications Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University

More information

Extension of a SCA Editor and Deployment-Strategies for Software as a Service Applications

Extension of a SCA Editor and Deployment-Strategies for Software as a Service Applications Institut fur Architektur von Anwendungssystemen Universität Stuttgart Universitätsstraße 38 70569 Stuttgart Diplomarbeit Nr. 2810 Extension of a SCA Editor and Deployment-Strategies for Software as a Service

More information

Cloud Computing: Computing as a Service. Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad

Cloud Computing: Computing as a Service. Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad Cloud Computing: Computing as a Service Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad Abstract: Computing as a utility. is a dream that dates from the beginning from the computer

More information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

More information

Eclipse BPMN Modeler Introducing Intalio Designer

Eclipse BPMN Modeler Introducing Intalio Designer Eclipse BPMN Modeler Introducing Intalio Designer Arnaud Blandin Ismael Ghalimi Hugues Malphettes Intalio Inc, EMEA Manager Intalio Inc, CEO Intalio Inc, Lead Developer 6 rue du conseil general 1205 Geneva

More information

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti

More information

Introduction to Cloud Computing

Introduction to Cloud Computing Introduction to Cloud Computing Cloud Computing I (intro) 15 319, spring 2010 2 nd Lecture, Jan 14 th Majd F. Sakr Lecture Motivation General overview on cloud computing What is cloud computing Services

More information

A standards-based approach to application integration

A standards-based approach to application integration A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights

More information

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

A Software Development Platform for SOA

A Software Development Platform for SOA A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda IBM Software Group

More information

WebSphere Business Modeler

WebSphere Business Modeler Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration

More information

An Extensible Application Topology Definition and Annotation Framework

An Extensible Application Topology Definition and Annotation Framework Institute of Architecture of Application Systems University of Stuttgart Universitätsstraße 38 D 70569 Stuttgart Diploma Thesis Nr. 3504 An Extensible Application Topology Definition and Annotation Framework

More information

Pervasive Software + NetSuite = Seamless Cloud Business Processes

Pervasive Software + NetSuite = Seamless Cloud Business Processes Pervasive Software + NetSuite = Seamless Cloud Business Processes Successful integration solution between cloudbased ERP and on-premise applications leveraging Pervasive integration software. Prepared

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights

More information

State Propagation of Process in Microsoft PowerPoint 2

State Propagation of Process in Microsoft PowerPoint 2 Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik Propagation of States from BPEL Process Instances to Chevron Models David Schumm, Dimka Karastoyanova, Frank Leymann, and

More information

Study on Architecture and Implementation of Port Logistics Information Service Platform Based on Cloud Computing 1

Study on Architecture and Implementation of Port Logistics Information Service Platform Based on Cloud Computing 1 , pp. 331-342 http://dx.doi.org/10.14257/ijfgcn.2015.8.2.27 Study on Architecture and Implementation of Port Logistics Information Service Platform Based on Cloud Computing 1 Changming Li, Jie Shen and

More information

NS DISCOVER 4.0 ADMINISTRATOR S GUIDE. July, 2015. Version 4.0

NS DISCOVER 4.0 ADMINISTRATOR S GUIDE. July, 2015. Version 4.0 NS DISCOVER 4.0 ADMINISTRATOR S GUIDE July, 2015 Version 4.0 TABLE OF CONTENTS 1 General Information... 4 1.1 Objective... 4 1.2 New 4.0 Features Improvements... 4 1.3 Migrating from 3.x to 4.x... 5 2

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

Process Modeling using BPMN 2.0

Process Modeling using BPMN 2.0 Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes

More information

What is BPM? Software tools enabling BPM

What is BPM? Software tools enabling BPM What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets

More information

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms Volume 1, Issue 1 ISSN: 2320-5288 International Journal of Engineering Technology & Management Research Journal homepage: www.ijetmr.org Analysis and Research of Cloud Computing System to Comparison of

More information

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS CLOUD COMPUTING Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable computing

More information

Portable Cloud Services Using TOSCA

Portable Cloud Services Using TOSCA Institute of Architecture of Application Systems Portable Cloud Services Using TOSCA Tobias Binz, Gerd Breiter, Frank Leymann, and Thomas Spatzier Institute of Architecture of Application Systems, University

More information

Alice. Software as a Service(SaaS) Delivery Platform. innovation is simplicity

Alice. Software as a Service(SaaS) Delivery Platform. innovation is simplicity Ekartha, Inc. 63 Cutter Mill Road Great Neck, N.Y. 11021 Tel.: (516) 773-3533 Ekartha India Pvt. Ltd. 814/B Law College Road Demech House, 4th Floor Erandwane, Pune, India Email: info@ekartha.com Web:

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

JBoss SOAP Web Services User Guide. Version: 3.3.0.M5

JBoss SOAP Web Services User Guide. Version: 3.3.0.M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

Manjrasoft Market Oriented Cloud Computing Platform

Manjrasoft Market Oriented Cloud Computing Platform Manjrasoft Market Oriented Cloud Computing Platform Innovative Solutions for 3D Rendering Aneka is a market oriented Cloud development and management platform with rapid application development and workload

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

Using EMC Documentum with Adobe LiveCycle ES

Using EMC Documentum with Adobe LiveCycle ES Technical Guide Using EMC Documentum with Adobe LiveCycle ES Table of contents 1 Deployment 3 Managing LiveCycle ES development assets in Documentum 5 Developing LiveCycle applications with contents in

More information

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture On behalf of the ASCETiC Consortium Project Number 610874 Instrument Collaborative Project Start Date

More information

Data processing goes big

Data processing goes big Test report: Integration Big Data Edition Data processing goes big Dr. Götz Güttich Integration is a powerful set of tools to access, transform, move and synchronize data. With more than 450 connectors,

More information

Cloud Computing Architecture: A Survey

Cloud Computing Architecture: A Survey Cloud Computing Architecture: A Survey Abstract Now a day s Cloud computing is a complex and very rapidly evolving and emerging area that affects IT infrastructure, network services, data management and

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Web Developer for WebSphere Software Version 6.0 Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

More information

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware R. Goranova University of Sofia St. Kliment Ohridski,

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS This article looks into the benefits of using the Platform as a Service paradigm to develop applications on the cloud. It also compares a few top PaaS providers

More information

IBM 000-281 EXAM QUESTIONS & ANSWERS

IBM 000-281 EXAM QUESTIONS & ANSWERS IBM 000-281 EXAM QUESTIONS & ANSWERS Number: 000-281 Passing Score: 800 Time Limit: 120 min File Version: 58.8 http://www.gratisexam.com/ IBM 000-281 EXAM QUESTIONS & ANSWERS Exam Name: Foundations of

More information

Modellrepository @ T-Mobile Umsetzung und Einsatz

Modellrepository @ T-Mobile Umsetzung und Einsatz 1 Modellrepository @ T-Mobile Umsetzung und Einsatz ix CeBIT Forum 2009 Carsten Sensler, T-Mobile Deutschland GmbH 3/9/09 1 Table of Contents!! SOA Backplane overview!! Model repository @ T-Mobile!! Domain

More information

Glassfish, JAVA EE, Servlets, JSP, EJB

Glassfish, JAVA EE, Servlets, JSP, EJB Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,

More information

Enterprise Service Bus

Enterprise Service Bus We tested: Talend ESB 5.2.1 Enterprise Service Bus Dr. Götz Güttich Talend Enterprise Service Bus 5.2.1 is an open source, modular solution that allows enterprises to integrate existing or new applications

More information

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture

More information

Fast and Easy Delivery of Data Mining Insights to Reporting Systems

Fast and Easy Delivery of Data Mining Insights to Reporting Systems Fast and Easy Delivery of Data Mining Insights to Reporting Systems Ruben Pulido, Christoph Sieb rpulido@de.ibm.com, christoph.sieb@de.ibm.com Abstract: During the last decade data mining and predictive

More information

Solution Documentation for Custom Development

Solution Documentation for Custom Development Version: 1.0 August 2008 Solution Documentation for Custom Development Active Global Support SAP AG 2008 SAP AGS SAP Standard Solution Documentation for Custom Page 1 of 53 1 MANAGEMENT SUMMARY... 4 2

More information

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

How To Install An Aneka Cloud On A Windows 7 Computer (For Free) MANJRASOFT PTY LTD Aneka 3.0 Manjrasoft 5/13/2013 This document describes in detail the steps involved in installing and configuring an Aneka Cloud. It covers the prerequisites for the installation, the

More information

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University Cloud computing: the state of the art and challenges Jānis Kampars Riga Technical University Presentation structure Enabling technologies Cloud computing defined Dealing with load in cloud computing Service

More information

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,

More information

How To Understand Cloud Computing

How To Understand Cloud Computing Overview of Cloud Computing (ENCS 691K Chapter 1) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Overview of Cloud Computing Towards a definition

More information

TIBCO ActiveMatrix Service Bus Getting Started. Software Release 2.3 February 2010

TIBCO ActiveMatrix Service Bus Getting Started. Software Release 2.3 February 2010 TIBCO ActiveMatrix Service Bus Getting Started Software Release 2.3 February 2010 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO

More information

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)

More information

SCADA Cloud Computing

SCADA Cloud Computing SCADA Cloud Computing Information on Cloud Computing with SCADA systems Version: 1.0 Erik Daalder, Business Development Manager Yokogawa Electric Corporation Global SCADA Center T: +31 88 4641 360 E: erik.daalder@nl.yokogawa.com

More information

Cloud Computing For Distributed University Campus: A Prototype Suggestion

Cloud Computing For Distributed University Campus: A Prototype Suggestion Cloud Computing For Distributed University Campus: A Prototype Suggestion Mehmet Fatih Erkoç, Serhat Bahadir Kert mferkoc@yildiz.edu.tr, sbkert@yildiz.edu.tr Yildiz Technical University (Turkey) Abstract

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

Essential Characteristics of Cloud Computing: On-Demand Self-Service Rapid Elasticity Location Independence Resource Pooling Measured Service

Essential Characteristics of Cloud Computing: On-Demand Self-Service Rapid Elasticity Location Independence Resource Pooling Measured Service Cloud Computing Although cloud computing is quite a recent term, elements of the concept have been around for years. It is the maturation of Internet. Cloud Computing is the fine end result of a long chain;

More information

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com IJCSIT, Volume 1, Issue 5 (October, 2014) e-issn: 1694-2329 p-issn: 1694-2345 A STUDY OF CLOUD COMPUTING MODELS AND ITS FUTURE Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India

More information

<Insert Picture Here>

<Insert Picture Here> The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

System Administration Training Guide. S100 Installation and Site Management

System Administration Training Guide. S100 Installation and Site Management System Administration Training Guide S100 Installation and Site Management Table of contents System Requirements for Acumatica ERP 4.2... 5 Learning Objects:... 5 Web Browser... 5 Server Software... 5

More information

A Monitored Student Testing Application Using Cloud Computing

A Monitored Student Testing Application Using Cloud Computing A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu

More information

Chapter 1 - Web Server Management and Cluster Topology

Chapter 1 - Web Server Management and Cluster Topology Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management

More information

A CLOUD-BASED FRAMEWORK FOR ONLINE MANAGEMENT OF MASSIVE BIMS USING HADOOP AND WEBGL

A CLOUD-BASED FRAMEWORK FOR ONLINE MANAGEMENT OF MASSIVE BIMS USING HADOOP AND WEBGL A CLOUD-BASED FRAMEWORK FOR ONLINE MANAGEMENT OF MASSIVE BIMS USING HADOOP AND WEBGL *Hung-Ming Chen, Chuan-Chien Hou, and Tsung-Hsi Lin Department of Construction Engineering National Taiwan University

More information

Certified Cloud Computing Professional Sample Material

Certified Cloud Computing Professional Sample Material Certified Cloud Computing Professional Sample Material 1. INTRODUCTION Let us get flashback of few years back. Suppose you have some important files in a system at home but, you are away from your home.

More information

MIGRATING DESKTOP AND ROAMING ACCESS. Migrating Desktop and Roaming Access Whitepaper

MIGRATING DESKTOP AND ROAMING ACCESS. Migrating Desktop and Roaming Access Whitepaper Migrating Desktop and Roaming Access Whitepaper Poznan Supercomputing and Networking Center Noskowskiego 12/14 61-704 Poznan, POLAND 2004, April white-paper-md-ras.doc 1/11 1 Product overview In this whitepaper

More information

A Collection of Patterns for Cloud Types, Cloud Service Models, and Cloud-based Application Architectures

A Collection of Patterns for Cloud Types, Cloud Service Models, and Cloud-based Application Architectures Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik A Collection of Patterns for Cloud Types, Cloud Service Models, and Cloud-based Application Architectures Christoph Fehling

More information

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach ASCETiC Whitepaper Motivation The increased usage of ICT, together with growing energy costs and the need to reduce greenhouse gases emissions call for energy-efficient technologies that decrease the overall

More information

Fundamental Concepts and Models

Fundamental Concepts and Models Fundamental Concepts and Models 1 1. Roles and Boundaries Could provider The organization that provides the cloud based IT resources Cloud consumer An organization (or a human) that has a formal contract

More information

CloudML@ARTIST: Overview

CloudML@ARTIST: Overview CloudML@ARTIST: Overview In the context of the ARTIST project, and following the analysis on the state of the art documented in the public ARTIST Deliverable D7.2, it was decided to base our modelling

More information

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Service Mediation. The Role of an Enterprise Service Bus in an SOA Service Mediation The Role of an Enterprise Service Bus in an SOA 2 TABLE OF CONTENTS 1 The Road to Web Services and ESBs...4 2 Enterprise-Class Requirements for an ESB...5 3 Additional Evaluation Criteria...7

More information

INTRODUCTION TO CLOUD MANAGEMENT

INTRODUCTION TO CLOUD MANAGEMENT CONFIGURING AND MANAGING A PRIVATE CLOUD WITH ORACLE ENTERPRISE MANAGER 12C Kai Yu, Dell Inc. INTRODUCTION TO CLOUD MANAGEMENT Oracle cloud supports several types of resource service models: Infrastructure

More information

CLOUD STORAGE USING HADOOP AND PLAY

CLOUD STORAGE USING HADOOP AND PLAY 27 CLOUD STORAGE USING HADOOP AND PLAY Devateja G 1, Kashyap P V B 2, Suraj C 3, Harshavardhan C 4, Impana Appaji 5 1234 Computer Science & Engineering, Academy for Technical and Management Excellence

More information

IBM Rational Asset Manager

IBM Rational Asset Manager Providing business intelligence for your software assets IBM Rational Asset Manager Highlights A collaborative software development asset management solution, IBM Enabling effective asset management Rational

More information

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform Communiqué 4 Standardized Communiqué 4 - fully implementing the JCR (JSR 170) Content Repository Standard, managing digital business information, applications and processes through the web. Communiqué

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

The Java EE 7 Platform and Support for the PaaS Model

The Java EE 7 Platform and Support for the PaaS Model The Java EE 7 Platform and Support for the PaaS Model 0. Introduction NIST [1] defines cloud computing as follows: Cloud computing is a model for enabling convenient, on-demand network access to a shared

More information

A study of Cloud Computing Ecosystem

A study of Cloud Computing Ecosystem EIS A study of Cloud Computing Ecosystem Vikram Gawande Juan Mario Álvarez Aguilar The Tuck School at Dartmouth 10/11/2010 About Cloud Computing: Cloud computing is a model for enabling convenient, on-demand

More information

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits

More information

A Study of Infrastructure Clouds

A Study of Infrastructure Clouds A Study of Infrastructure Clouds Pothamsetty Nagaraju 1, K.R.R.M.Rao 2 1 Pursuing M.Tech(CSE), Nalanda Institute of Engineering & Technology,Siddharth Nagar, Sattenapalli, Guntur., Affiliated to JNTUK,

More information

White Paper on CLOUD COMPUTING

White Paper on CLOUD COMPUTING White Paper on CLOUD COMPUTING INDEX 1. Introduction 2. Features of Cloud Computing 3. Benefits of Cloud computing 4. Service models of Cloud Computing 5. Deployment models of Cloud Computing 6. Examples

More information

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

CrownPeak Java Web Hosting. Version 0.20

CrownPeak Java Web Hosting. Version 0.20 CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,

More information

CHAPTER 4 CLOUD SERVICES FOR POWER SYSTEM TRANSIENT STABILITY ANALYSIS

CHAPTER 4 CLOUD SERVICES FOR POWER SYSTEM TRANSIENT STABILITY ANALYSIS 90 CHAPTER 4 CLOUD SERVICES FOR POWER SYSTEM TRANSIENT STABILITY ANALYSIS 4.1 INTRODUCTION The virtualization and grid computing technologies are the key concepts for evaluation of cloud computing. Mohsin

More information

CMotion: A Framework for Migration of Applications into and between Clouds

CMotion: A Framework for Migration of Applications into and between Clouds Institute of Architecture of Application Systems CMotion: A Framework for Migration of Applications into and between Clouds Tobias Binz, Frank Leymann, David Schumm Institute of Architecture of Application

More information

Thin@ System Architecture V3.2. Last Update: August 2015

Thin@ System Architecture V3.2. Last Update: August 2015 Thin@ System Architecture V3.2 Last Update: August 2015 Introduction http://www.thinetsolution.com Welcome to Thin@ System Architecture manual! Modern business applications are available to end users as

More information

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages Ivan Zapevalov 2 Outline What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages 3 What is cloud computing? 4 What is cloud computing? Cloud computing is the

More information

Assignment # 1 (Cloud Computing Security)

Assignment # 1 (Cloud Computing Security) Assignment # 1 (Cloud Computing Security) Group Members: Abdullah Abid Zeeshan Qaiser M. Umar Hayat Table of Contents Windows Azure Introduction... 4 Windows Azure Services... 4 1. Compute... 4 a) Virtual

More information

EBXML FEATURE SOAP WSDL. written by Una Kearns UDDI. Content Management & Web Services. 6 November 2001 www.wsj2.com

EBXML FEATURE SOAP WSDL. written by Una Kearns UDDI. Content Management & Web Services. 6 November 2001 www.wsj2.com WS J FEATURE SOAP EBXML written by Una Kearns UDDI WSDL Content Management & Web Services 6 November 2001 econtent Services the services behind Web Services Una Kearns, XML architect at Documentum, leads

More information

Outlook. Corporate Research and Technologies, Munich, Germany. 20 th May 2010

Outlook. Corporate Research and Technologies, Munich, Germany. 20 th May 2010 Computing Architecture Computing Introduction Computing Architecture Software Architecture for Outlook Corporate Research and Technologies, Munich, Germany Gerald Kaefer * 4 th Generation Datacenter IEEE

More information

SOA and Cloud in practice - An Example Case Study

SOA and Cloud in practice - An Example Case Study SOA and Cloud in practice - An Example Case Study 2 nd RECOCAPE Event "Emerging Software Technologies: Trends & Challenges Nov. 14 th 2012 ITIDA, Smart Village, Giza, Egypt Agenda What is SOA? What is

More information

How To Create A Cloud Distribution Of An Application

How To Create A Cloud Distribution Of An Application International Journal of Cooperative Information Systems Vol. 20, No. 3 (2011) 307 356 c World Scientific Publishing Company DOI: 10.1142/S0218843011002250 MOVING APPLICATIONS TO THE CLOUD: AN APPROACH

More information

Web Cloud Architecture

Web Cloud Architecture Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. urbain@msoe.edu Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented

More information

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv

More information

Cluster, Grid, Cloud Concepts

Cluster, Grid, Cloud Concepts Cluster, Grid, Cloud Concepts Kalaiselvan.K Contents Section 1: Cluster Section 2: Grid Section 3: Cloud Cluster An Overview Need for a Cluster Cluster categorizations A computer cluster is a group of

More information

Cloud Infrastructure Pattern

Cloud Infrastructure Pattern 1 st LACCEI International Symposium on Software Architecture and Patterns (LACCEI-ISAP-MiniPLoP 2012), July 23-27, 2012, Panama City, Panama. Cloud Infrastructure Pattern Keiko Hashizume Florida Atlantic

More information

2) Xen Hypervisor 3) UEC

2) Xen Hypervisor 3) UEC 5. Implementation Implementation of the trust model requires first preparing a test bed. It is a cloud computing environment that is required as the first step towards the implementation. Various tools

More information

1 What Are Web Services?

1 What Are Web Services? Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What

More information

Metamodels and Modeling Multiple Kinds of Information Systems

Metamodels and Modeling Multiple Kinds of Information Systems Metamodels and Modeling Multiple Kinds of Information Systems Randall M. Hauch Chief Architect presented at MDA, SOA and Web Services: Delivering the Integrated Enterprise Practice, not Promise MetaMatrix

More information

University of Messina, Italy

University of Messina, Italy University of Messina, Italy IEEE MoCS 2011 Kerkyra - Greece June 28, 2011 Dr. Massimo Villari mvillari@unime.it Cross Cloud Federation Federated Cloud Scenario Cloud Middleware Model: the Stack The CLEVER

More information

A Secure Strategy using Weighted Active Monitoring Load Balancing Algorithm for Maintaining Privacy in Multi-Cloud Environments

A Secure Strategy using Weighted Active Monitoring Load Balancing Algorithm for Maintaining Privacy in Multi-Cloud Environments IJSTE - International Journal of Science Technology & Engineering Volume 1 Issue 10 April 2015 ISSN (online): 2349-784X A Secure Strategy using Weighted Active Monitoring Load Balancing Algorithm for Maintaining

More information