Innoveo is a member of the Oracle PartnerNetwork

by Didier 23. September 2009 01:00

oracle[1] Innoveo Solutions enjoys its new membership to the Oracle PartnerNetwork, which is illustrating the long and successful deployment of our insurance frontend solution – Innoveo Skye® integrating Oracle databases.

Our partnership with Oracle helps us to leverage our expertise and build on the strong foundation that Oracle's technology provides.

Innoveo news.

Cross-posted on the Didier Beck blog.

VMware/SpringSource – About PaaS

by Didier 9. September 2009 00:53

VMware announced on August 10, 2009 its willingness to acquire SpringSource for $362 million in cash and equity, plus $58 million of unvested stock and options (press release). The process should be closed in Q3 2009.

How can this acquisition be interpreted? What are the goals of VMware/SpringSource?

Some interesting inputs and analysis found on Internet.

A post from Rod Johnson, CEO of SpringSource

About the merge itself

[…] We have signed a definitive agreement with VMware, who will acquire SpringSource. Subject to regulatory approval, we expect the transaction to close in Q3. SpringSource will become a division within VMware. I will continue to lead SpringSource, reporting to VMware CEO Paul Maritz.

About the opportunity

[…] But the broader transformation in IT goes beyond Java frameworks, tooling and runtime infrastructure. The way in which people think about software stacks is changing. Virtualization is reshaping the data center, and cloud computing is set to drive far-reaching changes. Significantly, cloud computing blurs the division between development and operations, bringing new power (and responsibility) to developer.

And so the question becomes, what is the most simple, powerful, pragmatic way of utilizing SpringSource technologies in the data center, and in the cloud?

About the vision

Working together with VMware we plan on creating a single, integrated, build-run-manage solution for the data center, private clouds, and public clouds. A solution that exploits knowledge of the application structure, and collaboration with middleware and management components, to ensure optimal efficiency and resiliency of the supporting virtual environment at deployment time and during runtime. A solution that will deliver a Platform as a Service (Paas) […]

About the vision (said in other words)

The next chapter of our work at SpringSource is tackling those challenges: Building on our Build/Run/Manage solution to provide the industry’s best solution from developer desktop to cloud deployment. Bringing Spring’s power and simplicity to enabling the millions of Java developers to benefit from the full power of cloud computing. […]

About the representation of this vision

SpringSource Build/Run/Manage and VMware Cloud

About the open source community

Our commitment to open source practices, licenses and traditions will remain unchanged. We expect our contributions to open source to increase. Our open source projects will retain their commitment to enabling user choice. Spring will retain the portability between deployment environments that empowers users. […]

An analysis from 451 CAOS Theory

Part I

[…] VMware is clearly in need of a story beyond virtualization, even if we are still relatively early on in enterprise adoption. Still, looking into the future, it sees clear skies, and that does not fit with the multi-billion dollar opportunity shaping up in cloud computing. Thus, VMware is willing to invest a significant amount in SpringSource, which does represent a crossover in customers without much, if any, crossover in competition.

Part II

VMware is working to address its increasing competition from all sides. While it may seem somewhat odd for VMware to want to get involved in enterprise Java application development and deployment, it may want to take advantage of SpringSource’s relatively quick climb in the enterprise Java development and support business. VMware may also be looking to offset any gain in enterprise Java influence and control by Oracle, which may do so with its more than $7 billion acquisition of Sun Microsystems.

Part III

VMware is also facing increasing competition from OS vendors, including Microsoft, Novell and Red Hat, which is among SpringSource’s biggest competitors with its JBoss business. Again, SpringSource may not seem the most likely suitor for Java application development, but VMware may see this as an area where it can most effectively integrate its own technology and talent to differentiate in virtualization and cloud computing.[…]

Open source?

Although SpringSource’s open source nature has been critical to its developer reach and success, this is likely not as important to VMware, which may view SpringSource more as a subscription software company than as an open source software company. Either way, it seems VMware, similar to Oracle, may have somewhat limited vision when it comes to open source software, seeing it for its development and time-to-market advantages, but missing other community benefits — including user and customer communities, feedback and contributions — that help make things work.[…]

Disclosure: Innoveo Solutions is using Spring in its Innoveo Skye™ software product.

cross-posted on Didier Beck’s blog.

Cédric nominated to the EOS Directory Advisory Board

by Didier 3. July 2009 19:24

I am very proud to announce that Cédric Walter, one of our colleague and founding member of Innoveo, is nominated to the EOS Directory (Enterprise Open Source Directory) Advisory and Expert Board. Cédric is a very well-known contributor of the Joomla community since 2004.

EOS Directory is a great catalog of more than 350 open source projects, that are listed, described and analyzed. It is today the leading online platform to help enterprises and organizations identify and evaluate Open Source technologies. Initially launched by Optaros, about two years ago, the platform has been recently handed over by Bruno von Rotz, initial sponsor of the initiative, well known Open Source specialist, and one of our Innoveo Board Member.

In support to strengthen the neutral approach to ratings and selection of the technologies, the new EOS Directory Advisory and Expert Board has been established over the last weeks.

The Advisory and Expert Board will be both instrumental in guiding the future development of the EOS Directory Platform as well as in making sure that the content is accurate, relevant and fairly represented. (Source: EOS Directory Blog)

Congratulations to Cédric!

More Information on Cédric’s blog and the EOS Directory blog.

Cross-posted on Didier Beck Blog.

IBM Rational conference

by Didier 30. June 2009 01:05

via Judith Hurwirtz

Judith has attended to the last IBM Rational Conference and is sharing with us some noteworthy aspects of the “changing landscape of software development”.

  1. Rational is moving from tools company to a software development platform. […]
  2. More management, fewer low level developers [were attending the conference] […]
  3. Rational has changed dramatically through acquisitions. […]
  4. It’s all about Jazz. Jazz, IBM’s collaboration platform was a major focus of the conference.  Jazz is an architecture intended to integrate data and function.  Jazz’s foundation is the REST architecture and therefore it is well positioned for use in Web 2.0 applications. What is most important is that IBM is bringing all of its Rational technology under this model. Over the next few years, we can expect to see this framework under all of the Rational’s products.
  5. Rational doesn’t stand alone. […] What I found quite interesting was the emphasis on the intersection between the Rational platform and Tivoli’s management services as well as Websphere’s Service Oriented Architecture offerings. Rational also made a point of focusing on the use of collaboration elements provided by the Lotus division.  Cloud computing was also a major focus of discussion at the event.[…] The one area that IBM seem to have hit a home run is its Cloud Burst appliance which is intended create and manage virtual images. Rational is also beginning to deliver its testing offerings as cloud based services. One of the most interesting elements of its approach is to use tokens as a licensing model. In other words, customers purchase a set number of tokens or virtual licenses that can be used to purchase services that are not tied to a specific project or product.

Cross-posted on the Didier Beck Blog

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.

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

About Innoveo Solutions

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.


Disclaimer
The postings on this blog are representing the personal opinions of their authors and don’t necessarily represent innoveo’s positions, strategies or opinions.