Title: ServiceOriented DesignPart I: Introduction
1Chapter 13
- Service-Oriented Design(Part I Introduction)
2Introduction to Service Oriented Design
- Service-Oriented Design is the process by which
concrete physical service designs are derived
from logical service candidates and then
assembled into abstract compositions that
implement a business process.
3Primary questions answered by this phase
- How can physical service interface definitions be
derived from the service candidates modeled
during the service-oriented phase? - What SOA characteristics do we want to realize
and support? - What industry standards and extensions will be
required by our SOA to implement the planned
service designs and SOA characteristics?
4Overall goals
- Determine the core set of architectural
extensions. - Set the boundaries of the architecture.
- Identify the required design standards.
- Define abstract service interface designs.
- Identify potential service compositions.
- Assess support for service-orientation
principles. - Explore support for characteristics of
contemporary SOA.
5Design standards vs. Industry Standards
- Design Standards represent custom standards
created by an organization to ensure that
services and SOAs are built according to a set of
consistent conventions. - Industry Standards are provided by standards
organizations and are published in Web Services
and XML specifications.
6The Service-oriented design process
- First establish a parent process that begins with
preparatory work. - Leads to a series of iterative processes that
govern the creation of different types of service
designs and the design of the overall solution
workflow.
7Step 1 Compose SOA
- Underlying architecture needs to be well defined.
- Asks us to formally define a standard set of
service layers, then choose open technologies in
support of those layers.
8Step 2 to 4 Design Services
- Steps are represented by three following
services - Entity-centric business service design process.
- Application service design process.
- Task-centric business service design process.
9Step 5 Design service-oriented business process
- Create our orchestration layer the glue that
binds our services with business process logic. - Translates into the creation of a WS-BPEL process
definition.
10XML Schema Definition Language (XSD)
- XML Schema definition describes what can be in
an XML document. - XSD schemas provide data types to represent
information in XML document instances.
11The schema element
- Schema element is the root of every XSD schema.
- Contains series of common attributes used
primarily to establish important namespace
references. - Tells the XML parser that it is an XSD schema.
12The element element
- Can declare a custom element that is referenced
by its name within an XML document instance - type attribute can be set to one of the
predefined data types established by the XML
schema specification
13complexType
- Can group elements and attributes into a
composite type that can be used to represent a
set of related date representations - These can be assigned to one or more elements,
facilitating standardization and reuse of
commonly grouped information - Avoids redundant element declarations
- sequence element established a specific order for
element elements
14simpleType
- Allows you to group related data representations
also, but they cannot contain attributes or
further child elements
15import and include elements
- Used to point to the locations of the XSD schema
file that will be pulled in when the schema is
processed at runtime - include used to reference schemas that use the
same target namespace as parent schema - import points to schemas that use a different
target namespace
16WSDL
- Web Services Description Language
- Most fundamental technology standard associated
with the design of services
17definition element
- The root or parent element of every WSDL document
- Location in which the many namespaces used within
WSDL documents are established
18types element
- Is where XSD schema content is placed
- Can consist of actual XSD schema markup
- Can contain import elements that reference
external schema definitions - Not a required element
19message and part schema
- For every message a service is designed to
receive or transmit, a message construct must be
added - Assigns the message a name and contains one or
more part child elements that are each assigned a
type - part elements identify the data type of the
message part
20portType, interface, and operation element
- Service operations are defined within portType
area - Represents collections of operations
- Individual operations are defined using operation
element - Version 2.0 specification changes portType name
to interface
21input and output elements(when used operation)
- operation contains input and/or output child
elements - Represent the request and response messages the
operation is capable of processing
22binding element
- Assigns a communication protocol that can be used
to access and interact with the WSDL
23input and output element(when used with binding)
- Do not reference the message elements again
- Contain protocols details that establish how the
messages are processed and interpreted
24service, port, and endpoint elements
- service element provides a physical address at
which the service can be accessed - port element contains a soapaddress element with
physical address information - port is replaced with endpoint element in version
2.0 WSDL specification
25import element
- Import parts of WSDL definition as well as XSD
schemas
26documentation element
- Optional element
- Allows you to add descriptive, human-readable
annotations within a WSDL definition
27envelope element
- Represents the root of SOAP message structures
- Contains mandatory Body construct and optional
Header construct
28Header element
- Key enabler of feature set provided by WS-
specifications
29Body element
- The one required child element of SOAP Envelope
construct
30Fault element
- Optional, provides a ready made error response
that is added inside the Body construct
313 common approaches to working with WSDL and XML
Schema markup language
- Autogeneration
- Design Tools
- Hand Coding
32Autogeneration
- WSDL and XSD schema markup code can be
auto-generated with a development utility - Common for efficiently generating a service
interface that mirrors the interface of
distributed back-end component - Highly discouraged within SOAs, opposed
preference of WS- specifications for a
document-style message model
33Design tools
- Drag and drop of elements allowed
- Assemble a service interface without having to
type out markup syntax
34Hand Coding
- Writing out code in text editor or XML editor