CC Unit2 24 Class5
CC Unit2 24 Class5
• SOA was created by the industry to solve a problem: how to make disparate, diverse, and distributed services talk to
disparate and diverse clients.
• The final result of an SOA project isn’t the access of services, per se; it is the creation of a business process.
• In a complex business project, the developers juggle many clients and many services, which can make visualization
of the overall system difficult.
• To address this problem, various modeling tools have been developed to support SOA development and optimization,
system and process management, change and life-cycle management.
• Working in a software package to model your business processes is similar in approach to designing and optimizing a
relational database in entity-relationship, object-role modeling package, or another Computer Aided System
Engineering (CASE) tool for data storage and equally as valuable.
Business Process Modeling
• Unified Modeling Language (UML): The UML standard is the work of the Object Management Group
(http://www.omg.org/).
• UML creates graphical representations of software systems in the form of a set of diagram types. Elements in a
UML architectural blueprint include actors, business processes, logic modules (components), program routines,
database schemas, software components, and activities.
• UML diagrams are separated into seven structural types and four behavior types; structure types model the
components of the system, while behavior types model states, actions, and events.
• UML is widely used in the industry for software system modeling. A developed system model can be reduced
automatically to code.
• XML Metadata Interchange (XMI): XMI is another standard of the Object Management Group (OMG) and is used
to exchange metadata using the Extensible Markup Language (XML).
• Metadata is structured into a meta model that fits into the OMG’s Meta-Object Facility. UML models often use XMI
as their interchange format, although they can be used by other languages.
Business Process Modeling
• XMI files are not generally interchangeable between the different modeling languages that can use them. XMI has
been codified as an international standard by ISO, as IS0/IEC 19503:2005.
• Systems Modeling Language (SysML) is an open-source extension of the part of the UML system dealing with
profiles. It is smaller, more focused, and easier to learn and work with than UML itself. SysML reuses 7 of UML 2.0’s
13 diagrams.
• The effort to develop SysML was rolled into OMG in 2008, but remains open source. SysML can use XMI and is
developing toward support of ISO 10303, which is the Standard for the Exchange of Product Model Data (STEP)
AP-233.
• Business Process Modeling Notation (BPMN) is a methodology for representing business processes as a set of
connected visual objects that illustrate workflow in a Business Process Diagram (BPD).
• Originally developed in the Business Process Management Initiative (BPMI), it was incorporated into the Open
Management Group in 2005.
• A BPD can be reduced to the OASIS standard WS-Business Process Execution Language, which is an executable
language for information transfer between different Web services.
Business Process Modeling
• Service-Oriented Modeling Framework (SOMF): This framework was proposed by Michael Bell and combines a
modeling language with a graphical display of the various SOA components so the system can be viewed as a map of
objects and associated relationships.
• SOMF software allows developers to create an action plan to implement their business processes and can be
valuable in system and architecture optimization, tracing message pathways, positioning software assets correctly, and
providing a language for describing through abstraction and generalization how the processes operate.
• SOMF soft-ware not only allows you to determine what needs to be done, but also allows you to run “what-if”
scenarios to see how changes will impact your SOA system.
• SOMA reduces services to a set of service objects and breaks down relationships into three components: the services
themselves, the service components that make use of those services, and the information flows required to interact
between them.
• Flows consist both of processes as well as their internal composition. In SOMA, domains and functional groups are
identified, variables that affect processes are analyzed, and component development and object oriented analysis
are used to model specific cases. SOMA is meant to provide information on service and service boundaries, service
granularity, and asset analysis.
Business Process Modeling
In SOMF, the modeling is based on the elements of the service life cycle:
• Logical design: Building the system and process logic and determining how orchestration or choreography will be
performed
• Architecture design: Creating the system component architecture and reducing design to software components with
specified interfaces
• Circular topology: A circular topology is one where message passing is carried out in a circular fashion.
• There is no orchestrator in this system, and each component providing a service is responsible for knowing which
message to act on and where to send a message next. That is, the choreography of the system is maintained at the
component.
• Hierarchical topology: In a hierarchical topology, services are arranged in a tree pattern with parent/child
relationships.
• Messages from one service to another must traverse up the branch of the tree and down another branch from the root
until the matching service is found. Hierarchical topologies offer the advantage of a well-defined set of relationships,
a central location (the root) where logic may reside, and a clearly stated address space.
• The disadvantage of a hierarchical topology is that the overhead of passing a message from one service to another
isn’t optimized.
Business Process Modeling
• Network topology: A network topology has a many-to-many relationship between services and their clients.
• The advantage of a network topology is that the overhead associated with message passing has been minimized but
there is considerable overhead built into the system in order to maintain the many links needed.
• Star topology: In a star topology, services are designed to connect through a central service. The star model is favored
in orchestration processes and is useful for services that use broadcasting or multicasting services, publish and
subscribe, and other related systems.
Business Process Modeling
Business Process Modeling
• A service in SOMF that is granular and very narrow in scope is referred to as an atomic service. An atomic service cannot be
decomposed into smaller services that provide a useful function.
• An example of an atomic service is a customer lookup that contains a customer ID and the customer’s name and address. An
address that doesn’t contain the customer’s name or lists a customer name without an ID wouldn’t have much value, so this
service stands alone.
• A service that provides ID, name, and address might be part of a set of services that describe a bank account, customer purchase
record, or any number of services. A collection of services that work together is referred to as a composite service.
• The Enterprise Service Bus described previously in this chapter is another example of a composite service; it contains functions
for message routing, message interchange and translation, and process orchestration.
• A composite service is usually organized as a hierarchical topology and is multifunctional or a coarse-grained entity. SOA
describes a distributed collection of services performing business process functions.
Business Process Modeling
• A collection of composite services that would form a process module is referred to as a service cluster. Service
clusters may be composed of both atomic services and composite services.
• Large functions such as payroll modules would normally be composite SOA services.
• In an SOMF model, each of these three service types (atomic, composite, and clusters) appears as a specific shape,
and connections are made between them that generalize, specify, expand, or contract the services they provide.
• Services are typed, granular services are identified, and then services may be aggregated, decomposed, unified,
intersected, or subtracted from other services to suit the needs of the business process being modeled.
• The SOMF modeling notation has a symbol for each analysis that relates one service to another. As you build a
business process, you add services to the model and connect them in ways that make sense for your workflow.
• When the model is complete and optimized, it is reduced to a conceptualized service that relates the business process
to the specific implementation chosen. Some modeling technologies allow for the reduction of the model to executable
code.
Managing and Monitoring SOA
• Software for monitoring and managing an SOA infrastructure plays an important role in large SOA deployments.
• While SOA offers a logical design and reusable components, it does not make the task of network management any
easier. If anything, SOA management requires proactive over sight because you can’t wait for a particular application
to fail before taking corrective action.
• Tools for managing SOAs tend to be multifaceted and run constantly. There are a number of network management
frameworks products and suites, notably these:
• IBM Tivoli Framework Composite Application Manager for SOA (ITCAM; see http://
www-01.ibm.com/software/tivoli/solutions/),Oracle BPEL Process Manager (http://www.oracle.com/technology/bpel/
index.html)
• These products have SOA tools for network management. IBM’s product specializes in change management and SOA
lifecycle development, and it integrates with a WebSphere and other Tivoli systems.
Managing and Monitoring SOA
• HP SOA Manager provides dynamic mapping, monitoring, and optimization of SOA services such as Web services,
software assets, and virtual services.
• These framework products create a central console with a variety of management views. Oracle’s BPEL Process
Manager and WebSphere are process managers for creating an Enterprise Service Bus.
• The SOA management software technology is dynamic, with many small vendors’ products some of which have been
purchased and rolled into larger systems.
• Oracle’s recent acquisition of AmberPoint’s SOA Management System is an example of this trend.
• Enterprise SOA Testing platform specializes in testing Web service components that are used in SOA. Another
example of an SOA transaction manager is OpTier’s CoreFirst (http://www. optier.com/corefirst_overview.aspx.
• Configuration and change management present a particular challenge in the area of In addition to the fact that
elements of an SOA infrastructure can be highly distributed and therefore require good discovery mechanisms, these
environments also are highly virtualized.
• As workloads vary, solutions often provision virtual servers as needed and move these virtual servers’ processing
across physical servers. Virtualization will continue to challenge SOA management software well into the future.