"What doesn't kill you makes you stronger?"
I passed the first half of my Kenpo karate black belt test a little more than a week ago. It was three hours, almost non-stop, of katas, techniques, kicks, punches, etc. What's worse, I was testing with a 16 year old, and the test went at his speed. I thought I was going to die, and actually tried to quite the test. Folks pushed me back onto the floor and made me finish. When I go home, I drank a gallon and a half of fluids (that's 10 pounds folks).
Part II is 12 rounds of sparring. The 16 year old took his second half last week. I was his "corner man," supporting him between rounds. The sparring section of the test seems to be some funny mix of Mortal Kombat, the Romand Forum and Marine Corps basic training. The algorithm seems to be that if 12 different black belts cannot cripple you, kill you or make you quit, you get a black belt. There is a requirement that I throw "8 kicks per round." This is going to be hard. Every time I throw a kick, it feels like I am lifting a log off of the ground.
I have been using the dojo and how the instructor runs it to shape my thinking about "small-medium business" thinking. I should probably start using the dojo to shape my thinking about software for medical care, prosthese or maybe funeral services.
Not sure when I take the second part of the test. If my blogs completely end, you will know why.
Middleware and tools
From archive: September 2005 X
donferguson 100000UVJJ 508 Views
I found someone who was awake while I was on the flight back to the U.S. I called her on Skype over the wireless Internet on the Lufthansa flight. It worked like a charm. I was surprised that there was no perceptible satellite delay.[Read More]
donferguson 100000UVJJ 585 Views
A Consumable SOA Foundation
IBM's SOA vision and product portfolio is broad, deep and complete. Competitors cannot attack our product family and vision on function, performance or completeness. Instead, they claim we are "too complex" or "poorly integrated." Frankly, this is baloney. I am going to succinctly address complexity in this blog entry. We are authoring a paper for architects and programmers on starting points for SOA, which we will link here. I want to address the complexity problem quickly, however. A subsequent entry will address integration.
Our industry uses terms like "ease of use" or "simplicity." IBM Software Group and I like the term "consumability." Simple cannot mean simplistic or incomplete, which most of our competitors fail to grasp. Consumable means that there is a "bite size" next step no matter where you start or where you are on adopting SOA. Most of our competitors are simplistic and incomplete, which means that all you get is the next bite. There is no meal. They turn your hunger into their virtue. I do not make my kids eat all of their meal at once nor do I give them only a single morsel. We take the same approach with our customers and partners -- we offer you a complete meal that you can consume when your are ready. Unlike my kids, you can start with dessert if you want. Actually, I let my kids start with dessert too, but we do not tell mommy.
A BLOG entry cannot adequately cover all of the starting points for SOA, or all of the roadmaps. Each customer and partner has the flexibility to start where they want and to evolve as their business needs demand. I am going to provide some examples of simple first steps to demonstrate the breath, completeness and consumability of our products.
There is a very simple approach to publishing CICS and IMS transaction programs using WSDL and making them accessible through WS-Interop protocols. One does not need for a WebSphere runtime or an ESB. It is possible to call the WSDL services from .Net, WebLogic or any Web service compliant runtime and tools. WebSphere Studio Enterprise Developer provides tool support for simplifying the generation of the Web serviceas artifacts, and WebSphere Asset Analyzer provides assitance for identifying services based on existing metadata.
Our tools also support the Web services abstraction over JMS/MQ. So, a site can grow from simple SOAP/HTTP to a more powerful messaging infrastructure when required.
We have very simple tool support for publishing a set of SQL operations or stored procedures through WSDL and WS-Interop. WebSphere is one runtime the tools support, but the tools and artifacts run in multiple Java servers. Our initial tool support several years ago first worked with both Tomcat/Apache SOA and Tomcat.
Our WebSphere Information Integrator products have tools and runtime support for building an integrated data model and database over multiple back-end databases (DL/1, VSAM, Oracle), other data subsystems (e-mail, file systems) and applications. Information Integrator support Web services for one of the environments that it integrates. One can integrate .Net applications into an information model that federates DL/1, VSAM, e-mail, etc.
Our database products support surfacing Web services operations as user defined functions (UDFs) in the database. This allows SQL programmers to include Web services operations into their queries and stored procedures without learning a new API and metaphor, with tooling support in WebSphere Studio.
The Application Server:
WebSphere provides simple "one button" support for publishing Java classes ("Plain Old Java Objects") and Session EJBs as Web services. The tools also support a top-down model in which one defines (or gets sent) a Web service interface, and implements it in Java. The programmer does not need to know anything about processes, ESBs, etc. to produce and consume services.
WebSphere Process Server provides support for building composite services that aggregate other services using a standard model (BPEL4WS). Since some business problems are more naturally solved using state machines, and some programmers like the state machine model, we also support this abstraction. In both cases, programmers can build powerful business processes that use multiple different types of service with little or no programming. Since some programmer like to do scriptlets in their workflow processes, we also support BPELJ, which we co-authored with BEA.
IBM helped drive the Web Services Remote Portlet specification. Our portal can publish and consume WSRP compliant portlets. Doing so is done through simple configuration, and does not require programming. Our Rational tools also provide wizards for building a Web application or Portlet that interacts with one or more Web services. The underlying Web service may be a mainframe application, BPEL4WS process, etc.
I could go on for hours and hours. Programmers can start with Portal and evolve to ESB or Process server, or start with Web service enablement of mainframe applciations and build a portal, or ... ... There is always a consumable next step on the SOA roadmap you have chosen. We do not force you to change the way you think and they way you evolve to match our limited product portfolio and vision.
Ultimately, our product family and SOA vision support several key themes. One of the themes is different styles for "integration." The core styles our products support are:
Message Centric Integration: Some programmers like to think of the messages in the enterprise, where they come from and where they go. Our ESB products and tools are a natural next step.
Process Centric Integration: Some programmers like to think of "the enterprises business processes," and how individual steps map to existing services. WBI Modeler, WebSphere Integration Developer and WebSphere Process Server are a natural solution.
Workspace Integration ("On The Glass"): Some programmers simply want to provide role and task based workspaces to allow employees, partners and customers to interact with "services." WebSphere Portal Server and tools, evolving to Workplace, meet this use case.
Information Integration: Sometimes the business problem is simply to build an integrated, coherent information model over multiple sources of data.
One can use an ESB without process integration or a portal. One can integrate mainframe applications into portal workspaces through Web services. The different styles of information also compliment each other, when that is what the customer needs.
In summary, our SOA foundation is complete and consumable. We will be elaborating on these thoughts in writing over the coming days.[Read More]
donferguson 100000UVJJ 481 Views
I am posting this entry from a trans-Atlantic Lufthansa flight. The connection is pretty good. I also used Skype to check the voicemail on my cellphone, which is turned off right now, and left a message for myself. It all worked.
There was only one problem. There is a transmission delay for the "sound" transmission. Pushing the "buttons" on the phone travels as sound. The voicemail "operator" and I got out of synch some how. Her response to me that I had initially entered an invalid mailbox (number got dropped) got recorded as a prefix to my test voice message for myself on the second try.
Sadly, no one I know is awake.[Read More]
donferguson 100000UVJJ 466 Views
I will post the general Systems Journal paper here once the journal publishes it. They are sensitive to broad pre-distribution of the paper. I can mail people copies as long as it is not dozens of people.
I am using Skype while in Germany. I have to admit, it is pretty cool. I am flying back to the U.S. on Lufthansa. I am going to try making calls using Skype over the WiFi connection on the Lufthansa flight.