Friday, January 18, 2008

Oracle's BEA acquisition: SOA perspective

The bigest Software Vendors are continuosly bying other companies. The most recent acquisitions are BEA's acquisition by Oracle and the anouncement that Sun Microsystems is going to aquire MySQL.
As SOA is the main topic of this blog, I will focus on the first acquisition, which is related to SOA. MySQL acquisition process by Sun is not directly related to SOA.
BEA is a long time target for acquisition: a technology leader with significant market share which is also significantly smaller than its competitors like IBM, Microsoft or Oracle.

On January 18th 2004 I published an article in Hebrew titled: Why BEA will not be aquired by Microsoft?
This article was a response to a Research Note by Yankee Group's analyst Dana Gardner, which correctly described the acquisitions trend. However, I disagreed with the scenario of Microsoft bying BEA.
My argument was that I am not sure if any of the bigger companies will aquire BEA, but if any company will aquire BEA, it will be Oracle and not Microsoft.
BEA's main assets in 2004 were WebLogic Application Server and Tuxedo Transactions Monitor
The main reasons for thinking of Oracle as the leading candidate for aquiring BEA were:

  1. Both are J2EE market leaders (Oracle lagging behind IBM and BEA) so the acquisition could increase Oracle's installed base in comparison to the leading competitor in that market: IBM.
  2. BEA middleware products portfollio has technological advantages over similar Oracle products. One main advantage is ease of use. Some people called BEA the "Microsoft of the Java World" due to its products user friendliness and ease of development and deployment.
  3. Oracle already aquired a Swedish product which became its Oracle9IAS: Oracle's Application Server
On 2004 I thought that Microsoft could find more appropriate acquisition targets addressing its relative weaknesses:
  1. Microsoft's targets would be application vendors (ERP, CRM etc.) rather than infrastructure vendors.
  2. Microsoft will not buy a plarform vendor and especially a Java vendor for converting the installed base to DotNet.
    Probably, the installed base will continue to use the Java platform of another Java vendor, mainly IBM and Oracle, its competitors.
  3. It is too expensive ticket for influencing the Java Community Process (JCP).
  4. The weak chain in Microsoft's infrastuctue of 2004 was Integration. If the solution is an aquistion, why buying a platform vendor and not a pure integration player?
Finally, in January 2008 Oracle aquired BEA after aquiring application vendors (PeopleSoft, Siebel etc.) and Business Performance appication vendors (Hyperion) . It is part of a process of market consolidation and emergence of four leading SOA Eco Systems: Microsoft, IBM, Oracle and SAP.

Oracle's SOA challanges
Both Oracle and BEA developed SOA infrastucture architecture based on products build by the company, partnerships and acquisitions. The challnge facing Oracle is defining a comprehensive SOA architecture based on two different product portfolios and approaches.
Although SOA is designed for heterogenity Oracle will have to decide which approach will lead, which products will compose its mainstream SOA refernce model.
Let us look at some of the challenges facing Oracle:

Merging two Platforms
It is the first time oracle is buying a platform vendor offering SOA solutions including Application Server, Intgeration Solutions (AquaLogic products line including ESB, BPM etc.), Portal (PlumTree aquired by BEA few years ago), Repository (former Flashline aquired by BEA)). Oracle acquisitions experience is mainly Applications acquisitions (e.g. PeopleSoft, Siebel). The only infratsructure acquisition with some similarities to BEA acquisition is the acquisition of the databases products from Digital (mainly the RDB database) in the 1990s. However, you can not compare acquisition of a product line completing its falgship Oracle database for certain niches and adding installed base to that flagship product, to a platform vendor acquisition.

Deciding on the leading products and platform
Oracle surely will continue to market both platforms and think of merging them for the Long Run. Porbably it will have to decide which product is the leading product. For example; will it be WebLogic with larger market share or Oracle Application Server which currently lags after WebLogiic in market share?
Is it Oracle Portal or BEA Portal? Is it FusionMiddleware or AquaLogic?
If the decision should be mixed (i.e. some products from BEA SOA solution and other products composing parts of Oracle solution) another challenge will be building cohorent architecture.

Maintaining BEA's Strengths
As a smaller vendor than its competitors BEA had to find its technological advantages otherwise organizations would prefer a stronger and more stable vendor's solutions.
These advantages could be summarized in three bullets:

  • Innovation
    Original and Innovative concepts helped BEA to get advantage over competitors.
    For example BEA was the first vendor implementing the concept of APS (Application Platform Suite).
  • Standards Compliance
    BEA products comply to standards such as J2EE standards, with less proprietry extensions than its competitors. BEA also supports new standards version quicker. The result is functional rich and portable products.
  • Ease of use
    BEA's solutions ease of use and easy implementation attracts customers.
Will the 80 pounds gorilla (Oracle) be able to keep the Bee (BEA)'s Agility?

Merging the organizational Culture and preserving key experts
The Organizational culture of the company will be Oracle's and not any of the aquired apploications companies or BEA. BEA's key professionals should adapt to Oracle's culture or find a new job. The challenge is to keep most of them as Long term Oracle's employees.

First Take
I may be wrong, but my First Take predicitions are:

  1. WebLogic will be Oracle's leading Application Server competing with IBM's WebSphere application Server (It is not an installed base only acquisition)
    Due to WebLogic market share and technical features it will serve as the Services and Components execution environment and not Oracle Application Server.
    This prediction is based upon similar CRM trend after aquisition: Siebel CRM which has higher market share than Oracle CRM, broader functionality and technological strenghts is Oracle's preffered CRM solution.
    It should be noted that PeopleSoft's applications before its aquisition by Oracle were deployed on three platforms: IBM WebSphere, BEA WebLogic and Microsoft. The most frequent platform for these deployments is BEA's WebLogic.
  2. BEA's SOA solutions will dominate. Some Fusion Middleware components will be the exception in this respectSoftware AG's WebMethods aquisition is a similar example. The brandname of its SOA solutions was changed to WebMethods SOA product line, while Software AG leading SOA product the Centrasite Registry remains as a core SOA product.
  3. Increased cooperation between Oraqcle and HP and less Oracle-Sun cooperation
    HP is BEAs partner and Oracle partner which compelements BEA and Oracle's solutions. Its Mercury aquired Systinet Registry is licensed both by Oracle and by BEA.
    On the other hand, Sun's aquisition process of MYSQL database will position it as a competitor to Oracle's flagship database and less as the old times traditional partner.
  4. New Telecom Oracle applications
    The traditional ERP market is mature. Oracle will try to expand its SOA based future application generation to new markets. The Telecom sector vertical applications will be one of Oracle's new application offering
    BEA's specialized Telco platform will help Oracle in leveraging these future applications.




Wednesday, January 9, 2008

Zen and the Art of MS Office Problem Determination

Is Software Problem Determination a Logical or Scientific process based on cause analysis and repeatable observation or is it a Zen style art, which has nothing to do with Western culture logic? 
 
I asked myself this question few days ago while trying to find why Microsoft's Office 2003 Word and Outlook stopped functioning. The answer is that maybe it is not Zen art training in which the user should experience unification of himself and the computer like the unification of the archer and the arch as a mean for hiting the target with an arrow in Zen Archery mastering. Surely, it has nothing to do with logical Problem-Determination. 
 
My background is different from the background of a typical home Office user. In the 1970s and 1980s I was an MVS Systetms Programmer responsible for the operating system in a site with few thousands users. My responsibilities include maintaining changes to operating system components in the Object code format and source code format (The programming language used was Asssembler). 
 
After you read the details rekating to my attempts to solve the problem, try to imagine how a typical user, with no IT background would address the same problem. 
 

The Problem 

While editing a Microsoft Word document, I received the following message: "Microsoft Visual C++ runtime library, A buffer overrun detected file microsoft office/office11 winword.exe A buffer overrun has been detected wich has corrupted the programs internal state. The program cannot safely continue execution and must now be terminated. Word was shutdown". 
 
Trying to open it again for the same file or most of the other files resulted in a menu of the Automatic Restore feature asking for deciding which file to save (In most of the cases the file has nothing to do with the optional Automatic Restore file names and content). Unlike many other problem instances, no probelm reporting to Microsoft dialog was presented. It should be noted, that this is the first time I am experiencing that phenomenon. 
 
An identical error message appears when I tried to send new Outlook messages and it was terminated same as Word (After the problem was partially solved I thought that it is due to the use of Word as the default editor by Outlook. 
 
During Problem Analysis I thought that a the error is within a component used by Word and by Outlook). According to Murphy's Law it occurs when I had to complete a lot of urgent assignmnets requiring Word documents and Outlook messages.
 

Trying to solve the problem

 

Step 1: trying to analyze the problem  

What caused the problem? The error message does not include possible error causes. Analyzing the problem cause is a tough mission for typical user, who does not know what buffer overrun is. I thought of the following possibilities: 
 
Possible Cause 1: Temporary bug in Office due to low probability state 
 
Actions:
 
1. Open again the same document
2. Open another Word document
3. Reboot

Result: None of the actions solved the problem.

 

Possible Cause 2: Error within the document due to hahrdware or software problem

Action: Open another Word document

Result: The problem was repeated as before.

 

Possible Cause 3: Known bug

Action: Windows Update

Result: only two non relevant updtaes were found and installed. Nothing was changed as fas as the problem was concerned.

 

Possible Cause 4: A Trojan Horse or a Worm or a Virus

Action: Scan the disk for viruses

Result: No virus was found after scaning the whole disk.

 

Possible Cause 5: A Macro error

Most of the documents did not use macros.

 

Possible Cause 6: A change to the system caused the bug

Action: System Restore in order to take out the change

Result: restoring to two different restore points without any affect on Word's behaviour.

 

Step 2: Wondering what happened  

Probably, I was facing more sever problem: an unknown bug with no fix, an unknown Malware (Trojan Horse, Worm, or Virus). Knowing that most Anti-Virus solutions address new attacks only after they occur, I thought of the possibility that I am the unlucky vicitm this time: My anti-virus supplier will solve the problem after all my data will be destroyed. 

 

Step 3: A non-analytic Informatio Gathering  

 
Trying to find something by Google Search of the following : Word2003 'buffer overrun" Vista. The results revealed that it is quiet frequent phenemenon. I also found many occurences and many solutions in a forum discussion. Let us look at some examples (part of the web pages quoted here, for complete discussion please refer to the hyperlinked URLs).

First entry example

"This is a new laptop running Windows Vista with which I had no problems before installing Updates. However, I did not have SP3 on the previous laptop. All of this is in Spanish (Spain) versions but the message is in English. I tried turning off spell check but it has no impact. Spell check is essential for me anyway as I must write in 5 different languages." "I get the same error on mixed language files im my case (Hebrew and English) I have not found any com add ins. But by applying the remove spell check work around was able to load the mixed language file. This is a new phenomenon after installing sp3"

Second Entry Example

"I found another thread on a Hebrew forum where the problem appears to much more prevalent. One of the recommendations (other than uninstalling sp3) was to remove the custom dictionary. That worked and allowed spell check to run as well."

Third entry example

"> Lately I experience Buffer Overruns with Word 2003 documents with Office > 2003 NL Service Pack 2. This error never occurred, before the Service Pack > 2 > was installed. Word is in Dutch interface with Dutch Spelling and Grammar. > > Exact message: > < > Microsoft Visual C++ Runtime Library > > Buffer overrun detected! > > Program: ...am Files\Microsoft Office\OFFICE11\WINWORD.EXE > > A buffer overrun has been detected which has corrupted the program's > internal state. The program cannot safely continue execution and must > now be terminated. >> > > This is a very annoying error because Word 2003 always terminates and > there's no possible way to edit the documents. > So I edited some of the documents with Office XP UK on an older computer > with help from a friend. After some trial and error, I found out that when > you have > Spelling and Grammar disabled in a TextFrame with some lines of text, this > error doesn't occur anymore. > Under menu: Tools -> Language -> Set Language -> Do not check spelling or > grammar. > > > I have several questions: > Is this already known as a bug? > Where can I find a fix for it, because I don't want to edit all my > documents > in Word XP, just to be able to open them in Word 2003?" "TF" wrote: > I've not seen or heard of this one. It may, of course, be a Dutch specific > bug. However, have you tried running a Detect and Repair operation (under > the Help Menu in any of the Office apps)? > > -- > Terry Farrell - Word MVP > http://word.mvps.org/ "

 

Step 4: Which Solution would you choose?  

It is clear that it happens when using mixed languages text (English and any other language such as Dutch , Spanish and Hebrew) Would you reinstall office? Would you ask for a friend's help to copy the file to his PC including another Windows Operating System version? Would you disable a dictionary or a speller? I thought that trusting Microsoft's MVP is the best and easiest (see the red highlighted part in the third entry example): Detect and Repair in the Help menu. However, without any previous warning this method scratched all my Outlook messages and contacts.
 

Step 5: What is Detect and Repair? 

 
I thought Detect and Repair tool should locate and correct the problem in the C++ library d. However, Detect and Repair, detects nothing and repairs nothing, it reinstalled the Office sub product again (No warning message was send prior to this action execution). As far as Word is concerned this unexpected behaviour cause no damage, but as a result of tagging Outlook I lost all my messages and my Contact list.  
 

Imaginative scenario: Average PC User  

Average non-IT user would try in vain to delete the document or reboot his computer. His next step would probably be taking his computer to a store or a laboratory and asking an expert to help him (or call an expert for home visit). Some of these experts would reinstall Office. Others may search in the Web and find temporary circumvention. Reinstalling Office may result in identical call for expert help few days after (or may be not, if the new installation will reset a field containing a wrong value). Unhappy End and unanswered questions After being led down by the MVP's advice I tried the non-expert advice and turned off spell check which solves the problem in 90% of the cases.

Some of the mystical unanswered questions are:

  • Why that problem does not occur to me previously? For few months I am writing and editing successfully a large number of Dual Language Word documents using the same system. 
 
  • Why no Microsoft update is available for solving the problem? Some of the posts are from November 2007. 
 
  • Why no dialog-box for sending problems details was available? Even if the details will not be too useful for Problem Determination, at least the frequency will be known.
 
  • If a warning dialog box appears so often in Windows Vista as a Security measure and before other operations such as deleting a file, is it reasonable that before deleting all Outlook Messages and Contacts no such message appears in "Detect and Repair" operation? 
 
  • Does expertise matters?

Sunday, January 6, 2008

Web 2.0 for Dummies – Part 5: Mashups

This post is the 5th post in the "Web 2.0 for dummies" posts, based on my Web 2.0 presentation in a conference. After tasting Web 2.0 (part 2) and understanding what it is (part 4) we will drill down to more specific Web 2.0 principles and implementations.



The origin of Mashups is in Music: Creating a new song by combining songs. In information technology Mashups are applications build by non-IT Professionals by combining together data or applications from different sources, which were not planned for integration together.
The User assembles and links services to create an application
The services could be data services or could include Business Logic functionality
The user publishes the application in the Web so other users may use it or expand it as another Mashup.
Technologies used for building a Mashup based on simple published APIs include HTML, XML, simple Web Services and Representational State Transfer (REST).
By using JavaScript or other scripting languages the API enables connecting applications or services.

The usage of mapping application especially Google Maps as a basic service for a Mashup is very common.
To the mapping service the user adds other information such as: weather forecast, banking services, restaurant, apartments for rent or for sale etc. or locations for hobbies, traveling: flights, cars to rent and landscapes.

The frequency of using a service in a Mashup is depicted in Web 2.0 API Directory
As can be seen in this page Google Maps is the most frequently used.

The architecture of Mashups looks like SOA in a Social Web 2.0 context instead of Organizational context, but are Mashups really the SOA of Web 2.0?

Are Mashups Service Oriented Business Applications (SOBAs)? No
Do SOBAs and Mashups share common attributes? Yes

Drilling down into Mashups and SOBAs characteristics we can find the following common characteristics:
Applications composition by assembling Services
Innovation – By creating a new application of assembled Services
The Innovation in SOA is extended to Processes.
Simple interfaces for enabling integration between Services
This is true for Mashups and in some cases for SOA services, however in many cases SOA interfaces would be more complex and Metadata related.
A Non-IT people are the ultimate application creators
For Mashups this vision is a reality. For SOA Services in most cases still Information Technology experts are assembling Services to applications. However, vendors are developing tools for enabling Non-IT staff applications composition.

The differentiating characteristics are the need for Robustness and management of SOA Services. This includes Configuration Management and Versioning, Quality of Service (QOS), Performance and Security.
Unlike Service builder in an Organization, a Mashup builder is not responsible for the continuous operation of it in case of infrastructure changes, additional features or any change made to one of the services which are part if it. As a matter of fact he is not responsible for anything.

Another difference is that integration between Services is preplanned for New SOA Services (unlike Wrapped Services or Composite Services), while no such planning takes place for Mashups Services.

Note that the following Web 2.0 issues and principles are applicable to Mashups:

  • The Web as a Platform
    The Services and the composition are implemented in the Web platform.
  • Trust
    When using the Mashup, you trust its parts builders and its composer.
    Surely, someone can misuse this trust and insert a biased or unreliable service,
    For example a Car Rental agency can build a Service including only his company service as part of a Traveling Mashup including flights, car rental and other services based on Google Maps.
  • Participation
    Community members are contributing linkage between Services, so they form a unique application. They also contribute by ranking Mashups, by using Mashups, by adding data which supplement the Service (e.g. an expert in Fishing classified and map fishing sites based on Google Maps).
  • LongTail
    Anyone can build a unique application based on Mashups, therefore the mashups could address specific needs, unlike the traditional software model of creating a one size fits all (or few sizes feet all mainstream users).
  • Usage of Mashups is free of charge

    Despite of the limitations cited above, Mashups as an easy to use technology enabling any Web 2.0 community member to create applications is a promise for valuable variety of innovative applications adaptable not only for Mainstream applications for mass usage, but also for idiosyncratic applications of the Long Tail of Web 2.0.

Public Cloud Core Banking: Hype or Reality? - Revisited

  More than 4 years ago I was asked if Public Cloud Core Banking is a Hype or a Short Term Reality? If you had read the post, you would prob...