Disclaimer The opinions expressed herein are author's opinions and do not represent e-Zest's view in anyway. © Copyright 2010
OSGi:
Eclipse IDE is one of the extensively used Java development tool and I have been using it from the start of my Java programming career. One of the key features of Eclipse which impresses me a lot is its plugin architecture. To add support for a new feature we just download the relevant plugins, copy them to the plugins folder and after a restart all the required menus are in place and all the new features are available at our disposal.
I always wanted to develop an application on a similar architecture but due to other project priorities couldn’t research a lot on this. After 7 years of my S/W career I was finally struck with an opportunity to develop an application based on the OSGi Framework. As I started my research on OSGi framework I realized this is what I had been waiting for a long time.
What is OSGi?
From my initial discussions you must have got a clue that OSGi development is somewhere related to plugin development. Correct OSGi framework allows us to build highly modular Java applications composed of small components.
To define it more correctly the OSGi Framework provides the standardized specifications that allow applications to be constructed from small, reusable and collaborative components. These components are highly cohesive and loosely coupled. Each component can be individually developed, tested, deployed, updated and managed with minimal or impact on other components.The components can be composed into an application and deployed.
OSGi Bundles
An application module or component is termed as a bundle in OSGi. Bundles are the common Java jar files except that their Manifest file contains more OSGi specific details like a definitive name, version, dependencies and other deployment details.
As opposed to normal Java application which is packaged in a monolithic jar/war file bundles are logical modules that combines to comprise an application. They explicitly define which packages they export and which external packages they depend upon. OSGi framework performs bundle resolution ensuring consistency among bundles with respects to their versions and other constraints.
The OSGi specification defines a life cycle for OSGi bundles and once the bundle is deployed the bundle life cycle determines its status. A bundle can be installed, started, stopped and uninstalled from the framework following the lifecycle prescribed by the OSGi specifications.
OSGi Containers
OSGi based application run within an OSGi Container. Following are some of the popular OSGi containers:
· Eclipse Equinox
· Apache Felix
· Knopflerfish
OSGi Benefits
· Changes are easy to accommodate:
Functionalities of a bundle are known only through its published interfaces. This allows changes to the implementation logic without affecting other collaborating bundles.
· Improved work distribution:
An OSGi based application is a collection of bundles. Each bundle defines a set of dependencies to other bundles. The development tasks can be distributed easily based on the bundle dependency hierarchy.
· Improved Testability
Each bundle can be tested as a cohesive unit in addition to the unit and integration testing.
· Improved Packaging and Release management
Application features can be developed under separate bundles. For an installation a deploy time decision can be made to package and deploy only those bundles which are relevant to the application features to be made available.
· Increased Reusability
Functionalities of a bundle can be abstracted enough to make them reusable across projects. It is even possible to reassemble module selection of an application to produce a different application.
In this article I touched upon what is OSGi and what benefits it offers. In the next article I would like to touch upon the challenges in developing an OSGi based application and how Spring DM server comes to the rescue.
Following are some of the good reference books for starting with OSGi
1. Modular Java by Craig Walls
2. OSGi in Action
Liferay Portal is the world's leading enterprise open source portal framework, offering integrated web publishing and content management, an enterprise service-oriented architecture (SOA) to facilitate application integration, and compatibility with all major IT infrastructures. Liferay portal is one of the most mature portal frameworks in the market. It has proven real world performance with Fortune 500 customers across industries. It offers many key business benefits that involve personalization, customization, and workflow. Liferay Portal provides within a secure, administrated framework, an ability to organize the potential chaos of an unfettered Web 2.0 environment. It empowers users with tools such as blogs, instant emails, message boards, instant messaging, shared calendar, social networking, social office, CMS, WCM, and so on.
Liferay portal provides you a single point of access to all your organization’s data, content, and information from both existing in-house applications (i.e., HR, CRM) and external sources. Liferay Portal is the only open source portal that works with any application server, database server, or operating system with over 700 deployment configuration. Liferay’s workflow engine allows organizations of all sizes to be more nimble. Flexible IT makes business processes more dynamic, modular, and adaptable to the demands of fast-changing markets.
Liferay Portal provides the highest value and lowest costs at every level. It also accommodates today’s global business environment with out of the box support for 22 languages. No matter how your processes change, Liferay was benchmarked as among the most secure portal platforms, so you can be always confident in the security of your data.
Created for enterprise use Liferay Portal provides a virtualized space where you can share, centralize and collaborate. Built with the end user in mind, user interface developed using Liferay portal is easy to understand even by technically ignorant user. Companies worldwide have been using Liferay Portal because of its high-end functionality, compatibility with most major application servers and database platforms, and scalability. One can consolidate, organize and access all the data and applications via a single point of access that the Liferay portal provides. e-Zest’s Liferay Portal solutions, helps its client to minimize the critical operations and support for better customer satisfaction by allowing self-service capabilities and capable portal integration across business services. Our skilled Liferay team is available to satisfy all of your requirements for Liferay deployment, implementation, customization, consulting , Support, and any other services related to Liferay due diligence/requirement analysis, business analysis, Java scripting, implementation of a Liferay Portal, or changes or redesign for an existing Liferay Portal.
In the last decade, ERP (Enterprise Resource Planning) have exploded into the global business landscape. The economic downturn took a bite out of ERP profits, but trends and impending product launches portend good things for ERP in 2010. The global recession had a major impact on the ERP software market in 09, but 2010 is shaping up to be a banner year in ERP. Many industries already have realized the need for ERP solutions, thanks to a number of emerging trends, as well as a pair of highly anticipated product launches.
An ERP package can streamline and automate the different important functions of an organization. A primary benefit of ERP is easier access to reliable and integrated information, elimination of redundant data and the rationalization of processes, which results in substantial cost savings. It enables decision-makers to have an enterprise-wide view of the information they need in a timely, reliable and consistent fashion. The system provides consistency, visibility and transparency across the entire enterprise. The integration among business functions facilitates communication and information sharing, leading to dramatic gains in productivity and efficiency.
The main difficulty that an organization faces while running a business is the need for quick information. For making any crucial decisions and for running the business, one has to have all required information on time. ERP improves coordination between all operations, it can simultaneously streamline the workflows and processes them according to the priority level hence giving benefits to the user. ERP in short is the business solution provider which helps an organization run its business smoothly and promotes growth.
ERP definitely helps any organization improve its business performance by reducing the lead time of the product that is being produced by any company. It integrates and automates most business processes and shares information enterprise-wide in real-time, thereby improving customer service and the corporate image. ERP provides business intelligence tools like decision support system, executive information system, reporting, data-mining and early-warning system thus enabling people to make better decisions and improve the business processes. ERP not only addresses the current requirements of the company but also provides an opportunity for improvement and refinement in the business process on a continuous basis. As a crucial evolutionary step in business, ERP was originally envisioned as a “one-size-fits-all” modularized software approach to the management of most of the core business activities. Today companies use ERP to manage product planning, purchasing and logistics, inventory management, production, vendor management, customer service, finance, human resources and many other basic business activities.
There can be no doubt in the promising opportunities and prospects of ERP in the future in both software and non software sectors. Whether the enterprises’ growth plans include buying and selling in the global marketplace, adding more talent to their teams, or expanding the services, ERP has the tools and the flexibility to successfully accelerate the business expansion and streamline existing business and operational processes thereby improving efficiency and productivity. Though there is always a threat of security, piracy, hacking of sensitive data etc, stagnation is a bigger threat to a business organization. So after taking the proper security measures, ERP systems can be a boon to every organization that is trying to survive in this competitive world and want to be the best in the business.
e-Zest defines ERP as an enterprise re-engineering solution that uses new business computing paradigms to integrate IT processes across company divisions and departments. e-Zest’s expertise and experience with large enterprises has enabled it to develop and provide unique and customized ERP solutions to its customers. e-Zest helps its clients deal with the associated challenges of support, upgrades, integration change management, and controlling cost and scheduling overruns.
On June 5th, e-Zest celebrated World Environment Day as a “Green Day”. e-Zest is concerned about the need for a safe & clean environment. We believe in to raise awareness, and contribute to this ever giving beautiful nature. We celebrated World Environment week from 1st to 5th June, many internal campaigns were organized to create environment awareness in the employees. This noble effort was a part of PRAYAS, a green initiative by e-Zest.
With this initiative e-Zest reached out to its employees and customers to plant Trees, clean up waste, use public transport and reduce use of plastic bags. We are also conscious of the hazards to the environment and inculcate the habit of car pooling and reduce carbon emissions. To make a contribution, 4th June was celebrated as “Non-Vehicle Day” by e-Zest employees. We successfully conveyed the need to act responsibly towards the environment. e-Zest encourages its employees to support the green theme of 2010 “your planet needs you!”.
In the recent past the Indian economy has gone through major ups and downs and has also witnessed many controversies. It has led to enterprises adopting to GRC — or Governance, Risk Management and Compliance. In an economy like India where outsourcing contributes a major chunk to IT industry business, GRC has evolved from being desirable to unavoidable.
The three components – Governance, Risk and Compliance are connected, and yet at the same time they are separate entities that require their own strategic steps and procedures. With compliance requirements becoming mandatory, many companies have been aggressively discussing the implementation of Governance Risk & Compliance as a key strategy. The frequency and urgency of these discussions have increased significantly as global competition has shifted the speed of business into overdrive. To enterprises that are able to see the long term survival as part of their business plan, GRC is a welcome framework to operate in a dynamic world where IT runs just about every aspect of their business and the nature of risks and threats are also ever-changing.
The GRC market is gaining significant momentum leading to an enterprise-wide view of the risks associated with all lines of businesses and geographies. The GRC market in India continued to grow in 2009. The recent Forrester Research Report quotes that the GRC technology industry comprising of software, consulting and related services is currently growing at 24% year on year and is slated to grow from $2.6 billion in 2009 to over $24 billion in the next five years.
The enterprises are increasingly turning to GRC solutions to both improve visibility into their enterprise-wide risk posture and automate compliance processes. GRC helps meeting security best practices and protecting business-critical information. Combined with rich vulnerability data and compliance intelligence gathered across the entire IT infrastructure, GRC becomes even more effective.
Businesses are dependent on technology to automate processes in order to remain competitive and operate efficiently and effectively. However, these new opportunities create new risks and threats to the business. These risks and threats are both internal and external. All stakeholders like partners, client, shareholders etc would require that information systems must have adequate internal controls and are effectively addressing security challenges. This is where enterprises can leverage a well established GRC process to monitor security issues as well.
The enterprises today demand effective governance, including enterprise risk management, transparency, accountability, and optimized performance to ensure they receive risk free sustainable results. In IT business, GRC primarily focuses on information security and quality. GRC empowers enterprises to identify and analyze many risks that can affect the organization. Identifying preventive steps reduces the likelihood and magnitude of adverse impacts.
e-Zest offers a fully integrated suite of GRC solutions. e-Zest’s GRC competency team holds both business domain and technology expertise to deliver successful GRC solutions as per the clients’ needs. Our GRC services include GRC-Outsourced Product Development services, Custom/Bespoke Application Development, GRC Application Migration/Re-engineering services, GRC Product Implementation services and GRC Application/Product Integration with BPM/ERP Solutions. e-Zest’s On-Demand GRC solutions provides security features that strengthen the information environment without constricting flexibility and efficiency.