What next for HP?

by Didier 15. April 2009 17:27

via Judith Hurwitz

Judith has joined the yearly HP industry analyst summit organized by HP. This summit is dealing with everything at HP, excepted the PCs and printers. Based on the discussions there, Judith is giving her view on the possible future of HP. Very interesting analysis!

I think that HP is at a crossroads. Today it is the largest technology company. This is a wonderful opportunity because size gives customers comfort. […] On the other hand, it provides a challenge. When you are this big, you have to act big and bold. You have to set a leadership agenda that the market and the customers take note of. […]

  1. Be Top Dog in Selected Markets. HP’s overall strategy remains consistent: it’s objective is to be either number 1 or 2 in each product category it participates in.  While HP has made some strides in achieving this lofty goal, it is still a work in process. […]
  2. EDS is larger than HP’s printer business. With EDS as part of the portfolio, the amount of revenue from printers and ink has started to diminish. In fact, HP executives proudly announced that EDS is as large as  HP’s printer revenue. […]
  3. Procurve chases Cisco in network management. While HP has been in the networking business for decades, it has been a well kept secret. Because of HP’s tight partnership with Cisco, HP has been wary of appearing to compete. However, it appears that HP is now willing to take on Cisco in the networking switching arena. […]
  4. The software business is (still) important. HP has long had a love/hate relationship with software. HP has selected management and automation to focus its software business. […]
  5. HP does the cloud. […] Clearly, the cloud strategy is a work in progress. But HP is thinking about the right issues as it makes its way into this important emerging area. HP’s intent is to leverage its software assets to create a common framework for its cloud strategy. HP anticipates that it can leverage EDS’s expertise to gain a cloud framework that it can leverage with customers.
  6. HP expands Software as a Service. When HP acquired Mercury it also picked up a growing SaaS business. The company is planning to continue to focus on this arena both in the enterprise market and the SMB market. SaaS offerings will continue to focus both on the testing and the remote monitoring markets. […]

HP is very focused on being a provider of IT services, hardware, and software.  It has no desire to be a business management or a business consulting organization.  While HP  is most  comfortable in the hardware arena,  it is making important strides in this part of the business. […]

The software business, on the other hand, is still at a transition point. While HP has done extremely well with its performance management and testing business, it has had a hard time creating an overall software portfolio. Opsware is clearly being used to provide the foundation for cloud computing but it will take some more time and cycles for this platform emerges as a power. […]

In my view, there will be more aquisitions to come for HP. I suspect that most will be in software and will have to fill the gaps in data management and security. […]

 

Disclosure: we are at Innoveo member of the Development and Solutions Partner Program (DSPP) and a worldwide Financial Services Industry Partner.

Cross-posted on didier beck’s blog

Impressive figures from the Linux kernel development

by Didier 7. April 2008 18:55

via 451 CAOS Theory

Great post about some impressive figures from the Linux kernel development.

  • There have been almost 10,000 patches in each recent quarterly Linux kernel release.
  • Releases include work from ~1,000 developers and ~100 companies.
  • Since 2005, Linux has had more than 3,600 individual developers and more than 250 companies contributing to the kernel.
  • The individual development community has tripled in the last three years.
  • The top 10 developers have contributed 15% of changes, and the top 30 developers have contributed 30% of changes to the kernel.
  • Linus Torvalds is 27th on the list of contributors with most changes over the last few years. He has 495 to his name.
  • More than 11,500 or 14% of kernel changes have come from developers with no commercial entity backing their Linux development.
  • Another 13% of changes come from developers with ‘unknown’ commercial affiliation.
  • When we get to actual companies, Red Hat leads with 9,351 kernel changes, or 11.2%. Next is Novell with 8.9%, IBM with 8.3% and Intel with 4.1% of kernel changes.
  • More than 70% of all kernel development is demonstrably done by developers who are being paid for their work.
  • From the 2.6.11 kernel to the 2.6.24 release (1,140 days), there were an average of 2.8 accepted patches applied to the Linux kernel tree per hour.
  • An average of more than 3,600 lines of code is added to the Linux kernel tree every day.
  • Since 2005, the kernel has grown at a steady rate of 10% per year.

Gosh, if this is not showing the incredible health and dynamism of the Linux community!

cross-posted on didier beck's weblog.

Innoveo is proud to be Business Partner of HP!

by Didier 11. March 2008 17:59

We are very proud at Innoveo to announce that we are now officially a Business Partner of HP (Hewlett-Packard) since about one month.

We are member of the Developer & Solution Partner Program (DSPP). Our front-end solution for the Insurance Industry and our company are listed in the worldwide partners and solutions catalog!

innoveo solutions is a software company whose products, services and technologies enable its insurance industry clients to create business value. It provides high-level expertise in software, multi-channel e-business platforms, SOA, architecture, open source, infrastructure in combination with insurance industry knowledge.

This membership is concretizing a solid, trustful and already quite long common partnership. And also the fact that quite a lot of us are former HP employees ;-)

All this was possible thanks to the great and constant support of Petra Wildemann, Worldwide Director Financial Services / Insurance at HP.

cross-posted on didier beck's weblog.

Indexing and searching business entities using Lucene.Net Framework, part 2

by Laurent Kempé 7. March 2008 10:51

Conception using generics and reflection of a search engine to index and search content in your business entities without being intrusive.

Part 1 is available following this link Indexing and searching business entities using Lucene.Net Framework, part 1

Lucene.Net presentation

Lucene.Net is an open source project coming from the Java world currently incubating at the Apache Software Foundation (ASF). It is a source code port on the .NET platform using C#, done class-by-class, API-per-API, of the indexing and searching engine algorithms of Java Lucene.

Apache Lucene is an efficient indexing and searching engine for text data. However it is not offering integrated support for document like Office Word or PDF, you need to use extensions able to extract the text content of a document in order to be able index it. This is also mandatory for markup documents like HTML.

Lucene.Net follows scrupulously the APIs defined in the classes of the original Lucene Java version. The API names as well as the class names are preserved with the intention to follow naming guidelines of the C# language. For example, the method Hits.length() of the Java implementation is written Hits.Length() in its C# version.

Like the port of the APIs and the classes in C#, the algorithm of the Java version of Lucene is also ported in the C# version. This means that an index created using the Java version of Lucene is 100% compatible with it C# version, in reading, writing and updating. Therefore two processes, one written in Java and the other in C#, could achieve concurrent searches using the same index.

You might consult the documentation of the last stable version, version 2.0, on the following page. To download the last stable version browse to this page. To get more information about Lucene I recommend using the pages dedicated to the Java version of Lucene which are much more consistent.

Lucene.Net Architecture

Lucene.Net Architecture

The lower layer is the data access layer (Storage). Then, the upper layer is about accessing the index files (data access). This layer is used by the indexing system and the searching system. On top of those we find a layer for searching and a search request parser layer used by the searching part of Lucene.Net. Identically we found a parser layer and a document layer used for the indexation part of Lucene.Net.

To get more information about Lucene I recommend reading the presentation on Lucene website.

Now that we got a better view on what is Lucene.Net about we will see in the next part how we will use it to index the properties of our business entities.

This post is cross-posted on my personal blog "One of the Tech Head Brothers" and in French on my .NET community portal Tech Head Brothers.

Indexing and searching business entities using Lucene.Net Framework, part 3

by Laurent Kempé 6. March 2008 23:14

Conception using generics and reflection of a search engine to index and search content in your business entities without being intrusive.

Part 1 and 2 are available following those links

  1. Indexing and searching business entities using Lucene.Net Framework, part 1
  2. Indexing and searching business entities using Lucene.Net Framework, part 2

Solution’s architecture

The main idea is to be able to define the business entity’s properties that must be indexed when this one is saved or updated in the chosen persistence system.

With the goal to be the less intrusive possible in our model we come fast to the idea that we need to extend our business entities with meta-data. The issue then is that at runtime it is needed to know which meta-data needs to searched in the entity in order to be able to index the content of the decorated property.

As one of the goal is to have a Framework which manage the indexation and the searching of whatever business entity, we might have wrote a simple class inheriting from System.Attribute in an assembly separated from our domain. That would have the drawback of behind much intrusive in our domain. Another solution was needed.

As we have seen the developed Framework needs to know the meta-data, giving it the opportunity to index the content of the property at runtime. This means that at development time it is absolutely possible to generalize this information by using the generics of the .NET Framework 2. As we are talking about meta-data the only imposed thing is that our class inherits from System.Attribute.

The choice was made then to define a utility class in the domain assembly inheriting from System.Attribute which will serve us as a decorator of the entity’s properties needing to be indexed.

On the following picture you can see an example of the domain for an application to which we have added our attribute SearchableAttribute used to decorate the Post and Page classes:

The Visual Studio solution is organized as a Domain Driven Development solution:

We have so defined the new attribute SearchableAttribute in the assembly innoveo.Blog.Domain.

Here is the description of the organization of our solution:

  • innoveo.Blog.DAL: Data access layer using Euss OR/M mapping tool
  • innoveo.Blog.Domain: Assembly containing our domain business entities
  • innoveo.Blog.Services: Layer exposing the different business services
  • innoveo.Blog.Web: Web presentation & web services layer
  • Blog: The web application

Here it is for our solution that will use our business entities indexing Framework. Let’s have a closer look now at the Framework itself!

Indexing Framework

First here is the class diagram:

The role of each class of our Framework is as following:

  • EntityIndexer manage an index and index the business entities
  • EntitySearcher let you search business entities
  • EntityDocument is used by the class EntityIndexer in order to manage Lucene.Net Document
  • IndexPath is an utility class used to specify the location of index

As you can see on the diagram we use the .NET Frameworks 2 generics this in order to allow us to search whatever attribute decorating our business entities. But also to be able to have a Framework that is not dependant of any entities. This brings a good flexibility at the usage time as it let you index whatever property of type string of whatever business entity. All of this is without being intrusive in our model.

Now that we know about the architecture of our Framework it is time to look deeper in the details of the implementation.

This post is cross-posted on my personal blog "One of the Tech Head Brothers" and in French on my .NET community portal Tech Head Brothers.

Indexing and searching business entities using Lucene.Net Framework, part 1

by Laurent Kempé 12. December 2007 08:18

 

Conception using generics and reflection of a search engine to index and search content in your business entities without being intrusive.

Introduction

Today, one of the functionality that almost all web sites implements is a method to index content and give it users the possibility to search that content spread into its web pages. It is one of the simplest ways to improve the user experience on your web site.

Blogs brought categories/tags giving the possibility to label the information. However this advantageous method isn’t always sufficient. It is advisable to then use a real content indexing method.

In this set of posts I propose to take a look at the indexing and searching method I implemented on the web site of innoveo solutions, my new company. I hope also to bring soon this system to my web site Tech Head Brothers.

Both web sites, innoveo solutions and Tech Head Brothers, were developed using Domain Driven Design. So, we started by defining a domain model with our business entities. In this layer we do not concentrate on technical aspects for example like persistence. On the other hand we do concentrate on the domain we want to address.

One of the main ideas is to avoid being intrusive in the domain model with any inheritance of technical classes or to link this layer with any technical frameworks.

To achieve this goal we will use an O/R mapping tool (Euss) for the business entities persistence as well as the Lucene.Net framework for the indexing part.

Following quite some discussions (Thanks Didier ;) in which we asked us if we would better use a service offered by one of the searching big players on the Internet, we finally decided to keep the control of our searching tool.

Wanting to be independent of any database and services like Full-Text indexing, or from services like Indexing Services, we decided to use Lucene.Net to avoid having to re-implement everything from scratch.

In the following posts, I will present an introduction of Lucene.Net; we will see the architecture I have chosen for the indexing and searching framework; the implementation details of that framework and finally an example of integration into a data access layer.

This post is cross-posted on my personal blog "One of the Tech Head Brothers" and in French on my .NET community portal Tech Head Brothers.

Tags:

software

About Innoveo

Innoveo is a software company whose products, services and technologies enable its clients to create business value. Its expertise in architecture (SOA), software engineering, infrastructure, and the insurance industry ensures that the company remains a valued business partner over the long term.