NEWS

 

 




| Printer Friendly | Post Reply
Eclipse Power for SOA
By Anand Gopalan

The most interesting feature of Eclipse is that it’s platform and language neutral. The use of a uniform IDE for collaboration also translates into savings in terms of cost and time for the customer. Similarly, one of the main drivers for SOA is interoperability between heterogeneous systems. Eclipse helps to achieve this goal from a design perspective. Eclipse-based tools aid seamless development across a variety of products at the service layer. In areas such as Business Process Management (BPM), where there is a need for prototyping models, the eclipse approach can result in highly sclable, and maintainable business models. Eclispe plug-ins can also be developed to support the definition, authoring, editing, deploying, testing, and debugging of Business Process Execution Language (BPEL) processes. Similarly, having a web service plug-in in an Eclipse environment makes it easy to create, test, debug, deploy and publish Web Services. The article is an in-depther into how you can harness the eclipse power for SOA services.

Introduction

The objective of the Eclipse community is to provide an extensible platform and application framework for software development. Developers and organizations are increasingly turning to build their solution on top of the Eclipse framework, since it allows seamlessly integration with other tools / applications.

The Eclipse Web Tools Platform (WTP) project initiative from Eclipse.org extends the Eclipse platform with tools for developing J2EE web applications. It has source editors for HTML, Javascript, CSS, JSP, SQL, XML, DTD, XSD, and WSDL; graphical editors for XSD and WSDL.

Another core strength of the project is the availability of a multitude of plug-ins. For example, the JDBC plug-in for the Eclipse IDE facilitates standard access to and modification of databases resources. The availability of such facilities enables Eclipse to be used to build tools that result in cost benefits, provide reusable code, and allow interoperability withing various collaborating modules. Eclipse also offers an agile environment in terms of scalability, since plug-ins can be easily extended to cater to changing business requirements.

In this article we will analyze Eclipse from a SOA viewpoint to understand what Eclipse can provide to SOA in the Business Process Management (BPM), Business Activity Monitoring (BAM), and Web Services development and management areas.

Platform and Language Independence

The Eclipse Tools Project aims to build an IDE for languages such as Java, C/C++, COBOL, and so on. Eclipse offers pre-built binaries for operating systems such as Windows, Linux, Solaris, HP-UX, and AIX, to allow for platform independence. The availability of a plug-in architecture and rich APIs it frees developers to focus on building new applications that add value to the customers, rather then develop the basic features over and over again. And, this is the major reason for Eclipse’s popularity among the developer community.

Benefits

In normal circumstances, a lot of the development time is spent on designing menus, custom controls and views, and widgets. An Eclipse-based approach allows developers to jump-start their projects by incorporating pieces of already built functionality (Eclipse plug-ins, that is). This allows them to improve the business logic by providing innovative solutions and value-add to the customer. This creates considerable effort and time-savings, and shortens the ‘time to market’. Customers also benefit from having an independent, vendor-neutral open source standard for the design, development, and deployment of service-oriented applications.

Starting with version 3.0, Eclipse includes a Rich Client Platform (RCP), which consists of a minimal set of plug-ins— namely org.eclipse.ui and org.eclipse.core.runtime and their prerequisites— needed to build a rich client application. One of Eclipse’s core advantages, Component Reusability (for example, Help UI, Update Manager, Cheat Sheets, and Intro) is the inherent strength of an RCP. Eclipse allows augmenting this with different kinds of extensions. Such extensibility helps developers to build consistent, scalable, platform-independent SOA applications with a higher reusability.
Better Business Process Modeling Capabilities
One of the main drivers for SOA architecture is the business agility it offers. BPM Process achieves this by packaging business services with the appropriate level of granularity. Eclipse-based tools can help SOA projects to achieve optimal business process, by providing a rich set of modeling capabilities for easy and faster design.

In the design phase, developing prototype process models in an Eclipse environments results in considerable effort savings as compared to developing in aVisual Basic (VB) or Java Swing IDE environment. Customers can also extend a Meta model in a highly scalable, maintainable way, which also fits well with the developer’s skill sets. This allows them to add attributes and new components to extend the Meta model using graphical tools delivered from Eclipse projects. Eclipse plug-ins can also be developed to support the definition, authoring, editing, deploying, testing, and debugging of BPEL processes. The Eclipse IDE Experience can be further extended to workflow designer tool as well to assist any manual steps in the process.

As a company matures in the BPM space, it starts accumulating a lot of related BPM resources such as Business Process Execution Language (BPEL), Web Service Definition Language (WSDL), and XML Schema Definition (XSD). It becomes more manageable if these can be stored in a repository in the form of some filesystem. Administering such a repository is made easier by using an Eclipse plug-in for interaction. Eclipse also supports a feature called Eclipse Modeling Framework (EMF), a modeling framework and code generation facility for building tools and other applications based on a structured data model, which provides Java interfaces and implementation classes for all the classes in the model. By using such a Java API, developers can manipulate the files present in the respository as EMF objects.

The other framework that Eclipse supports is the Graphical Editing Framework (GEF) that allows developers to create a rich graphical editor from an existing application model. You can build a GEF-based editor that can provide a graphical means to author BPEL processes. The Eclipse Foundation is currently working on an SOA Tool Platform (STP), which has a sub-project aimed at developing BPEL to Java (B2J) tool to translate BPEL into executable Java classes. It will also define a standard framework to which these executable Java classes can be deployed .We shall revisit the STP Project later in the article in the Projects in progress section.

Thus, building Eclipse-based BPEL Process Management systems offer a comprehensive, cost effective, and easy-to-use IDE for creating, deploying, and managing business processes. The amount of effort being put into developing Eclipse-based BPM is in line with the standards based approach that SOA prescribes.

Web Services Support

Having Web Services plug-in in an Eclipse environment makes it easy to create, test, debug, deploy and publish Java Web Services. You can also add a rich development experience by having plug-in support for WSDL creation and modification. Typically a WSDL editor allows to import schemas, types, messages, port types, bindings, and services. An Eclipse framework makes it easier to develop features like Web Service Explorer by using JSP Web application hosted on a web server.

The Eclipse Web Tools Platform (WTP) project extends the Eclipse platform with tools for developing J2EE Web applications. The WTP project includes tools such as source editors for HTML, Javascript, CSS, JSP, SQL, XML, DTD, XSD, and WSDL; graphical editors for XSD and WSDL. For example, in a J2EE environment the EJB component can be exposed as a web service to achieve platform independence and interoperability.

Web Services Registry like Universal Description, Discovery, and Integration (UDDI) can be better managed with an Eclipse-based approach. You can develop Wizards [with a good look and feel] to perform complex search operations involving WSDL documents. Similarly, by developing UDDI publishing wizards we can publish the WSDL representing the Web service to the UDDI registry.

Testing Tools

It is difficult to carry out extensive testing just from the information contained within a WSDL file alone. So testing web services falls under black box testing which is more focused on testing functional requirements (specifications that are available but not on the design or code contained inside, that is).

So it becomes important that you design flexible test wizards to cater to the different test cases. One common test case is validating the WSDL file itself against its schema By identifying such common plug-ins, they can be reused across the enterprise.

The Testing Tools Project is a project in the Eclipse Test & Performance Tools Platform (TPTP) Project which stands as testimony to the Eclipse’s commitment to testing phase of the application lifecycle. It addresses the testing phase of the application lifecycle. The Testing Tools Project provides frameworks for building testing tools by extending the TPTP Platform. The framework contains testing editors, deployment and execution of tests, execution environments and associated execution history analysis and reporting. The project also includes exemplary tools for JUnit based component testing tool, Web application performance testing tool, and a manual testing tool.

Eclipse Framework Compatibility for Products

In any standard environment (especially medium and large business) the solutions will be product based. This section attempts to explore how well the Eclipse framework works in tandem with other products and the features offered by Eclipse to ensure the same.

The Eclipse Platform assists tool integration by means of plug-ins, APIs, and frameworks with open standards. The Eclipse Workbench forms the core of this approach to build applications in an heterogeneous development environment with a common application framework. Workbench provides extension points that enriches User interface (UI) Integration with the addition f new views, editors, wizards, perspectives, splash screens, and such. For example, Microsoft's COM with Java wrappers can be easily integrated in a given UI setup.

API integration allows client applications to access data in an Eclipse environment. Since it is inherently Java based, Eclipse inherits the advantages of Java, namely portability, ease of development, and a distributed approach.

Following are the steps to make API integration simpler:
  • Expose tool's Java API to other Eclipse tools, by describing API in a plug-in manifest file (plug-in name, vendor, version, runtime component -Example a .jar file of the java classes)
  • Now the Java Virtual Machine (JVM) facilitates sharing of information among the members of the environment

The latest JavaServer Faces (JSF) technology simplifies building user interfaces for JavaServer applications by assembling reusable UI components in a page; connecting these components to an application data source; and wiring client-generated events to server-side event handlers. Eclipse WTP provides comprehensive support to the development and deployment of JavaServer Faces applications. It provides extensible tooling infrastructure and exemplary tools for building JSF-based, web-enabled applications. This enables software vendors to provide additional functionality to their existing JSF applications.

Eclipse support in some of the products include:
  • BEA WebLogic Platform 9.2 provides an Eclipse-based Visual development environment. BEA WebLogic Service-Oriented Architecture (SOA) enablement helps developers work the way they are most productive, reducing project-development labor costs. Being built on Eclipse 3.1.2, it readily provides features like ANT support, JUnit support, refactoring, J2EE project wizards, and SCM integration .
  • Being based on Eclipse foundation,IBM tools, such as IBM Rational Application Developer and IBM Rational Software Architect promotes visual construction and model-driven development. IBM recently announced that many IBM development tools and rich client software—applications such as IBM Lotus Notes and IBM Lotus Sametime—will be based on the Eclipse framework. The next version of IBM Lotus Notes, code-named ‘Hannover’, plans to extensively leverage the Eclipse platform.
  • webMethods Portal 6.5 (The Portlet Developer) written as a plug-in for the Eclipse Platform, allows developers to quickly build and deploy portlets that leverage the power of Eclipse based architecture. By leveraging Eclipse for portlet authoring, it allows customers to have ultimate flexibility and control over their development efforts while significantly decreasing deployment time.
  • Cape Clear Studio is a unified Eclipse-based environment that supports the end-to-end development of SOA-based applications. The Eclipse backbone enriches it with rich BPEL capabilities.

Projects in Progress

This section deals with the work carried out by the open source community to enrich the Eclipse Framework capabilities on the SOA front.

SOA Tools Project (STP): This project is being developed by the Eclipse Foundation attempts to provide best-of-breed, open source SOA tooling set. It includes development of extensible frameworks with various SOA specific plug-ins. Some of the SOA Objectives met by this project are:
  • Vendor neutrality
  • Extensibility
  • Standards-based innovation
  • Agile development

The initial scope of the STP project covers essential developer requirements for:
  • Creation of service consumers and providers
  • Configuration of physical attributes of a service
  • Definition of policies and governance for access or consumption of services
  • Locating or adding services to an SOA
  • Creation of artifacts that can be used to deploy, enforce or manage SOA-based system participants

Project Higgins: The other areas of SOA that the Eclipse framework help addresses are in identity management, portal and web application development offerings where they leverage the rich set of Eclipse APIs. Project Higgins is an initiative of the Eclipse Foundation to create open source tools, APIs, and applications to manage the security of user identities on the Internet. A consortium of companies, including IBM and Novell, have pledged their support for the project.

The Higgins framework will enable users and enterprises to integrate identity, profile, and relationship information across multiple systems. Using context providers, existing and new systems such as directories, collaboration spaces, and communications technologies (for example, Microsoft/IBM WS-*, LDAP, email, and IM) can be plugged into the Higgins framework. Applications written to the Higgins API can virtually integrate the identity, profile, and relationship information across these heterogeneous systems. One of the projects’ design goals is that Higgins should be useful in the development of applications accessed through browsers, rich clients and web services. The intent is to define Higgins in terms of service descriptions, messages and port types consistent with an SOA model and to develop a Java binding and implementation as an initial reference

Summary

The article explored how an organization can leverage the power of Eclipse by building the SOA foundation on top of Eclipse Framework. The Return on Oinvestment (RoI) that an SOA environment offers is measured by the reusability and agility it provides. Eclipse makes substantial contribution in achieving this goal to a great extent by providing scalable, extendable, and functionality-rich plug-ins. We also saw how the Eclipse presence can be harnessed across various components of thee SOA stack. Customer confidence in an SOA based on Eclipse IDE is further strengthened by the commitment demonstrated by the Eclipse Foundation in developing tools to enrich the SOA architecture with a standard based approach.

Resources & References

 


Yatego Shopping with more than 4000 Shops and with over 1.8 Mio Products. Branchenbuch and over 500.000 Bücher. Inspiration with Themeworld and Technic. A mobilephone- and Handy Shop with Nokia Handy, Motorola Handy and Sony Handy. With our Bestseller easily find Schuhe, Jeans, Kinderschuhe or a Digitalkamera, perhaps a Canon Digitalkamera. More Bestseller: Modellbahn, Diddl and Poker. Find Schmuck or Silberschmuck as easy as an Apple Ipod, Weber Grill or an Akkuschrauber.


  About Us | Advertise | Contact | Feedback | Publisher Copyright © 2007 Software & Support Media.
Any Questions?   Imprint | Privacy Policy