Professional Documents
Culture Documents
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 1530-1605/07 $20.00 © 2007 IEEE 1
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 2
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
(distributed processes), SOA, ROC, business process Service Provider (SP). A service consumer discovers a
design and execution, role-based model, 4+1 view required service and invokes the discovered service
model, and RACI chart. either directly or indirectly through a service broker. A
The 3-layered architecture is an architectural pattern service provider develops a service in a programming
for a software system consisting of three logical layers: language and publishes its service specification to a
presentation layer (1st layer), business logic layer (2nd service registry. A service broker can provide access
layer), and data access layer (3rd layer). Each n-th to a service or compose a set of services as a new
layer depends on the (n-1)-th layer only. The 3-layered service and administer the registry. Currently, these
architecture helps software developers design a three roles are manually implemented. With the
software system by allowing the developers to focus development of new engines using semantic Web
on designing a specific layer. services for service publishing, discovery, and
The n-tier architecture is an architectural pattern in composition, these roles can be automatically
which a software system consists of n number of performed in the near future.
distributed processes. For example, a typical 4-tier Modeling software systems has been broadly
architecture for a web application is as follows: A accepted for the design and implementation of object-
process for a Web browser that handles client-side oriented applications. Several design methodologies
presentation is located at the first tier. A process for a have been proposed, and some of them have been
Web server that handles server-side presentation is incorporated into Computer-Aided Software
located at the second tier. An application server Engineering (CASE) tools. Among them, OMG’s
process for handling business logics is located at the UML [2] and IBM’s Rational CASE tool and Rational
third tier. And, the fourth tier is a database server for Unified Process (RUP) [9] have received strong
processing data accesses. This n-tier architecture helps industry attention. The RUP methodology adopted
a software developer assign and distribute a set of Kruchten’s 4+1 view model [8] to support object-
related software components at the proper tier. Since oriented application development.
each tier consists of components with the same The 4+1 view model, which is shown in Figure 1,
purpose, deployment and maintenance of components describes the architecture of software-intensive
are more effective. systems in terms of 4 views (Design View,
SOA is an architectural pattern in which a service is Implementation View, Process View, and Deployment
published to a service registry and the published View) sharing a Use Case View. These multiple views
service is discovered and bound to a service client describe logical/physical and static/dynamic properties
when the client requests the service. Because of that, of a system. A use case view is used to represent use
the SOA has been described as the “publish-discovery- case scenarios such as what user requirements are and
binding” model. If Web services technologies are who use the system. A design view shows class
used, an interface of the software component is hierarchy, the message passing among objects, and
represented in Web Services Description Language algorithms for methods. An implementation view
(WSDL). Interface related information such as the describes the dependency of physical files. A process
location of a WSDL described service, business entity, view describes a set of activities and their flows. A
and etc. is published onto a UDDI service registry. deployment view shows the location of executable
Requested services can be searched for and discovered components.
in the UDDI service registry. The service client is
Logical to physical
bound to the service through an interaction protocol,
Simple Object Access Protocol (SOAP).
The power of SOC comes from the recursive Design Implementation
definition of a service. A set of services can be View (DV) View (IV)
composed to form another service called a composite
service that represents a designated business process. Use Case View
Currently, a business process using Web services can Static to
dynamic (UV)
be described in Business Process Execution Language
(BPEL) and executed by a business process engine.
Process View Deployment
The representation of a business process and its
(PV) View (LV)
execution reduces the information technology gap
between business and software professionals.
In SOC, three participant roles can be identified:
Service Consumer (SC), Service Broker (SB), and Figure 1. The 4+1 View
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 3
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
The 4+1 view indicates that design and process lot of confusion since there is no single designated
views are relatively logical, compared to decision maker.
implementation and deployment views. Likewise,
design and implementation views are relatively static, 3.2. Reverse and Service-Oriented Forward
compared to process and deployment views. When Software Engineering
Kruchten’s 4+1 view model was proposed, the
‘software as services’ concept had not been developed. The SoSR methodology has two main processes:
With the advent of Web services concepts and reverse software engineering and service-oriented
technologies, there is a strong demand for models to forward software engineering [3, 4], see Figure 2. The
develop and integrate service-oriented software reverse software reengineering process of a legacy
intensive system. system to a target system begins with determining the
In any project, listing all of the tasks for each role is modernization requirements for a target legacy system
a very important step. The RACI chart accomplishes based on user input. The requirements specify what
this purpose [14, 16]. The RACI chart is used to depict features of a legacy system will be modernized into a
the four types of responsibility: responsible (the role target system(s) using the SOC paradigm. In the
who owns the problem), accountable (the role of who reverse software engineering process, a visual model
must approve on work before it is effective), consulted for the legacy system is constructed by analyzing the
(the role who provide input to help perform the task), given legacy system and the modernization
and keep informed (people with a vested interest who requirements. These are then used to generate a target
should be kept informed). Table 1 is an example of system through a service-oriented forward software
RACI chart from [11]. engineering process (SoFSE).
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 4
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
view for each participant is further developed in terms reverse engineering, the legacy system is documented
of tasks and different roles by using RACI charts. In as a visual model. The visual model for the legacy
addition, the 4+1 view for each participant is modeled system is then used in the next process – service-
in UML. oriented forward software engineering (SoFSE).
Since we assume that no SOA was employed for the In the SoFSE process, three roles of the project
development of the legacy system, a reverse software participants are used. For each role, five RACI charts
engineering needs to be applied to the legacy system. are described for the 4+1view. Thus, a total fifteen
No service stakeholder type exists. Five RACI charts RACI charts are generated and employed for the
are proposed for the 4+1 view in terms of a main role SoFSE process. As the results of the SoSFE, the target
of a software developer who has several sub-roles and system is documented in the form of a visual model.
tasks such as analysis, design, implementation, testing, Figure 4 depicts the possible combinations of service
and deployment, etc. In Figure 3, a cell shows a stakeholder type and each view has an RACI chart and
Reverse Software Engineering (RSE) vector, RSE[i] a visual model.
for one of the five views. Its content is a RACI chart
and a visual model. 3.3. Properties
Roles
The SoSR methodology is a set of best practices
Use Case
that is architecture-centric, service-oriented, role-
View specific, and model-driven. First of all, the SoSR
(UV) methodology is architecture-centric since three
Design architectures are employed: 3-layered architecture for
View
(DV) design, n-tier architecture for deployment, and SOA
4+1 Implementation for integration. Secondly, the SoSR methodology is
View RSE[i]
View service-oriented since Web services are employed as
(IV)
the main building block for integration and a set of
Process
View
Web services, a composite service, is used to represent
(PV) a business process to be executed on a business
Development process engine. Thirdly, the SoSR methodology is
View
(LV)
role-specific. A service-oriented architecture is
conceptualized by using three-service-participants
Figure 3. RSE[j] Vector, where j {UV, DV, IV, model. Since a RACI chart uses tasks and roles to
PV, LV} analyze a system design, it is role-specific. Lastly, the
SoSR methodology is model-driven since it produces
role visual models for each service participant and model
view.
Service Service Service
Consumer Broker Producer
(SC) (SB) (SP) 4. Legacy System
Use Case
View
(UV) As an example case, the GMPO (Gran Mercado at
Design
View
Port Orchard) Retail Store Inventory System is
(DV) introduced. It was developed from October 2002 to
4+1 Implementation
View
View SoFSE[i,j] July 2003 by a developer for a small retail/wholesale
(IV) store. The GMPO legacy system consists of three
Process
View
components for three departments: inventory,
(PV) purchasing, and sales. The GMPO system is designed
Development to support daily Point Of Sale (POS) at a small retail
View
(LV) store. Based on daily transactions and updated
inventory, a purchasing manager generates a list of
Figure 4. SoFSE[i, j] Matrix, where i {SC, SB, orders and manually submits a hard copy of purchasing
SP} and j {UV, DV, IV, PV, LV} orders to suppliers. This project is focused on the
purchasing department. The purchasing department
Based upon the RACI charts, a software reverse decides which items and how many items need to be
engineering process is conducted. As a result of the ordered based on current inventory and market
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 5
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
research for new items. The Java Server Page (JSP) 5.2. Supplier’s SoBIS
technology is currently used to implement business
processes at the server side. The design of a supplier’s system is very similar to
There are several steps in generating a purchase that of the retailer’s one. A retailer’s system sends a
order. The purchasing manager selects a supplier. The purchase order list to a supplier’s one and the
purchasing manager then fills the purchase order form supplier’s system saves the purchase order list to a
out. The order number can be automatically generated database as a requested purchase list. The database at
by system or can be entered by the manager. For items the supplier side needs to add tables to handle
that are ordered frequently, the item information can be purchasing request from retailers. Purchasing order
automatically filled in once the item number is entered. data consist of header information containing
Some fields such as the subtotal of the order are purchasing request number, requester’s information,
derived by the system. An interface displays selected order total, and line items specifying item number,
items for purchasing. description, estimated price, amount, etc. A Web
However, the purchasing manager at the retail store service at the supplier side stores the XML-based
wants to automate the process of sending the purchase purchasing list to the supplier’s database. A supplier
order to suppliers so that suppliers can prepare the then retrieves the requests and takes an action to
shipment sooner. Since the current systems for both generate a shipment for delivery to the retailer.
retailers and suppliers are tightly coupled to software
components, it is very difficult for a retailer to send 5.3. Integrating Retailer’s and Supplier SoBISs
purchase orders to suppliers electronically.
Enabling an organization’s Business Information A purchasing manager at the retailer side initiates a
System (BIS) interaction with another organization’s Purchase Order (PO) request and a sales manager at
BIS can improve the whole supplier chain. For the supplier side replies to the request via Web
example, a supplier can improve on-time delivery services. The purchasing manager sends a PO to the
when the purchase order of a retailer directly accesses supplier and a Web service stores the PO information
the supplier’s database. to the supplier’s database. Then the supplier sales
manager at cooperates with a supplier inventory
5. Target System manager to decide how the order can be filled from
existing inventory. When the check is done, the sales
5.1 Retailer’s SoBIS manager provides the retailer’s purchasing manager
with information regarding availability of the
A Service-Oriented Business Information System requested items. The purchasing manager then uses
(SoBIS) for GMPO retail needs to provide support for the confirmed information and authorizes delivery of
all existing business processes and enhance existing/re- the items.
occurring business components for reuse and sharing. Oracle BPEL Designer was used to create a
Also, a retailer needs to add functionality for composite Web service with access to two databases:
transmitting a purchase order to a supplier. The at the retailer side and at the supplier side. An Oracle
interface used to display a purchase order is the same BPEL Project Manager (PM) server provides the
as that of the legacy system. interface to test the Web service unit. A composite
In the retail legacy system, the major functionalities Web service called ‘PurchasingProcess’ resides on the
are tightly fixed to a platform’s infrastructure. BPEL PM server not on the supplier’s SoSR BIS. If a
However, in the retailer’s SoBIS, the Web services that specific purchase invoice id is submitted from the
contain the business processes can be performed on retailer, the composite Web service returns a message
any platform since Web services are loosely coupled. back to acknowledge that the process succeeded. The
For instance, a Web service called Web service at the supplier side sends a message
‘get_purchasing_list’ accesses two database tables, “good” to let the Web service at the retailer side know
returns an order form, and executes another process that the inserting process for purchasing list is
that sends the information to supplier(s). A JSP file completed successfully. A ‘SaveWholeSaleOrder’
representing a presentation layer calls Web service Web service supports the supplier to restore the
methods that are used to achieve server side business purchase request from the retailer.
process functionality.
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 6
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
entry::purchasing_list_generator.jsp
show a component diagram of an implementation view
of the ordering process. A purchase order from an end
user, generated by a JSP page
entry::purchasing_list_generator_to_database.jsp ‘purchasing_list_generator.jsp,’ is sent to another JSP
page ‘purchasing_list_generator_to_database.jsp’ to
display order confirmation. When the order is
entry::purchasing_list_generator_to_database_real_final. confirmed, a purchasing list is saved to the retailer’s
jsp
database by another JSP page called ‘purchasing_list
_generator_to_database_real_final.jsp’.
Design View::get_purchasing_list
-driver
-url
-databaseOwner
-ownerPassword
-currentConnection
-currentStatement
-currentStatementLineItems
-rs
-sql
PurchasingProcess -return_value
-input -rsLineItems
Design View::send_purchasing_list_to_supplier -result +order_list_generator(in invoice _id)
+receiveInput()
+send_purchasing_order(in Supplier_ID) +Invoke_GetPurchasingList()
+Invoke_SaveWholeSaleOrder()
+replyOutput() Design View::save_wholesale_order
-driver
-url
-databaseOwner
-ownerPassword
-currentConnection
-currentSatement
-currentLineItems
-currentPreparedStatement
-rs
-rsLineItems
-sql
+save_to_db(in xml_order_info)
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 7
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
Consumer Broker
Send PO to Supplier
Figure 7. A Process View (PV) of Sending a PO to a Supplier Process: SoFSE[i, j] where i =SB
and j = PV
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 8
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
SB
Business Project Resource Security BPEL Web Service WS
Analyst Manager Scheduler Admin Designer Searcher Tester
Collaborate A C I R I C
processes
Specify A R C
activities
P at time
V Configure A I I R C
Input/Output
parameters
Define A R I I
roles
The design of this system assumes that there are which diagrams (visual models) need to be referenced
multiple suppliers. or created within the selected scope.
Table 3 shows RACI chart at process view for the Secondly, concrete artifacts are provided for the
service broker. For example, a project manager is project participants. As soon as the participant knows
accountable in many tasks. The project manager is his scope, a RACI chart is used to guide the reverse or
responsible for specifying activities and the business forward software engineering and a visual model is
analyst accountable for these tasks. A BPEL designer used to visualize, specify, construct, and document a
is responsible for business process collaboration. The specific scope of the project participant. For example,
business process collaboration needs to be consulted if participant is a service provider and is interested in a
with a Web service designer. process view, the participant has a role as service
composer and a task to discover available services,
7. Conclusions and Future Research compose them, and describes the service composition
using a UML activity diagram.
The SoSR methodology can help software Thirdly, this methodology provides agile
developers and system integrators in organizing and guidelines. After the scope of a participant is chosen,
conducting reengineering of tightly coupled, rigid, the RACI chart can be adjusted to accommodate
non-service-oriented legacy information systems into different project styles. The tasks and roles in a RACI
loosely coupled, service-oriented information systems. chart for a specific scope can be added, omitted, or
This SoSR methodology brings several benefits in the changed. The intersection cells between roles and
modernization of a legacy system into a target system tasks are used to ensure that all roles are well defined
based on using the SOC paradigm. in terms of RACI: Responsible (R), Accountable (A),
First of all, the scope of a project participant is very Consulted (C), and Informed (I). The assignment of
clearly defined. A person joining a software the R, A, C, and I can be adjusted according to the
modernization project wants to know his or her scope changes of modernization environment.
in terms of roles, tasks, and views. Based on the SoSR Fourthly, the reverse software engineering process
methodology, participants of a service-oriented is streamlined with the forward software engineering.
software modernization project can identify their scope The same approach of using a RACI chart for a
in terms of the three service stakeholder types, service specific scope for the reverse and the forward software
consumer, broker, and producer and one of the 4+1 engineering can be used. In both the reverse and the
views, use case, design, implementation, process, and forward software engineering, visual models are
deployment views. And then, the scope of a generated as one of artifacts of each software
participant’s roles and tasks are defined through a engineering.
RACI chart. Also, since the diagrams in a visual model Lastly, popular approaches that have been
are related to the combination of a specific service employed to develop better object-oriented software
stakeholder type and view, the participant knows systems are naturally integrated into this SoSR
methodology: SOA is used to describe the three
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 9
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007
different types of service stakeholders: service Web Information Systems Engineering. Vol. 2. pp.
consumer, service broker, and service producer. A 2157-2161.
three-layered architecture is distributed over the three [5] Erl, T. (2004). Service-Oriented Architecture: A Field
different types of service stakeholders: service Guide to Integrating XML and Web Services. Upper
Saddle River, NJ: Prentice Hall.
consumer for presentation layer, service broker for [6] Goepfert, J., Whalen M. (2002). An Evolutionary View
business logic layer, and service producer for business of Software as a Service. IDC White paper.
logic and data access layers. A multi-tier architecture [7] Highsmith, J. (2002). Agile Software Development
is used to depict the deployment view of each service Ecosystems. Boston, MA: Addison-Wesley.
stakeholder type. The 4+1 view has been used for [8] Kruchten, P. B. (1995). The 4+1 View Model of
model-driven and object-driven development. Architecture. IEEE Software, 12 (6), pp. 42 – 50.
Especially, the inclusion of a business process engine [9] Kruchten, P. (2003). The Rational Unified Process: An
for executing the composite services shows how SOC Introduction, (3rd Ed.) Boston, MA: Addison-Wesley.
can affect future information system design, [10] Lea, D., Vinosk, S. (2003). Middleware for Web
Services. IEEE Internet Computing, IEEE, 7 (1), 28 –
deployment, and integration.
29.
However, there are not enough related examples for [11] Meier, J. D., Mackman, A., Dunner, M., Vasireddy, S.,
the SoSR methodology. The examples in this project Escamilla R., Murukan, A. (2003). Improving Web
are just a starting point to introduce a SoSR Application Security: Threats and Countermeasures.
methodology in parallel with the advent of SOC. The Microsoft Corporation.
SoSR knowledge base needs to grow by developing [12] Seacord, R. C., Plakosh, D., Lewis, G. A. (2003).
more examples of SoSR solutions, and proper Modernizing Legacy Systems: Software Technologies,
responsibilities will be assigned to proper roles. A Engineering Process, and Business Practices. Boston,
community of SoSR researchers can contribute to this. MA: Addison-Wesley.
[13] Turner, M., Budgen, D., Brereton, P. (2003). Turning
Software into a Service. IEEE Computer. Vol. 36, No.
8. References 10. pp. 38-44.
[14] Value Based Management.net. RACI Model.
[1] Bieberstein, N., Bose, Sanjay, Fiammante, M., Jones, http://www.valuebasedmanagement.net/methods_raci.ht
K., Shah, R. (2005). Service-Oriented Architecture ml (accessed on May 19, 2006).
(SOA) Compass: Business Value, Planning, and [15] Weerawarana, S., Vurbera, F., Leymann, F., Dtorey, T.,
Enterprise Roadmap. IBM Press. Ferguson, D. (2005). Web Services Platform
[2] Booch, G., Rumbaugh, J., Jacobson, I. (2005). Unified Architectures. Upper Saddle River, NJ: Prentice Hall.
Modeling Language User Guide, (2nd Ed). Boston, MA: [16] Wikipedia. RACI
Addison-Wesley. diagram.http://en.wikipedia.org/w/index.php?title=RAC
[3] Chikofsky, E. J., Cross, H. J, II. (1990). Reverse I_diagram&oldid=51658531 (accessed on May 19,
Engineering and Design Recovery: A Taxonomy. IEEE 2006).
Software Vol. 7, No. 1. Jan. 1990. pp. 13-17.
[4] Chung, S. and Lee, Y. S. (2000). Reverse software
engineering with UML for Web site maintenance. The
Proceedings of the First International Conference on
Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
0-7695-2755-8/07 $20.00 © 2007 10