Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Boris Lublinsky on Sep 06, 2008 09:35 PM
A recent white paper from IBM Global Services describes the lessons applied by IBM’s Academy of Technology to achieve success in their SOA implementations. They did that by focusing on five priorities:
According to IBM:
To achieve a successful (SOA) deployment, a core architecture leadership team must first be established to ensure consistency of efforts and direct the vision of the architecture. Best practices specific to architecture ... can be grouped into ... distinct themes: reuse, data management,...
SOA reusability goes far beyond traditional code reuse. It has to be raised to achieve architecture reuse - the creation of a reusable architecture framework which facilitates SOA initiatives across the enterprise through careful planning, engineering and management.
You shouldn’t assume that existing Web services comply with standards or that they can be easily composed and integrated. Service composition is highly complex and often includes transactions, unit-of-work boundaries, error handling, security and propagation of credentials, and aggregation of business logic. As a best practice, you need to design services for reuse at the outset and increase reusability as the business case for the required effort progresses
says the white paper.
Many SOA implementations are focused on service implementation and do not pay adequate attention to the data management aspect of SOA. This lack of attention can result in data mismanagement, unreliable data and threats to data integrity. Many practitioners are still living in the realm of traditional point-to-point data requirements.
According to IBM:
As you move toward implementing data as a service, effective information metadata management and use of Common Information Model (CIM) is a key critical success factor. Using CIMs can help speed development by enabling you to establish standards and descriptive metadata for information that can be applied to all interfaces, messages, data structures and data transformations to support reuse. A model driven approach to standardize best practices will also accelerate development and provide for further consistency across interfaces and informational structures. Using this model-driven approach helps reduce the need for transformation, and makes it much easier to design transformations when they are required.
Creating a linkage between IT and a business:
...requires a purposeful effort to link IT to your business processes with a focus on future business process design - that is, you need to envision SOA solutions by examining how the business processes should run, not how they currently run ... Business process modeling provides an effective method for tracing life cycles of key business entities to yield simple, flexible business process models with consistent task granularity to more easily gain consensus among different stakeholders, both at the business and IT level.
Such modeling is only useful if it is based on solid methodology, ensuring that models are correct. If high level business process models are erroneous, it is difficult and expensive to refine them into executable business processes. According to IBM:
Component business modeling (CBM) as well as Service-Oriented Modeling and Architecture (SOMA) both support a best practices approach to modeling. CBM helps you analyze your enterprise by first partitioning it into relatively independent, non-overlapping business components to identify opportunities for innovation or improvement. Service oriented modeling is necessary for the creation of an SOA and for input uses the results of the business componentization analysis as well as business goals and key performance indicators. The output is an SOA which is independent of any specific technology as well as model for how it can best be realized using the appropriate technologies
The greatest number of lessons learned and best practices identified by IBM’s study relate to the impact of organizational factors including:
...moving away from a siloed organizational structure, which tends to limit thinking within the scope of individual projects. Integrating a large number of projects with their own agendas without some central control is nearly impossible and almost always inefficient. A best practice is to establish a design authority to engage technical stakeholders and promote early architecture decision making.
Another key factor to successfully obtain sustained benefits from SOA was identified by IBM as SOA governance which enables business and IT teams to better collaborate on identifying projects which contribute the most to achieve the business goals.
SOA governance should be introduced prior to your first major SOA project, during any initial SOA pilot projects. This positions your organization to successfully handle the complexity of a major project rather than treating it as a training mission. SOA governance should also align with your organization’s enterprise architecture program.
An enterprise wide and cross-project scope is needed to avoid overlapping and inconsistent governance models embedded within individual projects that may lead to confusion and slow downs.
A typical SOA implementation involves many services interacting with each other. Consequently scalability, reliability and high availability are among the most important requirements for SOA implementation. IBM recommends to:
As much as you can, use known solutions to meet reliability and performance requirements. Then design, test, and retest to confirm that your performance, scalability and interoperability requirements are met. Never deploy a solution without properly addressing and testing these nonfunctional requirements.
Another key factor for SOA success is ensuring operational visibility and control of the implementation:
Problem and incident management systems along with problem determination and troubleshooting utilities should provide a sufficient configurable level of information at all levels of your architecture. At the same time, selecting technological solutions that simplify SOA infrastructure management will help limit complexity.
The five factors described in IBM’s paper can help companies and individual SOA practitioners to focus on the most important faucets of SOA implementation ( compare to my previous post), and consequently more efficiently meet their investment objectives as they plan for and deploy a SOA. They will also help to deliver ongoing benefits as SOA is extended across enterprise solutions.
Business Benefits of Open Source SOA
How Java Developers Can Write Great SQL
Agile Development: A Manager's Roadmap for Success
The Agile Business Analyst: Skills and Techniques needed for Agile
Would you enroll in an India Forex Group i.e http://www.indiaforex.com Groups?
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
No comments
Watch Thread Reply