 I'll move on to the next one now this is yet another example where I wanted to give you a flavor where people are using web services calls over the internet also now this is an example of a bank I think in Iceland which has enabled some of its services over the internet and we were actually working with the customer who is on the left we were maintaining their applications and here again we did a pilot this was not a production use maybe now it has gone but this about a year ago where we worked where we wanted to show them or they also wanted to be convinced that we could make a web service call and more important was there were a lot of financial data this is about transferring credit card information between a credit card processing company and a bank so there is a lot of sensitive financial information which is getting transferred and we showed web service security again you all have come across so we kind of implemented web service security for them the bank hosted a secure web service but then there is also a lot of work to call a secure web service so your application also has to have the appropriate security setup and then you have to utilize the web service security standards and the APIs there and then the exchange of digital certificates and so on which is in the picture which was you know kind of executed the idea here is that to put up this slide is today people are also kind of using it for transferring financial information sometimes you know you get the picture that web services are called more to get you know non-mission critical informational kind of you know services only but that is not the case things are changing on that front as well okay this is a case where you know where one of the insurance companies they have used the ESB more to integrate services so the lower layer where you see there are different kinds of sources of information which they have over time they have their customer information in the CRM system the policy and the claims related information in the legacy application which is shown in the middle box and some other information in their databases and now when they you know as a part of the initiative to become more customer centric they have you know self-service kind of portals and things on their website so how do you do that so they have used the ESB approach where they have service enabled their applications and then these are available on the service bus so to speak so that's what is illustrated by the middle layer and that can be consumed by you know the search insurance policy search customer kind of modules in their web application so they have started off this way okay and then later on they they want to at least the direction is they want to do some kind of process orchestration as well okay but as far as I know the first two things that is the search customer and the search insurance policy kind of applications were done using the ESB approach to call the different services so here if you see it is not a if you compare it with the first case there we have used direct calls to the to the service okay whereas in this application there is a ESB in between of course there is no protocol conversion kind of things which are there but then this is more done with the future in mind so that when more applications would be consuming web services they have done some kind of upfront investment okay yes primary needs a web application but then the after the web service enablement which we have done these are all dotnet thick clients windows clients yes this is just an example okay you could have a web application also consume web services sorry you have created okay okay it's a simple windows based form application yes yes so the question is this is more about the windows application and how would you distribute okay so yes so there will be a exe which you would have executable which you would create and distribute it to different users internally when it executes it would be making a web service call to your I'll try to clarify it using diagram and maybe then I'll take your question when you move on now I'm describing the system how it would look in this new way of doing it so you would have essentially a client server kind of environment this server would be exposing some web services okay and then the rich client or the thick client which I have would be the in web services terms the web service clients so they would be calling the web services number one and the question you asked earlier so this client exe will have to be installed on multiple desktops right that was your question right earlier okay sure yes see one of the benefits here is in this environment it was all windows application so it doesn't you know kind of bring benefits of web services on the table but imagine that this was a just to kind of give a different flavor this was a java application you could still consume it using a dotnet client which otherwise is very hard or next to impossible kind of thing that you wouldn't try to do that okay so you know different kinds of clients so once you have a web service the interoperability mechanism you can put to use by using a thick client then I told showed you the the mobile kind of applications also they could use the same service okay and of course the web applications also yes right so the question is now you when you want to service enable you have to look for support for web service development and deployment so as far as I know vb6 doesn't have that okay so what you would have to do and we have done the same thing here is you may have to put a layer of dotnet in a get it into picture because dotnet natively supports you know web services development idea is much more easier okay so it will have to coexist along with the or vb that's the most easiest way I can think of right now okay the number is what is the process orchestration orchestration okay I'll go back to the explanation I had in bpm I'll paint the big picture first and then I will talk about the process orchestration part we have four essential phases so to speak one is model so you model the process execute what bpm says is you first model the process create a executable process so wherein we may have to use tools we know which will generate a bpel so there is certain tasks which the role we say the integration developer will do this you will actually tie it to the application services you will use decide on the services which you are going to use and build the whole executable model okay at you deploy in a orchestration server this is where the orchestration server will come in the picture this is where you will create your bpel after you execute you realize that maybe the process requires tuning or there is a external customer demand which is necessitating some change okay many things are there which can be kind of uncovered by monitoring okay and this monitoring is not at the level of technical monitoring of what is the web service what is the data which has gone but more at a business level where you say okay my purchase order process which I talked of it is taking there is a bottleneck somewhere and you know it is taking larger time in terms of hours which my customers are not getting their acknowledgments so what do I do but then before that you have to measure it or you have to have measurement now it is taking seven hours on an average at least that number should be available to you so with monitoring and that is more of business activity monitoring is another word these vendors have been using so you get to know that and once you have the monitoring information you have enough information to change your model so you rework on your model optimize your model you know these are things people talk of and then the whole cycle again we runs so now to answer your question the bpel and the orchestration engine come in this half of the bpm cycle yes now another interesting thing is many people also because the bpm implementation requires lot other tools for modeling as well as the monitoring part so there is a in-between kind of solution that there are tools to develop the bpel okay you must have seen so you just do the deploy and the execute part you don't do the full bpm that is also being done okay the the mindset is not to have the entire bpel sorry not the entire bpm so as to be more model and monitor also so you remove that part you just have process orchestration as the objective and do it right any other questions right right yeah today unfortunately we have not yet matured to such things yet at least not to my knowledge where you know you put in some figures and you are able to have a calculator kind of of thing which which which you will show you yeah so that's what even this the model or the diagram which I showed you earlier so we have we have to use it to you know get at a effort estimate for ourselves also okay so we have to break down the problem okay there is no entire you know first of all what should I say formula or a calculator I said so you'll break down the problem number one second is as I said the SOA adoption is a journey it all doesn't happen in one shot so you would you would find that you may want to build some applications and that in the design you would propose some services so in our kind of environment this would get budgeted in the project cost okay there are those certain customers who go upfront and say okay I want help in my SOA adoption there what we do is we kind of have some you know kind of metrics where but it's more on gut feel I would say where based on our experience we'll say okay these are the service we'll of course go talk to the users business users understand the requirements and then evolve what kind of services they would be requiring look at what their existing applications are okay then we get an idea what we are going to you know use the which of the legacy which we will use to convert to services sometimes we may have to develop new applications with service interfaces as well then we would go on to say which applications will consume them so that their entire kind of solution requirement is satisfied then when doing that we will say I mean this again see it's a investment mindset which the customer also needs to have right but then you know when we look at technology we will be talking in this way but when it's a customer what they're going to say is why should I do this I'm going to in my next slide there's a business case yeah so you require actually with SOA what I saw is that you require a little bit of investment mindset then many things get very easy service creation level I think our traditional uh you know methods still work but when you actually move on to a solution which will which will involve say ESB kind of things so there what happens is nowadays lot of uh you know requirement is of configuring those ESBs properly so you have services to be developed and when I look at the whole solution perspective my solution is not complete until I configure the service and build the application so the building of application and building of services your normal software development life cycle still largely goes on as usual but then the configuration part actually you know over time I believe again we have not done many of these installations such but that should become a routine or we may have some thumb rules for doing that we have not exactly yeah you may have to develop them you have to taste them and then people are new to this concept as well okay yes yes that's a very good very good question you know when we make a service usually it happens that we have some application in mind and from that we are driven okay normally at least I have not seen where people are gracious enough to say we will develop one service without any application in mind and then we will you know later date we will use okay having said that so one is we are there is a motivation for making that service because that's the application in hand which we are developing and we get kind of driven by the requirements of that application but then the whole point gets defeated if it is we are not able to reuse it okay because the whole underlying you know notion is we have to be able to reuse so in that sense we say the service has to be generic this becomes a little conflicting requirement so you have to keep in mind that so the testers have to be kind of have that broad mindset that this service will be a generic service and test with that way so you have to do additional test cases also so that this becomes generic only thing problem is there are no clear definitions of what will when will it become very generic okay so that's the experience part so this is the last slide and more to appraise you or make you aware of what are the difficulties which we have you know encountered in the field and let me before I move talk about this the earlier case studies also which I talked these are some of the illustrative case studies there are vendor examples who have done much more than this they were implemented bpm so what I'm trying to say is there are a whole lot of work which different companies do so what I'm going to now share is what has been our experience so one thing you know in the web services world last three four days you must have seen it's all about standards good part is it is a made out of consensus and then you know many good things also come in the standard but the problem is the standards are ever evolving it doesn't stop okay so for us for developers like us who are developing applications we have to be you know constantly having an eye as to where the standard is moving number one because if we want to have the new ones we have to be ready second is related to this you know second point the tools have to be available to us which will implement the standard for an example if I have to give you are using they were using jboss or net beans so you have a net beans environment which will generate soap with some standard which will say 1.2 and then give you with wsdl 2.0 and things like that now if you go on to add web service security to it okay and then BPL and things that all that has to kind of standards have to be kind of what should I say supported or compliant by whatever are the requirements of the whole infrastructure and that is where the difficulty comes because you start off with one tool you have developed your service you move on there is some you know time delay then you are going to build your orchestration at that time you will find that the orchestration engine demands a higher version to be supported on the service so then you have to break your service and redo it kind of you know I'm little bit exaggerating but these are some of the situations we have landed up in so web service security which was there it took a long time for the standard to come this about two years ago story of two years ago but then it was very hard to find tools which would implement the web service security number one second is you may have situations where you may have to use tools of different vendors okay because you have the service framework may be a java kind of environment so you would use net beans and you know some kind of software to implement it but then the user on the user interface side or the consuming application is dotnet now to be again to make soap calls you may have to use the dotnet say 1.1 framework and then they have some other enhancements also because the standards are changing there are a lot of enhancements also which come into the picture okay and then they don't interoperate okay now again I don't want to say that you know that problem this problem has been recognized it has been solved also to certain extent but I want you to be sensitive about it that this can happen today there is a organization called web service interoperability organization whose core job is to work out these problems of interoperability but then in certain areas where you might venture you may still get into some problems of evolving standards and the tools not being mature enough so you may be working with the older tool so that's where you may get down really get stuck okay third thing is about the interoperability which I talked of when you are making you know at a higher level we say okay it's a soap call we can even look at the soap message and you know thing should be all fine is what we feel and nowadays there are all tools which allow you to not take the wsdl create proxies and then you just create a client and get done but then that is not really the case when you have to build real applications you have a lot of complex objects for an example you know the data structure itself is complex what we have seen is sometimes you have issues with serialization of those objects or you have to take special care to serialize that kind of objects normally whatever we try you know while learning phase is all simple data types and we you know they move back and forth much more easily but when you have complex objects and out of different systems because so when you say you could have a cobalt system you could have a dot net system you have a java system so in all this whatever data types you are going to use across for the application have to be supported so that's when this interoperability kind of situation becomes more critical so this is another aspect you have to think of and you know as a project this is a kind of risk which you have to identify and that's where the proof of concept kind of things helps you if you are kind of trying to do something for the first time in the sense suppose you're going to have an array of objects which you are going to transfer I'm just giving an example over a web service for some reason then if you have not tried it out please ensure that within the environments which you are going to use make a small case try it out and be sure that it works okay and then you can build on onto your in your entire project okay so adoption in India unfortunately we don't have much customers who have done in our customer base but what I gather because we also in part of center of excellence we talk to a lot of vendors and there is a lot of movement in companies because one of the advantages which we have in India is you know we didn't have too much of computerization earlier so whatever is happening is happening now or lately and with new generation of tools and these new generation of tools actually help you you know doing SOA on these kind of tools is much more easier so for an example at least what I know of in the segments of say insurance and telecom and things like that and very you know a lot of multinationals have come in and the kind of applications they are building they're all talking of you know having them as SOA based and utilizing the benefits of SOA because one of the things if you see now we look at our ticket booking we have internet sites banks which are giving us you know self-service kind of things even insurance companies giving you self-service kind of things when you want to you know be all this customer centric and give facilities to the customer behind the scene you have to have these kind of systems otherwise it becomes difficult it is not that you can't do it so to answer I mean though I have not been involved myself but I hear and that is what I'm saying that there is a SOA adoption in the new kind of applications which are getting developed now people are aware and you know adoption is happening fourth point that's the developing a business case now this is one of a big problems and this is not a technical problem though it's more about budgets for the SOA project see the the if you look at it closely what happens is you develop a service okay we say we develop a service it has to be a reusable asset and to be used by multiple applications but then as I said it doesn't get created that way it is done as part of some project now imagine I am doing a project I will make the service I will host it then I have to have the mindset to be able to share it with all of you okay and when it is departments there's a lot of cost consciousness of between the departments also okay so in organizations where they don't have these mechanisms of cost transfers or you know sharing of shared service centers kind of things it becomes very difficult so as I say it's not a technical problem but that's the reality because you see why should I build that the question is like this make that extra effort to create a service for the for everybody is good you know so funding becomes a problem and there are organizations grappling with this problem because how how do you fund because this is if you take it in the project cost that's going to increase the project cost for the project executor okay so what we are also seeing is now many companies recognize this problem and then they are having some kind of mechanism for corporate funding okay then it becomes easy so the corporate funds and then apportions the cost to a lot of them but that mechanism is not there there's a lot of problems for taking SOA projects of the ground and you know you may have similar that's why I brought it up here you may have similar situations in your organizations also where you know how do you get approvals for this lastly creating a SOA roadmap that's again is a you know you have to have a very long term view of what you are going to do because as I said it's a SOA journey it is not one project where we are going to build some application which will consume a service and finish it is going to be there for a long time to come the benefits to accrue the return on investment that word somebody used to really get that you should have at least two applications using your service when the second application is going to come up what state I mean what state our service will be you know in what is the infrastructure which will be needed are we going to have the service integration or a ESB kind of requirement people's mindset to use services share services all that is there you know these are problems when you want to create a roadmap what all do you think about so you know we kind of have now started getting into engagements where we also sensitize people about these aspects and work with them okay these are your department different departments get people there start with the basic education okay saying that how it is important you know what benefits it will bring in it's an investment but then over the long term it will pay it for you and things like that then have a buy-in and then you know depending on the landscape which they have what kind of systems service enabling prioritizing which systems to service enable first what is the infrastructure which they have to put the cost aspect which you are asking me you know so some ballpark figure we can't give them very precise estimates so we kind of give a plan and that is very very kind of essential requirement is what we feel so that they are able to budget it over years yeah so these are but very difficult tasks still yeah so these are few things I thought might also be you know relevant in your organizations and it would be good to know so that's all I had to share yeah the service interface changes so if you modify the services still you have to question what is it which is going to change you know one of the things probably they must have talked is in a web service the contract if it remains intact nothing is going to get affected if the implementation is going to change no problem okay changes yes yes so interface changes yes your application will break down because the whole the soap call will not be processed on this side because it is expecting in some form but if I modify just say some part of the services yes which part is the question right there are two parts there is an abstract part right and there are the for example if you create the part on which the service is running it won't work the board has changed right if you change the abstract part your interface has changed so it has been compiled so it depends on that back and implementation changes doesn't matter so as I said like that when you are making any services specifically to some application in mind now later on you need to design that service so the interface would change so most likely you will be compiled in that case there will be a versioning issue yes to the whole point of reuse everybody breaks so how does SA handle that versioning issue yes now I would say the simplest answer I would say yes it will break so there is a option of versioning which you have but then you can make little intelligent clients because there is a concept of discovery which is available you could figure out if there is a new version and then try to use it but then it is not easy okay so you have to have mechanism so you will have to rely on some other mechanism to be able to detect that there is a version that is one way second is there are tools today available which work at the soap level at the infrastructure level which will allow you in certain ways to deal with two different services so that mediation example which I told you okay but then that's not an automatic process you will have to do some intervention there but you could still not change the client and still make it work but these are you know some non-standard ways or not a very neat ways of tackling the problem that doesn't have any mechanism to indicate that this is the version of this something like that and a mapping between the two versions in rmi if you remember it's not part of the standard at least not it's not part of the right it can it's at least to my perspective and so you can you know add to that it's certain tools may give you that certain render tools may give you that but that's an convenience but just because a server side versioning doesn't mean that your clients will continue to function non-interrupted right there is still has to be some way of changing a call from a 1.2 to 1.1 point over the whole point is we need a mechanism and in the standard as sir said it's not there we will need a mechanism at the client side to detect this change first of all and when you write clients do you really worry right now see the other point is we are also kind of taking for granted that this service interface and we are writing clients that way so if you want to really if you know future proof your application you will have to get all these aspects also into the programming of your client yeah but I have not frankly seen any examples right in this direction but this is just my thoughts.