• No results found

Service Modeling Process. initial stage that we determine the potential scope of our SOA. Figure 10.1: Common phases of an SOA delivery lifecycle.

N/A
N/A
Protected

Academic year: 2021

Share "Service Modeling Process. initial stage that we determine the potential scope of our SOA. Figure 10.1: Common phases of an SOA delivery lifecycle."

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

Copyright © Pearson Education, Inc.

Figure 10.1: Common phases of an SOA delivery

lifecycle. initial stage that we

determine the potential scope of our SOA

Service Modeling Process

At this stage, we do not produce services; we create service candidates. Similarly, we do not define service operations; we propose service operation candidates.

(2)

Copyright © Pearson

Education, Inc. Figure 12.1: A sample service modeling process.

This process provides steps for the modeling of an SOA consisting of application, business, and orchestration service layers

(3)

Copyright © Pearson Education, Inc.

Figure 12.2: The RailCo

Invoice Submission Process.

Step 1: Decompose the business process

•Create electronic invoice. •Issue electronic invoice.

•Export electronic invoice to network folder. •Poll network folder.

•Retrieve electronic invoice.

•Transform electronic invoice to XML document.

•Check validity of invoice document. If invalid, end process.

•Check if it is time to verify TLS metadata. •If required, perform metadata check. If metadata check fails, end process.

(4)

Copyright © Pearson Education, Inc.

Figure 12.3: The RailCo Order

Fulfillment Process.

The RailCo Order Fulfillment Process

•Receive PO document. •Validate PO document.

•If PO document is invalid, send rejection notification and end process.

•Transform PO XML document into native electronic PO format.

•Import electronic PO into accounting system. •Send PO to accounting clerk's work queue.

(5)

Step 2: Identify business service

operation candidates

• Some steps within a business process can be

easily identified as not belonging to the potential

logic that should be encapsulated by a service

candidate.

• Examples include:

– Manual process steps that cannot or should not be

automated.

– Process steps performed by existing legacy logic for

which service candidate encapsulation is not an

(6)

Invoice Submission Process: • Create electronic invoice.

– (A manual step performed by the accounting clerk.)

• Issue electronic invoice.

– (A manual step performed by the accounting clerk.)

• Export electronic invoice to network folder.

– (Currently a custom developed extension of the legacy system. Could be made part of a generic

service candidate.)

• Poll network folder.

– (Currently performed by a custom developed component. Could be made part of a service candidate.)

• Retrieve electronic invoice.

– (Currently performed by a custom developed component. Could be made part of a service candidate.)

• Transform electronic invoice to XML document.

– (Currently performed by a custom developed component. Could be made part of a service candidate.)

• Check validity of invoice document. If invalid, end process.

– (Is currently being performed as part of the Invoice Submission Service's parsing routine. No foreseeable need to change this.)

• Check if it is time to verify TLS metadata.

– (Is currently being performed as part of the Invoice Submission Service's parsing routine. Looks like a potentially reusable operation candidate. Could be moved to a separate service candidate.)

• If required, perform metadata check. If metadata check fails, end process.

– (Is currently being performed as part of the Invoice Submission Service's parsing routine. Looks like a potentially reusable operation candidate. Could be moved to a separate service candidate.)

(7)

Order Fulfillment Process:

• Receive PO document.

– (Is currently being performed by the Order Fulfillment Service. No foreseeable need to change this.)

• Validate PO document.

– (Is currently being performed by the Order Fulfillment Service. No foreseeable need to change this.)

• If PO document is invalid, send rejection notification and end process.

– (Is currently being performed by the Order Fulfillment Service. No foreseeable need to change this.)

• Transform PO XML document into native electronic PO format.

– (Currently performed by a custom developed component. Could be made part of a service candidate.)

• Import electronic PO into accounting system.

– (Currently a custom developed extension of the legacy system. Could be made part of a generic service candidate.)

• Send PO to accounting clerk's work queue.

– (Currently a custom developed extension of the legacy system. Could be made part of a generic service candidate.)

(8)

Step 3: Abstract orchestration logic

If you have decided to build an orchestration layer as part of your SOA, then you should identify the parts of the processing logic that this layer would potentially abstract.

(If you are not incorporating an orchestration service layer, then skip this step.)

Step 4: Create business service candidates

Review the processing steps that remain and determine one or more logical contexts with which these steps can be grouped. Each context represents a service candidate. The contexts you end up with will depend on the types of business services you have chosen to build.

task-centric business services will require a context specific to the process, while entity-centric business services will introduce the need to group processing steps according to their relation to previously defined entities.

(9)

Legacy System Service

•Export electronic invoice to network folder.

•Import electronic PO into accounting system.

•Send PO to accounting clerk's work queue.

Invoice Processing Service

•Poll network folder for invoice. •Retrieve electronic invoice.

•Transform electronic invoice to XML document.

•Check validity of invoice document. If invalid, end process.

PO Processing Service

•Receive PO document. •Validate PO document.

•If PO document is invalid, send

rejection notification and end process. •Transform PO XML document into native electronic PO format.

Metadata Checking Service

•Check if it is time to verify TLS metadata.

•If required, perform metadata check. If metadata check fails, end process.

(10)

Copyright © Pearson Education, Inc.

(11)

Copyright © Pearson Education, Inc.

Figure 12.4.2: The first versions of two

(12)

Step 5: Refine and apply principles of service-orientation

So far we have just grouped processing steps derived from an existing business process. To make our service candidates truly worthy of an SOA, we must take a closer look at the underlying logic of each proposed service operation candidate.

the following four key principles are not intrinsically provided through the use of Web services:

•reusability •autonomy •statelessness •discoverability

only the first two are important to us at the service modeling stage

(13)

Within the Legacy System Service, the "Send PO to accounting clerk's work queue" action can be performed only upon the receipt of a document. This operation candidate is

therefore directly dependent on the "Import electronic PO into accounting system" step. We therefore decide to combine these two steps into one.

"Export electronic invoice to network folder" action is performed automatically by a macro added to the legacy accounting system. It is therefore not required as part of our service candidate.

The revised Legacy System Service list contains the following steps:

•Export document to network folder. •Import and forward document to work queue.

(14)

Invoice Processing Service, we determine that the "Poll network folder for invoice" action can be made more generic by turning it into an operation candidate that simply polls a given folder for different types of documents. We also decide that this action should be made part of a service candidate capable of notifying subscribers of the arrival of new documents.

we decide to combine the "Retrieve electronic invoice," "Transform electronic invoice to XML document," and "Check validity of invoice document" operation candidates into a single service operation candidate called "Retrieve and transform invoice document."

Polling Notification Service: •Poll folder for new documents.

•If documents arrive for which there are subscribers, issue notifications.

The revised Invoice Processing Service list is left with just one step:

•Retrieve and transform invoice document.

(15)

operation candidates in the PO processing group, the "Receive PO document" is not a suitable service operation candidate, as receiving a message is a natural part of service operations

We then detect a direct dependency between the "If PO document is invalid, send

rejection notification and end process" and "Validate PO document" actions. As a result we decide to combine these into a single operation candidate called "Validate PO

document and send rejection notification, if required."

We move on to discover commonality between the "Transform PO XML document into native electronic PO format" action and the "Retrieve and transform invoice document" action from our Invoice Processing Service list.

Both operation candidates transform accounting documents.

(16)

The revised Metadata Checking Service list contains the following steps:

•Check if it is time to verify TLS metadata. If required, perform metadata check. •If metadata check fails, issue notification.

The candidates themselves are still relatively suitable for what we intended. However, because we've abstracted these into a generic service candidate

(17)

Step 6: Identify candidate service

compositions

• Identify a set of the most common scenarios

that can take place within the boundaries of

the business process.

• For each scenario:

– a good idea as to how appropriate the grouping of

your process steps is.

– identifies potential service compositions.

– highlights any missing workflow logic or

(18)

•Legacy System Service

•Polling Notification Service

•Transform Accounting Documents Service •Metadata Checking Service

Each of these service candidates represents generic, reusable, and business-agnostic logic. In other words, these can all be classified as application service candidates.

Collectively they establish a preliminary application service layer.

the PO Processing Service candidate still had one action associated with it, but our Invoice

Processing Service operation

candidates disappeared after we abstracted all of the associated process actions into separate application service candidates.

Both the PO Processing and Invoice Processing Service candidates establish a preliminary parent business service layer and contain all of the process logic required to compose the underlying application service candidates

Our business process is notcomplex, and we already have identified all of the application service candidates that represent our preliminary application logic. Therefore, the remaining steps are not required for our RailCo case study.

(19)

Copyright © Pearson Education, Inc.

(20)

Copyright © Pearson Education, Inc.

Figure 12.7: A sample composition representing the Order

References

Related documents

[r]

In this review, the research carried out using various ion-exchange resin-like adsorbents including modified clays, lignocellulosic biomasses, chitosan and its derivatives, microbial

While in Table 3 we present a pooled specification, to increase the chances for the added variables to exert a significant impact, in unreported regressions we repeat the

university reform claims that strategic manage- ment has been strengthened in the universities, while the role of university per- sonnel has remained weak. Two major strategy

The output characteristic (Fig. 6-1) for a water-gated PBTTT film is close to ideal, with very little hysteresis and a low threshold between 0V and 0.1V. The responses of PBTTT

"Use Enterprise Information Architecture Techniques to Move to Information Management" "SCM Vendors Support Master Data Management as a Precursor to

Select which of the following correctly describes a valid XML document with respect to "XML Schema

Safety of Annona muricata Extract Supplementation for Colorectal Cancer Patients.. Lili Indrawati*, Purwantyastuti**, Murdani Abdullah***, Ingrid S Surono****,