Tuesday 26 February 2008

An Enterprise Service Bus - ESB

This web archive is a result of a preparation that I am undergoing for a variety of reasons:
1: For a Certification
2: Acquainting myself with the IBM product stack for SOA Deployment
3: For my own Interest
4: As a part of the mandatory Skill Set required by my Project
The reproduction here is of course a consolidation of multiple references.

An ESB is an architectural concept that is implemented through the use of one or
more products. IBM currently offers two ESB products.

WebSphere ESB is built on proven messaging and Web services technologies. It provides standards-based Web services connectivity and XML data transformation. WebSphere ESB is shipped with WebSphere Process Server.

WebSphere Message Broker provides universal connectivity, including Web services, and
any-to-any data transformation. In addition, such products as DataPower® and WebSphere Transformation Extender can be used to extend the capabilities of the core ESB products.

An ESB is a key part of a complete solution for connectivity. An ESB might need to be extended or complemented with additional features or products to deliver a complete solution to meet your connectivity requirements.

A Non SOA Solution:
In a non-SOA solution, communication between service requesters and providers is accomplished via a series of direct connections, one connection per requester/provider pair. This requires that the requester be aware of the requirements of the provider and vice versa, for example, the transport protocol, message format, and location of the service. As enterprise solutions grow, the web of direct connections and the complexity of managing those connections
also grows.

A SOA Solution:
In an SOA solution, an ESB acts as an intermediary between requesters and providers. Connections are made to the ESB, rather than directly between the communicating pair. The ESB makes the transition between transport protocols and message formats used by the requester and provider. The location of each service is known to the ESB but not to the service.

The Role of an Enterprise Service Bus:
This decoupling of the consumer’s view of a service from the implementation of a service provides the following advantages:
1: Reduces the number, size, and complexity of interfaces
2: Reduces the impact of changes made to the format and location of services, both in terms of impact to the applications and in terms of system management
3: Enables integration between disparate resources
4: Allows the substitution of one service provider for another without the service consumer being aware of the change or without the need to alter the architecture to support the substitution

The Basic Capabilities that an ESB should comply with:
The capabilities of an ESB vary depending on the products that are used to
implement it. An ESB should provide the following basic functions:

1: Routing messages between services
The requester sends the request to the ESB. The ESB makes the call to the service provider. The ESB determines the destination for the service provider.

2: Converting transport protocols between the requester and service
Without an ESB infrastructure, service consumers connect directly to service providers using a transport protocol that is supported by the provider. With an ESB, there is no direct connection between the consumer and provider. The service consumer connects to the ESB by using its preferred transport protocol without any knowledge of how the connection to the provider is
made. The ESB sends the request to the provider by using a protocol that is supported by the provider.

3: Transforming message formats between requester and the service provider
Typically, interfaces and operations of disparate services are not identical. The ESB transforms the message from the source into a format that can be accepted by the target. Handling business events from disparate sources. The same service provider that is responsible for a business function can be invoked from a variety of business contexts.

More on Message Broker as an ESB some time later :)
~ sayli :)

Monday 25 February 2008

I've picked up New Vocabulary! :)

It’s been just less than two months in my Current Role and I have picked up some New Vocabulary. I also made numerous observations in my 1st ever Vendor Evaluation exercise that I had an opportunity to be a part of. Thanks also to the meetings and interactions with colleagues, vendors, clients and numerous other sources which have compelled me to have enough motivation to go ahead and ingrain the new found list of phrases in my blog here! :)

So here you go (the next time you find me using these phrases/words you know where it came from :) ;))

1: Are we there - In terms of getting everyone on the same page?
2: We’ve hit the ground running.
3: I understand where you are coming from.
4: You can’t afford to rock the boat anywhere!
5: Let’s position ourselves correctly.
6: We don’t wish to Poke Holes at anyone :)
7: We can’t boil the ocean in one Talk!
8: Its BAU (meaning Business As Usual).
9: I am just doing a Reality Check!
10: Let’s Sanitize the Process.
11: Does that sound like a plan?
12: Let’s leverage what’s done by our Brothers and Sisters and put a Positive Spirit on it! :)
13: Let us elevate this discussion.
14: Is the game plan still on? (regarding this task / meeting)
15: Can I exercise a timeout – I do not mean to override you.
16: For the lack of better words – …
17: Let’s take a Buy In from the authority.
18: I am unable to articulate that thought.
19: Are we ready to pull the rug on the floor?
20: This is a big kicker okay..
21: We are here to manage the Client’s expectations.
22: They probably got stuck in Limbo Land.
23: Let us talk in Business Parlance.
24: We ought to do more than just an academic exercise here.
25: We will be able to give you a better handle on this.
26: This is yours – Now Run the Show!!
27: With 'abc' the rubber meets the road!
28: Call it whatever you want.
29: I’ll bet my wallet on this.
30: Long Story Short -
31: Every so often!
32: He had an ability to diverge from the proposed agenda and still have everyone on the same page.
33: They are probably looking at instant gratification.
34: It helps to draw parallels between what you have done and what is unique to this engagement.
35: Is there a Strategic Advantage to this?
36: They are making an assurance to take the Client from where they are to where they want to be!
37: We would be looking at North Bound Interfaces which are generic and South Bound which would be more specific.
38: Is this part of the scope / agenda?
39: HA: High Availability & DR: Dry Run Environment

Points 32 to 39 are observations I made and have recorded here as learning’s from the RFP Response presentation that I was a part of. I was the Junior most official in the room of esteemed others like - The Practice Head, the Relationship Manager, a Principal Consultant, a Domain Expert, a Subject Matter Expert, an experienced Resource with both Technical and Functional knowledge from the Vendor Panel and AVP IT, Manager IT, Distinguished Team Members from the Client Side and a Business Transformations Panel, a PM, a set of IT Architects from my company.

My role was to evaluate the solution within the Framework of a SOA based Application Integration approach. Ideally I would’ve loved to dedicate a separate article on it but do not wish to run the risk of violating the Information Security / Business Conduct Guidelines that I always have complied with irrespective of which organization I belonged to. :)

Hope you have a nice time using some of the above phrases and having your own interpretations of them! :)
~ sayli :)

Friday 15 February 2008

Leadership for the IT Professional

Yes, I did go back on my words, cause Valentine's definitely wasnt the time to Post a piece on Leadership ! :) So here it is reproduced for the curious few, inclusive of me :)

Leadership means getting something done through other people. Leadership is not equivalent to management. Leadership requires the effective coordination of resources that are often not directly under the leader’s control:

• A leader accepts the responsibility for the success of a project or organization and provides selfless giveback and support to ensure everyone’s success.
• A leader recognizes the need to change, adapt, and innovate – and they find effective ways to communicate those needs to the organization.
In order to understand the meaning of architectural leadership it is necessary to understand that any professional can be a leader. Leadership is essential for all IT professionals who wish to progress in their careers.
Examples of leadership in a technical context are:

• Establishing and driving a new architectural vision or direction in order to adapt to changing business dynamics
• Developing a new technical standard or framework as part of a standards body
• Setting and maintaining the direction of a team of IT professionals to achieve a common goal
• Resolving a complex technical problem by developing new tooling or techniques
• Designing a new innovative solution IT architecture that changes the way an organization does business or establishes a new IT industry view or initiative
• Helping the organization to recognize weak links in their technical strategy and implementation in a way that helps to facilitate the organizations closure of gaps
• Facilitating the implementation of a significant and complex architectural initiative through other technical members of the organization – this is often accomplished through mentorship, enablement, and giveback
• Acting in the role of the technical advocate by [recommending] an innovative IT solution that changes the dynamics of the business environment; a technical advocate works with business leaders to consider strategic changes to the business – facilitates entry into new markets – and responds to changing market dynamics.
• Being seen as a role model by team members

Architectural leadership for the Chief/Lead IT Architect is defined as leading the creation and realization of a sufficiently complex system or enterprise architecture that is:
• Critical to the business
• Significant and complex – non-trivial and meaningful to the business
• Innovative
• Recognized as essential across multiple organizations or multiple lines of business
• Visible to stakeholders including, for example, customers or business partners
I came across this in my general reading and wished to Archive it in my own blog instead of the usual save / bookmark as favourite. Hope it helped.
lotsa luc,
~ sayli :)