Service-Oriented Software Reengineering: SoSR
|
|
|
- Owen Houston
- 10 years ago
- Views:
Transcription
1 -Oriented Software Reengineering: SoSR Joseph Byung Chul An Computing & Software Systems Institute of Technology Univ. of Washington Tacoma Tacoma, WA Project Type: Project: TCSS 702 Committee Names: Committee Chair: Sam Chung, Ph.D. Committee Member: Rogene Eichler West, Ph.D. ABSTRACT The purpose of this project is to propose a -Oriented Software Reengineering (SoSR) methodology that can be applied to a legacy software system so that it can be reengineered into a serviceoriented software system(s) by using -Oriented Computing (SOC). SOC is a software development paradigm in which software systems can be recursively constructed as a set of services that employs standardized service interfaces and interaction protocols. This software as a service concept allows a software developer to design loosely coupled software components and integrate them with other software systems. However, since most components in a legacy system were not designed and developed as services, the current software systems need to be converted into a set of loosely coupled services. For this purpose, a methodology for service-oriented software reengineering is proposed for a developer who wants to apply SOC to a legacy system. The SoSR methodology is a set of best practices that is architecture-centric, service-oriented, role-specific, and model-driven. A service-oriented architecture is conceptualized by using three-service-participants model. Three service participants are following: service consumer, service provider, and service broker. Based upon the three-service-participants model, the reengineering process of the legacy system to the target system is explained in terms of the 4+1 view model that has been broadly adopted in object-oriented modeling. The 4+1 view consists of design, implementation, process, and deployment views sharing use case view. The 4+1 view for each participant is more deeply explained in terms of tasks and different roles by using Responsible, Accountable, Consulted, Keep Informed (RACI) chart. Also, the 4+1 view for each participant is visually modeled in Unified Modeling Language (UML). In order to demonstrate how the SoSR methodology can be applied to a modernization of a legacy system, business information systems in retail business are reengineered. This methodology can help software developers and system integrators to reengineer the tightly coupled legacy information systems to the loosely coupled, agile, and service-oriented information systems. Especially, the inclusion of a business process engine for executing composite services to existing application and database servers shows how SOC affect future information system design, deployment, and integration. 1. Introduction
2 1 -Oriented Computing (SOC) [3] has emerged as a software development paradigm that enables the design of software systems as a set of services, i.e. Software as a (SAAS) [8, 13]. SOC allows software systems to be recursively constructed as a set of services. Contrary to the current distributed middleware technologies such as RMI, CORBA, mobile agents, etc, SOC allows a system to be more naturally integrated by employing standardized service interfaces and interaction protocols. The specifications of SOC supporting technologies are being evolved and its implementation platforms such as Microsoft.NET are being improved. For example, retail stores use Point Of Sales (POS) systems to track transactions. The process of sending ordering information to a supplier may require a special Electronic Data Interchange (EDI) mechanism with a common external data representation to be marshaled and unmarshaled. Instead of using legacy EDI mechanism, the advent of SOC makes the integration of two heterogeneous systems easier by using standard interaction protocols, interfaces, and common external data representations in extensible Markup Language (XML). Although this SOC paradigm allows a software developer to design loosely coupled software components and integrate them with other software systems, most components in a legacy system were not designed and developed as services. Therefore, the current software systems need to be converted into a set of loosely coupled services before integrating the legacy system with others. Current software development methodologies such as Rational Unified Process (RUP) [15], extreme Programming (XP) [14], Scrum, [18] etc. have focus on how to develop a software system, not how to modernize a software system for efficient integration. These methodologies do not specify tasks and responsibilities to convert the current legacy components to a set of loosely coupled services The purpose of this project is to propose a -Oriented Software Reengineering (SoSR) methodology that is applied to a legacy software system for reengineering it into a serviceoriented software system(s) by using SOC. Although there are some software engineering or reengineering methodologies [1, 7, 12, 16] with or without Web services, the methodologies do not specify tasks and responsibilities in terms of the roles of participants in the reengineering process. Also, it was not investigated how the current methodologies for object-oriented software development can be streamlined with ones for service-oriented software development. In order to propose the SoSR methodology, a -Oriented Architecture (SOA) is conceptualized by using three-service-participants model: Consumer, Broker, and Provider. Based upon the three-service-participants model, the reengineering process of the legacy system to the target system is explained in terms of the roles of the three participants. The roles of each participant are modeled by using the 4+1 view model that has been broadly adopted in object-oriented modeling. The 4+1 view model, which was proposed by Kruchten in [9], consists of 4 views (design, implementation, process, and deployment views) sharing 1 view (use case view). The 4+1 view has been adopted in IBM s RUP that has been employed in a famous Computer Aided Software Engineering (CASE) tool, IBM s rational Rose [17]. The 4+1 view for each participant is more deeply explained in terms of tasks and sub-roles of each participant by using the Responsible, Accountable, Consulted, Keep Informed RACI chart [16]. Also, the 4+1 view for each participant is modeled in Unified Modeling language (UML) [4, 9].
3 2 In order to demonstrate how the SoSR methodology can be applied to a modernization of a legacy system, business information systems in retail business are reengineered. The analyzed results show that this methodology can help software developers and system integrators to reengineer the current tightly coupled legacy information systems to the loosely coupled, agile, and service-oriented information systems. Sub-roles under participants ( Consumer, Broker, and Provider) have specified responsibility per task listed for 4+1 different views. And then based on defined responsibilities, models between views and participants explain the reengineered system. This paper consists of the following five sections. In Section 2, previous efforts in software reengineering are discussed. In Section 3, main concepts that are applied to the formation of the SoSR methodology are explained and the SoSR methodology is proposed with its properties. In Section 4, a legacy system to be modernized is introduced. In Section 5, the SoSR methodology is applied to the modernization of business information systems in retail. In Section 6, the reengineered business information systems are analyzed in terms of the SoSR methodology. In Section 7, we conclude the benefits of the SoSR methodology with a discussion of future research efforts that may be needed.
4 3 2. Previous Efforts A term, modernization, was used for software reengineering on a legacy system. The modernization is classified into three categories according to [12]: white box modernization, black box modernization, and replacement. For white-box modernization, understanding internal system deeply is required. Black box modernization, in other hand, needs software reengineers to examine inputs and outputs of a legacy system. White box modernization is harder to proceed than black-box modernization since analyzing the source code is more difficult than analyzing what it does. When either white box or black box modernization is not cost effective instead of building a new system from scratch, replacement is highly considered. For modernizing a legacy system, Robert Seacord and et al. introduce a risk-managed modernization approach [12] in Figure 1. The risk-managed modernization approach shows the general procedures for software reengineering at very high level: 1) A candidate to modernize is selected. 2) The stakeholders for this modernization are identified on a legacy system. 3) Requirements are understood to accomplish the goal of modernization on the legacy system. 4) Business cases are created based on the identified stakeholders and requirements. 5) And then the created business cases are reviewed. If the created business cases satisfy business analysts, then the modernization plan continues to be defined. However, when the business cases do not satisfy business analysts, the modernization is terminated. 6) When the business cases are satisfactory, two procedures for both understanding legacy system and understanding target technology are processed in parallel. 7) And then, evaluation of the technology is conducted. 8) Based upon the evaluation, the target architecture is defined. Consequently, modernization strategy is defined. 9) The defined modernization strategy is reconciled with the needs of the stakeholders. 10) All the procedures are done, and the estimation of the resources needed is performed. 11) When the strategy is not feasible, this procedure revisits either evaluation of technology and target architecture, or the modernization strategy. When the strategy is feasible, defining modernization plan is completed. However, the risk-managed modernization approach is not enough to modernize the given legacy system into a service-oriented system. It lacks an explanation of how software reengineering can be done by whom with what tasks. Since SOC was not well founded when the authors published the book, it was not considered how the use of services affects the modernization approach. Also, any visual model was not considered as one of the artifacts of the approach. Norbert Bieberstein et al. introduce roles and tasks for developing a system using - Oriented Architecture (SOA) [1]. The authors identify existing roles and new roles that are added due to SOA. The existing roles are defined as Information Technology (IT) project manager, business analyst, architect, developer, security specialist, system and database administrator, service deployer, service integration tester, toolsmith, knowledge transfer facilitator, SOA project manager, and SOA system administrator. The new roles are defined as SOA architect, service modeler or designer, process flow designer, service developer, integration specialist, interoperability tester, UDDI administrator, UDDI designer, and services governor. The authors point out that the tasks may overlap between roles; thus, not all the times tasks can be assigned to specific roles. However, the authors do not specify different roles in three
5 4 participants: Consumer, Broker, and Provider. Also, tasks are not specified in modeling views such as 4+1 views. Identify stakeholder Portfolio analysis completed (modernization candidates selected) Understand requirements Create the business case No Business case satisfactory? Yes Understand lagacy system Understand target technology Evaluate technology Define target architecture Define modernization strategy Reconcile strategy with stakeholder needs Estimate recources No Strategy feasible? Yes Modernization plan defined. Figure 1. Risk-Management Modernization Guideline Thomas Erl suggests 30 best practices for integrating Web services such as the best practices for planning service-oriented projects, the best practices for standardizing Web services, the best
6 practices for designing service-oriented environments, the best practices for managing serviceoriented development projects, and the best practices for implementing Web services [7]. For example, some of the best practices for planning service-oriented projects are as follows; know when to use Web services, know how to use Web services, know when to avoid Web services, moving forward with a transaction architecture, leverage the legacy, build on what you have, understand the limitation of a legacy foundation, budget for the range of expenses that follow Web services into an enterprise, align Return on Investments (ROI) with migration strategies, and build toward a future state. Also, the author describes three roles for developing and integrating an information system with Web services: service broker, service provider, and service requestor. However, the best practices are not specified in terms of three different roles. Also, no visual models are employed. 5
7 6 3. SoSR Methodology To explain what the SoSR methodology is, we first introduce fundamental concepts used in the methodology. And then, the SoSR methodology with its properties is described Fundamental Concepts The following main concepts are employed in the SoSR methodology: 3-layered architecture, n-tier architecture, service-oriented architecture, business process design and execution, rolebased model, 4+1 view model, and RACI chart. The 3-layer architecture is an architectural pattern in which a software system consists of three logical layers: presentation layer (3 rd layer), business logic layer (2 nd layer), and data access layer (1 st layer). An n-th layer depends on the (n-1)-th layer only. For example, the third layer depends on the second layer only, and the second layer depends on the first layer only. This 3-layer architecture helps a software developer to design a software system by allowing the developer to focus on designing a specific layer. The 3-layered architecture is shown in Figure 2. Data Interface Layer Figure 2. 3-Layered Architecture The n-tier architecture is an architectural pattern in which a software system consists of n number of distributed processes. Figure 3 shows typical 4-tier architecture for a web application: A process for Web browser that handles client-side presentation is located at the first tier. A process for Web server and Web application server that handles server-side presentation is located at the second tier. An application server process for handling business logics is located at the third tier. And, the fourth tier shows a database server for processing data accesses. This n- tier architecture helps a software developer to distribute a set of related software components at a proper tier. Since each tier consists of components with same purposes, both deployment and maintenance of components are more effective. Client Workstation Web Server
8 7 Figure 3. 4-Tier Architecture The SOA is an architectural pattern in which a service is published to a service registry and the published service is discovered and is bound to a service client when the client requests the service. Because of that, the SOA has been described as the publish-discovery-binding model in Figure 4. If Web services technologies are used, an interface of software component is represented in WSDL. The interface related information such as the location of WSDL, business entity, etc is published onto a UDDI service registry. If a service is requested, the service can be discovered at a UDDI service registry. The service client is bound to the service through an interaction protocol SOAP. Registry Discovery Publish Consumer Binding Producer Figure 4. -Oriented Architecture The power of SOC comes from the recursive definition of a service. A set of services is composed to be another service called a composite service that represents a business process. Currently, a business process using Web services is described in BPEL and is executed by a
9 8 business process engine. The representation of a business process and its execution reduces the IT gap between business and software professionals. Figure 5 shows a business process in BPEL. WS 1 WS 2 Figure 5. An Example of Visualized Business Process and Its representation in BPEL By looking at SOC in terms of the roles of participants, the following three roles can be identified: Consumer (SC), Broker (SB), and Provider (SP). A service consumer discovers a required service and invokes the discovered service either directly or through a service broker. A service provider develops a service in a programming language and publishes its service specification to a service registry. A service broker composes a set of services as a new service and administers the registry. Figure 6 shows the three roles. These roles are currently manually implemented. Along with the development of new engines using semantic Web services for service publishing, discovery, and composition, these roles can be automatically done in the near future. Advertisement. Leasing, Ranking End user User Requirements Discovery Broker for Registry Publishing Consumer Request Broker for Composition Binding Provider Composition Figure 6. Three Participants in -Oriented Software Project: Consumer (SC), Broker (SB), and Producer/Provider (SP)
10 9 Modeling software systems has been broadly accepted in designing and implementing objectoriented applications in and relational databases. Several design methodologies have been proposed, and some of them have been incorporated with Computer-Aided Software Engineering (CASE) tools. Among them, OMG s Unified Modeling Language (UML) and IBM s Rational CASE tool and Rational Unified Process (RUP) have received strong industry attention. The RUP adopted Kruchten s 4+1 view model to support object-oriented application development. The 4+1 view model describes the architecture of software-intensive systems based upon multiple and concurrent views [23]. Kruchten s model was later incorporated into a famous CASE tool, IBM s Rational Rose Modeler. The 4+1 view model proposed for object-oriented computing was the dominant computing paradigm at that time. When Kruchten s 4+1 view model was proposed, the software as services concept had not been available. Now, with the advent of web services concepts and technologies, there is a strong demand for models for developing and integrating service-oriented software intensive system. Figure 7 shows the 4+1 view model, in which a software system can be viewed in terms of logical/physical, and static/dynamic perspectives and the perspectives share a Use Case View (UV). The 4+1 view indicates that Design View (DV) and Process View (PV) are logical compared to Implementation View (IV) and Deployment View (LV). Like wise design view and implementation view are static compared to process view and deployment view. Logical to physical Design View (DV) Implementation View (IV) Static to dynamic Use Case View (UV) Process View (PV) Deployment View (LV) Figure 7. The 4+1 View In any project, listing all of the tasks and human resources is a very important step. The RACI (Responsible, Accountable, Consulted, Keep Informed) chart is well used to accomplish the goal [24]. From the reference [22], it is quoted that The guidance through the guide is taskbased and modular, and each chapter relates to the various stages of the product development life cycle and the various roles involved. These roles include architects, developers, system administrators, and security professionals. The RACI chart explains four types of responsibilities: responsible (the role responsible for performing the task), accountable (the role with overall responsibility for the task), consulted (people who provide input to help perform the task, and keep informed (people with a vested interest who should be kept informed). Following chart (Table 1.) is an example of RACI chart from [22].
11 10 Table 1. A Typical RACI Chart [22] Tasks Architect System Administrator Developer Tester Security Professional Security Policies R I A Threat Modeling A I I R Security Design Principles A I I C Security Architecture A C R Architecture and Design Review R A Code Development A R Technology Specific Threats A R Code Review R I A Security Testing C I A C Network Security C R A Hosts Security C A I R Application Security C I A R Deployment Review C R I I A The RACI chart is analyzed vertically and horizontally [26]. RACI Approach [26] outlines key questions to analyze. For example, when the chart has lots of Responsibility (R) on a particular role, then one may ask that one role is on top of so much. When too many Accountable (A) are in the vertical, this role can become a bottleneck. Horizontal analysis is on a particular task. When there are no R s then, the task may not complete since no responsible role exists. If there are too many A s, then there could be lots of confusion since there is no single designated decision maker The SoSR Methodology with Its Properties The SoSR methodology consists of reverse software engineering and service-oriented forward software engineering, which is shown in Figure 8. The reengineering process of the legacy system to the target system starts with modernization requirements on a legacy system from a user. The requirements describe what features of a legacy system will be modernized to a target system(s) using the SOC paradigm. Through the reverse software engineering process, a visual model for the legacy system is constructed by analyzing the given legacy system and the modernization requirements. And then, based upon the model for the legacy system and the given modernization a requirement, a target system is generated through the service-oriented forward software engineering process. Based upon the three-service-participants model, the reengineering process of the legacy system to the target system is explained in terms of the 4+1 view model that has been broadly adopted in object-oriented modeling: design, implementation, process, deployment views sharing use case view. The 4+1 view for each participant is more deeply explained in terms of tasks and different roles by using Responsible, Accountable, Consulted, Keep Informed (RACI) chart. Also, the 4+1 view for each participant is modeled in UML. In order to demonstrate how the SoSR methodology can be applied to a modernization of a legacy system, business information systems in retail business are reengineered. This methodology can help software developers and
12 11 system integrators to reengineer the tightly coupled legacy information systems to the loosely coupled, agile, and service-oriented information systems. With the 3-layered architecture, service consumer is interested in implementation of user interfaces for presentation logic and invocation of business logic. broker is interested in composition of business processes and creating interface so that service consumer can invocate. Provider is interested in creating interface to handle database. Modernization Requirements Legacy System Reverse Software Engineering Visual Model for Legacy System -Oriented Forward Software Engineering Visual Model for Target System Target System Figure 8. -Oriented Reengineering The SoSR methodology consists of two sub-methodologies: reverse software engineering and service-oriented forward software engineering. Since we assume that no SOC was employed for the development of the legacy system, a reverse software engineering is applied to the legacy system. No service stakeholder type exists. Five RACI charts are proposed for the 4+1 view in terms of a main role of software developer who will conduct several sub-roles such as analysis, design, implementation, testing, and deployment, etc. In Figure 9, a cell shows Reverse Software Engineering (RSE) vector, RSE[i] for one of the five views and its content is a RACI chart and a visual model. Based upon the RACI charts, a software reverse engineering process is conducted. As the results of the reverse engineering, the legacy system is documented into a visual model. The visual model for the legacy system is used for next step service-oriented forward software engineering. Roles Use Case View (UV) Design View (DV)
13 12 Figure 9. RSE[j] Vector, where j є {UV, DV, IV, PV, LV} At the -Oriented Forward Software Engineering (SoFSE) phase, three different roles such as service producer, broker, and consumer of the project participants are used. For each role, five RACI charts are described for the 4+1view. Total fifteen RACI charts are employed for this service-oriented forward software engineering. As the results of the service-oriented forward software engineering, the target system is documented into a visual mode. Figure 10 describes that each cell crossing each service stakeholder type and each view has an RACI chart and a visual model. The SoSR methodology is a set of best practices that is architecture-centric, service-oriented, role-specific, and model-driven. First of all, the SoSR methodology is architecture-centric since three architectures are employed: 3-layered architecture for design, n-tier architecture for deployment, and SOA for integration. Secondly, the SoSR methodology is service-oriented since Web services are employed as main building block for integration and a set of Web services, a composite service, to represent a business process is executed on a business process engine. Thirdly, the SoSR methodology is role-specific. A service-oriented architecture is conceptualized by using three-service-participants model. Three service participants are following: service consumer, service provider, and service broker. Also, RACI chart is using tasks and roles to analyze a system design to support that SoSR methodology is role-specific. Lastly, the SoSR methodology is model-driven. With n-tier architecture, deployment views are created for each service party. Also, SoSR is creating visual models for each service party and model view. role Use Case Consumer (SC) Broker (SB) Producer (SP)
14 Figure 10. SoFSE[i, j] Matrix, where i є {SC, SB, SP} and j є {UV, DV, IV, PV, LV} 13
15 14 4. Legacy System GMPO (Gran Mercado at Port Orchard) Retail Store Inventory System was developed from October 2002 to July GMPO system is designed to support daily Point Of Sale (POS) at a retail store. Based on daily transactions and updated inventory, a purchasing manager of GMPO generates a list of orders and uses the hard copies of purchasing orders to submit to supplier by hand. Figure 11. Report to Print for Ordering Figure 11 is a simple accumulated ordering form to print out for ordering list. Java Server Page (JSP) is used to achieve business process at server side. The presentation interface, a business component, sends decision data to a business component in another server side to handle business processes such as validating the total of the estimated prices. And then the business layer sends validated and processed data for the system to another business component to commit the transaction by saving data to database. The purchasing manager of GMPO returns with invoices and updates inventory by checking with real eyes while checking when the requested products arrive. An inventory manager is managing the whole process and the purchasing manager checks against product arrived based on the ordering list.
16 15 This process can be problematic; since a purchasing manager has to assume that suppliers always will have products retailers need and prices are always the same or are at lower price. Supplier cannot promise to support to deliver the products on time and/or on requested cost and quantity. When the purchase manager can access information such as availability and cost from suppliers, the purchasing process can increase productivity. When there are many suppliers for the same item, the purchase manager can compare the items at the GMPO s home site. Suppliers can provide goods on time when the ordering list is requested to their database. Suppliers also can reduce cost to produce by consolidating items from other retailer when demands are predicted. Enabling Business Information System (BIS) with other business organization can improve the whole retail-supplier chain. The GMPO legacy system consists of three departments: Inventory, Purchasing, and Sales. Sales occur at either at a cashier s desk or away from a cashier s desk due to business-tobusiness negotiation. This project is interested in the Purchasing department. Purchasing department decides how much is needed to buy to selling well and/or continuous selling of products and researching market to find new items. Figure 12 is an interface after GMPO s login interface on Retailer s SoSR BIS system. Figure 12. User Interface of After Login page of Retailer System The purchasing manager specifies which supplier to work on to generate ordering list in Figure 13. Followed by the selection, the purchasing manager fills out the form. The order number can be automatically generated by system or can be typed in by the user. When the item is ordered frequently, the item info can be filled out by putting item number first.
17 16 Figure 13. Creating Purchase list Choose supplier name Figure 14 shows that the sub total of the ordering is generated on the fly. Figure 15 is an interface to display items for selected purchasing list. The purchasing manager at GMPO wants to automate the process to send purchasing list to suppliers so that suppliers can prepare the goods and the process of procurement can be smoother. In summary, the current system is tightly coupled and not agile. Thus, sending purchasing list to suppliers electronically is very difficult.
18 17 Figure 14. Creating Purchase list Fill up order list Figure 15. Purchase list
19 18 5. Target System 5.1 Retailer SoSR BIS Retailer needed to keep all the existing business processes and enhance existing and reoccurring business components to ease of reuse and share. Also retailer needed to add a functionality to send a purchasing list to a supplier. This feature needed to complete with retailer-supplier SoSR BIS design due to agreements between the organizations. The interface to display purchase order list is the same as legacy as in Figure 15. Figure 16. Design View of get_purchase_list class at Retailer s side In the legacy system, the major functionalities need to be tightly coupled. However, in SoSR Retail BIS, the Web service that contains the business process can be any platform since Web services are loosely coupled. Figure 16, get_purchasing_list is a Web service that accesses two database tables and returns order form and other process that will send the information to supplier(s). Figure 17 depicts a typical 3-layerd design with Web service. Web service is employed as middleware between business component and database [10].
20 19 Figure 17. A Typical 3 Layered Design with Web Figure 18 is an implementation view to explain ordering process in GMPO system with Web service. JSP and Web service are used to achieve business process at server side. Figure Layered Design Applied to Saving Order List Process in Legacy System 5.2. Supplier SoSR BIS A system for Supplier was planed to develop. However the implementation did not happen for GMPO BIS legacy system. Thus, a system for Supplier is designed and developed in this project. Retailer sends a purchase order list to Supplier and Supplier saves the purchase order list to database as requested purchase list.
21 20 The system design of Supplier is done very similar to Retailer. The database design of Supplier side was not done and design of database was necessary to set up the environment for SoSR project. The database at Supplier side needed to add two more tables to handle purchasing request from retailers. Purchasing requests consist of header information containing purchasing request number, requester information, and total amount to purchase and line items to specify item number, description, estimated price, and amount. A Web service at Supplier side saves purchasing list in XML and unparsed to save to database. Figure 19 shows that the information went into Supplier s DB. Supplier will retrieve the requests and takes action to deliver the goods to Retailer Retailer-Supplier SoSR BIS Figure 19. Supplier s wholesale item list Retailer-Supplier SoSR BIS generally explained in use case diagrams. Figure 20 shows use case diagram to explain how the roles and the systems are integrated in conceptual view. Purchase Manager at Retailer side initiates the process and Sales Manager at Supplier side replies to the request via other Web services. Web services for replying part needs to be done. However, the use case diagram explains how two systems are related and what services are involved. Purchasing manager at Retailer sends PO to Supplier and Retailer stores the received information to Supplier s database. And then Sales manager at Supplier cooperate with Inventory manager at Supplier to check their items in inventory to decide how the procurement can be done. Sales manager later, when the checks are done, corresponds to Purchasing manager at Retailer with detail information of availability of request items. Purchasing manager then will use the confirmed information and authorize to deliver the items to Retailer.
22 21 Figure 20. Use case: Retailer sends an order invoice to Supplier Oracle BPEL Designer creates a composite Web service. The created Web service has access to two databases at Retailer and Supplier. Oracle Business Process Execution Language (BPEL) Project Manager (PM) Server provides interface to test the Web service unit. Figure 21 shows that value 135 is entered to specify purchase invoice id from the retailer.
23 22 Figure 21. Transaction initiator with order invoice ID Figure 22 shows that the Web service returns a message back to acknowledge that the process succeeded. The Web service at Supplier side sends a message good to let Web service at Retailer side know that the inserting process for purchasing list is completed successfully. The message between organizations can be set between them. Setting specifications that universally understood acknowledgement is a good idea so that the level of interoperability can increase.
24 23 Figure 22. Result in BPEL Console Figure 19 is the content in a table, wholesales_items_request and Figure 23 is after running the Web service to insert purchasing list from Retailer. You notice that OLI_ID 15 is inserted to the table after the transaction. Figure 23. Result in MySQL Query Browser A Web service, SaveWholeSaleOrder supports the Supplier to restore the purchase request from Retailer. SaveWholeSaleOrder is a composite Web service to save the requested purchasing list to database at Supplier. Figure 24 is image of BPEL design for the composite Web service. The composite Web service does not reside at Supplier s SoSR BIS; however, another Web service, SaveWholeSaleOrder, on the right hand side is at Supplier s SoSR BIS.
25 Figure 24. BPEL (Business Process Execution Language) Design view of composite services 24
26 25 6. Analysis of GMPO s SoSR Model 6.1. Legacy System The system has a 3-layered component-based architecture. Web interface communicates with business functions at server side and a business process stores user s decisions to database by having connections to data interface. Figure 25 depicts a typical 3-layerd design. Figure 25. A Typical 3-Layered Design Figure 26 elaborates the 3-layered design in Figure 25 by explaining ordering process in GMPO system. Figure Layered Design Applied to Saving Order List Process in Legacy System A JSP page, purchasing_list_generator.jsp, sends purchase information from an end user to purchasing_list_generator_to_database.jsp to display the gathered information to confirm. When the information is confirmed, purchasing list is saved to Retailer s database by purchasing_list_generator_to_database_real_final.jsp.
27 26 Table 2. RACI Chart of Implementation View on Legacy System I V Analyze dependency of components Manage uptime of components Register local components to the local system Analyze availability of components Business Analyst Architecture and Design Reviewer Project Manager Resource Scheduler Roles Code Developer Data Architect Component Deployer Development Tester I R A C C C C I I A C I C R C A I R I I I A R C I C The analysis of Table 2 follows. A project manager is accountable for all the tasks and performers (R) are distributed to an architecture and design reviewer, a component deployer, and a resource scheduler. An architecture and design reviewer is responsible to analyze dependency of components. A component deployer is responsible to manage uptime of components and to register local components to the local system. A resource scheduler is responsible to analyze availability of components so that other roles can contact the resource scheduler and find out the availability of components Target SoSR BIS Systems Provider provider is mostly interested in creating internal components and converting them into Web services. Design view of save_wholesale_order at Supplier s side in Figure 27 explains the relationship between Web service and the database tables with class diagram. A Web service associates with two tables, wholesale_inv_desc_entry and wholesale_item_request. The Web service updates purchasing invoice header information to wholesale_inv_desc_entry and line items of purchasing invoice information. This Web service becomes a provider in the role-based model.
28 27 Figure 27. Design View of save_wholesale_order at Supplier s side Figure 28 shows an implementation view of saving the purchasing list at Supplier. The component, save_wholesale_order.jws, saves purchasing information into Supplier s database and the list becomes request list for the Supplier. save_wholesale_order.jws Four Seasons Supplier Side Figure 28. Implementation View of save_wholesale_order at Supplier s side
29 28 The analysis on Table 3 follows. Data architect is responsible for database design with consults with architecture and design reviewer and business analyst. Project manager is accountable for database design. Code developer is responsible of designing business and database components. provider needs to develop simple component level business functions. Security administrator, code reviewer, data architect, architecture and design reviewer, and development tester are taking a consulting role on design business and database components. Project manager has the accountable (A) role on the task. Code developer can convert existing reusable business and database components into Web services. The Web services will be simple Web service; thus, a role for BPEL design is not required. This task is taking many resources to achieve. Besides business analyst and Web service Registrar (they have keep informed role), rest of the roles have one of the A, R, and C responsibilities. When all the testing is done, Web service registrar registers the converted Web services to Web service registries. Table 3. RACI Chart at Design View for Provider D V Design Database Design Business /Database Components Convert reusable Business /Database Components into Web s Publish Web s to Registry Business Analyst Project Manager Security Admin Security Tester Code Reviewer SP Code Developer Data Architect Architecture and Design Reviewer C A I R C Web Registrar Developmen t Tester A C C R C C C I A C C C R C C I C I A C C I I I R Table 4 is RACI chart at component view for Provider. Web service master is having similar roles as Webmaster. Webmaster makes sure uptime of components and makes the resource available to end-users. Web service master is also having the same role with Web services. Project manager has the accountable (A) role through out the tasks: analyze dependency of components, manage uptime of components, register local components to the local system, and analyze availability of components. Resource scheduler is responsible to decide all the human resources and facilities are well distributed and there is no extreme bottlenecked resource. Project manager is an apparent bottlenecked resource.
30 29 Table 4. RACI Chart at Implementation View for Provider I V Analyze dependency of components Manage uptime of components Register local components to the local system Analyze availability of components Business Analyst Web Master Architecture and Design Reviewer Project Manager SP Resource Scheduler Code Developer Data Architect Web Registrar Development Tester I I R A C C C I C I R I A C I C I C R A I I I I I I A R C I C Broker Among the roles in Broker party, BPEL designer and BPEL design reviewer are new roles from Provider and Consumer. Broker is heavily compositing simple Web services; thus, new roles BPEL designer and BPEL design reviewer are needed. Figure 29 is an activity diagram to explain how broker may choose right Supplier based on parameters of Consumer name (or ID) and Supplier Name (or ID). Consumer initiates to send purchasing list to Supplier; however, Consumer does not send directly; rather, sends the information to Broker and Broker, with given information by Consumer, then forwards the information to Supplier. The design of this system assumes to have multiple suppliers to deal.
31 30 Figure 29. Activity Diagram for sending PO to Supplier process Table 5 shows RACI chart at process view for Broker. A project manager is in the middle of many tasks by being accountable. The project manager is responsible for specifying activities at time and defines roles because a business analyst is accountable for these tasks. Table 5. RACI Chart at Process View for Broker P V Collaborate Processes Specify activities at time Configure Input/Output parameters Define Roles Business Analyst SB Project Resource Security BPEL Web WS Manager Scheduler Admin Designer Searcher Tester A C I R I C A R C A I I R C A R I I
32 Consumer Figure 30 depicts use case diagram for Consumer. The purchase manager calls a Web service, Send PO to Supplier, and later the purchase manager retrieves delivery invoice from Supplier by calling another Web service, Request Invoice to Supplier. SoRetailer POS -End3 * -End1 * Purchase Manager Inventory Management System * -End2 Purchasing Management System -End4 Send PO to Supplier * Request Invoice to Supplier Figure 30. Use Case Diagram for send PO to Supplier process Table 6 shows RACI chart at use case view for service consumer. Business analyst is accountable for gathering business requirements and managing business information flow. Project manager is accountable for checking availability of staffs and coordinating resources. Project manager is responsible for managing business information flow. Resource scheduler is responsible for checking availability of staffs and coordinating resources. Note that B2B (Business to Business) liaison is responsible to configure processes with other organizations. Table 6. RACI Chart at Use Case View for Consumer
33 32 UV Gather Business Requirements Check Availability of Staffs Coordinate Resources Manage Business Information Flow Business Analyst Architecture and Design Reviewer SC Project Manager Resource Scheduler Code Developer B2B Liaiso n A C C I R C I A R C I A R I A C R C I I In Figure 31, a completed example of Provider, Broker, and Consumer are explained. Get_purchasing_list and save_wholesale_order are providers, and PurchasingProcess is Broker. Another Web service, send_purchasing_list_to_supplier is a consumer. A Web service, PurchasingProcess in Figure 31, is composite Web service and it is also called a food of Web. Figure 31. Design View of business process for sending purchasing list to Supplier
34 33 7. Conclusions and Future Researches 7.1 Conclusions The SoSR methodology can help software developers and system integrators to reengineer the tightly coupled, rigid, and non-service-oriented legacy information systems to the loosely coupled, agile, and service-oriented information systems. This SoSR methodology brings several benefits for modernizing a legacy system to a target system using the SOC paradigm. First of all, the scope of a project participant is very clearly defined. When a person joins a software modernization project, the person wants know his or her scope that shows the guidelines that who will do what tasks in terms of which view. The participants of a service-oriented software modernization project can find their scopes in terms of one of three service stakeholder types such as service consumer, broker and producer and one of 4+1 views such as use case, design, implementation, process, and deployment views. Since the roles and tasks of a participant s scope are described through a RACI chart for the combination of a specific service stakeholder type and a view, the participant knows the scope in the middle of the modernization process. Also, since the diagrams in a visual model is related to the combination of a specific service stakeholder type and a view, the participant knows which diagrams need to be referenced or created within his scope. Secondly, concrete artifacts are provided for the project participants. As soon as the participant knows his scope, the RACI chart is used to guide the reverse or forward software engineering to visualize, specify, construct, and document a specific scope of the project participant. For example, if a service stakeholder type of participant is service provider and he is interested in process view, the participant needs a role such as service composer and his task is to discover available services and compose them. He will describe the service composition in a UML activity diagram. Especially, the inclusion of a business process engine for executing the composite services to existing application and database servers shows how SOC affect future information system design, deployment, and integration. Thirdly, this SoSE methodology provides agile guidelines. After the scope of a participant is chosen, the RACI chart can be adjusted according to the project styles. The tasks and roles in a RACI chart for a specific scope can be added, omitted, or changed. The cross cells between roles and tasks need to make sure who are responsible (R), accountable (A), consulted (C), and informed (I). The assignment of the R, A, C, and I can be adjusted according to the changes of modernization environment. Fourthly, the reverse software engineering process is streamlined with the forward software engineering. The same approach using a RACI chart for a specific scope for the reverse and the forward software engineering can be used. In both the reverse and the forward software engineering, the visual model is generated as one of artifacts of each software engineering. Lastly, popular approaches that have been employed to develop better software systems are naturally integrated into this SoSR methodology. SOA describes the three different types of service stakeholders: service consumer, service broker, and service producer. Three-layered architecture is distributed over the three different types of service stakeholders: service consumer
35 34 for presentation layer, service broker for business logic layer, and service producer for business logic and data access layers. Multi-tier architecture is used to explain the deployment view of each service stakeholder type. The 4+1 view has been used for model-driven object-driven development. 7.2 Future Researches In doing this project, it is found that there are not enough related examples for SoSR methodology. The examples in this project are not enough for analysis. The SoSR community needs to grow by developing more examples of SoSR solutions, and proper responsibilities will be assigned to proper roles. Automatic service discovery and service composition need to cope with SoSR methodology. In this project, we assume that service consumers already knew service providers and brokers. For the enhanced and robust solution, it needs to be allowed that a consumer can blindly ask for a list of broker agent to bring integrated solution and then the broker agent finds providers and other brokers and integrate on the fly. To make this happen, a registry for broker agents needs to be made. Other services or systems need to be made as well. A service that validates found-services needs to be made. This service is validating the found-services based on criteria such as accuracy, speed, and uptime. Another service that needs to be made is negotiation agent [2, 5]. This service negotiates between a consumer and a broker agent and between brokers and providers. To create profit from providing services, this negotiation process is needed. One example of criteria of negotiation would be range of payment versus range of accepting payment. Security expert needs to look into SoSR models and analyze, and add more tasks and the responsibilities will be adjusted. By having more examples and bigger and more communities applying this SoSR approach for software reengineering on their existing legacy systems, the missing pieces regarding security can be found and the SoSR model will be enhanced. Security on Web service is one of the functionality in WS-*. Furthermore, many enhancements can be made by coping SoSR methodology with WS-*.
36 35 References [1] Bieberstein, Norbert, et al. (2005). -Oriented Architecture Compass: Business Value, Planning, and Enterprise Roadmap. IBM Press. [2] Brereton, O.P. The Software customer/supplier relationship. Accepted for publication by Communications of the ACM. Downloaded from: -oriented [online]. Date of article is not known. Accessed May 20, [3] Carpenter, Jeff and Bieber, Guy. Introduction to service-oriented programming (Rev 2.1). Downloaded from: Open Wings [online]. Date of article is not known. Accessed May 27, [4] Chung, Sam and Lee, Yun-Sik. (2000). Reverse software engineering with UML for Web site maintenance. First International Conference on Web Information Systems Engineering WISE Vol. 2. P [5] Elfatatry, A. and Layzell, P.J. Negotiating in service oriented environments. Accepted for publication by Communications of the ACM. Downloaded from: -Oriented [online]. Date of article is not known. Accessed May 20, [6] Enterprise Solutions Competency Center: U.S. Army PEO EIS & Software Engineering Center Belvoir. Responsibility Charting (RACI). Date of article is not known. Accessed May 20, [7] Erl, Thomas (2004) -Oriented Architecture: A Field Guide to Integrating XML and Web s. Prentice Hall. [8] Goepfert, J. and Whalen M. (2002). An Evolutionary View of Software as a. IDC White paper. [9] Kruchten, P. B. (1995) The 4+1 View Model of Architecture. IEEE Software, 12 (6), pp [10] Lea, Doug and Vinosk, Steve. (2003). Middleware for web services. Internet Computing, IEEE, 7 (1), [11] Meier, J, et al. (2003). Improving Web Application Security: Threats and Countermeasures. Microsoft [12] Seacord, Robert C., Plakosh, Daniel and Lewis, Grace A. (2003). Modernizing Legacy Systems. Addison Wesley.
37 36 [13] Turner, Mark, Budgen, David, and Brereton, Pearl. Turning Software into a. IEEE Computer. October Vol. 36, No. 10. pp [14] Wikipedia contributors, "Extreme Programming," Wikipedia, The Free Encyclopedia, (accessed May 29, 2006). [15] Wikipedia contributors, "Unified Process," Wikipedia, The Free Encyclopedia, (accessed May 29, 2006). [16] Wikipedia contributors, "RACI diagram," Wikipedia, The Free Encyclopedia, (accessed May 19, 2006). [17] Wikipedia contributors, "Rational Software," Wikipedia, The Free Encyclopedia, (accessed May 29, 2006). [18] Wikipedia contributors, "Scrum (development)," Wikipedia, The Free Encyclopedia, (accessed May 29, 2006).
38 37 Appendix A1. RACI Chart at Process View for Provider on target system P V Collaborate Processes Specify activities at time Set Input/Output parameters Define Roles Business Analyst Project Manager Resource Scheduler SP Code Developer Data Architect Web Registrar Development Tester A R C A R C A R I C A R I Mostly business analyst and project manger are having major roles in process view by having A and R s. With resource scheduler s performance to schedule resources, process view can have four major tasks: collaborate process, specify activities at time, set input/output parameters, and define roles. Code developer is specifying input and output parameters and as project manager approves the setup since project manager controls all processes. A2. RACI Chart at Deployment View for Provider on target system L V Register to WS Registry Business Analyst Web Master Architecture and Design Reviewer Project Manager SP Resource Scheduler Code Developer Data Architect Web Registrar Deployment Tester I C I A I R I Check Security I C C A C C I R I I C A R C C C I Design Deployment Plan Test Deployed WS I I A I I I I R Deployment is significant, because the end user can access to Web services when the services are deployed. Deployment tester is having important role in this phase by checking security and testing deployed Web services. Resource scheduler also takes an important role by preparing deployment plan. Web service registrar is responsible to register Web services to Web service registries.
39 38 A3. RACI Chart at Use Case View for Provider on target system U V Gather Business Requirements Check Availability of Staffs Coordinate Resources Manage Business Information Flow Business Analyst Web Master Architecture and Design Reviewer Project Manager SP Resource Scheduler Code Developer Data Architect B2B Liaison A C C I R R C I A R C C I A R I C A I C R C I C I C Team Lead Internally project manager is taking an accountable (A) role; however, business analyst is having a significant role to gather business requirements from end user and to manage business information flow. Team leads are best staffs know how the business work internally in detail; thus, they provide what inputs may require and what outputs are available to provide. Resource scheduler checks availability of staffs and coordinates resources. A4. RACI Chart at Deployment View for Broker on target system L V Check Security Design Deployment Plan Test Deployed Solution Security Admin Deployment Engineer BPEL Design Reviewer Project Manager SB Resource Scheduler BPEL Designer Security Tester Web Searcher Deployment Tester R I C A I C C I C C R C A C C C I I I C I A I I C I R A5. RACI Chart at Use Case View for Broker on target system U V Gather Business Requirements Check Availability of Staffs SB Business Analyst BPEL Design Reviewer Project Manager Resource Scheduler BPEL Designer B2B Liaison A C C C C R C I A R I I Coordinate Resources C I A R I I Manage Business A C R C R I Information Flow Use case view in Broker is similar to Consumer s. However, Broker another distinctive task called, manage business information flow. manage business information flow is a task to design BPEL process and BPEL designer designs and business analyst authorize the business information flow. Project manager is another responsible role to
40 39 manage business information flow. When two roles are having responsible roles, the communication may not be smooth. However, Project manager is overlooking all process and BPEL designer is a role to do real configuration. BPEL designer needs to know all business process related to Web services. BPEL designer has much of access to resources so that the configuration of Web services can go smoothly. B2B liaison also has an important role to gather business requirements from other businesses that are providing Web services. B2B liaison needs to be informed how the services are configured so that service resources are well managed kept. A6. RACI Chart at Design View for Broker on target system D V Find Published WS Analyze Found WS Check Requirements to consume found WS Implement Composite WS with found WS s Monitor downtime of found WS Publish Web s to Registry Web Registrar Business Analyst Project Manager Security Admin Security Tester SB BPEL Design Reviewer BPEL Designer Web Analyst WS Negotiator Web Searcher I A I R C A C C C C R C C I A C C C C C R I I I I A I C C R C I I C Web Tester A I I I I I R R I A C C I I I I I C
41 40 A7. RACI Chart at Implementation View for Broker on target system I V Analyze dependency of components Manage uptime of WS Review Integration of WS Business Analyst Security Admin BPEL Design Reviewer Project Manager SB Resource Scheduler BPEL Designer Web Searcher Security Tester WS Tester R C A C C C C C I A R I I C I I R C C A C C C A8. RACI Chart at Process View for Consumer on target system PV Business Analyst Project Manager Resource Scheduler SC Code Developer Data Architect Web Searcher WS Tester Collaborate A R C Processes Specify A R C activities at time Configure Input/Output parameters A I R C Define Roles A R I
42 41 A9. RACI Chart at Deployment View for Consumer on target system L V Check Security Design Deployment Plan Test Deployed Solution Security Admin Deployment Engineer Architecture and Design Reviewer Project Manager SC Resource Scheduler Code Developer Security Tester Web Searcher Deployment Tester R I C A I C C I C C R C A C C C I I I C I A I I C I R A10. RACI Chart at Design View for Consumer on target system D V Find Published WS Analyze Found WS Check Requirements to consume found WS Implement to use found WS Monitor downtime of found WS Business Analyst Project Manager Security Admin Security Tester Code Reviewer SC Code Developer Web Analyst WS Negotiator Web Searcher A I R Web Tester C A C C C C R C C A C C C C C R I I A C C R C I I C A I I I I I R At design phase, Web service searcher, Web service negotiator, Web service tester, and Web service analyst are having significant roles. Web service searcher finds available services and Web service analyst evaluates found Web services with Web service testers and Web service negotiator. When the negotiation is harder or costly; then, Web service analyst may not consider using the specific service and find for alternative services and evaluation process reoccurs on found services. Code developer does not need to do hardcore development for developing complex business processes, but needs to use evaluated Web service accordingly.
43 42 A11. RACI Chart at Implementation View for Consumer on target system I V Analyze dependency of components Manage uptime of WS Configure integration of WS Business Analyst Security Admin Architecture and Design Reviewer Project Manager SC Resource Scheduler Code Developer Web Searcher Security Tester R C A C C C C C I A R I I C I I C A C R C C C WS Tester At design phase, Web service searcher, Web service analyst, Web service negotiator, and Web service tester are doing the same task as in Consumer. However, Broker has BPEL designer and BPEL design reviewer. When Web services are evaluated, BPEL designer will integrated. BPEL designer uses a highly abstracted interface to configure processes between Web services to create complex Web services. A Web service solution can be created by compositing existing Web services. Project manager authorizes the artifact of compositing Web services. A12. Component Diagram (IV) of Web service, get_purchasing_list.jws on target system get_purchasing_list.jws GMPO Retailer Side
44 43 A13. Design View of calling composite Web service for Broker on target system A Web service send_purchasing_list_to_supplier consumes another Web service, PurchasingProcess. Web service, send_purchasing_list_to_supplier, becomes a consumer and another Web service, PurchasingProcess, becomes a provider. A14. Component Diagram (IV) of a Composite Web service for Broker on target system
45 44 A15. Deployment View for Three Participants on target system A16. Sequence Diagram View of business process for sending purchasing list to Supplier on target system
46 45 A17. Component Diagram (IV) of Composite Web service with Consumer with a caller component on target system entry::purchasing_list_generator.jsp Web : Save to DB GMPO BPEL Engine Retailer Side Web : Save to DB Four Seasons Supplier Side
Toward Next Generation Distributed Business Information Systems: Five Inherent Capabilities of Service-Oriented Computing
Toward Next Generation Distributed Business Information Systems: Five Inherent Capabilities of -Oriented Computing Chung, Sam and Davalos, Sergio Abstract The research conducted examines how the emerging
Reengineering Open Source CMS using Service-Orientation: The Case of Joomla
Reengineering Open Source CMS using Service-Orientation: The Case of Joomla Tagel Gutema [email protected] Dagmawi Lemma Department of Computer Science, Addis Ababa University, Ethiopia [email protected]
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
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:
Modeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA [email protected] Yun-Sik
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
Service-Oriented Architecture: Analysis, the Keys to Success!
Service-Oriented Architecture: Analysis, the Keys to Success! Presented by: William F. Nazzaro CTO, Inc. [email protected] www.iconatg.com Introduction Service-Oriented Architecture is hot, but we seem
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
Service Oriented Architecture (SOA) An Introduction
Oriented Architecture (SOA) An Introduction Application Evolution Time Oriented Applications Monolithic Applications Mainframe Client / Server Distributed Applications DCE/RPC CORBA DCOM EJB s Messages
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
Enterprise Application Designs In Relation to ERP and SOA
Enterprise Application Designs In Relation to ERP and SOA DESIGNING ENTERPRICE APPLICATIONS HASITH D. YAGGAHAVITA 20 th MAY 2009 Table of Content 1 Introduction... 3 2 Patterns for Service Integration...
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
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
Basic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
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
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,
What You Need to Know About Transitioning to SOA
What You Need to Know About Transitioning to SOA written by: David A. Kelly, ebizq Analyst What You Need to Know About Transitioning to SOA Organizations are increasingly turning to service-oriented architectures
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
Service Oriented Architecture and Its Advantages
ORIENTAL JOURNAL OF COMPUTER SCIENCE & TECHNOLOGY An International Open Free Access, Peer Reviewed Research Journal Published By: Oriental Scientific Publishing Co., India. www.computerscijournal.org ISSN:
Business Process Management Enabled by SOA
Business Process Management Enabled by SOA Jyväskylä 8.5.2007 Kimmo Kaskikallio IT Architect IBM Software Brands Five middleware product lines designed to work together Service-Oriented Architecture (SOA)
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 [email protected] Copyright IBM Corporation 2005. All rights
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing
Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Presented by : Ajay Budhraja, Chief, Enterprise Services ME (Engg), MS (Mgmt), PMP, CICM, CSM,
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands)
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
Introduction to Service-Oriented Architecture for Business Analysts
Introduction to Service-Oriented Architecture for Business Analysts This course will provide each participant with a high-level comprehensive overview of the Service- Oriented Architecture (SOA), emphasizing
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
How To Understand A Services-Oriented Architecture
Introduction to Service Oriented Architecture CSCI-5828 Foundations of Software Engineering Ming Lian March 2012 Executive Summary This Executive Summary gives the straight word to the fresh that have
A Quick Introduction to SOA
Software Engineering Competence Center TUTORIAL A Quick Introduction to SOA Mahmoud Mohamed AbdAllah Senior R&D Engineer-SECC [email protected] Waseim Hashem Mahjoub Senior R&D Engineer-SECC Copyright
Enterprise IT Architectures SOA Part 2
Dr. Hans-Peter Hoidn Executive IT Architect, IBM Software Group Global Business Integration "Tiger" Team Enterprise IT Architectures SOA Part 2 SOA Reference Architecture 2 SOA Reference Model Strategy
E-Business Suite Oracle SOA Suite Integration Options
Specialized. Recognized. Preferred. The right partner makes all the difference. E-Business Suite Oracle SOA Suite Integration Options By: Abhay Kumar AST Corporation March 17, 2014 Applications Software
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
Strategy for Application Modernization A Summa White Paper
Strategy for Application Modernization A Summa White Paper Summa 925 Liberty Avenue, 6 th Floor Pittsburgh, PA 15222 (p) 412.258.3300 (f) 412.258.3299 www.summa tech.com Why Modernize? My customers want
ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford [email protected].
ITU-T Kaleidoscope Conference Innovations in NGN Managing NGN using the SOA Philosophy Y. Fun Hu University of Bradford [email protected] Next Generation Network (NGN) A IP/IMS based network Provide
Service Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
CT30A8901 Chapter 10 SOA Delivery Strategies
CT30A8901 Chapter 10 SOA Delivery Strategies Prof. Jari Porras Communications Software Laboratory Contents 10.1 SOA Delivery lifecycle phases 10.2 The top-down strategy 10.3 The bottom-up strategy 10.4
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
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
How service-oriented architecture (SOA) impacts your IT infrastructure
IBM Global Technology Services January 2008 How service-oriented architecture (SOA) impacts your IT infrastructure Satisfying the demands of dynamic business processes Page No.2 Contents 2 Introduction
Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com
Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com Presented by: Shashi Mamidibathula, CPIM, PMP Principal Pramaan Systems [email protected] www.pramaan.com
Research on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
JOB DESCRIPTION APPLICATION LEAD
JOB DESCRIPTION APPLICATION LEAD The Application Lead will provide functional support and to expand capabilities in the area of systems configuration. This function provides the initial step in the process
David Pilling Director of Applications and Development
Service Oriented Architecture for Law Firms: SOA is inevitable, are you ready? David Pilling Director of Applications and Development "Things should be made as simple as possible, but no simpler. -- Albert
Service Oriented Architecture: A driving force for paperless healthcare system
2012 International Conference on Computer Technology and Science (ICCTS 2012) IPCSIT vol. 47 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V47.16 Service Oriented Architecture: A driving
Testing Web Services Today and Tomorrow
Copyright Rational Software 2002 http://www.therationaledge.com/content/oct_02/m_webtesting_jb.jsp Testing Web Services Today and Tomorrow by Jason Bloomberg Senior Analyst ZapThink LLC With all the attention
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
IBM Information Management
IBM Information Management January 2008 IBM Information Management software Enterprise Information Management, Enterprise Content Management, Master Data Management How Do They Fit Together An IBM Whitepaper
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION Internet has revolutionized the world. There seems to be no limit to the imagination of how computers can be used to help mankind. Enterprises are typically comprised of hundreds
Business Process Management Tampereen Teknillinen Yliopisto
Business Process Management Tampereen Teknillinen Yliopisto 31.10.2007 Kimmo Kaskikallio IT Architect IBM Software Group IBM SOA 25.10.2007 Kimmo Kaskikallio IT Architect IBM Software Group Service Oriented
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES Peter R. Egli INDIGOO.COM 1/16 Contents 1. EAI versus SOA versus ESB 2. EAI 3. SOA 4. ESB 5. N-tier enterprise architecture
Distributed systems. Distributed Systems Architectures
Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined
SERVICE ORIENTED ARCHITECTURE
SERVICE ORIENTED ARCHITECTURE Introduction SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA facilitates the
Getting Started with Service- Oriented Architecture (SOA) Terminology
Getting Started with - Oriented Architecture (SOA) Terminology Grace Lewis September 2010 -Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing systems it is neither a
Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I Systems Integration
Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I s Integration Dr. Timothy D. Kehoe, Irene Chang, Dave Czulada, Howard Kong, Dr. Dino Konstantopoulos
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
Web Cloud Architecture
Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. [email protected] Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented
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
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
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,
POLAR IT SERVICES. Business Intelligence Project Methodology
POLAR IT SERVICES Business Intelligence Project Methodology Table of Contents 1. Overview... 2 2. Visualize... 3 3. Planning and Architecture... 4 3.1 Define Requirements... 4 3.1.1 Define Attributes...
SOA for Healthcare: Promises and Pitfalls
SOA for Healthcare: Promises and Pitfalls Dennis B. Smith [email protected] SOA in Health Care Conference: Value in a Time of Change Chicago, IL USA June 3, 2009 Agenda Healthcare IT Challenges SOA: The
Methods and tools for data and software integration Enterprise Service Bus
Methods and tools for data and software integration Enterprise Service Bus Roman Hauptvogl Cleverlance Enterprise Solutions a.s Czech Republic [email protected] Abstract Enterprise Service Bus (ESB)
Fundamentals of Web Programming a
Fundamentals of Web Programming a Software As A Service Teodor Rus [email protected] The University of Iowa, Department of Computer Science a Copyright 2009 Teodor Rus. These slides have been developed
Table of Contents. 1 Executive Summary... 2 2. SOA Overview... 3 2.1 Technology... 4 2.2 Processes and Governance... 8
Table of Contents 1 Executive Summary... 2 2. SOA Overview... 3 2.1 Technology... 4 2.2 Processes and Governance... 8 3 SOA in Verizon The IT Workbench Platform... 10 3.1 Technology... 10 3.2 Processes
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
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
Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence
Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence Service Oriented Architecture SOA and Web Services John O Brien President and Executive Architect Zukeran Technologies
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
Challenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
Service-oriented architecture in e-commerce applications
Service-oriented architecture in e-commerce applications What is a Service Oriented Architecture? Depends on who you ask Web Services A technical architecture An evolution of distributed computing and
Software Development in the Large!
Software Development in the Large! Peter Eeles Executive IT Architect, IBM [email protected] IBM Rational Software Development Conference 2007 2007 IBM Corporation Agenda IBM Rational Software Development
Virtual Credit Card Processing System
The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce
IBM Rational Rapid Developer Components & Web Services
A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary
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,
Chapter 15. Web services development lifecycle
Slide 15.1 nology Chapter 15 Web Services Development Lifecycle Web Service es: Princip ples & Tech Mike P. Papazoglou [email protected] Slide 15.2 Topics Web services development Properties of service development
Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht
Service Oriented Architecture Design and Development Method René van Donselaar Universiteit Utrecht Notice of Originality I declare that this paper is my own work and that information derived from published
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization
Multi-agent System based Service Oriented Architecture for Supply Chain Management System (MAS-SOA-SCM)
Volume 27 No.5, August 2011 Multi-agent System based Service Oriented Architecture for Supply Chain Management System (MAS-SOA-SCM) Dr. S. Srinivasan Professor PDM Engineering College Bhadurgarh 1245 Haryana,
SOA REFERENCE ARCHITECTURE
SOA REFERENCE ARCHITECTURE August 15, 2007 Prepared by Robert Woolley, Chief Technologist and Strategic Planner INTRODUCTION This document is a derivative work of current documentation and presentations
How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J
Tool Support for Developing Scalable J2EE Web Service Architectures Guus Ramackers Application Development Tools Oracle Corporation [email protected] www.oracle.com Using All This in Real Life
A Generic Database Web Service
A Generic Database Web Service Erdogan Dogdu TOBB Economics and Technology University Computer Engineering Department Ankara, Turkey [email protected] Yanchao Wang and Swetha Desetty Georgia State University
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,
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
Government's Adoption of SOA and SOA Examples
Government's Adoption of SOA and SOA Examples Presented by : Ajay Budhraja, Chief of Enterprise Services ME (Engg), MS (Management), PMP, CICM, CSM, ECM (Master) AIIM, ITIL-F Copyright 2008 Ajay Budhraja
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Web Services Metrics: A Survey and A Classification
2011 International Conference on Network and Electronics Engineering IPCSIT vol.11 (2011) (2011) IACSIT Press, Singapore Web Services Metrics: A Survey and A Classification Mohamad Ibrahim Ladan, Ph.D.
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
<Insert Picture Here> Integrating Oracle Forms and a Service Oriented Architecture
Integrating Oracle Forms and a Service Oriented Architecture Grant Ronald Group Product Manager The following is intended to outline our general product direction. It is intended
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
ISM/ISC Middleware Module
ISM/ISC Middleware Module Lecture 14: Web Services and Service Oriented Architecture Dr Geoff Sharman Visiting Professor in Computer Science Birkbeck College Geoff Sharman Sept 07 Lecture 14 Aims to: Introduce
Information systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives
