Sunday, October 26, 2008

Travelogue: Warangal

There are some indulgences which can not be explained, one such are bike rides. It needs your complete involvement and in return gives one the complete travel experience. Here, one does not experiences things but (s)he is very much part of the experience itself. Our trip to this important city from Telangana region in Andhra Pradesh was dotted through out by BIG boulders and I mean it quite literally. Prominent among them is the one at 'Bhuvangiri' which has a small 11th century fort atop. The intermittent landscapes were covered with lush green paddy crop. Once we reached this peaceful city with roads broad enough to accommodate its traffic we had lunch and only then we drove to the temple of thousand pillars which is currently under restoration by ASI which was quite a disappointment to us, nevertheless we were fortunate enough to find some one we knew who took us to the site and showed us the work in progress and briefed us about the renovation plan which very much compensated for the loss. We later visited the fort and 'Bhadrakali temple' which was feast for eyes at sunset. Our return trip was one real peaceful drive through the dark cold night riveted with the thump of our engines and illuminated only with headlamps... vrooooooooooooooooooooooommmmmmmmm

This web-album tries to capture those moments.

Friday, October 24, 2008

Web Services Platforms: Composition and Philosophy

Not surprisingly, contrary to common knowledge SOAP today stands for nothing... some one must be seariously embarassed to refer to it as 'Simple' :) There are so many specifications heard some one saying here are 105 of them!! That very moment I found it over zealous to study and all of them and considering my feeble mindedness, I'm sure to get lost in them. But then, what next?!! I just can't give up like that, after all I have a stiff nose to save ;) They say 'you are what you abstract it from' and may be that's right... may be I need to understand the 'big picture' and then drill down to details subject to interest and need. Here, today a first attempt is made to understand web service as a platform architecture and defining philosophies of some of its more popular implementations.

Web Services Platform Architecture

Web service technology provides a uniform usage model for components/services, especially within the context of heterogeneous distributed environments. It also virtualizes resources by shielding idiosyncrasies of the different environments that host those components. This shielding can occur by dynamically selecting and binding those components and by hiding the communication details to properly access those components. Put simply, these web services technologies serves as a toolset which can primarily be divided into three core subsystems:

  1. Invocation: Upon receiving a service invocation request over a supported transport protocol (HTTP[S], JMS, SNMP etc) a set of handlers need to to pre-process the message as per the QoS (quality of service) requirement (like reliability, security etc.) and then the target Java class (call it first language interference, I'm told something similar happens in other languages too...) is idenified. But before delegating the message for processing it needs to be de-serialized to Java objects and later the response is serialized back to XML documents, which are further handed over to transport layer for onward message delivery. Roughly the same happens on client side albeit in the reverse order.
  2. Serialization: is the process of transforming a Java object into XML element and the reverse process is called De-Serialization. Arguably, this is the most important step as it determines performance and flexibility of the web services platform, among other things. To accomplish this the serialization engine needs a set of 'mapping strategies' to serialize an instance of Java class into instances of XML Schema components. A 'mapping strategy' associates a Java class its target XML Schema type and a description of serializer that will transform an instance of Java into an instance of the Schema type (or vice versa). It should be noted that, Objects are serialized through a 'serialization context' and that the serialized form of object may differ based upon the "context", i.e. what object have been serialized before. Thus a 'Serialization Context' is set of 'Mapping Strategies' that can be used by serialization subsystem to implement the type mapping used by a particular Web Service deployment. Common type mapping mechanism are Standard Binding, Annotations, Algorithmic and Rule Based (need to explore further...)
  3. Deployment: This subsystem supports invocation of a Java target as a Web Service, which includes publishing he WSDL, configuring the end-point listeners and SOAP handlers, mapping WSDL operation to Java method calls and defining the Serialization Context for binding the WSDl operations to Java targets.
Having understood the central concepts associated with a Web Service Platform, it should now give us some basic parameters using which we can compare and contrast different web services implementations. Primary, among them are;

  • JAX-WS 2.0: Assumes a uniformly available Java Universe and thus makes all efforts to make it increasingly simple for a Java Developer to rexpose their applications as web services with annotations and tool support to generate real robust WSDL. Java Interfaces forms the starting point.
  • Apache Axis2: Backed by strong community support this implementation makes it easy to start from either a WSDL or a Java interface and Axis2 with new object model in place boasts of improved performance and flexibility.
  • Apache CXF: Boasts of ease of use and very high performance because of using the new 'pull' parsing technique and the object model.

Hopefully, this article helps us understand the composition of different WS implementations and make an informed decision in their selection for our projects at hand.

Tuesday, October 21, 2008

Approach: How to improve traceability between BPMN process model and UML component model

Workflow can be modeled with a Business Process Diagram or an Acivity Diagram and can be transformed manually or otherwise using underlying matamodel. However, the challenge lies in finding convergence of object-oriented approach offered by UML and process-centric approach taken by BPMN. To put this in context, it should be noted that UML methods asks you to find the objects first using the static structure diagrams and only then build dynamic behaviour diagram to model object interaction. In an attempt to satisfy the stated need, we can model our 'draft' activity model based upon Business Process Diagram as specified by BPMN at the 'first attempt' and 'later' the 'technical team' can refine and refactor the activity diagram so created in few iterations between static diagrams (class diagram etc.) and activity diagram to model the dynamic behaviour, which can improve the traceability.

For a detailed study of the subject one may be interested to study "Process Modeling Notations and Workflow Patterns" here.

Wednesday, October 15, 2008

BPMN in a nutshell

Business Process Modeling Notation (BPMN) is a standard specification created by Business Process Management Initiative Organization (BPMI) intended to provide a notation that is readily understood by Business Analyst (who creates the business process), Process Developer (who implements the business process into executables) and Business Owner (who manages and monitors he process). Thus, BPMN standardizes the bridge for the gap between process design and process implementation.

BPMN defines a Business Process Diagram (BPD), which is a specialized flow-charting technique to create graphical model for business process operations. The graphical model so generated is a network of directed graphical objects representing activities.

BPMN can be classified in to following four categories;
1. Flow Objects
a] Event - Events effect the flow of the process and usually have a cause(trigger) or an impact (result). Types {start, intermediate event, end}
b] Activity - The work done and can be further classified as Task(atomic), sub-processes(non-atomic or compund)
c] Gateway - They are used to model the convergence or divergence of sequence flow and can thus be used to model decision making, fork or joins.

2. Connection Objects: Using them, Flow Objects are connected together to provide basic skeleton structure of business process.
a] Sequence flow - models the 'order' of activity to be performed, it should be noted that 'control flow' is semantically incorrect in the context of business modelling language.
b] Message flow - models the flow of information.
c] Association - models the inputs and outputs of acivities.

3. Swimlanes: The concept of swimlanes is used to organize acivities into seperate visual categories to illustrate different functional capabilities or responsibiliies.
a] Pool: Intra-group activity for e.g. interactions between customer and supplier organizations can be clubbed using Pools.
b] Lanes: Inter-group activity for e.g. interactions between various department of the same organization can be modeled using lanes.

4. Artifacts:
a] Data Objects: Models the input or output form activities such as Rules, Documents for e.g. order
b] Groups: Models the logical grouping of sequence of activities, does not alters the sequence flow.
c] Annotation: Provides documentation.

BPMN can be used to model collaborations between two or more business entities which may be public in nature or business processes internal to an organization, the difference lies in the precision level between the two. The primary value add that BPMN brings to the table are;
1- Standards based.
2- Easily understood by the complete 'spectrum' of people
3- Designed to be easily transformed to the de-facto execution language standard BPEL4WS.

Saturday, October 11, 2008

Travelogue: Nagarjun Konda

Today was my first sunrise after years and still all looked so fresh, bright... so very own and while looking straight in Sun's eyes I found it asking me where have you been all this long, look at your self what have you done to yourself... are you the same footballer who would race against me to start the game... trying to frame an excuse.. I received a phone call from one of my friend.. "We have started... reach Lifestyle... 15 min" I said to myself ... I don't want to get late and changed gears to get ready.. but then years of lethargy and indiscipline can not just go like that.. while I was tying my shoe laces, I received my second call .. I straight away said.. will take take 5 min, on my way.. pat came the reply do u have MP3s on disk... anything will do... Dude I've them.. but not on CDs, will flash drive work??... No, there is no USB port here !! OK forget it we are right here at your doorsteps, so come out :) I had to wish all of them with a sheepish grin... while on car we truly appreciated things which are truly pluggable .. just plug them and play.. the discussion wavered between MP3s to flash drives to SD Card to Eclipse IDE to People. Yes people, we discussed how things have changed from past.. how simple it is for us to move any where.. how is it just a mind thing to feel about your gali, your city, your country.. your world.. and how adaptability is one of the most relevant and required skill in today's world.. we moved in a petrol station.. and snap came another wish to power our cars with electricity.. well as the with idea... we had a long way to go ..

It was two hours now that we were driving and though none of us really felt hungry.. we definitely needed a stretch break, after some coffee and fresh dollops of idlis we were ready for hitting the road again... where is Kondu? he was missing ! where did he go, some one said look him in the trees.. 'National Geographic ke liye koi video bana raha hoga..' Meet Kondu, a self-taught digital photogrpahy enthuthiast who loves to capture nature in all its forms and shapes.. he has panache for creating abstract images, speaks very less but has sharp observation... we got hold of him and stuffed him on the front seat to allow him to take photos while on move...

Another one hour and we reached the dam site... it felt so good to be there.. we straight away headed to wards the security post to walk over the dam.. alas we were stopped on grounds of security.. this is one of the side effect of terrorism.. it has simply spoilt the whole trust thing and has taken out the fun out of tourism... nevertheless the cops were really very polite and guided us about the dam site and other places to visit in close proximity. There description of the boat trip to an island in the third largest man-made reservoir heightened our spirits again and we rushed for the launch site.. on our way we crossed the spring bridge right in front of the dam... it truly majestic. The dam in all its glory stood there to provide irrigation to large portion of the state. The thoughts rushing in my head was how big can u think to create such an engineering marvel which affects lives of so many people bringing them happiness and prosperity.. as a souvenir of the place I stored lung full of fresh air gushing through my nostrils standing atop the bridge that provided 360 degree of the Krishna valley... I was happy.

"Time to move now the boat trip starts at 12" meet Saujanya our time keeper a post graduate in English Literature, who would rather prefer to slaughter me for my "Applied English". Learning the language might have imbibed good British habits.

OMG!! there was typical chaos a the ticket queue and only after one hour we could get our boat tickets, but then we were in time and that was reason enough for us to cheer up so we celebrated it with a dash of Sprite. Seeing the jetty coming to shores we decided to reach downstairs, guess what there was another queue to purchase museum tickets. Disgusting as it was I saw that process flaw and how revenue sharing issues must have created such a stop gap arrangement... find IT to rescue :) We could only catch next jetty at 1300 hrs. Saujanya was not amused :) we decided to take a walk around the launch site, its a small place with lots of cars parked all around this place, as it is one of they favourite weekend get-aways... you can find entire families touring he place.. with super-energetic children and tired mothers running behind them... so much fun.. such a pain.. I remember my mother telling me .. beta jab tum bade hoge tab samjhoge !! :)

An hour long boat ride we reached the Nagarjuna Konda island named after the Buddhist ruler of the area. This site was reconstructed to protect the archaeological findings from the area. The moment one steps on the island one becomes very part of it. The place is so peaceful that I wanted to stay there for the rest of my weekend. The silent lake with lush green tree line was truly blissful.

We went to the museum and learn about the Monastery, the valley model the way it looked before the dam was constructed, some how I felt deja vu about the whole thing. May be I'm there for a purpose.. OK, this was crap ;)

It was 1430 hrs and we thought of having lunch and there we find a canteen. I must confess, these tourism boards must take some steps o improve the food provided at their doorsteps. The food was pathetic and I could not eat more than one spoonful and the filthy fellow charged Rs. 60 per plate of "Veg-Biryani". The food was bad taste and unhygienic and to top it all the canteen vendor was apathetic to the whole situation... it sucks !

Upon reaching back to shores we headed towards Ettipotala waterfall which is there because of two tributaries of Krishna river emerge out of ground and fall into this gorge. I mus confess his place was straight out of jungle books. The story has it that people of the region stopped British explorers to visit the place as there is some big roar always come from the area. This place is densely covered with shrubs making it difficult to move through them, also because the rivers emerge from underground people would not have clue then in the year 1732. The lagoon is home to Lord Dattatri and goddess Madhumati. May be I will visit them next time.

Here APTDC has made some nice experiments by lighting the waterfall which was one unique experience for me. Although the music played was more of a nuisance and no way helped. May be APTDC can take cue from reality television and arrange a competition to create musical theme for the waterfall to be played at night. This way it will not only create an ambient place but also will open an opportunity for musicians to showcase their talent as a first step towards commercial success.

All the way back to Hyderabad I was thinking it is always so nice to visit places and there is still so much to do for us.

P.S. Find related photos here

Wednesday, October 1, 2008

Karmakshetre, dharmakshetre...

I like watching advertisements, just think about it they have to tell a story and sell a product, they need to be smart enough to capture the mind share and crisp enough to keep the interest high. I may have a bias in favour of Indian advertisements may be because of my cultural proximity... but then the emotional quotient shown up by these ads has truly been of very high order. In the given context Amul ads needs special mention which have always conveyed the current state of affairs with panache.

Also, during my recent visits to Mumbai I came to appreciate Idea's "Yeh Mumbai ka nahin hai" campaign. Earlier they put big hoardings all over the place showing pictures of people with captions like.. 'yeh bengal ki hai mumbai ki nahin', 'yeh punjab ka hai mumbai ka nahin' etc. I had no clue about them.. although this time.. the faces had a different caption 'mera number mumbai ka to mai mumbai ka'.. which reflects the true migrant nature of mumbai and states an apt reply to regionalist opinions.

Hats off to the creativity.