Thursday, July 2, 2009

WebServices Versions

Well, just read this. It's an article by IBMers on versioning of web services and schemas. I got this URL from @kfrion after a phone call we had together concerning the versioning of APIs.

The article highlights the same problem I'm presenting in my SOA classes and to my customers. Generating WSDL is great. Whether you're using VS.Net or AXIS/CXF/Metro - WSDL is automatically generated and it works just fine.
However, if you want to use company standard XSDs (from your repository of business objects), to enforce policies, or anything like that - you're stuck. The reason - WSDL editing tools are just not good enough.
And if you need to upgrade your WSDL version - changing the target URL, the schema and so on - then you're on the road to hell, since it requires so much low level understanding of the schema and WSDL specs that your chance of getting it right is slim.

So, what we really need are tools that will allow us to set everything in the WSDL from our code annotations (schema locations, policies, etc.), and can understand changes we made to our programming language code, and generate a backward compatible WSDL according to all versioning best practices.
I've developed something like that (very very limited) in C#. If someone is interested - reply or mail me.

Wednesday, July 1, 2009

Technorati

Well, time to join Technorati. So here is the code - hbsqcxpkyg... Hope all goes well.

Monday, June 29, 2009

WPF and Silverlight

Wow. 2 weeks since my last post. Had about 100 twits since then. Just goes to show you.
Anyway, I was asked to give a presentation to a customer concerning Microsoft new technologies. I told them that I'm a Java guy - but they just asked me to do it anyway. What could I do?

So, I opened my VS.Net2010, and my PowerPoint 2007, and started making some slides. Talked about cloud (from Yahoo presentations), VSTS, SQL Server 2008 and more.

But the technology I'm most impressed with is Silverlight and WPF. Now, I've seen my share of WPF and Silverlight applications, and development demos. But working on these technologies using VS2010 is a great experience. I've developed 2 demos (on technologies I hardly know) in like 5 minutes. And comparing it to my VB6 experience way back, I had to say WOW. WPF is clean, organized, very well documented and understandable. Compared to SWING/AWT/SWT - it is much simple to use, the applications run faster, and the development tool is much much better.
For short - the old best practice - of building client UIs in MS technologies, and backend systems with Java technologies, and connecting the dots with Web Services/REST/JSON - seems to still be in place.

Monday, June 15, 2009

Facebook App Development

So, preparing to my alphageeks lecture, I started building a demo facebook application. As always, I try to set the standard high - probably too high for my free time. So, mining facebook data is not interesting enough for me. Instead - I want to build a facebook applicaiton, that will be hosted on my page.
Not an easy task - let me tell you that.
  1. I started by downloading Apache-Tomcat 6, hoping it will run my application.
  2. Downloaded the Google Java Facebook API, and the web application that comes along with it. (See here)
  3. Deployed the web-app in Tomcat.
  4. Got tons of DB related problems - but I don't care.
  5. Fixed params in the facebook.properties file (api_key, secret and callback)
  6. Got a static IP.
  7. Changed the facebook app call-back URL
  8. Added my custom code to the web-app.
  9. Voila - all works.

Monday, June 8, 2009

TPTP and Java6

Well, I'm demoing TPTP, and decided to use Java6. Why? Because my laptop is new, and I'm going with the most up-to-date version. Not neccessarily the right call. Why? Because all tutorials on the net show how TPTP work with Java5, and not with Java6. What's the difference? JVMPI, which TPTP works on, is discontinued on Java6. So, how do we profile using TPTP?

Man. This is lame!!!

Sunday, June 7, 2009

Meeting effectiveness is disproportional to its length

Well, I've read - http://www.businessinsider.com/how-not-to-blow-your-meeting-with-me-2009-6 - and loved it.
I'm following a rule that says the longer the meeting - the less effective it is. Our board meetings take 2 hours - and are a total waste of my time. Customer meetings - I'm keeping to a 30 minutes top. The most effective ones I have are 10 minutes long. 5 minutes chit-chat, 3 minutes business (this is what I do - cool, this is what I need, or vice verse), and 2 minutes goodbyes.

I've searched and couldn't find a reference to such a law on the net (meeting effectiveness is disproportional to its effectiveness). If you do - please post it here.

BTW - the law doesn't apply in government agencies and financial institutions. Or rather - it applies there more than anywhere.

Thursday, June 4, 2009

SOA and GWT/HTML Scraping

As promised, I continue my previous posts on the Message Enrichment scenario. I met with the customer, and it seems, that the only way to truly enrich their ESB message is to build an image processing engine right inside the ESB. Although it sounds quite cool - and I'd love to do it myself, since it's been years since I wrote some image processing code (last time was on Turbo Pascal for Windows 1.5 - ;-) ) - it seems like a waste to put inside the ESB.
The solution? Use an HTML scraping as an ESB connector, to rip the data from the web browser, and use it as a service. The reason - the application wrote some code inside the engine, and some code (like zoom-in/zoom-out) inside the web browser (using GWT). And so a command will be recieved, it will be translated to an HTTP GET request, and the resulting HTML will be scrapped, to get the actual required image.

I like this idea, and not (only) becuase it's mine. I think it makes good reuse of existing code, which is what service exposure is all about, at least for me. The shocking part was that no one I talked to even considers HTML scraping as a legitemetasdf SOA concept. Ain't that odd? I can't count the times I had to pull my HTML scraping toolkit (XQuery and JTidy are fine by me, thanks) and rip information from existing HTML pages.

However, there is a chanllenge here. Is it even possible to scrap GWT based pages?