Issue 1: Infrastructure vs. Business Functionalities We may not always find implementation of infrastructure functionalities (IF) in the market and have to code them in house. Also there maybe generic IF and specific IF and we have to code specific IF in house. We could find a good mix of products in the market that maximize our needs to reduce coding effort.
Issue 2: Implementation of IF Not all IFs are implemented as services. The architecture of services (someone will ellaborate what that is) should be consistent. A mediator does not have the same architecture as that of transfromation service for example. Mediator is a messaging hub (or bus) through which asychronousity/reliability is achieved. Provider and consumer are loosely coupled in the sense that provider has no knowledge who'll receive the message. There is a contract between provider and bus that the bus will deliver the message and another contract between bus and consumer that the message will be reliably delivered to the consumer. The bus may support multiple protocols or one standard protocol and other protocol messaging hubs are plugged into as an abstraction points. I think we still need a messaging backbone in concept without limiting to a particular protocol. This messaging backbone is the mediator, or bus, to differentiate from the concept of services. It is just more clear to me in terms of implementation instead of just through ideas around and let others to implement. You said "Mediators rely on infrastructure services i the ISM to implement the required IF." So you actually differentiate mediators from service. I think that two key component to ESB: service container and messaging hub (bus, mediator). (refer to David Chappel's book ESB) If we are clear what they are, it would be easier to communicate. Jerry --- Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > See inline... > > On 02 Apr 2007 08:20:39 -0700, Jerry Zhu > <[EMAIL PROTECTED]> wrote: > > > > My summerizing Anne's message about SOA > capabilities > > organized as a hierarchy. So it is a SOA > Capability > > Reference Model? > > > > Capability Domain (CD) > > Capability Type (CT) > > Capabilities > > > > CD provide high level view of SOA capabilities > needed > > to support functions in a SOA infrastructure. CDs > are > > comprised of CTs that further categorize and > define > > the capabilities in each domain. CT group similar > > capabilities in support of the domain. Each CT > > includes one or more capabilities that provide > the > > "building blocks" that collectively deliver the > > required functions to the SOA infrastructure. > The > > capabilities can be encapsulated into > infrastructure > > servcies/components to fulfil certain functions. > > One important thing to keep in mind is that products > frequently do not > correspond one-to-one with capability types. Often a > product addresses > multiple capability types, but rarely does it fully > implement all the > required capabilities in a capability type. As I > said, a large > organization is likely to have multiple platforms, > mediation, and > management systems. It may also use multiple > registries. > > > Anne mentioned three CDs: Service Runtime, > Service > > Governance, and Service Development. Anne further > > specified CTs in Service Runtime Domain as below: > > > > Service Runtime > > Service platform > > Service mediation > > Service management > > Service Registry > > > > Anne, and all of us, still needs to provide > content in > > other two domains. > > And as is clear from your questions, it would also > be helpful to break > down the runtime capability types into their > constituent capabilities. > > > SOA capabilities are SOA infrastructure > capabilities > > to be configured not coded. We all want to > minimize > > coding efforts so we need to know what to buy and > what > > to code. > > As a general rule, I recommend buying generic > technology rather than > building it, but even if you elect to build it > yourself, the required > capabilities of the infrastructure are still the > same. My model > attempts to define the capabilities required in a > SOA runtime > infrastructure. > > An important concept of the model is the clean > separation of concerns > between business functionality and infrastructure > functionality. This > is not so much an issue of what to buy versus what > to build -- it's an > issue of what to implement in a business service > versus what to > externalize to the infrastructure. Anything that is > not directly > related to processing your business algorithms can > be construed as > infrastructure. Any aspect of this infrastructure > functionality that > is generic can potentially be externalized to the > infrastructure and > implemented as infrastructure services. (i.e., > applying SOA principles > to infrastructure functionality) Once infrastructure > functionality is > externalized into services, it can be configured > declaratively and > invoked automatically by mediators on behalf of a > service or service > interaction. I refer to this concept as the > Infrastructure Services > Model (ISM). > > > Benefits of having a clear picture of SOA > > capabilities are many and I leave it to the group > to > > elaborate. One thing is that customers would be > able > > to look at their business capablities to > undestand SOA > > capablities needed and ask vendors to what degree > > their products meet their needs in terms of SOA > > technologies rather than having vendors dictate > their > > SOA capability needs. > > Exactly! Before designing an infrastructure -- and > certainly before > buying products--you should understand what you > need. This capability > model helps you understand what you need. > > > > > Now in responding to Anne's message: > > > > - Anne gave four CTs in Service Runtime Domain. I > > think that two more are needed. They are > Messaging > > Backbone (transport data as messages in secure > and > > reliable fashion) and Cross Protocol > Communication > > that can be done in three ways: protocol > bridging, MOM > > bridging, and Direct Protocol Handling. > > I contend that you do not need a messaging backbone. > There is no > requirement to rely on any specific messaging > protocol. The middleware > that a service can communicate with is a function of > its service > platform. There is no requirement that all services > must communicate > using the same middleware, nor is there a > requirement that all > messages must be carried by a common carrier. There > is also no need to > call out a specific "cross protocol communication" > capability. > Protocol transformation is no more critical to the > environment than > security mediation. It's just another form of > mediation. The mediation > systems are responsible for managing whatever > mediation might be > required. That's the whole point. An endpoint can > converse using > whatever protocol or middleware it needs to. At > runtime, the > infrastructure automatically routes the message > through whatever > mediators are required to deliver the message > properly. The > instructions regarding "proper delivery" are > specified declaratively > in policies (or you might call them configuration > files). Policies > define all aspects of mediation requirements, > including routing, > transformation, persistence, caching, reliability, > transactions, > security, auditing, logging, or whatever > infrastructure function is > required. Mediators rely on infrastructure services > in the ISM to > implement the required infrastructure functionality. > > > - Services not being a part of the > infrastructure, I > > disagree. What about integration services: > > Transformation Service, Content Based Routing > Service, > > and application adapter? do we code them or we > buy and > > configure them? > > I should have been more clear. I meant that business > function services > are not part of the infrastructure. Services that > implement > infrastructure functionality are clearly part of the > infrastructure > === message truncated === ____________________________________________________________________________________ We won't tell. Get more on shows you hate to love (and love to hate): Yahoo! TV's Guilty Pleasures list. http://tv.yahoo.com/collections/265
