Tuesday, February 25, 2003

Web services tutorial

Web services tutorial

The Web services Tutorial on IBM WebSphere SDK for Web services V5.0 (WSDK) was just released.
WSDK Tutorial

The tutorial series focuses on JSR 101, JSR 109, J2EE, Web Services Interoperability Organization (WS-I), UDDI, Web services security (WS-Security) specification and more.

1) Introduction to Web services and the WSDK
Jacob Weintraub; Rick Hightower; Kyle Gabhart; Peter Schmitz; David Fraser
February 2003

This tutorial is the first part of an eight part tutorial series. The tutorial series introduces you to Web services concepts and technology, demonstrates how to practically apply them using the IBM WebSphere SDK for Web services V5.0 (WSDK), and explores the current state of Web services technology.

2) Introduction to Web services and the WSDK

XML Web services fundamentals
Downloading, installing, and running IBM WebSphere SDK for Web Services (WSDK)
SOAP, WSDL, and UDDI Primer
WSDK features and tools

3) Creating a Web service from a Java class

Introduction to JAX-RPC
Exposing a Java class as a Web service
Lab: Creating a Web service from a simple Java class
WSDK and JSR109 Components
Lab: Creating a Web service from Java class with complex types

4) Creating a Web service from a Stateless Session Bean (EJB)

Introduction to JSR109 and EJB
Exposing EJB as Web services
Lab: Creating a Web service from an EJB
Using EJBs as Web service clients
Lab: Creating a Web service EJB client
Describing Web Services: WSDL

5) Describing Web services with WSDL

WSDL Architecture (including messaging and encoding styles)
Mapping between WSDL and Java programming language
Digging in Deeper with WSDL and WSDL4j
Using the WSDK's WSDL2Java tool
Lab: Describing Web services

6) Publishing your Services: UDDI

The UDDI Publish API
Publish Process: Interface definition, implementation, WSDL generation, service publishing
Setting up the WSDK UDDI registry
Publishing services to the registry
Lab: Publishing Web services

7) Discovering Web services: UDDI

Digging in deeper with UDDI and UDDI4j
The UDDI Query API
The discovery process: Lookup, interface generation, and implementation
The WSDK, service discovery, and service invocation
Lab: Discovering Web services

8) Securing Web services

Digital encryption and XML digital signatures
Securing a SOAP payload
Working with IBM XML Security Suite
Lab: Secure Web services

I've been checking out my buddies blog.... Erik Hatcher Blog Gee.... Why didn't they ask me to go kyaking? I wouldn't have gone, but hey it is the thought that counts. My last extreme sport was snow boarding. Okay okay.... it was not very extreme.... I never left the bunny slope, and I still hurt.

Thursday, February 20, 2003

George sent me the patent number of the patent that we authored.


Wednesday, February 19, 2003

I am still a Java fan. I think .Net competition is making Java better.

JDK 1.5 is Java's answers to cool C# language features
Java Server Faces is Java's answers to the ASP.Net cool event model
IBM WSAD (and others) is Java's answer to Visual Studio .Net
Apache Axis and IBM WSDK is Java's answer to ASP.Net web services.

Tuesday, February 18, 2003

It's a boy! I just found out today that my wife and I are having a baby boy!
Lucas Richard Hightower is on the way.

Monday, February 17, 2003

I am speaking for the Complete Programmer Network series in Philly on April 11-13th and St. Louis on May
30-June 1st on the following sessions:

1) Title: J2EE development with XDoclet and Ant

Abstract: Covers developing J2EE components with XDoclet. XDoclet can drastically speed J2EE development by generating component support files by embedding meta data in what looks like JavaDoc tags of the component implementation. Demonstrates developing Custom Tags, Entity Beans, Session Beans, and Struts Actions with the assistance of XDoclet combined with Ant.

2) Title: Principles and Practices of Effective Developers

Abstract: Regardless of methodology or technology there are certain universal practices and principles of effective developers. Covers how to use these principles and practices to make effective decisions on methodology, technology selection and dealing with management, other developers and customers.

3) Title: Extending Struts: Bending Struts to fit your needs

Abstract: Okay you think you have mastered Struts, but you wish it could just do this one special thing? This session shows you how to go beyond the Struts basics to extend the framework to fit you needs. Struts was designed to be extensible. Learn how to extend it. Advance Struts topics about extending the framework using Struts plugins, and extending the Action Servlet, Custom Actions, the RequestProcessor, and more. This is an advanced topic that assumes previous knowledge of Struts.

4) Title: Advanced Struts:
Abstract: These are advanced topics that assumes previous knowledge of
Advance Struts
* Uploading files with Struts Forms
* Defining your own custom tags using Struts
* Generating Struts config with XDoclet and Ant
* Using BeanUtils, and PropertyUtils
* Using Velocity instead of JSP for views
* Using JSTL instead of Struts tags for views
* Unit testing Struts Actions with Cactus
* Unit testing Struts based Custom Tags with Cactus
I am speaking at TheServerSide.com Sypmposium in June in Boston.

Java Web Services Update: IBM WSDK
Rick HighTower

Covers features, APIs and tools delivered with IBM's new Web Services Development Kit. IBM is really showing leadership wrt to Web Services, and new WSDK is way ahead of the curve in delivering on the vision of Web Services for Java developers. The new version of IBM's WSDK is going to release this year before the show. Specifically the WSDK is including features associated with JSR 109 and JSR 101 and additional work done by IBM wrt WSI. This session will cover those features with examples and follow up material.

J2EE development with XDoclet and Ant
Rick HighTower

Covers developing J2EE components with XDoclet. XDoclet can drastically speed J2EE development by generating component support files by embedding meta data in what looks like JavaDoc tags of the component implementation. Demonstrates developing Custom Tags, Entity Beans, Session Beans, and Struts Actions with the assistance of XDoclet combined with Ant.

They listed me as follows:

Rick Hightower. Author, Java Tools to Extreme Programming, Mastering Tomcat co-aurhor.
Presenting: Java Web Services Update: IBM WSDK and J2EE development with XDoclet and Ant

Opps... I am not the co author of Mastering Tomcat. I did author about 1/5 of the book Mastering Tomcat (2 large chapters). One of the presentations is based on the XDoclet material I created for the book. The other presentation is based on the IBM WSDK tutorials I contributed for.

I've been talking about this mysterious project for a while. I never gave it a name because it was top secret or so I thought. "LPc Tech Team Selected to author IBM developerWorks Web Services Tutorial Series" was on our website for the last month. I did not realize that it was public on our website since 1.17.03. The project that I was burning the midnight oil was the tutorials for the WSDK 5.0. I worked on the tutorial with Kyle Gabhart, David Fraser, Jacob Weintrub, Rawn Shah (editor of IBM developerWorks), Simon Nash (CTO of IBM Technology), Peter ? and quite a few others. It was a blast of a project to work on. And it was fun working with the newest and latest Web services tools from IBM. Download the WSDK 5 now!. They have really simplified Web service development a lot.

BTW WSDK stands for IBM WebSphere SDK for Web Services (WSDK) Version 5.0.

"WSDK 5.0 is designed to address the needs of experienced Java programmers who want to quickly learn how Web services can be created using existing Java components and achieve seamless integration with disparate systems. The WSDK combines the industry-leading expertise of IBM in Web services with the power and functionality of the IBM WebSphere Application Server 5.0 to offer a low-risk, affordable entry to Web services. Future versions will implement new Web services features in support of profiles and scenarios defined by the Web Services Interoperability Organization (WS-I.org)."

"Supporting the latest specifications for Web services including WS-Security, SOAP, WSDL, and UDDI, WSDK 5.0 can help you build and test Web services that can be optionally integrated with other legacy services using IBM WebSphere Studio V5.0, and deployed on industry-leading IBM WebSphere Application Server V5.0."

Thursday, February 06, 2003

I met with Andy Barton and Nicholas Lesiecki for lunch. We ate at Gavi's. Andy and Nick are from eBlox (ebloX) and they have really tuned the eXtreme Programming for doing contract work and outsourcing of projects. Nick has a book coming out on aspectJ. I can't wait to get a copy.

I am trying to get them to do some project together. I hope they can work with us. They are a real asset to any team.

Too Extreme?

What is in a name? Too Extreme

I like everything about eXtreme Programming except the name. Why?

Here is how extreme is defined at dictionary.com:


  1. Most remote in any direction; outermost or farthest: the extreme edge of the field.

  2. Being in or attaining the greatest or highest degree; very intense: extreme pleasure; extreme pain.

  3. Extending far beyond the norm: an extreme conservative. See Synonyms at excessive.

  4. Of the greatest severity; drastic: took extreme measures to conserve fuel.

  5. Sports.
    Very dangerous or difficult: extreme rafting.
    Participating or tending to participate in a very dangerous or difficult sport: an extreme skier.

  6. Archaic. Final; last.

Went Kent Beck coined the term eXtreme Programming I think he meant the second definition as in very intense. However when most people think of extreme (thanks in a large part to Mountain Dew commercials) they think of third (beyond the norm) and the fifth (very dangerous or difficult).

The name eXtreme Programming is probably one of the reasons it is so well known (the name is powerful),
yet at times the biggest problem with adoption is sometimes the very name that made the movement popular.
eXtreme Programming is about quality not reckless danger and unwarranted risk. eXtreme Programming
is about an intense customer-centric, safe, and risk averse development.

I see shops that are in real pain. Yet management wont give eXtreme Programming a second thought
because in their mind it is associated with reckless, risky, sloppy development.
Nothing could be further from the truth, but how do you convince people of this

Tuesday, February 04, 2003

I did so well on the stuff I was suppose to do that they gave me a lot more stuff to do. Everything they gave me to do was already due (late). Jacob and I have been burning the midnight oil getting this project out the door. I worked all last night till 5 AM on the project, then this 9:30 AM Jacob had more stuff for me to do. I just finished (3:00 PM). I think I'll say hello to the wife and kids. Then work on the pile of paperwork (expense reports) that have been festering. LOL :o)

Sunday, February 02, 2003

Ahhhhhhhhhhhhh..... Two days late, but finally done. Not too shabby.... What is the difference between Friday COB and Sunday PM? Usually none, but there were folks waiting for it on the weekend. This project being part of a larger project. I was close.

When I thought the project needed just one more hour.... it took 9! Three hours of that on an International call. (A bit of long distance pair programming... more like pair debugging). Ahhh.... the joys of development.

Tired? Yes

Happy? Yes

Satisfied? Yes

Burnt out? Nothing a nice dinner with friends would not solve