Академический Документы
Профессиональный Документы
Культура Документы
This report takes a look at the capabilities provided by the IBM WebSphere Service Registry and Repository. We explore the customization and extension capabilities provided to understand the support for the meta models inherent in Service Lifecycle Automation and SOA Configuration Management as discussed in recent reports. By Lawrence Wilkes
23
Standard-based schemas for describing Services such as Web Service Description Language (WSDL) Service Component Definition Language (SCDL) for Service Component Architecture (SCA) Services
o o
Policy Documents. For example, conforming to WS-Policy User-defined documents in XSD or just XML. For example, these might be schemas for business objects or business messages that are standardized within a particular vertical industry, that might form the basis of a service specification. Other types of document can be loaded into WSRR , such as Microsoft Office documents (e.g. a Word description or a Vizio diagram) Documents can also be broken down into logical objects (derivations). For example, a WSDL Document can be parsed into logical objects for each of the interfaces, messages, bindings, and so on.
o o
Concepts (business objects): Allows the user to define any generic object that doesnt have an associated document type. It may just be a pointer to content held elsewhere, such as in a development tool. A Concept can also be used to group documents.
24
Classifications. Including industry standard service classifications, or user defined. For example, adding classification of Services according to SAE Service Architecture Layers Relationships. Associations to other documents or concepts Properties. Whatever further properties the user wishes to add
Services can therefore be represented and managed in WSRR in a number of ways. For example, a Business Service - a service provided by the business, irrespective of whether it is implemented in software or not - could be managed as a Concept, whereas its implementation can be managed as a WSDL Document. These can then be associated together via relationships, so that the conceptual Business Service can be traced though to its realization as a Web Service. WSRR enables objects and their relationships to be viewed graphically as well as via the textbased explorer, as shown in Figure 2 where the logical derivations of a WSDL file are visualized.
Classification
Classifications enable the content of WSRR to be more easily searched, filtered or navigated. For example, classifying Service Types according to Service Architecture layers in SAE. Classifications should not be used as a substitute for modeling objects. For example to show which Services belong to a business domain, you could create the business domain as a
25
concept, and then make relationships to the Services it contains. However, if you have no need to store any additional properties about business domains or create further relationships to them, then a simple classification may be sufficient.
26
The lifecycle can be customized, or a new one defined using WebSphere Integration Developer (WID). The lifecycle defines the permitted states, transitions allowed between states, conditions for transition, and actions that are upon transition.As an example, the life cycle state machine diagram for the IBM SOA Foundation life cycle is shown in Figure 3. WID creates State Adaptive Choreography Language (SACL) files containing an XML representation of the State Machine. An example of SACL is shown below. These could be defined manually without WID. <sacl:mainStateMachine> <sacl:state name="State1"/> <sacl:compositeState name="CompositeState1"/> <sacl:transition name="transition1"/> </sacl:mainStateMachine> Example of SACL (source IBM) As a final step, the SACL files must also be turned into an OWL file. At least this is done by WSRR. WSRR only allows one SACL file to be loaded at a time. This is not as constraining as it might sound, as a SACL file can hold multiple, complex lifecycles. This makes it possible to define alternative paths through the lifecycle for different objects. Constructing a WSRR lifecycle based on CBDI-SAE Service Lifecycle 2 would therefore be straightforward. A list of the states together with permitted transitions is also available in the CBDI-SAE Knowledgebase 3 We note that WSRR did ship with a sample lifecyle very similar to the CBDI-SAE Service Lifecycle in an earlier version, so this may still be available to users. The SOA or Service lifecycle states should not be confused with the development status of a particular document instance in terms of whether it is still in the draft stage or has been approved. WSRR does not currently manage this sort of document lifecycle, so any content would be considered approved. Though users could limit access to objects that they do not wish others to see by using permissions, or role-based views.
27
Policy Management
A significant new feature of WSRR 6.2 is Policy Management. This enables SOA Policies to be managed as documents in WSRR, as well as providing a Policy Authoring tool that runs in the WSRR web-UI. As well as being used to define the policy files used by the Governance Policy Validator mentioned above, the policy authoring tool can be can be used to author SOA policies that will be enforced elsewhere, outside of WSRR. For example these could be run-time policies enforced by an Enterprise Service Bus (ESB), Service/Systems management tool, or security products. The challenge in this activity is identifying the structure and content of the policies that could be published to such tools, particularly the detail of the assertion languages they understand to determine the rules they must enforce. As a consequence, WSRR currently enables policies to be authored based on the WS-Policy standard, such as those that cover security, reliable messaging or transaction co-ordination. As these provide standardized assertion languages, WSRR is able to provide the UI to define the policy, as illustrated in Figure 4
28
This can be used to define configurations as discussed in the report on Service Configuration Management 4. For example, Service Specification can be defined as a Concept that groups the various documents that make up the Service Specification in the Service Lifecyle Automation report 5. When creating an instance of that group, the relationships can be made to specific versions of the documents in the group. The Service Specification would also be defined as a Business Model Template to ensure all instances of Service Specification had the same content. And as a Governed Entity this could be subject to a lifecycle that determines which objects in the group and their relationships should exist at each lifecycle state.
Interoperability
Access to, and interoperability with WSRR is provided through a comprehensive API that is exposed either via Java, SOAP Web Services or REST (Representative State Transfer) protocols. These allow content, lifecycle and ontology to be managed via the API, providing additional import/export mechanisms, or interoperability with tools. Some specific interoperability features are listed in Table 1.
IDE and other development tools IBM Rational Asset Management can publish content to, or retrieve from, WSRR A SupportPac enables Visual Studio to exchange documents with WSRR A SupportPac enables developers to exchange documents with WSRR within an Eclipse environment UDDI Registry WSRR does not provide standard UDDI interfaces. However, the UDDI Synchronizer feature allows content in WSRR to be mapped to and synchronized with UDDI V3 registries using the WSRR API Tivoli can exchange information with WSRR. For example, publishing deployment metadata into WSRR. A SupportPac for Tivoli Composite Application enables the SOA Event Handler to publish events to that update metadata in WSRR. This would for example, enable the operational status of services or other QoS information to be visible from within WSRR. WSRR can discover and import WSDL files from IBM WebSphere Application Server Oracle Application Server Microsoft Windows .NET
CMDB
Service Management
Service Discovery
WSRR can also discover and import SCA integration modules in WebSphere Enterprise Service Bus and WebSphere Process Server. The Service Discovery Framework enables developers to build plug-ins for any environment. Table 1 - Interoperability Features
29
Representing CBDI-SAE
Implementing the structures of CBDI-SAE inside WSRR should be straightforward, although would require preparation, primarily to construct the OWL ontology to represent SAE. Various classes in the CBDI-SAE Meta Model for SOA could be represented as concepts in WSRR, and then as shown in Table 2, further concepts could be defined to represent deliverables. These deliverables could then show relationships to contained objects. We are aware of at least one CBDI subscriber that has implemented SAE concepts within WSRR in this way. The Business Model Templates to define these Concepts and their relationships in WSRR can be constructed from deliverable templates provided by CBDI or from the attribute definitions for the CBDI-SAE Meta Model for SOA. These are provided in the resource library of the CBDI-SAE Knowledgebase 6 Structuring it this way would enable the ontology to enforce governance rules via WSRR. For example, a Service Specification must have a relationship to a Service Architecture, whilst a Service Architecture must have a relationship to a Service Portfolio. Or that a Service Specification must have a relationship to Specified Operations and a Service Information Model. A specific configuration of Service Portfolio Plan could then be defined as a Concept Group that groups the physical documents together as a unit. SAE Deliverable or Concept
Service (notional)
Instantiation in WSRR
Service Portfolio
Concept. Relationship to contained or associated objects Business Models (pointer to) Service Architectures Service (notional)
Service Architecture
Concept. Relationship to contained or associated objects Service Specifications Architecture Model (pointer to)
Service Specification
Concept. Relationship to contained or associated objects. e.g. Specified Operation Service Information Model (pointer to)
Specified Operation
Concept. Relationship to contained or associated objects. e.g. Operation Signature = XSD document
Concept. Might be possible to define some elements of the SLA using Policy. e.g. Security Policy
30
Instantiation in WSRR
Policy Domain Policy Document. Attach to relevant objects Table 2 - Defining CBDI-SAE in WRSS
Summary
WSRR is a powerful product, essentially an engine that is totally driven though a configuration profile. However, building the configuration profile required is a relatively complex activity and needs planning and forethought. Architects cannot just dive in and quickly establish a meta model or lifecycle through the WSRR UI as might be possible in some other registry/repository products. Rather various schemas and ontologies must be defined and imported into WSRR first. Subsequent updates to the configuration must undergo the same process. However, encouraging architects to properly think through their requirements and produce their ontology for SOA is not a bad thing. We imagine that many users will look to IBM for help in building their configuration. WSRR is therefore aimed at the more mature SOA organization, which has a growing inventory of SOA assets, and recognizes the need for additional governance. They are likely to have already established their SOA approach and framework, either as part of their own EA initiatives, or by adopting something like TOGAF, IBMs own SOMA approach, or CBDI SAE. WSRR then provides them with a capability in which they can physically instantiate that approach in a registry/repository and better enforce their Service Lifecycle and the policies that should govern their deliverables.
1 2
Service Lifecycle Automation. CBDI Journal, Dec 2008. See Table 6, elements of a Service Specification.
31
About CBDI
CBDI Forum is the Everware-CBDI research capability and portal providing independent guidance on best practice in service oriented architecture and application modernization. Working with F5000 enterprises and governments the CBDI Research Team is progressively developing structured methodology and reference architecture for all aspects of SOA.
CBDI Products
The CBDI Journal is freely available to registered members. Published quarterly, it provides in-depth treatment of key practice issues for all roles and disciplines involved in planning, architecting, managing and delivering business solutions. Visit www.cbdiforum.com to register. Platinum subscription A CBDI Forum subscription provides an enterprise or individual with access to the CBDI-SAE Knowledgebase for SOA delivering ongoing practice research, guidance materials, eLearning, tools, templates and other resources.
Everware-CBDI Services
At Everware-CBDI we enable large enterprises and governments to become more agile by modernizing their business systems. We have repeatable processes, resources, tools and knowledge-based products that enable enterprises to transform their current applications in an efficient, low risk manner, into an optimized service-based solutions portfolio that supports continuous, rapid and low cost evolution. Our consulting services range from providing practices and independent governance to architecture development, solution delivery and service engineering.
Contact
To find out more, and to discuss your requirements visit www.everware-cbdi.com or call USA and Americas: 703-246-0000 or 888-383-7927 (USA) Europe, Middle East, Africa, Asia, and Australasia: Telephone: +353 (0)28 38073 (Ireland)
www.everware-cbdi.com
IMPORTANT NOTICE: The information available in CBDI publications and services, irrespective of delivery channel or media is given in good faith and is believed to be reliable. Everware-CBDI Inc. expressly excludes any representation or warranty (express or implied) about the suitability of materials for any particular purpose and excludes to the fullest extent possible any liability in contract, tort or howsoever for implementation of, or reliance upon, the information provided. All trademarks and copyrights are recognized and acknowledged. The CBDI Journal may be distributed internally within customer enterprises that have current corporate subscriptions. Otherwise CBDI Journals may not be copied or distributed without written permission from Everware-CBDI.