Tracking Service-Oriented and Web-Oriented Architecture

SOA & WOA Magazine

Subscribe to SOA & WOA Magazine: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get SOA & WOA Magazine: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

SOA & WOA Authors: TJ Randall, Lori MacVittie, Andreas Grabner, Dynatrace Blog, Cynthia Dunlop

Related Topics: SOA & WOA Magazine

SOA & WOA: Article

Delivering, Administrating, & Tracking Distributed Web Services

New challenges - greater flexibility

Companies that adopted and deployed early implementations of Web services primarily focused on three fundamental areas:

  • Developing Web services from existing enterprise infrastructures to unlock the structured and unstructured data managed within their various systems
  • Providing the necessary monitoring and management infrastructure for network-intensive Web services. This was done to guarantee delivery of messages and ensure compliance with service-level agreements (SLAs) and quality-of-service (QoS) contractual requirements
  • Deploying Web services components for use within composite applications or business processes to increase system integration
These early implementations were driven by a need for greater efficiency in integrating systems, data and business processes, and in development. As developers look to expand the use of Web services and a services-oriented architecture to more systems, business processes, and users, they will face increased complexity in supporting distributed processes where humans and systems are dynamically interacting to complete processes between companies and their partners, customers and suppliers.

Web Services Delivery Challenges
This new service-oriented process model increases the complexity of consuming and participating in a business service as there are thousands of Web services being created and more consumers and distributors of Web services than in the traditional silo, static business process model. In short, the next generation of Web services enables companies to create an on demand infrastructure where they flexibly and efficiently distribute and consume data between internal and external processes. This new consumption model increases the complexity of consuming and participating in a business service as there are thousands of Web services being created and more consumers and distributors of the Web services than in the traditional silo, static business process model.

As the number of Web services and consumers of those Web services increases, developers will need to extend the current Web services management infrastructure to enable the secure delivery, administration and tracking infrastructure. This service delivery infrastructure enables their partners, customers, and suppliers to seamlessly and securely participate in transaction-based processes. The transaction-centric approach will see greater focus on delivering, deploying, and administering Web services across a company's value chain and enable a more flexible administration and delivery infrastructure to:

  • Manage catalogs of Web services that enable companies to be both consumers and providers of those Web services
  • Deliver self-service and administration capabilities to their user communities, enabling subscriber management, self-ordering, and activation to gain scalability in deploying and managing distributed processes
  • Track company and user activities within the business services to audit, report, and bill on specific company and user activities related to the consumption of Web services
As the number of providers and consumers of Web services increases, developers are faced with the challenge of managing multiple delivery and consumption points for a single Web service. Traditionally, this challenge is addressed with the creation of a services repository or UDDI-based directory and providing a Web services management infrastructure to guarantee message integrity and delivery. This approach has worked well for creating and rationalizing the hundreds and even thousands of Web services being created by developers within a company. However, as more Web services are integrated with external processes, a more flexible delivery and administration infrastructure is required.

Developers now need to be able to enable external parties to easily consume and distribute Web services for the purposes of integrating and distributing those Web services internally and to their own business partners. To enable distributed delivery support for external consumers and distributors of a company's Web services, a company needs to integrate to a Web services delivery infrastructure. Web services delivery infrastructure enables companies to integrate their existing Web services development, deployment, and management infrastructure with delivery, administration, and tracking processes to provide a secure, reliable, distributed management and delivery infrastructure (see Figure 1).

Services Delivery Infrastructure
To successfully make the transition to SOA, a services delivery infrastructure requires an integrated set of processes and services from services configuration and distribution, security, n-tiered process delegation, and company and user-centric tracking. A service delivery infrastructure enables providers to create and delegate to consumers and distributors the capability to deliver, administer and track services and the companies and users consuming the services. To gain additional leverage from Web services, companies are looking at how to charge for accessing internal Web services as part of the service delivery process. This shift to transaction-oriented service delivery is forcing the adoption of service delivery infrastructure.

A service delivery infrastructure enables companies to manage the secure delivery of Web services through process support for services distribution, services bundling, policy definition, and access monitoring for tracking company and user activities. The major components of Web services delivery infrastructure include:

  • Service configuration tools for defining service templates based on templates from existing repositories like UDDI, or enabling the creation of a service template if no repository is available
  • Services catalog that enables the bundling of business services for aggregating multiple business services or discrete Web services (for example, business service is PurchaseOrder or Web services are salesorder, purchaseapproval, inventorycheck)
  • Services distribution to enable consumption and services syndication by external parties to ensure secure distribution and delivery of services
  • Tracking company and user activity related to distributing and access Web services from multiple providers to multiple consumers
Service Configuration
Service configuration provides a delivery and administration interface for existing service repositories (UDDI, etc.) and enables service templates to be defined if an existing repository does not exist. During service configuration, a developer or business analyst is able to easily define technical information (url, data mapping) or transaction information such as creating specific business offers from a single service definition (e.g., service is Purchase, service offers are Internal Purchase, External Purchase, Customer Purchase). In addition, the business analyst is able to extend the service template as required for that specific company's business model. In this manner, they are able to update service metadata and have the update published to external repositories.

Service Catalogs
Service catalogs enable providers to configure services once and distribute access to those services multiple times. This "publish once distribute multiple times" model augments the existing UDDI infrastructure by providing a distribution and delivery process on top of the base UDDI information store. In this manner, companies are able to externalize the management of internal and external catalog creation to both internal and external administrators. Cataloging functions also address the productization of Web services. As companies move to deliver services as products, cataloging enables companies to create products within the catalog that are then mapped to the applicable developer-defined business or Web service. This mapping provides a process bridge between the ordering process and the usually IT-centric delivery process for provisioning companies and users to business services.

Services Distribution
Services distribution provides companies with the capability to create a secure delegated administration environment for consumers of services. Delegated administration provides companies with the flexibility required to deliver and manage Web services in distributed processes. Delegated administration enables consumers to configure services, create catalogs, and securely distribute those services to their own internal and external users. By enabling consumers to manage themselves and their own internal and external users, a service provider is able to distribute the cost of managing thousands of Web services and thousands of consumers and providers. Additionally, secure service distribution requires security not only during the publishing and consumption processes, but also at the delivery and requesting phases. Services distribution provides a critical access control for consumers requesting access to, or syndication approval for, a particular Web service.

Tracking and Reporting
Tracking and reporting are critical components when extending Web services consumption and distribution across firewalls and between companies. Services delivery infrastructure tracks company and user activities around delivering information such as when they were granted access to services, when they attempted to access the services, and who is consuming the service. This critical information in conjunction with critical information from a Web service management tool, provides the closed loop tracking required to accurately bill for using the services, whether the consumers are internal or external (see Figure 2).

A service delivery infrastructure extends the capability of Web services management tools to include the distribution and delivery of Web services. By integrating these components as a single set of business services, a developer will reduce the time to delivery of Web services, business services, and the applicable processes. These key components are critical to ensuring successful deployments of SOA as it evolves to incorporate more transaction oriented delivery models. The point is illustrated by the following example of how a service delivery infrastructure is critical to the success of SOA.

Case Study: Process Development Tool
A process development company was looking to enable their customers, primarily in the healthcare industry, to develop SOA- based processes using their integrated tool set. They provided components for composite applications, business process modeling, enterprise service bus, Web services development and management. They began with small pilots that were internally focused. These pilots had a few Web services and a manageable number of consumers. As they started to deploy into production instances, they faced a number of challenges:

  • How to enable partners and customers to securely consume and distribute hundreds of services
  • How to provide distributed access to their tools for partners
  • How to manage the users consuming the services via the composite application
  • How to track user-based activity for billing
This company looked at how best to address the distribution and delivery challenges that were arising in a production environment. They could build this component themselves, as one-off implementations or implement a repeatable solution by including a service delivery infrastructure component. Using the services delivery infrastructure component, they integrated it with their other Web services components to provide a single infrastructure, which managed:
  • Delegated administration to enable partners and customers to consume and distribute the Web services
  • Secure access to provide their partners and customers access to the services throughout the business process
  • Management of roles and privileges relating to the composite applications
  • Single reporting environment for tracking company and user-based billing events
This infrastructure was integrated with the process components providing for single-service delivery and distribution processes across multiple composite applications. A single infrastructure meant shared components associated with secure access, roles and privileges, access policies, integrated distribution process, and process delegation. By embedding a service delivery infrastructure into their SOA toolkit, they were able to provide their customers with secure distributed process support, augment company and user tracking for subscription-based billing, integrate the user security model, and provide policy-driven access to services and resources (see Figure 3).

As companies aggressively pursue SOA to transform their businesses for greater flexibility and efficiency in selling and supporting their products, they will face challenges in securely delivering and managing the Web services in these transaction-oriented processes. It is no longer about managing the development and deployment of Web services; these challenges are being addressed with existing solutions. The next critical area will be in the management and delivery of Web services in a distributed environment.

To date, Web services management has focused on monitoring the availability of the Web services linked to SLA and QoS compliance. As the market and infrastructure matures, demands will increase for more robust distribution and delivery infrastructure to support dynamic, flexible business models. Developers need to start addressing how to enable their SOA processes to provide for customers and partners the ability to easily distribute and deliver Web services. This infrastructure must support aggregation services, delegation capabilities, and tracking services.

Service delivery can be a significant and disruptive process for a company and its IT organization. SOA and its associated benefits, flexibility, and efficiency are achievable provided that the infrastructure is built to support not only system to system integration, but enabling integrated and distributed management of the infrastructure by internal and external users.

More Stories By Sean Murphy

Sean Murphy is the technical evangelist for Jamcracker and its On Demand Delivery Platform. He has worked in IT for over 10 years. For the last four years, Sean has focused on enabling the secure integration of systems and processes in software-as-a- service and on demand delivery models.

More Stories By Jagdish Reddy

Jagdish Reddy, Jamcracker's architect, leads the architecture and development of Pivot Path, an On Demand Delivery Platform. He has over 10 years of experience in J2EE enterprise application development.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.