Posted by marinasum
on June 3, 2009 at 11:29 AM PDT
Here is a summary of a technical session on Tuesday, June 2 by Sastry Malladi from eBay.
The presentation by eBay distinguished architect Sastry Malladi at JavaOne on Tuesday afternoon illuminated the benefits, misconceptions, and deployment challenges of service-oriented architecture (SOA). He also described how eBay tackles the issues.Definition
According to Malladi, SOA is an architecture that "removes brittle, hard-wired components that inhibit change." In their place are "shared, easy-to-use, and reusable business and application services" geared for "operational excellence." Also, SOA is not just about technology, but also about people (ensuring that business and IT are on the same page) and processes, including life cycle and governance.
A common misconception is that SOA implies new Web services and Simple Object Access Protocol (SOAP), given their popularity. In reality, Representational State Transfer (REST) is equally popular, says Malladi. Plus, instead of being "an end in itself," you can build SOA with existing technologies as a means for enabling business operations.
SOA offers the following benefits:
- A loosely coupled model, easily assembled and updated for reuse and sharing
- Modularity ("no 'Big Bang' development"), which accelerates deployment of new capabilities
- Nonintrusiveness, that is, no need to replace existing components
- Business agility, including support for the latest IT technologies
- Scalability, manageability, and flexibility
- Opportunities for higher productivity
Malladi told the audience that the challenges of deploying SOA fall into two major categories: technical and operational. Technical issues are relatively much easier to resolve.
Among the technical challenges are
- Debugging and tracing
- Efficient caching of requests and sessions
- Security and monitoring
- Compliance with multiple computing standards
- Support for internal and external clients with different needs
- Quality of service and management of service-level agreements
- Availability and scalability
- Decomposition of existing applications and migration of legacy services
Among the operational challenges are
- Version control
- Learning curve for developers
- Effects on existing operational tools and environments
- Pressures for timely releases
- Governance, especially in the face of constant changes
Tackling the challenges is an ongoing effort, Malladi pointed out, and eBay has the following solutions in place:
- A lightweight and high-performance SOA platform
- A unified testing framework
- Decomposition of model-driven services
- An eXtensible Access Control Markup Language (XACML)-based authentication and authorization process for security
- A strong and flexible governance process through a service registry and repository
Specifically, the SOA framework at eBay comprises components aimed at resolving numerous operational issues. Examples of the components are an architecture that ensures "pipeline-based high performance" and tools for working with built-in G11N, for enforcing version control, and for managing errors.
Malladi suggested specifying "a finite set of service layers" along with their relationships and related rules. For example, the eBay architecture contains four service layers: application, business, intermediate core (building blocks), and common infrastructure.
Integrating tools usually makes sense. eBay has integrated its developer tools with the Eclipse IDE, complete with thorough testing. The deployment tools manage life cycles; the operations tools manage and monitor alerts.
Governance at eBay
"eBay still has a way to go yet in enforcing governance for SOA. That's extremely important for large-scale deployments, however," Mallaid stated. Governance monitors the following:
- Activities that control the design, deployment, and life cycle of service providers and service consumers. Recall that, at eBay, a service repository and a service registry serve that purpose.
- Design time, including reviews and approvals: enforcement of consistency and layering guidelines, and dependency. Flexibility is mandatory.
- Runtime, including the policies for deployment, security, caching, monitoring, availability, and reconciliation between actuals and forecasts.
- Change management for dependencies and backward compatibility.
Malladi concluded the session by pointing out that for all its benefits, SOA presents many challenges, and that robustness requires both internal and external services. Again, an excellent presentation with many noteworthy insights.