Showing posts with label enterprise service bus. Show all posts
Showing posts with label enterprise service bus. Show all posts

Sunday, July 7, 2013

Simplification and Unification

Sometime ago, my boss gave us a book titled “Einstein 1905: The Standard of Greatness”. This book described a story about Albert Einstein who wrote, in the span of six months in 1905, five papers that deeply & fundamentally influenced the course of twentieth-century science. The five papers focused on different aspects of physics as quantum mechanics, molecular dimensions, merger of space and time, and the relationship between mass and energy (the most famous equation).

Reading through this book with great interests, I admired very much unique characters of Einstein’s work. For example, he unified the wave and particle theories; he came out the most elegant and simple mass/energy equation. In addition, he sought for perfection. Very often, simplification and unification are related, which leads to perfection. Reflecting Einstein’s greatness and what has happened in technology (especially in IT) in the past 15 years, I witnessed many instances of simplification and unification. To further illustrate them, a few examples are listed below.

Simplification
  • From binary data format to XML: Prior to XML standard, many data were stored in binary format, which is proprietary, hardly interchangeable, readable and descriptive. The occurrence of XML made the data presentation as text based, which is much simpler than binary. In addition, XML can be self-descriptive and self-defined.  
  • Consolidated Data Store (CDS): a pattern of information management for managing multiple data stores throughout an enterprise. The data mess in many enterprises results in the fact that the enterprise has many data sources out of control. Another consequence of this mess is that same business entity has different versions of data associated, meaning there is no one source of true data across the enterprise. CDS is targeted to simplify the complexity of enterprise data access and management, as well as to provide one authoritative data source.  
Unification
  • Internet (http protocol): Needless to say that Internet has been becoming the most unified protocol in our society, touching our daily life everywhere.
  • Enterprise Service Bus (ESB): ESB is a software architecture model (can also be taken as a pattern of IT infrastructure), which is for designing and implementing the interaction and communication among applications. Prior to ESB, the communication of systems or applications was tightly coupled, with their own communication protocols. This caused enormous burden for an enterprise with disparate data sources and systems in terms of development, maintenance and operation. ESB unified the interaction and communication among different participants in the whole enterprise ecosystem, enabled IT more agile and flexible.
Finally, every professional should keep simplification and unification as his/her ultimate goal of excellence. Keep in mind that simplicity is beauty!


Sunday, June 12, 2011

ESB Product Consideration: DataPower vs Message Broker

Back to a number of years ago, when IBM WebSphere DataPower just got into market, I was one of the technical resources involving initially in the DataPower service offering in IBM GTS (global technology services, not IBM software group). My early involvement in DataPower was based on the judgment and belief that it is a very powerful product, and would be loved by IT. I also mentioned to people many times that DataPower will eat the integration pie that primarily enjoyed by IBM WebSphere Message Broker.

However, the invasion of DataPower into the territory of Message Broker hasn’t been seen until recently. One of the reasons seems to me that the DataPower has been stamped as a hardware appliance.  Due to it, probably (dumb) people would think that it is something like F5 or load balancer. This is kind of misunderstanding that was really an insult to this great product (it may also be an IBM’s problem on how to brand it, I believe).

From my perspective, the greatness about DataPower (in addition to all IBM marketing materials about its capabilities) is the fast prototype & development and easy ongoing management. This is a very convincing argument when coming to the decision for company to make selection of products/tools for their IT needs (especially ESB & enterprise integration). In addition, it is pretty much no ambiguity that DataPower can deliver what it is supposed to do and what it can do without compromising expectations (such as performance).

On the other side, Message Broker is still strong with the enterprise integration such as SAP, Sieble & PeopleSoft (relying on adapters) and the support of data formats. But, there are many overlapped functionalities between DataPower and Message Broker. On top of that, DataPower can do a few things much better… Below is the comparison between DataPower and Message Broker.

Message Broker DataPower
  • Integrating and leveraging the WebSphere MQ messaging infrastructure.
  • Supports different protocols such as MQ, JMS, HTTP(S), Web Services, ftp, and convert one to the other.
  • Supports a wide range of data formats, including XML, binary (COBOL, C), positional/delimited, and industry formats (EDI, SWIFT), and convert one to the other.
  • Provides a number of capabilities to customize mediation, including C/C++, ESQL, Java, XSLT, and PHP.
  • WebSphere Adapters for enterprise applications (SAP, PeopleSoft and Siebel).
  • Offers z/OS clients platform-specific benefits (CICS, VSAM).
  • Similar to Message Broker, DataPower can do any-to-any transformation (in theory, Yes. But in practice, you may need to use WebSphere Transformation Extender (WTX)).
  • Supports almost every security protocols and different authentication/authorization schemas, such as Web Service security/policy, TLS/SSL, SAML, LDAP, RADIUS, etc.
  • Provides field level security: WS-security down to the individual operation, encrypt & sign individual fields, nonrepudiation.
  • Data validation, parsing and filtering, and meta data manipulation.
  • Transport level protocol conversions from any-to-any.