Welcome!

Weblogic Authors: Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Migrating a JBoss EJB Application to WebLogic

Modify a JBoss application for the WebLogic Server

The JBoss open source application server is commonly used in the development phase of a J2EE project. In the production phase the commercial BEA WebLogic server is preferred because of its enhanced set of features. Without modifications, an application developed in JBoss does not deploy in WebLogic server.

The deployment descriptors for the WebLogic server are different from the JBoss deployment descriptors. An application may be migrated to WebLogic by converting the vendor-specific deployment descriptors to WebLogic. In this tutorial an EJB application developed in JBoss will be migrated to WebLogic with MySQL as the database.

Preliminary Setup
Download and install the BEA WebLogic server (www.bea.com/framework.jsp?CNT=overview.htm &FP=/content/products/weblogic/server). Create a server domain. Download the MySQL JDBC driver JAR file (www.mysql.com/products/connector/j/) and the MySQL database server (www.mysql.com/products/mysql/). Develop a Java application or obtain an XSLT utility to transform the JBoss deployment descriptors to WebLogic deployment descriptors with an XSLT.

Without deployment descriptor conversions, an application developed for JBoss does not deploy in WebLogic. In this tutorial, we will migrate an example entity EJB application developed in JBoss to WebLogic by converting the JBoss deployment descriptors to WebLogic deployment descriptors.

The example application consists of a Catalog entity EJB. The EJB's bean class (CatalogBean.java) is shown in Listing 1. The remote interface (Catalog.java) and home interface (CatalogHome.java) are shown in Listing 2 and Listing 3. The entity EJB classes do not need to be modified for deploying a JBoss EJB application to WebLogic. Only the deployment descriptors for an EJB are required to be modified.

Configuring WebLogic JDBC
In this section a JDBC connection will be configured with the MySQL database from the WebLogic server. First a JDBC Connection Pool is configured and subsequently a JNDI data source to access the JDBC connection pool is configured. Add the MySQL database driver JAR file, mysql-connector-java-3.0.16-ga-bin.jar, to the CLASSPATH variable of the examples server. The CLASSPATH variable for the WebLogic server is set in the <BEA>\user_projects\domains\mydomain\startWebLogic script. Double-click on the startWebLogic script file to start the WebLogic examples server. The server gets started on port 7001. Login to the WebLogic Administration Console with the URL http://localhost:7001/console. The login page for the Administration Console gets displayed. In the login page specify user name and password and log in to the administration console.

In the administration console select the Services>JDBC node. To configure a JDBC connection pool, right-click on the Connection Pools node and select Configure a new JDBCConnectionPool. In the Choose database frame displayed select MySQL as the Database Type. Select MySQL's Driver (Type 4) as the Database Driver. Click on the Continue button. Specify the connection properties for the JDBC connection. In the Database Name field specify test, the example MySQL database. In the Host Name field specify localhost. In the Database User Name field specify root. A password is not required to login to MySQL database with the root username, but the WebLogic server requires a password to be specified. Specify the password for the user name. Click on the Continue button.

In the Test database connection frame, the MySQL driver com.mysql.jdbc.Driver is specified in the Driver Classname field. The MySQL driver is used to establish a connection with the MySQL database. In the URL field specify jdbc:mysql://localhost/test as the connection URL for the database. To test the JDBC connection to the database click on the Test Driver Configuration button. If a connection gets established with the database, a "connection successful" message gets displayed. In the Create and deploy frame, select the server on which the connection pool is to be deployed. Click on the Create and deploy button to deploy the JDBC connection pool on the server. The configured connection gets deployed on the examples server and a node for the connection pool gets added to the JDBC>Connection Pools node. To modify the configuration of the connection pool, select the connection pool node and modify the settings in the different tabs: General, Target and Deploy, Monitoring, Control, Testing, Connections.

Next, configure a data source in the WebLogic server. Right-click on the Services>JDBC node and select Configure a new JDBCTxDataSource. Specify a data source name. In the JNDI Name field specify a JNDI name for the data source - MySQLDS for example. Click on the Continue button. In the Connect to connection pool frame, select a connection pool from the list of connection pools. Select the connection pool that was configured in the previous section and click on the Continue button. In the Target the data source frame select a server as the target server for the data source. Click on the Create button. The configured data source gets deployed on the examples server and a node for the data source gets added to the Data Sources node. To modify the data source select the data source node and modify the settings in the different tabs: Configuration, Target, and Deploy. The data source is available with the JNDI name MySQLDS, which was specified in the data source configuration.

Converting the JBoss EJB Application
In the previous section the WebLogic server was configured with the MySQL database. In this section we'll convert the JBoss EJB application to a WebLogic EJB application, which involves converting the deployment descriptors. A JBoss entity EJB application consists of the EJB deployment descriptors (ejb-jar.xml, jboss.xml, and jbosscmp-jdbc.xml), the bean class (CatalogBean.java), the remote interface (Catalog.java), and the home interface (CatalogHome.java). To deploy the entity EJB in the JBoss server, an EJB JAR file is created; this EJB JAR file has the structure:

META-INF/
  ejb-jar.xml
  jboss.xml
  jbosscmp-jdbc.xml
CatalogBean.class
Catalog.class
CatalogHome.class

More Stories By Deepak Vohra

Deepak Vohra is a Sun Certified Java 1.4 Programmer and a Web developer.

More Stories By Ajay Vohra

Ajay Vohra is a senior solutions architect with DataSynapse Inc.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
In his General Session at 17th Cloud Expo, Bruce Swann, Senior Product Marketing Manager for Adobe Campaign, explored the key ingredients of cross-channel marketing in a digital world. Learn how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects).
Things are changing so quickly in IoT that it would take a wizard to predict which ecosystem will gain the most traction. In order for IoT to reach its potential, smart devices must be able to work together. Today, there are a slew of interoperability standards being promoted by big names to make this happen: HomeKit, Brillo and Alljoyn. In his session at @ThingsExpo, Adam Justice, vice president and general manager of Grid Connect, will review what happens when smart devices don’t work togethe...
"There's a growing demand from users for things to be faster. When you think about all the transactions or interactions users will have with your product and everything that is between those transactions and interactions - what drives us at Catchpoint Systems is the idea to measure that and to analyze it," explained Leo Vasiliou, Director of Web Performance Engineering at Catchpoint Systems, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York Ci...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
"Tintri was started in 2008 with the express purpose of building a storage appliance that is ideal for virtualized environments. We support a lot of different hypervisor platforms from VMware to OpenStack to Hyper-V," explained Dan Florea, Director of Product Management at Tintri, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in Embedded and IoT solutions, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 7-9, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/Big Data, HPC and E...
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
IoT is at the core or many Digital Transformation initiatives with the goal of re-inventing a company's business model. We all agree that collecting relevant IoT data will result in massive amounts of data needing to be stored. However, with the rapid development of IoT devices and ongoing business model transformation, we are not able to predict the volume and growth of IoT data. And with the lack of IoT history, traditional methods of IT and infrastructure planning based on the past do not app...
Fact is, enterprises have significant legacy voice infrastructure that’s costly to replace with pure IP solutions. How can we bring this analog infrastructure into our shiny new cloud applications? There are proven methods to bind both legacy voice applications and traditional PSTN audio into cloud-based applications and services at a carrier scale. Some of the most successful implementations leverage WebRTC, WebSockets, SIP and other open source technologies. In his session at @ThingsExpo, Da...
In the next five to ten years, millions, if not billions of things will become smarter. This smartness goes beyond connected things in our homes like the fridge, thermostat and fancy lighting, and into heavily regulated industries including aerospace, pharmaceutical/medical devices and energy. “Smartness” will embed itself within individual products that are part of our daily lives. We will engage with smart products - learning from them, informing them, and communicating with them. Smart produc...
Why do your mobile transformations need to happen today? Mobile is the strategy that enterprise transformation centers on to drive customer engagement. In his general session at @ThingsExpo, Roger Woods, Director, Mobile Product & Strategy – Adobe Marketing Cloud, covered key IoT and mobile trends that are forcing mobile transformation, key components of a solid mobile strategy and explored how brands are effectively driving mobile change throughout the enterprise.
Smart Cities are here to stay, but for their promise to be delivered, the data they produce must not be put in new siloes. In his session at @ThingsExpo, Mathias Herberts, Co-founder and CTO of Cityzen Data, discussed the best practices that will ensure a successful smart city journey.
WebRTC sits at the intersection between VoIP and the Web. As such, it poses some interesting challenges for those developing services on top of it, but also for those who need to test and monitor these services. In his session at WebRTC Summit, Tsahi Levent-Levi, co-founder of testRTC, reviewed the various challenges posed by WebRTC when it comes to testing and monitoring and on ways to overcome them.
For basic one-to-one voice or video calling solutions, WebRTC has proven to be a very powerful technology. Although WebRTC’s core functionality is to provide secure, real-time p2p media streaming, leveraging native platform features and server-side components brings up new communication capabilities for web and native mobile applications, allowing for advanced multi-user use cases such as video broadcasting, conferencing, and media recording.
The best-practices for building IoT applications with Go Code that attendees can use to build their own IoT applications. In his session at @ThingsExpo, Indraneel Mitra, Senior Solutions Architect & Technology Evangelist at Cognizant, provided valuable information and resources for both novice and experienced developers on how to get started with IoT and Golang in a day. He also provided information on how to use Intel Arduino Kit, Go Robotics API and AWS IoT stack to build an application tha...
Every successful software product evolves from an idea to an enterprise system. Notably, the same way is passed by the product owner's company. In his session at 20th Cloud Expo, Oleg Lola, CEO of MobiDev, will provide a generalized overview of the evolution of a software product, the product owner, the needs that arise at various stages of this process, and the value brought by a software development partner to the product owner as a response to these needs.
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex softw...
Internet of @ThingsExpo, taking place June 6-8, 2017 at the Javits Center in New York City, New York, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @ThingsExpo New York Call for Papers is now open.