An Approach for Developing Service Oriented Product Lines
|
|
|
- Darlene Elliott
- 9 years ago
- Views:
Transcription
1 12th International Software Product Line Conference An Approach for Developing Service Oriented Product Lines Jaejoon Lee Computing Department, InfoLab21, South Drive, Lancaster University, Lancaster, United Kingdom (tel) , (fax) Dirk Muthig and Matthias Naab Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer Platz 1, Kaiserslautern, Germany (tel) , (fax) {dirk.muthig, ABSTRACT Service Orientation (SO) is a relevant promising candidate for accommodating rapidly changing user needs and expectations. Adopting SO in practice for real software and system development, however, has uncovered several challenging issues, such as how to identify services, determining configurations of services that are relevant to users current context, and maintaining system integrity after configuration changes. In this paper, we propose a method that addresses these issues by adapting a feature-oriented product line engineering approach. Our method is based on the feature analysis technique that enables us to identify services of a service oriented system. The method is notable in that it guides developers to identify services at the right level of granularity, to map users context to relevant service configuration, and to maintain system integrity in terms of invariants and pre/post conditions of services. We also propose a heterogeneous style based architecture model for developing such systems. 1. Introduction Service Orientation (SO) is a relatively new paradigm for software development: systems are no longer developed, integrated, and released in a centrally synchronized way, but services are developed and deployed independently and separately in a networked environment, as well as composed as late as at runtime [1][2][3]. This is a promising candidate for supporting continuously changing user needs and expectations, as more and more software systems are connected to the Internet. That is, their evolution could be supported and accelerated by dynamically adding and integrating services through the Internet. Hence SO promises similar capabilities as product lines do at a first glance and it seems to require less investment because it is "only" a new technology. Adopting SO in practice for real software and system development, however, has uncovered several challenging issues, such as how to identify services, determining configurations of services that are relevant to users current context, and maintaining system integrity after configuration changes. In this paper, we therefore propose a method that addresses these issues by adapting a feature-oriented product line engineering approach, which has been applied successfully for establishing software reuse in practice [4][5]. The method is the novel fusion of the two research themes of services and software product line engineering: achieving flexibility of network based systems though service orientation, but still managing product variations thought product line engineering techniques. It is based on the feature analysis technique [6][7] that enables us to identify services of a service oriented system. The service features may vary from a user s point of view and thus will be subjects of configuration changes of service oriented systems. At the same time, the method preserves the main characteristic of service orientation: a network of services that might not be designed to work together but must work together to satisfy user-specific needs. To this end, some service features are selected and/or parameterized at runtime by a user or by a product itself when a certain contextual change or a new service provider is recognized. The method is notable in that it guides developers to identify services at the right level of granularity, to map users context to relevant service configuration, and to maintain system integrity in terms of invariants and pre/post conditions of services. We also propose a heterogeneous style based architecture model for a systematic development of such systems. The remainder of this paper is organized as follows: Section 2 gives an overview of our approach, as well as introduces the case study used to illustrate it throughout the paper. Section 3 and 4 present the two main steps of the approach, that is on the one hand, the identification of features and their bindings, and on the other hand, the specification of service orchestrations. Section 5 proposes an architecture model with its constituting meta-models and a running example. Section 6 discusses related works and Section 7 concludes the paper /08 $ IEEE DOI /SPLC
2 2. Approach Overview Product line engineering, in general, systematically exploits common characteristics and predicted variations among products of the same family [8][9][10]. The key idea is to split the overall lifecycle into two main phases: family and application engineering. Family engineering constructs and evolves the reuse infrastructure that is supposed to make application engineering more efficient. The input to family engineering is the specification of a product family (i.e., the product line scope), whose members are produced by application engineering projects. Each instance of application engineering constructs and maintains one particular product. The method guides us to construct, on the one hand, a reuse infrastructure that consists of generic services optimized for the particular family of envisioned products. On the other hand, it also guides the construction and evolution of family members, which heavily reuse existing services, as well as systematically exploit thereby the flexibility and scaleability provided by the SO paradigm. Feature and feature binding analyses - Feature model - Feature binding units - Feature binding time Legend Service analysis Name Activity Data flow - Orchestrating services - Molecular services - Locality of tasks Orchestrating service specifications / development - Workflow control components Molecular service specifications / development - Reusable service components Figure 1 Activities of the approach - A target system System integration and deployment - Retrieved services Reusable service repository Figure 1 shows activities and their relationships of the technical component presented. These activities are executed iteratively; the arrows in Figure 1 indicate the flow of data and which work products are used by each activity. A feature analysis organizes product family features into an initial model, which is then refined by adding design features such as operating environments, domain technologies, or implementation techniques. Within the feature model, the subsequent binding analysis identifies binding units and determines their relative binding times among each others [11]. The service analysis consumes the results of these analyses. Each binding unit is further analyzed to determine its service category (i.e., orchestrating service or molecular service) with respect to the particular family at hand. We assume that the behaviors of services can be described best by workflows executed by the system users. Additionally, the context and the available technical infrastructures may vary and thus dynamic reconfigurations of product variants are expected. The mass of low level services, that we call atomic services, are grouped into richer services as required by the family. These richer services are (virtually) composed of atomic services and thus we call them as molecular 1 services. Note that each product family has thus its own specific set of molecules, the basic building blocks for constructing family members. Due to the definition of those molecules based on product line processes, molecular services are more reusable than atomic services (in the context of a particular product family). On the other hand, the high level services, that we call orchestrating services, are specified first as workflows and their constituting tasks. Then, their pre/post conditions, invariants, and service interfaces are specified. Finally, the system integration and deployment activity form a product and the orchestrating services provide services to users by integrating and parameterizing the molecular services at runtime. For illustrating the approach presented in this paper, we selected a case study in the domain of the virtual office of the future (VOF). The VOF product family consists of systems, which control and manage collections of devices to provide any-time any-where office environments [12]. In this paper, we limit ourselves to the following VOF features: - Follow Me: In the VOF product line, information on users (physical) locations is important to provide context-relevant services. This feature detects physical location of a user by using various locating devices such as access points (AP) of wireless LAN, personal ID cards, RFID, etc. A user s location is updated when events from the user are detected or at pre-determined intervals. One of the FM s optional features is Automatic Log-on, which allows a user to access facilities (e.g., computers, printers, rooms, etc.) of an office building without manual operations for authentification. This feature must be bound at runtime only if 1) FM is selected for the current product configuration, 2) the requesting user s job function is a manager or a director, and 3) more than one locating device is available nearby. - Resource Manager: A major role of a resource manager is to keep track of availabilities of office peripherals (e.g., printers, fax machines, scanners, 1 In chemistry, a molecule is defined as a sufficiently stable electrically neutral group of at least two atoms in a definite arrangement held together by strong chemical bonds [13]. We adopt this notion of molecular, as a molecular service represents a unique service, which will be used as-is without a further decomposition in a particular domain. 276
3 etc.). Their availabilities may change over time, as some devices are newly installed and some are removed or turned off for maintenance. In addition, the resource manager should keep attributes of each device such as its physical location and capabilities (e.g., supported paper sizes of a printer). When a user requests devices that are required for her/his tasks, the resource manager allocates available devices to the user based on a pre-determined strategy (e.g., shortest-distance- or attribute-based strategy). - Virtual Printer: This feature selects the nearest printer to a user with a most appropriate printing quality at the moment when the service is requested. - Smart Business Trip: The smart business trip feature supports planning, approving, preparing, and reporting a business trip. After a traveling employee triggers this service, relevant tasks for various stakeholders (e.g., a manager who has the authority to approve the trip and a secretary who makes reservations for hotels and transportations) are invoked automatically. The system should recognize the context of each stakeholder and configure/bind services to be best fit into current situations. Suppose, for example, that a user needs to print a file, then an appropriate printer is selected automatically and its location is notified to the user by using the Virtual Printer feature. 3. Feature Analysis In this section, activities of feature analysis, which includes feature modeling and feature binding analysis are introduced. Feature modeling is the activity of identifying externally visible characteristics of products in a product line and organizing them into a model called a feature model [7]. The primary goal of feature modeling is to identify commonalities and differences of products in a product line and represent them in an exploitable form, i.e., a feature model. Common features among different products in a product line are modeled as mandatory features (e.g., Resource Manager and Follow Me), while different features among them may be optional (e.g., Automatic Log-on) or alternative (e.g., AP-based or RFID-based User Localizer). Optional features represent selectable features for products of a given product line, and alternative features indicate that no more than one feature can be selected for a product. Details of feature analysis and guidelines can be found in [7]. Once we have a feature model, it is further analyzed through feature binding analysis [11]. Feature binding analysis consists of two activities: feature binding unit identification and feature binding time determination. Feature binding unit identification starts with identification of service features. A service feature represents a major functionality of a system and may be added or removed as a service unit. In VOF, Follow Me, Resource Management, Virtual Printer, and Smart Business Trip features are examples of service features. Because a feature binding unit contains a set of features that need to be bound together into a product to provide a service correctly and share a same binding time, a product can be considered as a composition of feature binding units. By taking these feature binding units as a key driver for service analysis, we could alleviate the difficulties for identifying candidate services with right granularity, i.e., reusable services. In the next section, it is explained how the identified candidate services (i.e., feature binding units) are further classified and refined. 4. Service Analysis Orchestrating Service Layer Legend Optional NAME Molecular Service Layer FOLLOW ME Environment Visualization User Authentification Automatic Log-on Alternative Composed-of relationship Generalization relationship Molecular Service Features for QoS Molecular Service Name Follow-Me Smart Business Trip User Localizer Virtual Printer RESOURCE MANAGER Manual Log-on AP-based RFID-based localization localization VOF Device Allocation Strategy Through the previous activities, we now have a feature model and feature binding information, which provides an insight into a targeting domain in terms of product features, basic units of binding, and their binding time. Then, the feature model is refined and restructured by introducing a separation of two distinctive service characteristics: behavioral (workflow) and computational (tasks) service characteristics. Distancebased Smart Fax Resource Manager Maintain Connectivity Device Attributebased Figure 2 A Refined Feature Model based on Two Service Categories A behavior oriented service is mainly to define a certain sequence of tasks, i.e., workflows. We call services in this category as orchestrating services, as their main role is the composition of other services in a harmonious way. A computation oriented service is to provide computational outputs (i.e., a predefined task to be conducted by an IT system 277
4 or a person) in response to given inputs. We call services in this category as molecular services, as they are the basic building blocks and will be reused as-is by orchestrating services. Details of services that belong to each category are explained in the following sections. (See Figure 2 for the refined feature model with the two service layers.) 4.1 Orchestrating Service For orchestrating services, correctness of their overall control behavior is the foremost concern. For example, providing an expensive color-printing service with proper authorization and billing processes is critical for virtual office service providers. Therefore, adopting a formal method framework to specify, validate, and verify is the most suitable way for developing orchestrating services. In our approach, we adapted a workflow specification language [14] with pre/post conditions and invariants to enhance the reliability of specifications. Figure 3 shows a workflow specification example for the Smart Business Trip service. Each orchestrating service has pre/post conditions and invariants. In this example, a user should be logged in to trigger the service and the workflow is completed only after the user submits a postmortem report about her/his business trip. Also, the invariants (i.e., the user is employed and the business trip is not cancelled) should hold through the whole workflow process. (See the text box at the mid-left portion of Figure 3.) Whenever the invariants become invalid, the workflow is terminated with proper notifications to relevant stakeholders. Moreover, each task of the workflow can be specified with its pre/post conditions and invariants. For example, a secretary should achieve the access right to organizational Travel Requester data such as the charged project s budget information and the traveler s bank account number to proceed with the reservations task. These conditions can be defined as the precondition of the reservation task and checked when a secretary is assigned for the task. Also note that the consistency of invariants between a workflow and its constituting tasks should be checked when an orchestrating service is specified. In addition to the identification of tasks and their pre/post conditions and invariants for an orchestrating service, the locality of each task should also be identified for high availability of services. A task is called local if all information needed by the responsible person is locally available on this person s computing device. A sequence of tasks is called local if only one person is responsible for these tasks; that is there is no switch of control to other persons in between. The locality information is particularly important for a domain that should support mobility of users like the VOF systems. For instance, the visa process and reservation tasks are local to a secretary and they can be processed without the coordination at the global level. This means that the secretary can perform the tasks locally though she/he is disconnected from a network. However, the transaction between the approval task by a deciding staff and the visa process task by a secretary should be managed at the global level, because they belong to two different persons. Next, the identification and specification of molecular services are explained. 4.2 Molecular Services The identification of molecular services with right Deciding Staff <<Start State>> Start Collect trip data <<Decision>> All data collected? Yes Approval (ds: deciding staff) <<Decision>> Approved? No No workflow SMART BUSINESS TRIP (trip:trip, t:traveler, c:country Name) Invariants t.employeestatus == True && trip.validity Canceled preconditions t.authetification == Logged_in postconditions trip. postmortemreport == Submitted Travel Requester Visa process (c: country name) Yes Business preparation support <<Decision>> Visa required? No Yes <<Fork>> Reservations (as: assisting staff) Secretary Legend <<Join>> Local work flow Global work flow Name Locality of a task Travel Requester Postmortem report (c: country name) <<End State>> End Figure 3 An Example of Workflow Specification for an Orchestrating Service: Smart Business Trip 278
5 granularity is the key factor to enhance reusability of the service oriented system development. Molecular services are the basic units for reuse and orchestrating services should be able to compose them as-is through their interfaces during development time or runtime. For their identification, feature binding units are analyzed and refined with consideration of the following guidelines. A molecular service should be: - self-contained (local control and local computation), - stateless from service user s point of view, - provided with pre/post conditions, and - representative of a domain-specific service. The first three guidelines are to decouple service consumers from providers. Based on these guidelines, a service consumer only needs to know the service providers interfaces and their conditions for use. This means that any changes (performance improvements, bug patches, etc.) within an identified molecular service must not be propagated to other services. The last guideline is the key factor to determine the right granularity of a molecular service based on the feature binding unit and time information, and domain experts professional judgment. For instance, the feature binding units related to Follow Me and its descendent feature binding units are identified and reorganized as the FOLLOW ME molecular service in Figure 2. The rationale for this determination is as follows: - the Follow Me feature is a mandatory service for every user of the VOF product line, - each localizing device (e.g., RFID, access points of wireless networks, etc.) uses different localization techniques, but their expected outputs are the same (e.g., a user s physical location), - the implementing algorithms for localization evolve rapidly to improve their accuracy, and - it is a computation oriented service without any workflows in it. Based on this decision, the FOLLOW ME molecular service is designed and implemented to provide the user localization service to the orchestrating services, if they abide by the pre/post conditions of FOLLOW ME. Each molecular service may have its QoS parameters, which are identified during the feature binding analysis in terms of optional or alternative features. For example, the User Localizer feature has two alternatives (e.g., AP-based localization and RFID-based localization) and their levels of accuracy are different (e.g., The error range of the RFID based method is less than 1 meter, whereas the error range of AP-based method is less than 10 meters.). Depending on available devices near a user, one of the alternative positioning methods is selected and used. In our approach, each molecular service is specified by using a text-based specification template and Figure 4 shows the specification of FOLLOW ME. (The characters in the bold font are reserved words for the specification.) The FOLLOW ME service is for the current employees, who passed the authentification and logged in. Also, the Automatic Log-on, which is optional for higher quality of the service, is only available at runtime when the requesting user s job function is director or managers, and a RFID device is available near by. (See the lines 9 to 13 for the specification of optional feature Automatic Log-on.) 1: molecular service FOLLOW ME (user User) 2: invariants user.employeestatus == true 3: precondition user.authentification == logged_in 4: postcondition none; 5: option Environment Visualization 6: binding time runtime 7: precondition user.device == desktop notebook 8: postcondition none; 9: option Automatic Log-on 10: binding time runtime 11: precondition user.rank == director manager and 12: RFID bases user location method == available 13: postcondition user.access == granted rejected; Figure 4 An Example of Molecular Service Specification In this section, concepts and guidelines for analyzing and specifying molecular services are explained. The next section introduces an architecture model for the development of these services. 5. A Heterogeneous Style based Architecture Model For the development of the VOF system, we propose a heterogeneous style based architecture (HEART) model, which consists of three decomposition levels. In the following sections, we explain the design goals, meta-models of architectural styles used at each decomposition level to achieve the goals, and an instance of the meta-model for the VOF system. 5.1 Design Goals While we explored various design issues for developing systems for future office environments, we identified the quality attributes flexibility and scalability as very important. The following main design goals concretize the quality attributes in our context and serve as input for the construction of the architectural model: 279
6 1. Support for late binding of networked resources to their consumers: this is to achieve the runtime flexibility, which is the main idea of SO. By networked resources we mean any entities that can be developed and deployed independently but their binding to their consumers occurs at runtime when the consumers request. In the VOF product line, shared business peripherals (e.g., printers, fax machines, etc.), a workflow engine that processes the global transaction are the examples. Also, the system scope should be able to scale up through the Internet. 2. Support for mobile products: In the future office environments, people have to be supported by mobile devices that may not have a continuous connection to central infrastructures. Nevertheless, the devices should provide as much functionality as possible. 3. Support for four main functionalities of a resource consumer: a resource consumer should be able to maintain connectivity to the system domain, recognize current context, interact with a user, and manage multiple active services at a certain moment. Moreover, the priorities among services may vary depending on users current situations. This implies that a developer should be able to define multiple concurrent processes as well as their priorities. 4. Support for our notion of service classification: we analyzed two distinct service characteristics (i.e., orchestrating and molecular services) to identify services with right granularity and clarify their interactions. The architecture design should facilitate these concerns for identifying and deploying architectural components. 5. Support for dynamic reconfiguration: a product should be able to reconfigure and parameterize its services depending on recognized situations and available resources at the moment. In the following section, we explain our proposed architecture model and how these design goals are achieved. 5.2 The HEART Model The HEART model consists of three decomposition levels and each level addresses specific design goals listed above by adopting architecture styles [15]. The top level supports the fist and second design goals by adopting the service oriented style. (Figure 5 shows the meta-model of the style.) Resource providers and consumers can join and leave the system scope (i.e., domain) independently and the information broker takes care of their authentification, registration, retrieval. Also, the trust relationship can be established between information brokers so that the resource consumers can join the trusted domain and access resources in that domain. Note that we did not impose any constrains on resource providers, as long as they abide by the interfaces with the information broker and service consumers. Resource Provider 1 resource register 0..* 0..* trust resource request 1 Information Broker resource provide resource query 0..* 1 Resource Consumer Figure 5 A meta-model of the top decomposition level of HEART: A Service-Oriented Style The next decomposition level supports the third design goal by adapting the communicating process style. (See Figure 6 for its meta-model.) The style consists of concurrent processes and their communication paths, which can be implemented independently. Obviously, each concurrent process can have its own time schedule and interact with each other via connectors. This style also benefits that the scheduling among concurrent processes can be defined in various ways (e.g., preemptability, priority, timing parameters) as needed [15]. communicate Communication over Path * 2..* * 1 Process 1 Resource Consumer Figure 6 A meta-model of the second decomposition level of HEART: A Communicating Process Style The next decomposition level supports the fourth and fifth design goals by adapting C2 style 2 [16]. The UML based presentation of C2 style proposed in [17] is extended to include two different types of bricks: workflow brick and molecular service brick types. (Figure 7 shows the adapted meta-model.) The workflow brick is for deploying orchestrating services and the molecular service brick is for deploying molecular services. For molecular services, it is possible to either deploy a real service or a proxy to an external service as a brick. Additionally, the configurator component manages reconfiguration of deployed product at runtime. 2 The C2 style provides flexibility through its layered structure and modular components, which are called "bricks." A brick can send/receive messages to/from other bricks through its top and bottom ports, and bus-style connectors connecting ports. 280
7 Bottom Role 0..1 Top Port Workflow Brick 0..* 0..* Molecular Service Brick Brick Bus Connector 0..* Process Component Configurator Top Role 0..1 Bottom Port Figure 7 A meta-model of the lowest decomposition level of HEART: A C2 Style (Adapted from [17]) Figure 8 shows a deployed VOF system, which is an instance of the HEART model. At the top level, three printing resource providers are deployed: Guest Printer, Color Printer, and Default Printer. Each resource provider has its unique profile, such as supported paper sizes and color printing capability, and it registers this information to the A Domain information broker when it is ready to provide the printing service. Also, three resource consumers are deployed: Director, Scientist, and Guest. Each name represents its role and its accessibility to the resource providers are decided by the role. For example, Director can access all printer resources, while Guest can only access the Guest Printer resource provider. This information is maintained by the information broker. At the next level, we indentified four process components: Consumer Agent, User Interface, Context Analyzer, and Feature Manager. The Consumer Agent is in charge of maintaining connectivity to the information broker and resource providers. Whenever a resource provider fails, it negotiates with the information broker and gets another available resource provider. The User Interface process implements user specific hardware (e.g., PC, PDA) and operating system (e.g., Linux) relevant interfaces. The Context Analyzer process recognizes currently available devices for a user. The Feature Manager contains the main functionalities of a resource consumer and activates relevant features based on the information gathered from User Interface and Context Analyzer. The lowest level shows a C2 style based configuration of the Feature Manager process. The Master Configurator collects information from Context Analyzer to detect contextual changes. If a contextual change that requires product reconfiguration is detected, it triggers a reconfiguration to accommodate the change. For example, if Context Analyzer reports that a RFID device for the user localization is detected, it dynamically binds a corresponding Follow Me brick, which is capable of processing the new device. Also, when a new orchestrating service is requested and it is available, it can be deployed and bound to current configuration at runtime. <<Resource Provider>> Color Printer << Resource Provider>> Guest Printer << Resource Provider>> Default Printer << Resource Provider>> Global Workflow decomposition Service-oriented Style <<Information Broker>> A Domain <<Information Broker>> B Domain << Resource Consumer>> Guest << Resource Consumer>> Scientist << Resource Consumer>> Director Communicating processes Style 5.3 An Instance of HEART: the VOF System << Resource Consumer>> Director RPC decomposition <<Process>> Feature Manager <<Workflow Brick>> Virtual Printer <<Molecular Service Brick>> Printing Proxy <<Process>> Consumer Agent RPC <<Process>> User Interface RPC <<Process>> Feature Manager C2 Style <<Configurator>> Master Configurator <<Workflow Brick>> Smart Trip Planner <<Molecular Service Brick>> Global Workflow Proxy RPC RPC <<Workflow Brick>> Meeting Organizer <<Process>> Context Analyzer <<Molecular Service Brick>> Follow Me Figure 8 An instance of the HEART model: a deployed VOF system The workflow brick transacts its orchestrating service locally if possible (e.g., Virtual Printer can be transacted locally without connecting to other users.). When it requires a global coordination (e.g., an approval of deciding staff for a business trip), a global workflow engine is connected through Global Workflow Proxy for a global workflow transaction. For the deployment of a molecular service brick, we can use two different strategies depending on its characteristics. If it should be dedicated to a certain user, a user specific brick is deployed locally. For instance, the Follow Me molecular service is dependent to a user s role and must be deployed individually. On the other hand, if it should be shared among service consumers, it is deployed as a resource provider at the top level of the architecture model and a proxy is deployed locally. Printing and Global Work- 281
8 flow are such examples and only their proxies are deployed locally. (See the bottom layer of Figure 8.) Figure 9 A Screen Capture of the Prototype of VOF In this section, we explained the HEART model for the systematic deployment and management of the system configuration with the VOF system example. To demonstrate the feasibility of the proposed method, we developed a prototype of the VOF system and Figure 9 is a screen capture of the system demonstration. The left portion of Figure 9 shows the first layer of HEART: when a printer resource becomes unavailable, it is marked as unavailable resource (the red circle) and another available printer (the greed circle) is allocated to the resource consumer. The right portion of Figure 9 shows the GUI of two resources consumers: it shows the current available services and, if the user invoked any services, their active tasks. For example, the second (guest) user invoked the virtual printer service and the Enter Print Text task is shown at the Your Current Task window. In the following, we discuss related works. 6. Related Work While the approach in this paper concentrates on achieving reusability by means of proper identification and specification of services using product line technologies, [2] follows another approach. There, reusability is claimed to be achieved by the structure of systems and the interaction mechanisms. This mainly means the availability of a service repository and the concepts for discovering, negotiating, and binding services. IBM developed a method for the development of SO systems called Service-Oriented Modeling and Architecture [3][18]. It provides guidelines for three steps towards SO systems: Identification, specification, and realization of services, flows, and components. Most details in [3] are related to the identification of services. There, a combination of three complementary ideas is proposed: First, the domain of the respective software systems is analyzed and decomposed. Second, existing legacy systems are explored in order to discover parts to be reused as services. Third, business goals are taken into account to complete the identification of services. The first and third ideas are also reflected in our approach. Our approach supports the service identification by the feature orientated analysis and thus we could also analyze various relationships (i.e., aggregation, generalization/specialization, and binding) among identified services. The approach of IBM further suggests organizing services in a hierarchy of services of different granularity. Our approach adds the dedicated layer of molecular services that form reusable assets in the specific domain. According to the respective domain, the molecules would be composed in different ways to optimally fit the requirement of reuse. Thus, reuse becomes easier by only selecting from a rather small number of assets with well-tailored granularity. The concept of flows of services is mentioned to be important in [3], however, there are no details about the identification or specification of these flows. Our approach incorporates the defined molecular services as the building blocks of which to orchestrate workflows. Another approach of using feature-oriented analysis to identify services for a SO system is described in [19]. Their main focus is reengineering towards SO systems. Therefore, they claim to do a feature analysis of the particular system and use the result as input for the service identification. What s missing there is concrete guidelines how to come up with services of the right granularity. It is only stated that services should be as coarse-grained as possible. The lack of elements putting more structure on the feature-model, like feature binding units, makes service identification more complex. In the literature, there are a number of languages to express service orchestrations. In the field of Web Services, the most popular technology for realizing SO systems, BPEL4WS (Business Process Execution Language for Web Services) [20] is well known. It represents a language to specify orchestrations of services that are then accessible as higher-level services. In our approach, the orchestrated services are described as workflows. A further concept we transferred to service composition is Design by Contract [21]. This means to enrich the composition language and service description by pre/post conditions and invariants that can be automatically verified. Hence, the reliability of service-composition, static as well as dynamic, can be improved by checking the cor- 282
9 rect usage of services. Thus, the reusability of services with advanced description is improved since automatic checks can reduce the number of feasible candidate services, which makes selection easier. For the development of service-oriented systems, a number of reference architectures have been proposed [22][23][24][25][26]. Typically, the focus in these reference architectures is on the description of the overall system and especially on the organization and orchestration of services on the provider s side. That is, only less documentation is available how applications are to be designed that are settled in a service-oriented architecture [27]. Such applications are mostly characterized as service consumers, but their internals are not subject of the reference architecture. In contrast, our architectural model emphasizes the service consumers and combines architectural styles to achieve the domain-specific design goals. While the aforementioned reference architectures for service-oriented systems are not dedicated a specific domain, our architectural model was explicitly designed for the office domain. Thus, more specific requirements can be incorporated into the architecture model. Important concerns in the office domain are: Systems have to work independently of centralized solutions in mobile contexts, that is, a user carries his device with him and wants to work without a network connection to central servers. Further, the recognition of the current context of the user is supposed to influence the behavior of the system in a sense that always the best possible service quality is provided. This requires an architecture that allows for a flexible reconfiguration of the client system. In order to achieve the specific requirements of the targeted domain, we focused on the architecture of resource consumers that can be deployed on independent devices. For the overall architecture of service-oriented systems, our approach can be complemented with the reference architectures found in literature. We introduced a light-weight approach for the transparent deployment of molecular services on either client or server side. Combined with the contextawareness and the runtime-flexibility, the client architecture is well-suited for the domain-specific requirements. The description of reference architectures for serviceoriented systems is often vague and ambiguous compared to state-of-the-art in architecture documentation [9]. That is, it is not clear what component and connector types are used and how the resulting system could look like. We composed our reference architecture of well-known architectural styles in a hierarchical way. Thus, the documentation could be clear and unambiguous. 7. Conclusion We transfer product line technology into industry since 1998 and we experienced in nearly all cases a quick increase of the number features, as well as required variants. Hence, the management of features and their variations becomes soon one of the major challenges in maintaining and evolving viable reuse infrastructures. The environment and context of service-oriented systems is typically very dynamic and always distributed. Our experience with such service-oriented product lines has shown that the challenge of managing variations and keeping services reusable and useful over a long period of time is even bigger than for other systems. In this paper, we presented an approach that alleviates this difficulty through the grouping of features into feature binding units of the same binding time, as well as by interpreting these units as key drivers for identifying reusable services, that is, molecular services. The practical applications of our approach in our lab infrastructure demonstrated that product line technology can significantly help in mastering this challenge. The key properties of the approach are its support for identifying reusable services at the right level of granularity abstraction and for deploying them at the HEART model-based system execution environment. Currently, we are establishing a demonstration facility within our institute to execute real scenarios of a virtual office of the future. The infrastructure of this demonstration facility has been defined by following our approach, which has already provided useful conceptual insights and lessons learned from a practitioner s perspective. 8. References [1] [2] H. Zhu, "Building reusable components with service-oriented architectures," presented at IEEE International Conference on Information Reuse and Integration, (2005) [3] A. Arsanjani, "Service-oriented modeling and architecture - How to identify, specify, and realize services for your SOA," (2004) [4] K. Kang, J. Lee, and P. Donohoe, Feature-Oriented Product Line Engineering, IEEE Software, 19(4), July/August (2002) [5] J. Lee and K. Kang. A Feature-Oriented Approach for Developing Dynamically Reconfigurable Products in Product Line Engineering, Proceedings of the 10th International Software Product Line Conference, IEEE CS Press, Los Alamitos, CA (2006) [6] J. Lee and D. Muthig, Feature-Oriented Variability Management in Product Line Engineering, Communications of ACM, December (2006) [7] K. Lee, K. Kang, and J. Lee, Concepts and Guidelines of Feature Modeling for Product Line Software Engineering. In: Gacek, C. (eds.): Software Reuse: Methods, Techniques, and Tools. Lecture Notes in Computer Science, Vol Springer-Verlag, Berlin Heidelberg (2002)
10 [8] J. Bayer, et al, PuLSE: A Methodology to Develop Software Product Lines. Proceedings of the Fifth Symposium on Software Reusability. SSR'99, ACM Press (1999) [9] P. Clements and L. Northrop, Software Product Lines: Practices and Pattern, Addison Wesley, Upper Saddle River, NJ (2002) [10] D.M. Weiss and C.T.R Lai, Software Product-Line Engineering: A Family-Based Software Development Process, Reading, MA: Addison Wesley Longman, Inc., (1999) [11] J. Lee and K. Kang. Feature Binding Analysis for Product Line Component Development. In: van der Linden, F. (eds.): Software Product Family Engineering. Lecture Notes in Computer Science, Vol Springer-Verlag, Berlin Heidelberg (2004) [12] Competence Center for Virtual Office of the Future, [13] International Union of Pure and Applied Chemistry (1994), "molecule", Compendium of Chemical Terminology Internet edition. [14] JBoss jbpm 2.0 jpdl Reference Manual, [15] P. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, R. Nord, J. Stafford, Documenting Software Architectures - Views and Beyond, Addison-Wesley, 2002 [16] N. Medvidovic, D.S. Rosenblum, R.N. Taylor, A Language and Environment for Architecture-Based Software Development and Evolution. Proceedings of the 21st International Conference on Software Engineering, ACM Press: New York, NY (1999) [17] Jason E. Robbins, David F. Redmiles, and David S. Rosenblum, Integrating C2 with the Unified Modeling Language, Proceedings of the 1997 California Software Symposium (Irvine, CA), UCI Irvine Research Unit in Software, Irvine, CA, November 7, 1997, pp [18] A. Arsanjani and A. Allam, "Service-Oriented Modeling and Architecture for Realization of an SOA," in Proceedings of the IEEE International Conference on Services Computing: IEEE Computer Society, (2006) 521 [19] F. Chen, S. Li, and W. C.-C. Chu, "Feature Analysis for Service-Oriented Reengineering," in Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC'05) - Volume 00: IEEE Computer Society, (2005) [20] Andrews, Curbera, Dholakia, Goldand, Klein, Leymann, Liu, Roller, Smith, Thatte, Trickovic, and Weerawarana, "Business Process Execution Language for Web Services," (2003) [21] B. Meyer, "Design by Contract," in Advances in Object- Oriented Software Engineering, D. Mandroli and B. Meyer, Eds.: Prentice Hall, 1991 [22] N. Georgantas, S.B. Mokhtar, Y. Bromberg, et al., The Amigo Service Architecture for the Open Networked Home Environment. In Proceedings of 5th Working IEEE/IFIP Conference on Software Architecture, WICSA [23] Arsanjani, A. Liang-Jie Zhang Ellis, M. Allam, A. Channabasavaiah, K. S3: A Service-Oriented Reference Architecture. IT Professional, Vol. 9 (2007). [24] Arsanjani, A. Liang-Jie Zhang Ellis, M. Allam, A. Channabasavaiah, K. Design a SOA solution using reference architecture. IBM (2007). [25] OASIS Reference Architecture, [26] S. Durvasula, et al., SOA Practitioners Guide Part 2: SOA Reference Architecture [27] D. Krafzig, K. Banke, D. Slama: Enterprise SOA Service- Oriented Architecture and Best Practices. Prentice Hall,
focus Software product line engineering (SPLE) is a paradigm of software reuse Combining Service Orientation with Product Line Engineering
focus s o f t w ar e pr o duc t lin e s Combining Orientation with Product Line Engineering Jaejoon Lee and Gerald Kotonya, Lancaster University Developing effective service-oriented product lines can
SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures
SOPLE-DE: An Approach to Design -Oriented Product Line Architectures Flávio M. Medeiros, Eduardo S. de Almeida 2, and Silvio R.L. Meira Federal University of Pernambuco (UFPE) 2 Federal University of Bahia
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Service Component Architecture for Building Cloud Services
Service Component Architecture for Building Cloud Services by Dr. Muthu Ramachandran, Principal Lecturer in the Computing and Creative Technologies School Abstract: The emergence of cloud computing has
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Six Strategies for Building High Performance SOA Applications
Six Strategies for Building High Performance SOA Applications Uwe Breitenbücher, Oliver Kopp, Frank Leymann, Michael Reiter, Dieter Roller, and Tobias Unger University of Stuttgart, Institute of Architecture
Data-Aware Service Choreographies through Transparent Data Exchange
Institute of Architecture of Application Systems Data-Aware Service Choreographies through Transparent Data Exchange Michael Hahn, Dimka Karastoyanova, and Frank Leymann Institute of Architecture of Application
Service-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
An Approach to Software Architecture Description Using UML
An Approach to Software Architecture Description Using UML Henrik Bærbak Christensen, Aino Corry, and Klaus Marius Hansen Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N,
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.
Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Systematic Review
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles Hongyu Pei Breivold, Magnus Larsson ABB AB, Corporate Research, 721 78 Västerås, Sweden {hongyu.pei-breivold, magnus.larsson}@se.abb.com
A Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA [email protected] 2 Computer
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
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
Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.
WSJ: SOA Myths About Service-Oriented Architecture Demystifying SOA Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers,
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7 No. 7, September-October 2008 Applications At Your Service Mahesh H. Dodani, IBM,
Managing Variability in ALPR Software
Managing Variability in ALPR Software Dr. Marco Sinnema Product Manager Video and ALPR, Q-Free ASA P.O. Box 180, 9410 AD Beilen, The Netherlands tel. +31 593 542055, fax. +31 593 542098 [email protected]
Different Approaches used in Software Product Families
Different Approaches used in Software Product Families Rafia Inam Mälardalens University. [email protected] Abstract The use of software in consumer products is growing tremendously in current era. Further
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Service Oriented Architecture 1 COMPILED BY BJ
Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Web Services Software Architecture
Web Services Software Architecture Syahrul Fahmy School of Informatics, The University of Manchester, PO Box 88, Manchester M60 1QD, United Kingdom [email protected] Abstract. Web
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Roles for Maintenance and Evolution of SOA-Based Systems
Roles for Maintenance and Evolution of SOA-Based Systems Mira Kajko-Mattsson Stockholm University and Royal Institute of Technology Sweden [email protected] Grace A. Lewis, Dennis B. Smith Software Engineering
Service-Oriented Computing and Service-Oriented Architecture
Service-Oriented Computing and Service-Oriented Architecture Week 3 Lecture 5 M. Ali Babar Lecture Outline Service-Oriented Computing (SOC) Service-Oriented Architecture (SOA) Designing service-based systems
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:
QAME Support for Policy-Based Management of Country-wide Networks
QAME Support for Policy-Based Management of Country-wide Networks Clarissa C. Marquezan, Lisandro Z. Granville, Ricardo L. Vianna, Rodrigo S. Alves Institute of Informatics Computer Networks Group Federal
IAAS CLOUD EXCHANGE WHITEPAPER
IAAS CLOUD EXCHANGE WHITEPAPER Whitepaper, July 2013 TABLE OF CONTENTS Abstract... 2 Introduction... 2 Challenges... 2 Decoupled architecture... 3 Support for different consumer business models... 3 Support
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Five best practices for deploying a successful service-oriented architecture
IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative
Service-Oriented Architecture and its Implications for Software Life Cycle Activities
Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:
A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus
A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus Karim M. Mahmoud 1,2 1 IBM, Egypt Branch Pyramids Heights Office Park, Giza, Egypt [email protected] 2 Computer
Meta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
Multi-Paradigm Process Management
Multi-Paradigm Process Management Michael zur Muehlen 1, Michael Rosemann 2 1 Stevens Institute of Technology Wesley J. Howe School of Technology Management Castle Point on the Hudson Hoboken, NJ 07030,
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: [email protected] Jun-Jang Jeng IBM T.J. Watson
SOA Myth or Reality??
IBM TRAINING S04 SOA Myth or Reality Jaqui Lynch IBM Corporation 2007 SOA Myth or Reality?? Jaqui Lynch Mainline Information Systems Email [email protected] Session S04 http://www.circle4.com/papers/s04soa.pdf
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
COMPUTER AUTOMATION OF BUSINESS PROCESSES T. Stoilov, K. Stoilova
COMPUTER AUTOMATION OF BUSINESS PROCESSES T. Stoilov, K. Stoilova Computer automation of business processes: The paper presents the Workflow management system as an established technology for automation
Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6
The Researches on Unified Pattern of Information System Deng Zhonghua,Guo Liang,Xia Yanping School of Information Management, Wuhan University Wuhan, Hubei, China 430072 Abstract: This paper discusses
Software Adaptation Patterns for Service-Oriented Architectures
Software Adaptation Patterns for -Oriented Architectures Hassan Gomaa, Koji Hashimoto, Minseong Kim, Sam Malek, Daniel A. Menascé Department of Computer Science George Mason University Fairfax, VA 22030
GOAL-BASED INTELLIGENT AGENTS
International Journal of Information Technology, Vol. 9 No. 1 GOAL-BASED INTELLIGENT AGENTS Zhiqi Shen, Robert Gay and Xuehong Tao ICIS, School of EEE, Nanyang Technological University, Singapore 639798
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
Umbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
Variability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
Service Level Agreements based on Business Process Modeling
Service Level Agreements based on Business Process Modeling Holger Schmidt Munich Network Management Team University of Munich, Dept. of CS Oettingenstr. 67, 80538 Munich, Germany Email: [email protected]
Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich
Di 6.1a January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich Warum naive SOA scheitert Ein Erfahrungsbericht Adam Bien How To Kill a SOA Project Early? [Warum naive SOA scheitert]
Software Product Lines
Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:
Maturity Assessments of Service- oriented Enterprise Architectures with Iterative Pattern Refinement
Maturity Assessments of Service- oriented Enterprise Architectures with Iterative Pattern Refinement Michael Falkenthal 1, Dierk Jugel 1, Alfred Zimmermann 1, René Reiners 2, Wilfried Reimann 3, Michael
A SOA visualisation for the Business
J.M. de Baat 09-10-2008 Table of contents 1 Introduction...3 1.1 Abbreviations...3 2 Some background information... 3 2.1 The organisation and ICT infrastructure... 3 2.2 Five layer SOA architecture...
EnergySync and AquaSys. Technology and Architecture
EnergySync and AquaSys Technology and Architecture EnergySync and AquaSys modules Enterprise Inventory Enterprise Assets Enterprise Financials Enterprise Billing Service oriented architecture platform
SLA Business Management Based on Key Performance Indicators
, July 4-6, 2012, London, U.K. SLA Business Management Based on Key Performance Indicators S. Al Aloussi Abstract-It is increasingly important that Service Level Agreements (SLAs) are taken into account
SOMA, RUP and RMC: the right combination for Service Oriented Architecture
SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational [email protected] March
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Journal of Information Technology Management SIGNS OF IT SOLUTIONS FAILURE: REASONS AND A PROPOSED SOLUTION ABSTRACT
Journal of Information Technology Management ISSN #1042-1319 A Publication of the Association of Management SIGNS OF IT SOLUTIONS FAILURE: REASONS AND A PROPOSED SOLUTION MAJED ABUSAFIYA NEW MEXICO TECH
Model Simulation in Rational Software Architect: Business Process Simulation
Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation
A Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
Using Provenance to Improve Workflow Design
Using Provenance to Improve Workflow Design Frederico T. de Oliveira, Leonardo Murta, Claudia Werner, Marta Mattoso COPPE/ Computer Science Department Federal University of Rio de Janeiro (UFRJ) {ftoliveira,
A NOVEL APPROACH FOR EXCEPTION HANDLING IN SOA
A NOVEL APPROACH FOR EXCEPTION HANDLING IN SOA Prachet Bhuyan 1,Tapas Kumar Choudhury 2 and Durga Prasad Mahapatra 3 1,2 School of Computer Engineering, KIIT University, Bhubaneswar, Odisha, India [email protected]
Building Service-oriented User Agents using a Software Product Line Approach. Ingrid Oliveira de Nunes [email protected]
Building Service-oriented User Agents using a Software Product Line Approach Ingrid Oliveira de Nunes [email protected] 2 Summary Introduction Objectives Integration of SOA, MAS and SPL Related Work
A Process View on Architecture-Based Software Development
A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany
The UML «extend» Relationship as Support for Software Variability
The UML «extend» Relationship as Support for Software Variability Sofia Azevedo 1, Ricardo J. Machado 1, Alexandre Bragança 2, and Hugo Ribeiro 3 1 Universidade do Minho, Portugal {sofia.azevedo,rmac}@dsi.uminho.pt
Overview of major concepts in the service oriented extended OeBTO
Modelling business policies and behaviour based on extended Open edi Business Transaction Ontology (OeBTO) Introduction Model Driven Development (MDD) provides a basis for the alignment between business
Implementation of Information Integration Platform in Chinese Tobacco Industry Enterprise Based on SOA. Hong-lv Wang, Yong Cen
Implementation of Information Integration Platform in Chinese Tobacco Industry Enterprise Based on SOA Hong-lv Wang, Yong Cen Information Center, China Tobacco Zhejiang Industrial Co., Ltd Hangzhou, China,
Context Capture in Software Development
Context Capture in Software Development Bruno Antunes, Francisco Correia and Paulo Gomes Knowledge and Intelligent Systems Laboratory Cognitive and Media Systems Group Centre for Informatics and Systems
CS 565 Business Process & Workflow Management Systems
CS 565 Business Process & Workflow Management Systems Professor & Researcher Department of Computer Science, University of Crete & ICS-FORTH E-mail: [email protected], [email protected] Office: K.307,
Web Application Architectures
Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering
SOA: The missing link between Enterprise Architecture and Solution Architecture
SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing
SOA Success is Not a Matter of Luck
by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes
Service Computing: Basics Monica Scannapieco
Service Computing: Basics Monica Scannapieco Generalities: Defining a Service Services are self-describing, open components that support rapid, low-cost composition of distributed applications. Since services
