260 likes | 468 Views
Registry/Repository in a SOA Environment. SOA Brown Bag #5 . SWIM Team. March 9, 2011. Agenda. Service Discoverability What is a Service Registry/Repository? Taxonomies and Artifacts Standards Design-Time vs. Runtime NAS Service Registry/Repository (NSRR) Roles Access Requirements
E N D
Registry/Repository in a SOA Environment SOA Brown Bag #5 SWIM Team March 9, 2011
Agenda • Service Discoverability • What is a Service Registry/Repository? • Taxonomies and Artifacts • Standards • Design-Time vs. Runtime • NAS Service Registry/Repository (NSRR) • Roles • Access Requirements • Standards and Policies
Service Discoverability • Discoverability is a key Principle of Service Design1 in a Service-Oriented Architecture (SOA) • Common metadata framework to express purpose and capabilities of the Service • Allow human browsing • Allow machine-to-machine queries 1Principles of Service Design, Erl et.al. Prentice Hall, 2008
Registry Repository Service Registry Discover and Retrieve Contract Publish and Register Contract Service Consumer Service Provider Exchange Messages "In fact, it was the existence of a discovery mechanism that primarily distinguished SOA from previous distributed architecture models." Principles of Service Design
Service Registry/Repository • A Service Registry is a resource that provides controlled access to data necessary for the governance of SOA projects • A Repository is a database containing the software and metadata that constitutes a SOA registry • Sometimes called a meta-repository • Facilitates content validation and workflow support • Stores Policies, Processes, and Schemas to support Governance Activities Note: These are usually referenced as one product, often called a Registry/Repository
Why a Registry/Repository? • Centralized Discovery • Lifecycle Governance • Centralized deployment • Policy and Standards enforcement • Automated Service Notification mechanism • Central to any SOA infrastructure in the promotion of Reuse
Policy Policy Policy Policy Metadata Metadata Implementing an Infrastructure for SOA Governance Service Registry Service Management Record Alerts SLA Information Monitor Services Discover Services and Policy Web Services Consumer Web ServicesProvider Identity Management Federated Identity Manager IdentityManager AccessManager Service Security Access Control & Single Sign-On User Provisioning
Taxonomies • “A hierarchical organization of categories or values used for classification” (FAA-STD-066) • FAA-STD-066 defines required taxonomies for FAA • Use and support of taxonomy enforcement is critical to the success of any registry implementation • SWIM has defined additional taxonomies required for NAS Services
Potential Taxonomy Candidates • Organization Unit • Business Name • Lifecycle Stage • Services for Citizens
Artifacts • An Artifact is a repository item attached to a service that describes the service or may be used to access the service • Some examples include: • WSDL • Web Service Description • WSDD • Web Service Description Document • Defined in FAA-STD-065 • ConOps • Concept of Operations, for interfaces, messaging, etc. • IRD • Interface Requirements Document
Registry Standards • Universal Description, Discovery, and Integration (UDDI) • Supports the enforcement of enterprise policies • Policy enforcement will enhance registry data quality • Minimize inconsistent or incomplete data in the registry • Ensure mandatory fields are mandatory • Electronic Business XML (ebXML) • Created to primarily support secured business transactions
Universal Description, Discovery, and Integration (UDDI) • UDDI is an XML-based Web service standard that describes how to implement and interact with a service registry • UDDI is focused exclusively on this discovery aspect • The framework describes which data structures and Application Programming Interfaces (APIs) a Web service registry must offer to support Web service publication and search • UDDI is the most prominent e-business registry specification for discovery purposes
Electronic Business XML (ebXML) • An ebXML registry is focused on both discovery and collaboration • Promotes an open XML based infrastructure for interoperable, secure and consistent exchange of information about electronic business • Provides a framework to define core components for e-business that can be reused in any context, such as the naming of data types in a WSDL document • ebXML registries are web services and, as such, they can be registered in UDDI, becoming available as any other web service
Types of Registry Interfaces • Design-time Registry • The Design-time registry provides an environment where one is able to publish and subscribe to the available assets within registry • Runtime Registry • A Runtime registry provides all of the capabilities of the Design-time registry with additional capabilities that include, monitoring, policy enforcement, metric reporting, etc.
Design-time vs. Runtime Design-time Runtime Machine-to-Machine Focus on discovery of endpoints that comply with certain service interfaces Decision Support tools Service Compositions Runtime Requirement is a driver for standardized registry interface (UDDI) • Human interactive • Generate service Stubs from WSDLs • Browsing typically done through web interface
NAS Service Registry Repository • NSRR Product • Hewlett Packard – Systinet 3.20 • Anticipate migration to Systinet 4.0 • Underlying Oracle database
NSRR User Access • Access can be gained by completing the NSRR User Account Request Form Location: www.swim.gov -> documents -> SWIM Compliance Documents -> NSRR User Account Request Form Mail to: paul.jackson@faa.gov
NSRR Discovery • The Search capability within the NSRR allows the discovery of services • Queries can be enhanced by the use of: • Wildcards “%” & “*” • Logical Operators • “AND” • “OR” • “NOT”
Organizational Units • Services in the NSRR must be associated with a registered Organizational Unit • Typically a Program Office • Allows hierarchical categorization of Services, with a single managerial point of contact
NSRR Roles • NSRR Administrator • Service Provider • Service Consumer • Governance Lead • Points of Contact • Manager • Architect • Developer • Production Manager • Technical Support