Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Planning for Service Management Within a Service-Oriented Computing Infrastructure
A necessary infrastructure for mission-critical deployment

The more widely service-oriented architectures become incorporated into core business applications and processes, the more critical the ability to easily configure, manage, and monitor the overall infrastructure becomes.

By their very nature, service-oriented architectures, or SOAs, are about enabling heterogenous, componentized, and distributed applications to work together seamlessly. This presents a number of classic service management challenges such as auditing and logging, security, quality of service guarantees, service-level agreements, service life cycle, and service virtualization.

This article examines SOA management features that will become critical as services are widely deployed in mission-critical environments. In addition, I describe the common architectural approaches used to integrate WSM into a service-oriented architecture, as well as emerging standards and their likely impact and utility.

The Purpose of Management

The more widely Web services are adopted and integrated into the core business of enterprises, the more invisible the structure and performance of these business assets becomes. An enterprise cannot wait until it receives customer complaints or observes decreased revenue before it reacts to problems in its Web service application deployments. In addition, the more granular and distributed the components from which an enterprise's business is derived, the higher the potential risk and cost of any individual component failing or changing. It is management's role to expose and monitor running applications so that problems can be detected as early as possible—and corrected before they become catastrophic.

It's also clear that nearly all Web service deployments require a common set of capabilities (such as security and monitoring) in order for them to have true enterprise-quality reliability. These capabilities are often complex and, therefore, prone to error. Thus, Web service developers should not be forced to re-implement them with every new Web service; these capabilities should be provided by the underlying infrastructure.

With this in mind, the aims of Web services management are manyfold. Its goals are to make the structure and performance of Web services applications more visible; mitigate the risks associated with SOAs as they're deployed and as they change over time; and provide a common set of capabilities that let Web service developers focus on implementing business logic as opposed to infrastructure.

Key Features of SOA Management

Monitoring
The classic role of a management system is to monitor. The system collects information about the health and performance of the system and notifies the operator when something is wrong. Web service applications provide a unique opportunity due to their loosely coupled and open nature. They make it possible to add meaningful instrumentation without modifying the application code by intercepting the Web service request and response messages. This interception can help generate a clear picture of system performance at the application level.

A Web services management system should provide the following monitoring services:

  • Performance monitoring: The ability to record the amount of time required to accomplish various system operations, such as response time. When considering performance monitoring, note the cost or overhead incurred to perform and record the measurement.
  • Resource monitoring: The ability to monitor and record the usage of various consumable system resources under load, such as memory use or concurrent request count.
  • Availability monitoring: The ability to determine when the application is available for use. Ideally, this monitoring will occur at numerous levels to support root cause diagnosis.
  • Fault monitoring: The ability to recognize and notify an operator when an application component has failed during request processing.
  • Notification: The ability to alert an operator to a problem that was discovered as a result of monitoring. Notification can be as simple as e-mail or as complex as custom integration with a third-party network management system (NMS).
  • Probing: An active management component that initiates synthetic requests to trigger performance and availability monitoring. This lets the system manager discover problems before users encounter or report them.
Service-Level Agreements
A service-level objective (SLO) is a proposed acceptable range of a single verifiable measurement -such as request processing time - that's important to the consumer. A network consumer might indicate that it's never acceptable for the request processing time to exceed 30 milliseconds. These objectives can be specified in complex ways. For example, an SLO might state that request processing time not exceed 30 milliseconds for requests with less than 100 data elements. A service-level agreement (SLA) is a collection of SLOs agreed upon by a service provider and a consumer. SLAs typically protect the consumer but can also protect the service provider. A provider may want to constrain a consumer's access to a service so it can meet other objectives in the agreement. For example, a news content provider may allow a consumer to poll new stories only once a day. This facet of SLAs is inexorably related to the concept of quality of service.

Root Cause Analysis
One of the primary goals of an SOA management system is to provide the ability to diagnose and correct problems. It's the role of monitoring to determine that there is or soon will be a problem. Beyond that, the management system should offer tools to narrow down the cause of the problem.

The nature of distributed, collaborative, loosely coupled services can make this difficult. Services interact independently of human intervention and such interactions often occur between separate organizational units or companies. To help diagnose problems, the management system must provide some way to represent the dependencies and interactions between Web services. The ability to discover these relationships through passive monitoring can be a plus when relationships between consumers and providers are established dynamically. The result is a repository of metadata that describes these relationships and can be used to correlate and order collections of failures.

Virtualization
Virtualization is an umbrella category of a set of capabilities that are primarily concerned with insulating service consumers from change and providing service providers with implementation and deployment flexibility. Chief among these capabilities are transformation and routing. Transformation lets users adjust for minor changes in a services interface so that older interface versions can be maintained in the virtualization layer. When a request is received with the older format, a transformation is applied to make the request conform with the new interface. In this way, interfaces can be moved forward without requiring clients to upgrade immediately. Routing allows messages to be redirected when a destination service's location changes due to network reorganization or hardware changes.

Security
When dealing with security, the service delivery platform and the management infrastructure must cooperate closely. At times there can almost be no distinction made between which part of the system provides the functionality. It's important that the combination of platform and management system should be able to provide the required security features. It's also critical that security decisions be made as late as possible in the development deployment cycle and that a great deal of flexibility exists when these decisions are made. To this end, the combined platform and management system should provide the following features:

  • Auditing: The ability to record in a secure and robust manner any access to deployed services.
  • Authentication: The ability to validate the identity of intended service consumers. The service developer should not be responsible for specifying who these entities are and how their credentials will be provided and verified.
  • Authorization: The ability to control which services and operations are available to a given entity based on a user-specified security policy. The policy should be able to consider not just identity but also access time, the consumer's network location, and other criteria associated with the request context.
  • Confidentiality: The ability to hide request and response data from unauthorized viewers. For XML-based services, confidentiality should be applied at a fine-grain level, allowing encryption of selected portions of the message body as well as the entire message.

Architectural Approaches

Using Web services as the implementation technology for a service-oriented computing infrastructure offers a number of options in how to introduce management functionality.

One choice to make is whether management functionality should be integrated into the service execution platform or the service network. Management functionality is typically added to the service execution platform by the platform vendor. In this scenario, service interactions are passively monitored by the runtime, and control points are introduced into the infrastructure to facilitate management features. In contrast, integrating management into the service network can be done independently of the platform provider(s). With this approach, a proxy or intermediary is positioned in the network to intercept service requests and responses. Management capabilities are then deployed on the proxy/intermediary, which acts as a monitoring and control point (see Figure 1). Both approaches have their advantages and disadvantages.

A platform-integrated approach will typically incur less of a performance overhead. It can also allow a more comprehensive insight into message processing. Also, since integrated management capabilities are usually offered by the platform vendor, you'll usually see a broader range of control functions as well as greater consistency between the Web services management features and other systems management functions, as depicted in Figure 2. The biggest disadvantage of platform-integrated management is most evident in heterogenous environments where multiple vendors' service execution platforms are used. In these environments, system administrators have to understand multiple management tools to manage the entire network. Administrators typically want to have a consolidated view of the state of the enterprise's systems, but when integration between multiple vendors' service management systems is possible, it's difficult due to the lack of mature standards in this space. Also, some service platforms may not offer intrinsic management capabilities, in which case an add-on product is necessary.

Placing management in the network makes it easy to manage heterogenous networks. Services from multiple platforms can be routed through the management proxy/intermediary, which also facilitates central management and configuration. The proxy/intermediary model can also be introduced into a service topology as an afterthought without requiring potentially costly upgrades to server infrastructure or applications. The proxy/intermediary approach is also particularly well suited to certain types of applications and environments. Virtualization features are typically associated with an intermediary deployment model, and organizations that broker services for third parties will also typically use this approach. The big disadvantage of the proxy approach is the performance cost of adding an additional network hop.

Web Services Management Standards

Although there have been a handful of specifications published to address various areas of Web services management, the standards space has been relatively quiet. Currently, the OASIS Web Services Distributed Management Technical Committee (WSDM) is working on two standards that will likely have the most effect on users' perceptions and vendors' products. These specifications are the outgrowth of initial work done by member companies as well as collaboration and interactions with related standards efforts in more specialized forums such as the Globus Grid Forum and the Distributed Management Task Force.

WSDM will produce two specifications: one focused on Management Using Web Services (MUWS) and the other on Management of Web Services (MOWS). The MOWS specification provides a framework for using Web services to manage general IT resources but does not specify a management information model, leaving this to particular management applications or products. This recognizes that good management models already exist, and allows MUWS to be used in conjunction with existing systems management tools. MOWS, on the other hand, builds on MUWS to provide an information model for Web services, defining the management capabilities and attributes of Web service entities such as ports and endpoints.

The WSDM specifications are currently in draft status, however, leaving developers and architects who need SOA management today to choose from a variety of solutions that offer similar capabilities but are, for the most part, not interoperable. Also, given the velocity at which draft standards become final, and at which final standards are implemented in commercial products, it will probably be a while before we can count on standards-based SOA management being generally available.

The good news is that at this point, the standards are largely orthogonal to the decisions organizations need to make today. When WSDM is available it will define interoperable interfaces, allowing management functionality to be exposed, queried, and controlled by a broad range of tools. However, the management functionality itself will still be a function of product and platform capabilities, and this is how buying decisions should be made. Assuming the vendor you choose is committed to supporting WSDM as it matures, the migration to standards-based interfaces should be transparent to managed resources such as services and applications.

Conclusion
SOA implementations require many features to make them robust. Service monitoring, service-level agreements, virtualization, and security are all important parts of most service implementations. Just as application servers provide a multi-user, transactional infrastructure for applications, Web services management provides the necessary infrastructure to make Web services suitable for mission-critical deployments. Building your SOA architecture with Web services management explicitly addressed will make development time shorter, the services more maintainable, and the system more reliable and robust.

About Bill Jones
Bill Jones is a senior software development manager at Oracle Corporation with 15 years of industry experience. He currently leads development of Oracle’s Web services technology with a focus on Web services management. Bill has a wide range of management and engineering experience including the production of high performance middleware platforms and large CRM systems.

About Kevin Minder
Kevin Minder is a veteran software engineer of 15 years. For the last two years he has been focusing on Web services management.  He is currently developing SOA management solutions at Oracle Corporation. His experience ranges from application management to high performance middleware and embedded systems development.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand usin...
Lori MacVittie is a subject matter expert on emerging technology responsible for outbound evangelism across F5's entire product suite. MacVittie has extensive development and technical architecture experience in both high-tech and enterprise organizations, in addition to network and sy...
When building large, cloud-based applications that operate at a high scale, it’s important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. “Fly two mistakes ...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portabil...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is founda...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder an...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
Most Read This Week
ADS BY GOOGLE