Web 3.0 to HTML 4.0 and everything in between

The next big thing is predicts as ‘Web 3.0’ is inseparably close to the term ‘Semantic Web’. Something which essentially means that search engine’s usability and effectiveness to be increased to the extent that it should make one believe that the whole internet is conspiring for you to reach to the information that you need at the least possible your keyboard, mouse or eyeball movement.

There are many new promising search engines geared-up to ride on this next wave of IT revolution, with HTML 5 inherent capabilities and auto tagging techniques we hope to see more structured content generation, with web 2.0 phenomenon a lot of UGC and content tagging would further help the web transforming into a semantic web, however we can’t expect the legacy content to be tagged and structured at the same time we can’t live without that content.

In this case I see only two directions:

1. The content which is not accurately tagged is anyways old and might become irrelevant over a period of time, so it does its natural death (It will still be indexed and searched by our best friend google!)
2. The content that’s useful and usable will be transformed into a structured content.

What interests me how this transformation of content is going to happen? I think it’s going to happen in following ways:

1. Next gen search engines are having NLP based categorization and auto tagging mechanism, that’s where we might see real-estate search engine, music search engine, video search engine, since it’s such a big world to categorize and arrange all the information in a reliable way.
2. Another way this is going to happen is new group of entrepreneurs are going to sought an opportunity to act as data aggregator, indexer and presenter, in short creating more friendly content for next gen search engines.

Probably history is set to repeat itself, Yahoo style directory services where categorization of content ( instead of websites previously) is going to be back so will be data scraping, since all you wish to categorize is content and not the application/ program that is generating that output, recalls the days of mainframe based screen scraping, isn’t it?

 

OSGi in Practice - Part 2 (Spring DM Server )

This Blog is in continuation of my first blog on OSGi.

In the first part we saw what OSGi is and what benefits it offers. In this section I would like to share my experience in evaluating OSGi for developing a Web based application, the challenges I faced, Spring DM server and DM Server development tools for developing OSGi applications. Next I would also share some of my experience in using Spring DM Server for an actual development project

After doing my initial research of the OSGi framework I decided to start my journey on developing a sample Web based application on OSGi. 

I soon realized my research is not complete and I still had to explore on how to integrate a Web based application within an OSGi container.  I also had to explore on the development tools to be used.

Challenges in developing an OSGi based web application

I faced an interesting challenge here. OSGi applications need to work within an OSGi container whereas Web applications run within a Web Container.

To resolve this issue one can either embed the Web Container bundle (Tomcat bundle or Jetty bundle) within OSGi container or deploy the OSGi platform as a war within the Web Container. I particularly didn’t find these approaches amusing but with no other option left chose the first option.  

Oops faced one more challenge here. Tomcat bundle was not readily available. I went through various forums and site where they explained how to build a tomcat bundle. Not to delay my progress I decided to use Jetty bundle which was readily available. It did take time for me to do the initial setup but finally I was set to start my development.

I was using PAX-Construct for handling the OSGi container and for deploying the various OSGi bundles. I went through the various steps that are required to develop a bundle and deploy it using PAX- Construct .I tried a few examples and found the steps to be too exhaustive and time consuming. Searching the open source library bundles manually, installing them and updating the Manifest file was becoming a nightmare. Instead of focusing on business logic my major time was getting spent in OSGi related activities.

My excitement about OSGi was coming down and I was thinking may be OSGi development tools are not matured enough and OSGi is best suited only for desktop based application. I wanted to have a simple deployment container for OSGi Web applications and easy to use development tools.

 I wanted to do more research in this area before coming to a final conclusion and so I continued my research on OSGi in the web mode.

After going through several sites and forums I found the OSGi Enterprise Experts Group is working on the RFC66 standard for OSGi web container. I also came across several claims about Spring DM server being the best reference implementation of the standard. I didn’t come across any other implementation of the standard so couldn’t do much of the comparison here and finally decided to do more analysis of the DM Server.

Just after spending a couple of hours on the Spring DM server I found SpringSource has resolved both of my previous concerns.  Spring DM Server served as a ready platform for deploying OSGi based web applications and Spring Source DM Server Tools provided very good Eclipse development environment for Spring DM server based applications.

Let’s have a look at what Spring DM Server and its development tools provides us

Spring DM Server

  1. Spring DM Server is a lightweight, modular, OSGi-based runtime that provides a complete packaged solution for developing, deploying, and managing enterprise applications.
  2. The SpringSource dm Server is built on top of the following core technologies:
  3. Spring Framework
  4. Tomcat as the web container.
  5. OSGi R4.1.
  6. Equinox as the OSGi implementation.
  7. Spring Dynamic Modules for OSGi for working with OSGi in a Spring application.
  8. SpringSource Tool Suite for developing applications.
  9. Spring Application Management Suite for monitoring the SpringSource dm Server and the applications that have been deployed to it.

Key Capabilities Include:

Admin Console: deploy and manage artifacts, examine diagnostic dumps, and examine bundle wiring, either in the live system or from a resolution failure

Equinox console extension – manage DM Server and deployed artifacts

Plans - define the artifacts that comprise an application, optionally making the application atomic to tie the artifact lifecycles together, and scoped to isolate the application from other applications

Provisioning - automatically supply the dependencies of an application including bundles, plans, plan archives (PARs), and configurations, from both local and remote repositories

Web container - supports vanilla WAR files, with all their dependencies in WEB-INF/lib, and Web Application Bundles, that import their dependencies via OSGi manifest metadata, via the embedded Tomcat-based reference implementation of the OSGi Web Container specification, configured using the standard Tomcat server.xml

User Region - isolates the kernel from user-installed applications and enables admins to focus on application artifacts and their dependencies without seeing those of the kernel as well

Spring 3 –Spring DM Server packages Spring 3.0 final, but can easily be configured to use a different version of Spring.

Hot deployment - deploy artifacts to Virgo by copying them into the pickup directory, either in archive or exploded form, as an alternative to deploying via the admin console

Logging - via embedded LogBack, configured in config/serviceability.xml, with a rich set of appenders available out of the box

Spring Source Tool Suite

SpringSource provides a set of plug-ins for the Eclipse IDE that streamlines the development lifecycle of OSGi bundles and PAR applications. The SpringSource dm Server Tools build on top of the Eclipse Web Tools Project (WTP) and Spring IDE, the open-source Spring development tool set.

 The SpringSource dm Server Tools support the creation of new OSGi bundle and PAR projects within Eclipse, and the conversion of existing projects into OSGi bundle projects. Projects can then be deployed and debugged on a running dm Server from within Eclipse.

Experience of using Spring DM Server in Live Project

 I developed a sample Web application based on Spring DM server and its development tools. Once all stake holders were convinced we decided to use it for our next development project.  

At the time of writing this blog its beings six months we have been using Spring DM server in actual development. Following are some of my experiences in this period:

  1. Technical Documentation: Spring Source has come up with a detailed documentation for setting up the server and developing/migrating a web based application using Spring DM server.We were able to resolve most of our setup and development issues by referring to the Spring Source provided documents. We also got answers to most of our queries from Spring DM server forums but still there were some situations where in we had to struggle for our problems.But overall we would rate the documentation and the forum support to be fairly good.
  2. Spring Source Repository: Spring Source has come up with an online repository where you can find OSGi bundles and libraries for all major Java open source libraries. For our development project we were able to find 95% of our open source bundles readily available here which saved our search time to a great extent.
  3. Hibernate integration: It was very easy to integrate Hibernate in our application. The OSGified Hibernate Library was readily available with the Spring Source repository and we had to follow the standard Spring – Hibernate integration process.
  4.  Axis 2.0 integration: We faced lot of issues here. The Axis 2.0 bundles were not readily available. There were some sites which OSGified the bundles but deploying these was causing lot of version conflicts with other bundles.Since the Web Service code was part of a single web bundle and was not required to be decomposed into smaller bundles we decided to use the normal Axis 2.0 libraries. We deployed the standard Axis2.0 libraries in the lib folder of our web bundle and were able to integrate Axis without further issues.
  5.  Tiles Integration: Again we faced bundle conflict issues here. There were version conflicting issues with the Tiles library and Spring 3.0 Library. To resolve the issue we had to provide reference to a couple of core Spring 2.5 library
  6. Spring DM Server integration within Eclipse: The development tools provide seamless integrations of Spring DM server with Eclipse. We were able to Start, Stop the server, Deploy and Redeploy PAR files from within Eclipse easily. Debugging the application code was also very easy and we had to follow the standard debug process here.
  7. Deploying Open source bundles from the development environment:  This is one of the best features provided by the development tools. The development tools provide easy integration with various online repositories from where the OSGi bundles/libraries can be downloaded and integrated for an application. Using this feature we were able to search and deploy open source OSGi bundles and libraries easily for our application.
  8. Manifest file manipulation from Development environment:   The development tools provide an excellent User Interface for importing packages from other bundles and for exporting packages of a bundle. The actual Manifest file is automatically generated based on the selections made from the User Interface. This saves lots of Manifest file management hassles.
  9. Using Maven for continuous Integration :  We are still doing research in this area. Our intial research suggests using Maven for build process results in losing lots of benefits offered by the development tools. At the moment we are using only the development tool for building and deploying the PAR project but we would definitely want integration with Maven to streamline the integration and build process.

To conclude OSGi provides a great platform for building modular Java applications in a true sense. OSGi is proven technology adapted by many open source and proprietary  Java Enterprise servers and applications .Spring DM server looks promising as an OSGi web container and the DM server tools greatly simplify the OSGi development tasks. With the standardization of the OSGi web container specifications and Spring Source being actively involved in its implementation we would expect adaption of OSGi in many future Java Web application developments.

Finally I would support the quote posted on Spring Source site by Jan Hendrik  Kuperus ‘ Spring DM Server is the future of Java EE’.

PS: At e-Zest, we work on emerging technologies & solutions based on OSGi component framework & Enterprise OSGi specification. Please feel free to email me your queries regarding OSGi on our corporate email id: info@e-zest.net

e-Zest Featured in Global Technologies Magazine

Global Technologies, India’s leading Business Magazine has covered e-Zest’s fourth time consecutive and successful participation in CeBIT 2010 at Hannover, Germany. The article has spotlighted an exclusive interview by Ashish Gupta, Director & Founder and the success story of e-Zest Solutions Ltd. till date.

Half Day Seminar on: Agile Development, Tools and Teams

Certified Scrum Master Stephen Forte will be presenting a half day seminar on Agile Development, Tools and Teams on Wednesday February 24th at the MCCIA in Pune. The event is brought to you free by e-Zest, MCCIA, and Telerik. Seats are limited, to sign up in advance, please email seminar@e-zest.net.

The Program Details

One of the most popular Agile project management and development methods, Scrum is starting to be adopted at major corporations and on very large projects. After an introduction to the basics of Scrum like: project planning and estimation, the Scrum Master, team, product owner and burn down, and of course the daily Scrum, Stephen (a certified Scrum Master) shows many real world applications of the methodology drawn from his own experience as a Scrum Master. Negotiating with the business, estimation and team dynamics are all discussed as well as how to use Scrum in small organizations, large enterprise environments and consulting environments. Stephen will also discuss using Scrum with virtual teams and an off-shoring environment. We’ll then take a look at the tools we will use for Agile development, including planning poker, unit testing, and much more. There will be plenty of time for Question and Answer. This seminar is a jump start for a certified scrum master exam. 

Who Should Attend 

Developers and development managers, especially those using the Microsoft .NET platform. 


Schedule and Agenda

Seminar Coverage

Time Slot

Event Registration

9:00-9:55

Speaker Introduction

9:55-10:00

Introduction to Agile Development and Scrum

10:00-11:00

Agile Estimation

11:00-11:30

High Tea Break

11:30-11:45

Implementing Scrum with remote and offshore teams

11:45-12:15

Agile Tools, Test Driven Development, and Continuous Integration

12:15-12:45

Summary, Question and Answer

12:45-1:00

Conclusion of Program

1:00

 

The Speaker

Stephen Forte is the Chief Strategy Officer of
Telerik, a leading vendor in .NET components. He sits on the board of several start-ups including Triton Works and is also a certified scrum master. Prior he was the Chief Technology Officer (CTO) and co-founder of Corzen, Inc, a New York based provider of online market research data for Wall Street Firms. Corzen was acquired by Wanted Technologies (TXV: WAN) in 2007. Stephen is also the Microsoft Regional Director for the NY Metro region and speaks regularly at industry conferences around the world. He has written several books on application and database development including Programming SQL Server 2008 (MS Press). Prior to Corzen, Stephen served as the CTO of Zagat Survey in New York City and also was co-founder of the New York based software consulting firm The Aurora Development Group. He currently is an MVP, INETA speaker and is the co-moderator and founder of the NYC .NET Developer User Group. Stephen has an MBA from the City University of New York. Stephen currently lives in Hong Kong and will be returning to Mt. Everest again in September 2010. 

Final Details

DATE

Wednesday February 24th, 2010

TIMING

9.00 am to 1.00 pm (registration from 9.00 a.m. to 9.45 a.m.)

VENUE

Shekhar Natu Hall, MCCIA, 403-A,Senapati Bapat Road, Pune 411 016

FEE

Free

 

 

 

e-Zest achieves ISO 9001:2008 Certification

Pune, MH, January 11, 2010 – e-Zest Solutions Ltd., an Outsourced Product Development and Enterprise Application Development Company, added another feather in its cap by achieving the (ISO) 9001:2008 certification, after an efficacious analysis of its quality systems. While e-Zest was previously ISO 9001:2000 compliant, this latest certification represents the enhanced commitment to quality and reliability that their customers expect from the company, and its many product offerings.

For e-Zest, the ISO 9001:2008 certification means that each step of the Software Product Development and Software Solution Process is tightly controlled and applied consistently. The ISO 9001:2008 maintains that a number of requirements need to be fulfilled in order to achieve customer satisfaction through qualitative products and services that meet customer expectations (also including a requirement for continual, or planned, improvement of the Quality Management System).

Elaborating on this achievement, AVP – Operations & Quality, e-Zest, Rajendra Babtiwale commented, “Our recent upgradation to ISO 9001:2008, without any non conformance is not an accident. It is a consequence of the culture that e-Zest is groomed with. The culture of ‘Customer, Process and People’ is inculcated in every team member of e-Zest, which has culminated in getting accredited to amended version of ISO with ease.”

“Our continuous focus on software excellence is evident through our ISO 9001:2008 certification. We place a high value on the quality of both, the software and the services, that we provide and this independent certification is proof of that commitment” says Vishant Sarodia, Quality Assurance Leader for e-Zest.

With its recent ISO 9001:2008 certification, e-Zest customers are the biggest winners. The certification represents affirmation by a third-party registrar that when opting for e-Zest services and solutions, the customer is assured of world-class quality and reliability.

About ISO 9001:2008

The ISO 9001:2008 Certification established by the International Standards Organization is a quality management system that sets a global standard for quality assurance processes. This certification also ensures that a company’s products and services are among the best in the world.

About e-Zest

e-Zest Solutions Ltd. (www.e-zest.net) is an Outsourced Product Development and Enterprise Application Development Company, having special expertise in Web 2.0, SOA and SaaS technologies. For over a decade, It has been serving clients in more than eighty industries, in four continents, with over 150 software professionals on board. e-Zest offers its services to ISVs/IT services, Healthcare, Finance, Manufacturing, Legal, Education, Sports, HR & Travel Business verticals with focus on CRM, BI and ERP solutions.

With dedicated Microsoft & Sun Competency Centers that focus on solutions and services based on Microsoft .NET (2.0/3.0/3.5) and Sun Java EE (2.0/5.0) respectively, e-Zest is a Microsoft Gold Certified Partner, Sun Associate Partner and Oracle partner for BI solutions. e-Zest is also a member of various industry associations like NASSCOM, Indo-German Chamber of Commerce and MCCIA. It is a 100% export-oriented unit (EOU), registered with the Software Technology Parks of India (STPI), and has two subsidiary offices viz. e-Zest (UK) Ltd. at London UK and e-Zest Inc. at Chicago, USA.