On technology...
Just another (occasional) brain dump on technology and the technology industry...
About Me
- ax/
- I enjoy wine, laptops, walks, bicycling with the kids and long drives. I am constanly reading. In my heart I am a teacher a salesman and a technologist.
Saturday, November 08, 2008
Downloaded Refcardz from DZone
Friday, September 19, 2008
Rolodex - Interface Based Programming
Monday, September 15, 2008
The KreditInform "Web Service" and I
- Ease of use - not very easy, documentation sucks.
- Standards compliant - they call it a web service, which it is in the loosest terms. It is not WS-I compliant. I went to see a developer. There are no plans to change the current implementation to be WS-I compliant.
- Did I get it to work? Yes.
- Was it easy and intuitive. No way - be prepared to suffer!
Saturday, August 30, 2008
Introducing the Rolodex
According to
The Rolodex was invented by Arnold Neustadter in 1958...."
Why is a Rolodex interesting?
A Rolodex makes for a great example of a physical device that can be implemented as software. When one looks at it closely one can easily identify object-oriented principles.
- Abstraction - a person is a contact.
- Association (or composition or aggregation) - a person works for an organization, a person has given names and so on.
- Polymorphism - a contact's string representation will look different depending on whether the contact is a person or an organization.
What goes into a Rolodex?
A Rolodex stores contact information. A contact can have a couple of telephone numbers, email addresses and addresses. A contact may be a person or an organization. A person has given names, a family name, a gender and a birth date. An organization has a name. A person may be associated with an organization. An organization may have many employees.
What can one do with a Rolodex?
You can add, remove, find and edit contacts. You can also add, remove, edit and find telephone numbers, email addresses and addresses for contacts. You my want to update a person or an organization's information from time to time.
Why did I describe the Rolodex?
Because I want to show how to implement a software solution that can take the place of a Rolodex. Over the next couple of weeks I want to show how you will go about implementing the Rolodex mainly using Java technology. I will cover the following topics:
- Rolodex's interfaces.
- Persisting Rolodex entities in an XML file using JSE technologies.
- Persisting Rolodex entities in a relational database via JPA using JSE technologies.
- Accessing Rolodex functionality as JEE components.
- Exposing the Rolodex as a Web Service.
- Exposing the Rolodex via JSF.
- Exposing the Rolodex via SEAM and,
- using .NET and web services technologies to expose the Rolodex as a .NET client.
Monday, March 03, 2008
Sun MySQL. Wow!
I do a lot of work in the JEE space. Big Blue is pervasive. I have to put up with their technology. It is trash mostly, but sometimes they have a real gem or two in their product stack, like DB2 and MQ. AIX is ok, like it is ok to have any old car instead of walking everywhere. WebSphere is a nasty piece of work.
I really like BEA's product stack. I think that it is excellent in almost all cases. Oracle is the worlds most deployed database and for what reason I do not know. I wonder how that is going to pan out?
I started playing with the Sun Application server 9.0 a while back. I immediately loved it. I still do. In my opinion it is the best AS out there. 9.1 is even better! I also have high regard for MySQL. It looks as if Jonathan Schwartz is doing great things with Sun, I have a good feeling that he will do awesome things with MySQL.
Happy coding...
Friday, February 15, 2008
SOAP With Attachments in Java CAPS, Client
The code is as follows:
|
I used tcpmon to redirect the call to the appropriate destination to see the payload on the wire.
Have fun!
Thursday, February 07, 2008
SOAP With Attachments in Java CAPS
I figured that the SOAP with Attachments API for Java (SAAJ) would be a good place to start. I looked through the API documentation and found that I will need a byte array and the SOAP message's MIME headers to create a SOAP message using SAAJ. All I needed to do was to expose the HTTPServer's processRequest as a JCD.
Here is the implementation:
|
unmarshallSOAPMessage on line 59 shows how to reconstruct the incoming SOAP message from the WebApplication's byte array and HeaderList. The rest is fairly obvious. sendResponse on line 198 shows how to pump a newly created SOAP message back over the wire.
That covers SwA server functionality within Java CAPS. I will show the client side code in a next blog.