Académique Documents
Professionnel Documents
Culture Documents
Page 1
UNIT 3
Page 2
service-oriented analysis
Business-centric SOA
Deriving business services
service modeling
Page 3
service-oriented analysis
The process of determining how business automation
requirements can be represented through service-
orientation.
Goals :
Define a preliminary set of service operation candidates.
Page 4
The service-oriented analysis process
Every organization has developed its own
approach to analyzing business automation
problems and solutions, and years of effort
and documentation will have been invested
into well-established processes and modeling
deliverables.
Page 5
Questions that should be answered prior to
proceeding with the service-oriented analysis
include:
Page 6
The service-oriented analysis process is a
sub-process of the overall SOA delivery
lifecycle
Page 7
Step 1: Define business automation requirements
business requirements are normally collected, their documentation is
required for this analysis process to begin. Requirements related to the
scope of that solution should be considered.
Page 8
Benefits of a business-centric SOA
Page 9
Page 10
Business services prepare a process for
orchestration
Moving to an orchestration-based service-oriented environment
anytime soon, modeling current processes so that they
eventually can be more easily migrated to an orchestration-
driven environment is recommended.
Page 11
Only business services can realize the
service-oriented enterprise
Business service modeling marries the principles of
service-orientation with an organization's business
model.
Page 12
Deriving business services
Page 13
Sources from which business services can be
derived
Page 14
Business Process Management (BPM) models
It is an industry-wide process modeling and remodeling
activity.
Page 15
Types of derived business services
Task-centric business services
These are Web services that have been modeled to
accommodate a specific business process. Operations are
grouped according to their relevance to the execution of a
task in support of a process.
examples of task-centric business services are:
VerifyInvoice
GetHistoryReport
Task-centric services usually result from modeling
exercises that are focused on meeting immediate
business requirements.
Page 16
Entity-centric business services
Entity-centric business services are produced as part of a long-term or on-
going analysis effort to align business services with existing corporate
business models.
When the process logic changes, the context under which the services are
used and composed may change as well. This may invalidate the original
grouping of service operations and could result in the requirement for a
redesign and redevelopment effort.
Process description
Process provides steps for the modeling of an
SOA consisting of application, business, and
orchestration service layers.
Page 19
Page 20
Step 1: Decompose the business process
Take the documented business process and
break it down into a series of granular process
steps.
Page 21
Decomposing the Invoice Submission
Process
Page 22
Page 23
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
option.
Page 24
Step 3: Abstract orchestration logic
To build an orchestration layer as part of SOA, then It
should identify the parts of the processing logic that
this layer would potentially abstract.
Potential types of logic suitable for this layer include:
business rules
conditional logic
exception logic
sequence logic
These forms of orchestration logic may or may not be
represented accurately by a step description.
Example
some processing step descriptions consist of a condition and
an action. In this case, only remove the condition and leave
the action.
Page 25
Step 4: Create business service candidates
Page 26
Step 5: Refine and apply principles of
service-orientation
Page 27
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.
Page 28
Step 7: Revise business service operation
grouping
Based on the results of the composition
exercise in Step 6, revisit the grouping of
business process steps and revise the
organization of service operation candidates
as necessary.
Page 29
Step 8: Analyze application processing
requirements
This view could very well consist of both
application and business service candidates.
Page 32
Service Oriented Design
WSDL basics
SOAP basics
Page 33
Entity-centric business service
design
Entity-centric business services represent data
entities defined within an organization's business
models.
Page 34
Page 35
Page 36
Step 1: Review existing services
The first step in designing a new service is to
confirm whether it is actually even necessary.
Page 37
Step 2: Define the message schema types
It is useful to begin a service interface design with a formal
definition of the messages the service is required to
process that are defined within the WSDL types area.
Page 39
The Employee schema providing complexType constructs used to
establish the data representation anticipated for the "Get weekly hours
limit" operation candidate
Page 40
Page 41
Page 42
Step 3: Derive an abstract service interface
Confirm that each operation candidate is suitably
generic and reusable.
Page 43
Page 44
Page 45
Step 4: Apply principles of service-
orientation
service reusability
service autonomy
service statelessness
service discoverability
operations exposed by entity-centric
business services are intended to be
inherently generic and reusable (the use
of the import statement is encouraged to
reuse schemas and create modular WSDL
definitions).
Page 46
Page 47
Step 5: Standardize and refine the service
interface
Review existing design standards and guidelines and
apply any that are appropriate.
Page 48
Page 49
Page 50
Step 6: Extend the service design
Page 51
Page 52
Page 53
Step 7: Identify required processing
While the service modeling process from our
service-oriented analysis may have identified
some key application services, it may not
have been possible to define them all.
Page 54
Application service design
Page 55
Application service design
It represent the bottom sub-layer of the composed
service layer responsible for carrying out processing
demands by the business and orchestration layers.
Page 56
The application service design process.
Page 57
Both application and entity-centric
services establish reusable service logic
and rely on parent controllers to compose
them into business process-specific tasks.
Page 58
Step 1: Review existing services
it is important to ensure that the functionality required,
as per the application service candidate, it is very
necessary to review existing inventory of application
services in search of anything resembling what are
about to design.
Page 59
Step 2: Confirm the context
it is important that the operation candidate
grouping proposed by service candidates be
re-evaluated and compared with existing
application service designs.
Page 60
Step 3: Derive an initial service interface
Analyze the proposed service operation candidates and
follow the steps to define the first cut of the service
interface:
Page 61
Page 62
The XSD schema types required by the TransformToNative
operation.
Page 63
The additional types for use by the TransformToXML
operation
Page 64
The message and
portType constructs
of the abstract
Transform
Accounting
Documents Service
definition.
Page 65
Step 4: Apply principles of service-
orientation
This step highlights the four principles of
service-orientation
service reusability
service autonomy
service statelessness
service discoverability
Page 66
Case Study
The Transform Accounting Documents Service
undergoes a review to ensure that it is properly
incorporating service-orientation principles.
Page 67
The Transform Accounting Documents portType construct
with supplemental metadata documentation.
Page 68
Step 5: Standardize and refine the service
interface
We accomplish this by ensuring that the resulting
application service WSDL definition is based on the
same standards and conventions used by others.
Page 69
Case study
Upon a review of the service design, increased extensibility is
achieved with the following adjustments:
The service name is changed again, this time shortened to just
"Transform."
The TransformXMLToNative and TransformNativeToXML operations
are renamed to something more generic. The new names are
ForAccountingImport and ForAccountingExport
Page 70
Step 6: Outfit the service candidate with
speculative features
In delivering highly reusable application services, can
take this opportunity to add features to this service
design.
Page 71
Step 7: Identify technical constraints
Page 72
Task-centric business service
design
Page 73
Task-centric business service
design
only the service operation candidates
identified as part of the service modeling
process are addressed here.
Page 74
Page 75
Process description
task-centric business
services contain and
govern portions of
business processes.
Page 76
Case Study
Page 77
A service candidate with no operation candidates means that this
service is a pure controller, solely dedicated to coordinating the
underlying service composition.
It also means that RailCo will need to define its service interface
from scratch during this design process.
Page 78
Step 1: Define the workflow logic
Task-centric services typically will contain
embedded workflow logic used to coordinate
an underlying service composition.
Page 79
Case Study
RailCo generates activity diagrams for all
interaction scenarios involving the Invoice
Processing Service.
Page 80
Page 81
failure condition stops the process dead in its tracks. In this case, the
Transformation Service returns an error, perhaps due to receiving an
invalid document.
Page 82
Step 2: Derive the service interface
1. Use the application service operation candidates to
derive a set of corresponding operations.
2. The activity diagrams and the workflow logic we
documented in Step 1 gives us a good idea as to what
additional operations for task-centric service may
require.
3. Document the input and output values required for the
processing of each operation and populate the types
section with XSD schema types required to process the
operations.
4. Build the WSDL definition by creating the portType (or
interface) area, inserting the identified operation
constructs. Then add the necessary message constructs
Page 83
Case study
Page 84
Page 85
by creating a preliminary types construct with the following
complexType to match these parameter requirements:
A complexType construct designed to receive two parameters from the
Polling Notification Service.
Page 86
Next, it defines the operation and its associated message within the
portType and message constructs:
Page 87
Step 3: Apply principles of service-orientation
Reuse opportunities for task-centric services are much more rare than for
entity-centric and application services. This is because task-centric services
represent a portion of workflow logic specific to a business process.
However, reuse still can be achieved. The Take into account the cross-
process reusability of the logic being encapsulated and Consider the
potential intra-process reusability of the logic being encapsulated .
Task-centric services contain workflow logic. This can lead to the need for
state management. However, the use of document-style SOAP messages
allows the service to delegate the persistence of all of this state information
to the message itself.
It is always useful for services to be discoverable, but the need for task-
centric services to be discovered more generically reusable services.
Regardless, task-centric services can achieve reuse, and their existence
should be known to others. Therefore, the Document services with metadata
guideline is recommended.
Page 88
The portType construct with an additional documentation
element.
The portType construct with an additional documentation element.
Page 89
Step 4: Standardize and refine the
service interface
Incorporate existing design standards and
guidelines.
Ensure that any chosen contemporary SOA
characteristics are fully supported by the
service interface design.
Take WS-I Basic Profile standards and best
practices into account.
Page 90
The revised types construct of the Invoice Processing
Service definition
Page 91
The documentation element contents also have been
changed
Page 92
Page 93
Step 5: Identify required processing
Page 95
service candidate
Page 96
Introduction to service-oriented analysis ge :
Page 97
Second Page :
"Lorem ipsum dolor sit amet, consectetur
adipisicing elit, sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est
laborum."
Page 98