OPEN SOURCE SOA FOR E-GOVERNANCE Rama Krushna Das 1 *, Manas Ranjan Patra 2 and Ajita Kumar Misro 2 ABSTRACT. Over the last decade, we have witnessed rapid evolution in the e-government applications in India, which allowed millions of its citizens to access share and publish Government information. Many new web enabled applications are added everyday for improving the quality of G2C, G2G, G2B and G2E applications, making the bureaucracy transparent and efficient. Integrating these heterogeneous, distributed services to achieve interoperability of Information and Communication Technology (ICT) is the real challenge for the Government. Service Oriented Architecture has emerged over the past several years as a preferred approach for integration of distributed e-government applications. Some organizations have already adopted SOA in their e-governance architecture, some could not due to high cost involved in the tools and middlewares for implementing the architecture. This paper explains how it could be helpful to use the open source SOA tools and middlewares for adopting SOA in e-government applications.. Keywords: Open Source, Service Oriented Architecture, e-governance, Service integration, Interoperability 1 Introduction In recent years computer giants like Microsoft, HP, Intel, Oracle, Google, IBM and Sun have agreed to develop standards, protocols, middlewares, tools, infrastructure and applications to make Service Oriented Compting (SOC) a reality. Many Government departments in India are in the process of deploying or planning Service Oriented Architecture (SOA) environment. SOA is a novel approach for production and consumption of e-governance services. It allows Govt. departments to couple unrelated computing systems, where the existing and newly developed processes could be combined to meet new process needs. Presently achieving an infrastructure capable of sustaining a SOA for e-governance generally requires purchasing expensive commercial SOA tools and middleware. Implementing SOA for e-governance can be an extremely expensive proposition. We might need to purchase several products within the SOA stack like an enterprise service bus (ESB), a business process modeling (BPM) tool, a portal, a rules engine and a data services tool. But it is not the end, we may require additional tools for testing, SOA governance, security etc.. In addition to all the software, one needs to budget for training, hardware, consulting and salaries. While implementing some web services for e-governance applications using open source SOA, we leverage our collective knowledge and experience, in order to create the most innovative and cheap solutions for the e-governance users. This paper tries to identify the open source SOA products for e-governance, of which the selected product will form basis of open SOA platform and show how these products can be integrated together to surpass the offerings of the commercial SOA vendors. 2 Advantages of open source SOA It is known fact that free and open source software is inexpensive. However, there are more economic benefits [22] of using free and open source software. The following are some of the advantages of using open source to meet the SOA needs. Test before you buy : With commercial software, once you invest in the software, the cost of the software is committed. With open source, you can create[12] prototypes and try out the software before you commit large sums of money. Even if you plan on buying commercial software you can leverage open source software to validate your architecture before making any purchases. 1 National Informatics Centre, Berhampur, Orissa, India 2 Departement of Computer Science, Berhampur University, Berhampur, Orissa, India * Corresponding author (E-mail: ramdash@yahoo.com, Telephone: +91-9437064536)
Lower cost to start: The cost of the various tools within the stack can be quite shocking. Open source eliminates or greatly reduces [12] the initial shock. You get the software for free and you have the option to subscribe for support services. For certain products within the stack, a company may only need the community version which is totally free. Other companies may need the robust feature set of for the enterprise version, but it is still substantially cheaper then commercial software. More simplistic and easier to understand and use. The open source SOA vendors seem to take a much more rudimentary approach to SOA, and their tools seem to be much easier to understand and use. No mishmash: Many of the mega commercial vendors in the SOA space have expertise in various areas of technology with SOA being one of them. They often take existing products and advertise them in the name of SOA. They also buy several companies and then call themselves an integrated stack. The reality is, their stacks are a jumble of many different companies and the promise of integration is not a reality. With many of the open-source vendors, SOA is all that they do. These products are built for SOA from the ground up, not from mergers, acquisitions, and rushed integration releases. The availability of the source code and the right to modify it is very important. It allows the user to tune it to any extent and also modify the code in such a way that suits the standards of specification. It also makes it possible to port the code to new hardware so that it can adapt to changing conditions. One can also arrive at a detailed understanding of how the system works. This is why many experts are reaching the conclusion that to really extend the lifetime of an application; it must be available in source form. The right to redistribute modifications and improvements to the code. Apart from the right to modify one can also reuse several other open source codes and make use of all the advantages due to the modifiability of the software that can be shared by large communities. 3 Open Source ESB An Enterprise Service Bus (ESB) is considered as a middleware that lies between business applications and routes and transforms messages along the way. Since the ESB acts as a messaging bus, it eliminates the need for point-to-point connectivity between systems. Instead, when one system needs to communicate with another, it simply deposits a message to the bus, and the ESB is then responsible for determining how to route the message to its destination endpoint. ESB adapters perform the function of communicating with a disparate group of protocols, such as SOAP, CORBA, JMS, MQ Series, MSMQ, FTP, POP3, and HTTP, among others. There are different Open Source ESBs available as discussed below 3.1 Apache ServiceMix It [3] is an open source ESB (Enterprise Service Bus) that combines the functionality of a Service Oriented Architecture (SOA) and an Event Driven Architecture (EDA) to create an agile, enterprise ESB. It is built from the ground up on the Java Business Integration (JBI) specification JSR 208 and released under the Apache license. The goal of JBI is to allow components and services to be integrated in a vendor independent way, allowing users and vendors to plug and play. It has dozens of components/adapters and supports nearly every protocol, allows creation of fairly complex data that flows using enterprise integration pattern components. Active project with frequent releases. The latest release is ServiceMix 3.2.2. 3.2 MuleSource Mule It [17] has broad connectivity options and is strong in transformation, routing, and security. Like ServiceMix, supports common enterprise integration patterns for real-time choreography. Vast array of components/adapters. Well documented, mature, and proven. Broad range of application servers supported. 3.3 WSO2 ESB Positioned as a lightweight ESB that, while supporting essential ESB functionality, is simple to use by way of XML configuration. In addition, it s designed with high performance and availability features that make it[23] especially suitable for web mediation. 3.4 OpenESB A fairly new project[18] that s still maturing. Version 2 promises to offer significant enhancements. Good IDE support through NetBeans plug-in. GlassFish Application Server has built-in support for OpenESB, but support for other application servers is lacking. Documentation is fairly sparse. 3.5 JBoss ESB A fairly new entrant that still appears to be maturing. Not a greatly active user community, and using web services is tedious. Does provide nice integration with other JBoss middleware products.
3.6 Jitterbit Positioned more as an end-user ESB [11] that s simple to use without being a developer. However, lacks broad protocol support. The concept of JitterPaks is novel and makes exchange of prebuilt integrations feasible. Backend written in C++, which limits appeal to Java shops. Strong LDAP integration capabilities. 3.7 OpenAdapter Mature, elegant, and lightweight ESB. Although it has been around for a long time, documentation is poor. Project activity is low, although a dedicated group of developers keeps the release cycle frequent. Maybe best suited for embedded type applications. 4. Open Source BPM Business Process Modelling(BPM) refers to software that can be used to model and execute workflow processes. It is required for SOA to expose the reusability of different services. With BPM, you can create business processes that span across multiple, previously isolated and self-contained, may be legacy systems applications. BPM applications are less focused on performing a specific task and more oriented towards an entire business process. In BPM workflow is generally understood as series of human and/or automated tasks that are performed to produce a desired outcome. In SOA the name workflow is commonly used as orchestration. Business Process Execution Language(BPEL) a semantically rich language for creating business processes that are composed of SOAP-based web services, which is associated with workflowbased BPM processes. BPM systems are in general used for modeling complex processes because of the visual modeling requirements and the complex workflow algorithms that drive the BPM engine. Mathematical algorithms are often used as the basis for implementation and is mysterious to understand, as a result open source BPM solutions were emerged very slowly. Now-a-days there are several excellent open source BPM systems as discussed below. 4.1 Intalio BPMS It[9] uses business process modeling notion (BPMN) to generate BPEL-based orchestrations. Unfortunately, only parts of Intalio s solution are open source, with some confusing licensing restrictions. Also, since BPMN is converted to BPEL (with that code being proprietary), extending the product seems problematic, and reliance on BPEL means support for only SOAP-based web services. 4.2 Apache ODE Apache ODE (Orchestration Director Engine) is a runtime BPEL engine. Its API is such that you can extend it in new and interesting ways, and thus aren t tied to the SOAP-only invocation of BPEL. The licensing model is very attractive, and the engine is lightweight and can be exposed, via Java Business Integration (JBI), to ServiceMix, an excellent open source ESB, which we cover later. Apache ODE doesn t come with a designer per se, but you can use the beta of the Eclipse BPEL editor. 4.3 JBoss jbpm A mature, efficient, and lightweight process/workflow engine[10] with a usable Eclipse-based modeler. Uses its own terse XML graph notation language known as jpdl (jbpm Process Definition Language), and includes support for all core modeling nodes, such as decision and fork. Can be easily extended and isn t tied to a particular deployment framework. Unlike several others, there is no commercial upgrade, and no functionality is specifically excluded. 4.4 ObjectWeb Bonita Powerful, XML Process Definition Language (XPDL)-compliant workflow engine. Well documented and mature. Includes excellent human-task UI integration (i.e., form generator). Doesn t come with an open source editor, and requires the JOnAS (Java Open Application Server) application server. 4.5 WSO2 Business Process Server The WSO2 Business Process Server is based upon Apache ODE, and adds a web-based administrative interface along with simulation capabilities. 5. Open Source Portal Platform Portal Platform facilitates the delivery of web-based composite applications and high-performance web presences. Portals is a key driver in reducing the costs associated with highly integrated web sites and applications. Portals enable[8] IT and end users to customize and personalize their site experience in a secure, well governed way. Gartner defines a portal as "access to and interaction with relevant information
assets (information/content, applications and business processes), knowledge assets and human assets by select targeted audiences, delivered in a highly personalized manner." Portal products provide a full spectrum of technologies for extensibility, data integration, application integration, syndication and service orientation. The portal uses service-oriented concepts; it leverages Web services extensively; and it leverages portlets, which consume services or communicate to provide orchestrated flows and on-the-glass composite applications. If you buy the SOA concept, the portal can represent a rational first step down that path. 5.1 LifeRay It [13] is a portal through which, one can select convienent information. This portal tries to enable us to do everything from creating websites to building intranets to simply getting the right documents and applications to the right people. It provides more out of the box portlets than any other portal on the market. It is developed using an open SOA strategy that makes it the choice of everybody worldwide for e- Governance application integration. 5.2 Apache Jet Speed 2 It [1] is an Open Source implementation of an Enterprise Information Portal, using Java and XML. It acts as the central hub where information from multiple sources is made available in an easy to use manner. It provides support for templating and content publication frameworks such as Cocoon, WebMacro and Velocity. 5.3 JBoss Portal It [10] facilitates the delivery of web-based composite applications and high-performance web presences. Through its agile, reusable framework, customers can minimize the cost and complexity of their web infrastructures. Its use of open standards mitigates the risk of vendor lock-in, ensuring compatibility. It can incorporate components into the portal as standardized and reusable portlets. So it meets the needs of business to employee, business to customer, or business to business portals. As an integral component of JBoss Enterprise Middleware, the large and vibrant JBoss.org developer community fosters its continued innovation and enterprise quality. 5.4 Apache Pluto Pluto [20] is the Reference Implementation of the Java Portlet Specification. It provides personalization, single sign on, content aggregation, and other enterprise services. The specification does not specify which services must be implemented by the portal. This decision is left up to the discretion of the portal vendor. Java Portlets provide content from disparate sources. This content is aggregated into a single presentation by the portal. The Pluto Portlet Container manages the lifecycle and invocation of specification compliant portlets. The current version is Pluto 2.0. 5.5 Apache Cocoon A [6] portal definition framework with XML description of the portal and the contained content. The rendering of the portal to the needed format is done through stylesheets and is therefore very flexible. The portal engine of Cocoon provides the required functionality to display user dependent content with a user definable layout. A portal definition can be configured for all users, for groups of users and for the individual user. The portal administrator can use the provided tools to configure every aspect of the portal. 6 Open Source EDM Wikipedia says Enterprise Decision Management, commonly abbreviated "EDM", entails all aspects of managing automated decision design and deployment that an organization uses to manage its interactions with customers, employees and suppliers. It is an approach for automating and improving the decisions a business makes on a day-to-day basis. EDM [5] is about extracting the decisions and rules that are today embedded into applications or people and systematically exposing them as rule assets that can be centrally managed and authored. Central to the concept of EDM is a repository that enables rules to be classified, managed, and versioned. This should include the ability to add custom metadata and properties to each rule and ruleset. Though commercial business rule solutions have been around for a decade or more, the open source started its presence in last five years as described below.
6.1 OpenLexicon It is a relatively new product (2006) with limited documentation. Favorable license (modified Mozilla). Includes a polished management interface and repository. Can create rules through a web-based interface. DSL support is somewhat limited. Doesn t appear to be easily embeddable. 6.2 JBoss Rules (Drools) Highly mature rules engine that has undergone several significant enhancements recently, which include the addition of Business Rule Management System (BRMS) repository functionality. Domain-specific language(dsl) support is limited but useful. Highly efficient rules engine and decent Eclipse-based authoring environment. Lightweight and embeddable. 6.3 OpenRules Restrictive license for commercial use, for this reason, it wasn t considered a viable selection for our Open SOA Platform. That said, it s a highly capable BRMS with a strong support community. 7. Open source Registry (UDDI/ebXML) IT organizations using opensoa infrastructures for e-governance selects which registry or registryrepository to deploy as part of their SOA infrastructures. The choices often are UDDI registry without a repository, ebxml registry-repository or combination of UDDI registry and ebxml registry-repository. A UDDI registry offers a subset of capabilities offered by an ebxml Registry, which provides only a registry and no repository. UDDI registries publish pointers to service artifacts such as WSDL. ebxml Registry not only publish pointers to service artifacts, but also the actual artifact themselves. Thus, an ebxml registryrepository can be used for governance of any type of service artifacts throughout their life cycles. A UDDI registry may be adequate for simpler SOA deployments, as the complexity increases an ebxml registry is a much better fit. An ebxml registry makes the standard harder to understand and deploy because of its generic and extensible nature, which can addressed by the use case-specific profiles of ebxml Registry that define precisely how to make use of its generic and extensible features in a standard, interoperable manner within a particular domain. 7.1 Apache juddi Pronounced ad "Judy",[2] is an open source Java implementation of UDDI. It is platform independent, UDDI version 2.0 compliant, can be used with any relational database that supports ANSI standard SQL like MySQL, DB2, Sybase, JdataStore etc. It can be deployable on any Java application server that supports the Servlet 2.3 specification like Jakarta Tomcat, JOnAS, WebSphere, WebLogic, Borland Enterprise Server, JRun, etc. It is easy to integrate with existing authentication systems and supports a clustered deployment configuration. 7.2 Sun s Service Registry It [21] is an ebxml based Registry and Repository, which enables the storing and sharing of information between parties to allow e-business collaboration. The Registry and Repository can be used to store Business Process Specification Schema (BPSS), Collaboration Protocol Profile (CPP), and Collaboration Protocol Agreement (CPA) documents; UML models; software agents and so on that may be needed to support e- business collaboration. 7.3 freebxml Registry It [7] is an open source project that provides a royalty free implementation of the latest ebxml Registry standard. The project is led by several authors of the OASIS ebxml Registry standard and has always delivered the first, the most feature-complete and the most spec-compliant implementation of the ebxml Registry standard. 7.4 Mule Galaxy Open source SOA governance platform [16] with integrated registry/repository. It provides features like, including artifact, lifecycle and dependency management, along with the ability to enforce governance policies, collaborate on and discover services.
WSO2 Registry 7.5 WSO2 Registry It [24] is an open source product for governing SOA deployments, with which, you can store, catalog, index and manage your enterprise metadata in a simple and scalable model. It has a nice web based GUI to explore/add/remove/update resources. Different APIs to embed the Registry to your java program and to access Registry remotely using Atom/pub and web services. It also provide the SOA governance aspects like Service discovery, Service policy enforcement and validation, Service Life Cycle Management, Service association and dependency management, Service Monitoring, Service Access Control and Service Versioning. 8. Open Source SOA Stack Some proprietary vendors have taken a bunch of products and put them together into a suite and call that their SOA stack. The open source SOA stack includes business process orchestration, a business rules engine, an enterprise service bus, integrated security, portals and more. You can mix and match tools from different open source communities or you could standardize on one community We have tested some of the above mentioned open source SOA products, downloading the trail versions and found the following stacks to be very useful and tightly integrated. 8.1 WSO2 SOA Stack WSO2 has a complete SOA platform, introducing solution to adapt SOA in more flexible and cost-effective manner. It is developed based on the OSGI technology [19], which allows users to get only the desired components to their requirements and implement their SOA infrastructure. It allows starting from one of component and then mix and match among these components until you get the desired features. WSO2 Web Service Application Server WSO2 Mashup Server WSO2 Enterprise Service Bus WSO2 Web Service Framework WSO2 Data Services Figure 1 WSO2 SOA Stack WSO2 Data Services Server provides a convenient Web service interface for data stored in sources such as relational databases, CSV files & MS-Excel files. With WSO2 Data Services Server, data can be exposed and accessed in a secure manner using WS-Security and in a reliable way using WS-Reliable Messaging ; data is also made available for mashing-up with other Web services.wso2 Mashup Server provides a unique and powerful platform for consuming information in a variety of forms including Web services, HTML, and feeds, processing and aggregating that information, and publishing the result as a new Web service.
8.2 JBoss SOA Stack Here is an example of Red Hat s jboss SOA stack. The JBoss Enterprise SOA stack is formed by the intersection of many JBoss open-source projects, and includes the JBoss enterprise services bus (ESB), the JBoss jbpm for process management, and JBoss Rules. Each piece of the stack is designed to work with outside sources of data and with existing SOA infrastructure from other open or proprietary SOA companies. This stack yet to include a UDDI registry and repository for SOA governance. If you compare the subscription costs of JBoss SOA stack to the license and support/ maintenance costs of Oracle SOA Suite and IBM WebSphere Enterprise Service Bus, it is negligible. JBoss JBMP JBoss Enterprise SOA Platform JBoss Rules JBoss ESB Transformation, Routing, JBoss Enterprise Application Platform Red Hat Enterprise Linux Figure 2 JBoss Open Source SOA Stack 8.3 MuleSource SOA Stack The Mule framework is highly scalable, allowing us to start small and connect more applications over time. Mule manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used. In addition to Mule Enterprise Service Bus (ESB) architectures, Mule Source also provides administration tools that allow us to manage our deployments through Mule HQ and control our infrastructure through Mule Galaxy, as shown in Figure-3.. Mule is vendor-neutral, so different vendor implementations can plug in to it. Mule ESB Mule Galaxy DATA BASE APPLICA TIONS J2EE OTHERS Mule HQ Figure-3 Mule SOA Stack
8.4 Open Source Mix SOA Stack The follwing Picture-4 shows mixed open source SOA stack, which has a combination of WSO2, Intalio, Liferay and jboosrules Drools. At the presentation layer Liferay portal is used, at business rules layer drools is used, at business process layer Intalio BPM, at data service layer WSO2 Data Service, SOA governance is done by WSO2 Registry and enterprise service bus is WSO2 ESB. This way we can mix different available open source product to the benefit of SOA. Presentation Layer ( Liferay ) Business Rules Layer ( Drools ) Business Process Layer ( Intalio ) Data Service Layer ( WSO2 Data Service ) SOA Governance ( WSO2 Registry) ESB ( WSO2 ESB) Figure-4 Mixed Open Source SOA Stack 9. Conclusion Normally, it is observed that the cost of a proprietary software exceeds by 20% to 30% of the total cost of an entire e-governance project. For implementing SOA for e-governance with proprietary products would cost more [14] than that. In addition, it would involve extra cost for training the developers. Therefore, adoption of open-source SOA can substantially reduce the cost factor. While doing so, one can either go with a complete open-source SOA stack or can mix and match various open-source SOA products from different vendors, or can mix and match both commercial and open-source products. In near future we will have a totally different approach towards SOA which will enable application builders, developers and brokers to make effective use of SOA, in particular OpenSOA. Adoption of SOA in e-governance can be very popular if it is Simple, Open and Affordable. References 1. Apache Foundation for Jet Speed2 Web Site http://portals.apache.org/jetspeed-2/ Last Visited on 2. Apache juddi registry website http://ws.apache.org/juddi/ Last Visited on 3. Apache ServiceMix ESB Web Site http://servicemix.apache.org/home.html Last Visited on 4. Björgvinsson,T et al, Software Development for Governmental Use Utilizing Free and Open Source Software, ACM Press ICEGOV2007, Macao 133-40 5. Creating a foundation for Enterprise Decision Management, Allen Bonde Group White Paper retrieved from http://wp.bitpipe.com/resource/org_990466005_79/ CreatingaFoundationforEDM_bpx.pdf 6. Cocoon portal project website http://cocoon.apache.org/2.1/developing/ webapps/portal.html Last Visited on
7. freebxml Registry web site http://ebxmlrr.sourceforge.net/wiki/overview Last Visited on 8. Gartner research A Portal May Be Your First Step to Leverage SOA http://www.gartner.com/display Document?doc_cd=130149 9. Intalio web Site http://www.intalio.com/products/ Last Visited on 10. Jboss web site http://www.jboss.com/resources/soa/ Last Visited on 11. Jitterbit web site http://www.jitterbit.com/product/enterprise-integration Last Visited on 12. Kavis, M Tight Budgets? Try Open Source SOA! retrieved from http://www.cio.com/article/440370/ Tight_Budgets_Try_Open_Source_SOA_ 13. LifeRay web site http://www.liferay.com/web/guest/products/portal/features Last Visited on 14. Maguire, J.. Open source on the brink. Enterprise Linux, 1-2. retrieved from http://www.linuxenterprisenews.com/perl/printer/22278/ 15. Mike P. Papazoglou Willem-Jan van den Heuvel, Service oriented architectures: approaches, technologies and research issues, Published Online: 3rd March 07 Springer Verlang 2007, 389-415 16. Mule Galaxy website http://www.mulesource.org/display/galaxy/home Last Visited on 17. Mules Web Site http://www.mulesource.org/display/mule/home last visited on Last Visited on 18. Open Enterprise Service Bus Web Site https://open-esb.dev.java.net/ Last Visited on 19. OSGi Technology web site http://www.osgi.org/about/technology Last Visited on 20. Pluto portal project web site http://portals.apache.org/pluto/ Last Visited on 21. Sun s service registry website http://www.sun.com/products/soa/registry/ soa_registry_wp.pdf Last Visited on 22. Thorbergsson H et al, Economic Benefits of Free and Open Source Software in Electronic Governance, ACM Press ICEGOV2007, Macao PP 183-86 23. WSO2 the open source SOA company website http://wso2.com/ Last Visited on 24. WSO2 Registry web site http://wso2.org/projects/governance-registry Last Visited on About The Authors Rama Krushna Das is a Technical Director(Scientist-E) working with National Informatics Centre(NIC), Department of Information Technology, Government of India for the last 21 years. He is involved in development and implementaion of different E-Governance projects of NIC. He has led the group in the implementation of the e-grama project. He has presented many research papers and chaired technical sessions in international conferences in Indian and different counties like Macao(SAR Chaina), Cairo(Egypt), Bogota(Colombia) ect.. His research interests include e-governance, software engineering and Service Oriented Architecture. Manas Ranjan Patra holds a Ph.D. Degree in Computer Science from the Central University of Hyderabad. He has 22 years of experience in teaching and research in different areas of Computer Science and is currently heading the Department of Computer Science, Berhampur University. He has worked in the International Institute for Software Technology, Macao as a United Nationa Fellow during 2000. He has
about 70 international and national publications to his cridit. His research interests include Service Oriented Modeling, Software Engineering, Data Mining and Intrusion Detection. He has presented papers and chaired technical sessions in many International Conferences. Ajita Kumar Misro is continuing his M-Tech(Computer Science) at Berhampur University, Orissa. He has passed his M.C.A from IGNOU. His research interests include e-governance, Service Oriented Architecture and Cloud Computing.