Tuesday, December 26, 2006

Software Factories

Recently one of my colleagues spoke to me regarding Microsoft Software Factories.

And in the last SAP TechEd too, I saw a similar article that is titled on the lines of 'Manufacturing IT'.

Before reading the introduction from Microsoft, I guessed it has something to do with Model Driven Architecture. And I am not wrong.

Microsoft defines the Software Factories as the development environment that is configured to support the rapid development of a specific type of application. Yes, let's say you are developing smart clients clients (repeated activity of development), then having software factories for mobile clients would greatly improve the productivity& standards in the development.

Essentially, the software factory embodies patterns, tools, application blocks, and best practices.

This is the concept that most of the IT services companies of India are trying to achieve over a long time. But, as far as I know, no body has achieved any significant results / nobody has published/promoted those kinds of properietary/home-grown frameworks to the market.

The reason is - IT services companies executes projects for various kinds of clients from various geographies. And each of the solutions that they build have their own specific business requirements/context specialization.

So, its literally impossible to say 'One size fits all'. Its very difficult to say 'One framework will be able to solve all the problems in a specific area'.

And the significant difference that I see from a traditional 'Manufacturing factory' and a 'Software Factory' is that - Manufacturing Factory produces the 'same' kind of products, more in number. Each and every product that gets out of the factory has to look-alike, compliant to quality controls, and produce same end-user experience. There cannot be any exceptions.

The software factory can be applied to product line architectures for companies that build and deliver software products.

But, here, the number / volume of software products that get manufactured is immaterial. (Unlike Traditional manufacturing).

And thatz true for software service companies as well. They build 'one-off/pointed solutions' for customers. So why would they need to invest in 'Software Factories'?. Neverthess, the service companies have gone ahead in the past and built the most common denominator as the 'Framework' that can be repeated across several projects.

Wednesday, November 29, 2006

2007 Predictions

No! This is not about Horoscope!. :-)

Am discussing something that would interest us...

"North America's Tech spending to slow down in 2007" - Gartner.

"Organizations are increasingly dissatisfied with vendors" - CIO journal survey

"CIOs are finding difficult to acquire business-savvy technologists' - CIO journal

"In 2007, the Outsouring to slow down, because the companies are not able to sustain the right talent and increasing cost" - One of the Enterprise Architect's blog.

All this lead to 'Insourcing' again.

The companies may revert to 'Insourcing' as the vendor satisfaction is low and the SI's are not able to deliver what they are expected to deliver at the right cost.

Within 'Insourcing' itself, CIOs are looking at 'Enterprise Architecture' as the tool to rationalize the IT portfolio and reduce cost eventually.

In my opinion, 'Enterprise Architecture' can be applied towards 'cost reduction' or to 'enforce standardization' or to 'prepare for agile enterprise'.

Am sure whoever (CIO) is taking the lead in EA initiatives are going to have the long term benefits and leadership in IT.

Till then, outsouring is here to stay with its ups and downs...

Monday, November 20, 2006

The speed of thinking

Of late, I was thinking it was too time consuming to logon to Blogger site and create a post and then publish it. I was thiking how nice it would be if I could just write my blog in my own Microsoft Word and then publish to my blog site directly from there...Sounds comfortable!. Isn't it?

Then I thought If I am thinking this comfort now, somebody else would have already thought about it and created a word plug-in for Blogger site. With that assumption, I searched for a word plug-in and immediately found one, and that too from Blogger site itself. Just install the plug-in and you are ready to post right from where you are.

Thats the speed of thinking thats happening in the web 2.0 age.

Another similar discovery was on the bookmarking...

I found lot of websites having a hyperlink to bookmark the site address into sites like Technorati (social bookmarking). Once you click the bookmarking link, you will be asked to logon to the social bookmarking site and add the link to your favorites.

This is time consuming again.

How comfortable it would be if I can have a IE plugin that would simply require me to click (example. a link in the IE toolbar) and adds the link to my respective social bookmarking site.

And thats available too!.

So whats the speed of your thinking...

Sunday, November 19, 2006

SAP TechEd Updates

Last week, I attended SAP TechEd. This is the first time I attended the SAP TechEd workshop.

The cover note from the SAP Chairman in the handout made some big promises. He said 'If you are attending this TechEd for the first time, be prepared to have a drink from fire hose'. Daring statement, isn’t it?

The opening keynote address was indeed impressive and stood up to the promise. SAP Vice-chairman showed a live 'Composite App' demo, by assembling the visual components. (yes, you read it right, ‘assembling’ and no ‘coding’).

This is the direction SAP is striving for – Enabling the business users to compose IT applications as and when they require it and how interactive those apps need to be…

Overall, the workshop was very informative with lots and lots of updates on what SAP is doing.

I believe SAP has a strong vision and if they pursue the initiatives in the same pace as today, I think SAP will be the leader in the ‘Composite Apps’ space soon.

Thursday, November 02, 2006

web 2.0 : The network effect

Of late, I have been reading a lot on Web 2.0 to find out its real business value.

Sure, The new paradigm ropes in million$ business for giants like Google, Amazon and Salesforce.com. But is it a Hype or reality?. One of the articles in CIO journal discounts that most of the startup companies behind web2.0 - other than the giants like Google/Amazon - are not going to sustain for a longer time. The reason being that they dont have a sound business model to survive in long run. There are many more startups in the Internet joining the web2.0 bandwagaon, offering free services/open APIs. But it could be the next dotcom burst, when all these small startups crash because of their business models.

But, I strongly believe that the technologies behind web2.0 are here to stay. And they are already making an impact. If you are authoring or reading a blog, Editing a Wiki, Consuming RSS updates, - Then you are already benefiting from web2.0.

Its amazing to find out how these technologies are helping people. Some of the events that I find interesting are: - After the katrina disaster, a website embarked into an initiative for collecting the information about the survivors from various websites/blogs in one single place, that is searchable in a consistent format.

Corporates are encouraging employees to write blogs to attract and hire talents from outside. And freelance bloggers are getting media deals like orders for writing books.

So, its already touching the lives of people who are using the web. For the enterprises, its the right time to evaluate what is the web 2.0 technology that is right for them to harvest the potential benefits.

Thursday, October 26, 2006

Beyond SOA - SOBA

SOA in practice can be applied at two levels. One is strategic where SOA is primarily applied to bring business-IT alignment. Another is operational, to bring interoperability and Standards - E.g Application Integration/Portal Integration.

But the real value of SOA can be achieved only when an organization's business processes can be modeled, implemented, monitored and optimized. This places a lot of emphasis on how well SOA gets implemented. And What is the process in which SOA initiatives are translated from requirements to executable code.

As the industry understands this case, lot of work has been happening on this front.

1. SAP, Oracle are revamping their packaged business applications into Service-Oriented Business Applications (SOBA). The traditional way of implementing ERP systems is fitting your business processes into the applications' capability. The new way of implementing is to customize your application to implement your very own buisiness processes. SAP goes one step further on this front and unwraps all the business processes embedded in their applications as "models", so that these models can be customized according to organization needs and implemented.

2. Lot of industry specific frameworks/models are becoming available. HP provides specific frameworks for industries such as Manufacturing and Banking. IBM has models for Retail Banking, Insurance and Retailing. These models encapsulate the industry knowledge and promise to jumpstart the SOA initiatives.

3. SOA fabrics - Lot of vendors are providing industry specific SOA fabric / wrapper code that can be wrapped on a corporate's IT systems. One such example is Webify - that provides SOA fabric for Banking and Insurance sectors.

So Which industry you are into and How are you planning to go about doing SOA?

Wednesday, October 18, 2006

Do Mashups have a place in the Enterprise?

Of late, creating mashups have become a child's play. For few who are new to the terminology, mashups are the new ways of creating a new web application by combining/repurposing existing web applications. The most popular ones are built around the Google maps, where a real-estate information (like availability of apartments/houses in various areas within a city) provided by a realty web site can be mashed with a Google map of that city to produce a new UI that plots the availability right on the map itself.

Nowadays mashups are created with a wide range of technologies - Javascript, Web Services, XML APIs over HTTP or AJAX.

My thought is Will they have any place in the mission critical Enterprise web applications ? (e.g. Online Banking). Am not sure whether any enterprise has ventured into mashups so far.

But this new paradigm will certainly change the way in which applications would be built in future. Typical IT project cycle is waterfall model - For a defined set of business requirements, a set of candidate technologies/solutions would be analyzed to find a better suit. But the mashup way of creating applications reverses the game. Using the existing APIs/services, what new applications can be built innovatively that will add value to the business & customers.

Composite Services Vs Composite Applications

Recently one of my friends questioned me what is the difference between composite services and composite applications. Are they same ?. If they are different, what is it?

On top of my mind, I could say both are different. But I couldnt explain it very well.

When I did some (re)search, this is what I understand - Composite services are micro-flows. When multiple elemental/basic services are combined to be offered as a single service, then it is called as a composite service. These services are stateless, unlike 'Process' services where also orchestration of services takes place, but in stateful nature.

While composite service is a design pattern in SOA, 'Composite Apps' looks like a new way of 'architecting solutions'. There are several vendors in the market who provide tools & platforms for building composite applications.

Typical example, that I find in many sites - is integrating the set of distinct applications used by a contact center representative in Banks/sales. Typically, the contact center agent needs to shuttle between multiple applications in his desktop to service a client. The service process might include - duplicate entry of customer data, different security levels, fragmented/manual steps. How nice would it be, if the contact center agent gets a single unified application interface that enables him to accomplish the business process?. How good it would be, if the agent doesn't need to switch between apps to accomplish a task/process?. The solution cannot be just a 'dashboard' that provides links to access multiple apps via single interface. The solution needs to be much more intelligent in terms of automating steps, encapsulating business rules, eliminating redundant data entries, seamless integration of back-end systems, seamless presentation flow across different apps.

Ok, now you may be wondering, this is what 'Portals' are supposed to accomplish. Yes, Portals can also be the platforms of composite applications. But so, far Portals have been used only as 'Dashboards' or 'Lightweight EAI' of applications. It has not been utilized to an extent where Portals can be used to automate a complete business process, where each step of a process, draws logic from several layers (presentation, business logic and data access) of participating discrete applications.

But, the apps need not be always built on 'Portals'. It can be built as a 'Desktop' solution as well. Some of the tool vendors promise to integrate the native user interfaces of participating applications (thick client/green screen emulators) in a composite application.

The Gartner definition of Composite applications goes like this - "Composite applications differ significantly from multistep processes because they integrate vertically among the tiers within one step of a business process, rather than horizontally across multiple steps".

Some of the characteristics of composite applications are :
- Built on SOA standards
- Integrates with various enterprise applications
- Model driven development, minimal coding
- Applications can be assembled from reusable artefacts that are already available in the enterprise.
- Can include Workflows, BPMs, and Microflows

While there are many vendors out in the market, there seems to be little emphasis on 'Standards' for building those apps. While Portal standards JSR-168 has been enhanced to include inter-portlet communications, that is vital for building composite apps, Other forms (e.g Desktop) of composite apps remain properietary solutions of vendors.

Tuesday, October 17, 2006

Hello everyone,

Am an Enterprise architect in one of the leading technology solutions company in Bangalore, India.

Pre-web 2.0, I used to read and record my notes in Outlook. Now with the advent of blogs, it gives me a new platform to structure my thoughts, share it with fellow architects and eventually get feedback too.

I am planning to blog about my areas of interests including web 2.0, SOA, SaaS, Enterprise Architecture and anything else that is creating a buzz and current in IT. Am also planning to write about my thoughts on IT services, offshoring and Work culture of Software Architects.

Keep reading. I would try to make sure it is worth reading.

Bye for Now,
Bala.