Welcome!

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

Related Topics: Weblogic

Weblogic: Article

WebLogic Workshop 8.1 IDE Fundamentals

Speed up your development and testing

As a software architect and developer, I've used a number of IDEs for my J2EE development. I have my priority list of features that I look for in all the IDEs but I wasn't able to find one that gave me everything I wanted.

If an IDE satisfied some of my needs, it completely ignored my other needs. The BEA WebLogic Workshop 8.1 IDE, however, delivers most of the features I've been looking for. Now I'm a happy WebLogic Workshop user and I want to share some of the best features with you.

IDE Features
One of the strengths of BEA WebLogic Workshop is its ability to do pretty much all the development using this tool. It is a one-stop shop for J2EE development. The following list gives you an idea of what you can do with it. Please note that this is not the complete list:

  • Java source
  • Web services
  • JSPs
  • HTML
  • CSS
  • EJBs
  • Page flows
  • Java process definitions
  • Java controls
  • Schemas and XMLBeans
  • Ant integration
  • Configurable external tools
  • IDE debugging
  • Test form capability
  • Integration with BEA WebLogic server 8.1
In this article I'll focus on the basic IDE features and HTML/JSP editing and deployment capabilities of BEA WebLogic Workshop 8.1.

The Editor
You create and build an application in the WebLogic Workshop editor. The Workshop IDE operates on one application at a time. The application tab presents a tree view of the application and the files tab presents an alphabetical, filtered list of all files in the application.

The Edit Pane displays either a source view or a design view appropriate for the file being edited. When you select an entity in the Edit Pane, the entity's properties are displayed in the Property Editor. The Property Editor displays the properties for the currently selected entity in the Edit Pane.

The Document Structure Pane displays a structured view of the methods and fields in the class or interface being edited.

The Output Pane displays various forms of information that are generated when you run or debug the application.

The Server Status area indicates whether the associated instance of BEA WebLogic Server is currently running.

The Status Bar displays messages indicating the state of the IDE.

The Data Palette displays a structural list view of the methods or attributes of controls and tags. As you drag items from the Data Palette to the Edit Pane, code is inserted in the current entity to access the item you dragged. The palette contains often-used items you may wish to add to the entity in the Edit Pane. You may drag an item from the palette to the Edit Pane to create a new item of that type.

Applications
An application in BEA WebLogic Workshop is the collection of all resources and components that are deployed as a unit to an instance of BEA WebLogic Server. It is also the top-level unit of work that you manipulate with the WebLogic Workshop IDE. In the IDE, you may have at most one application open at a time. A WebLogic Workshop application is a J2EE Enterprise Application and ultimately produces a J2EE Enterprise Application Archive (EAR) file. An application may contain projects, libraries, and modules.

Projects
Projects are a project group's related files that comprise a component of an application. WebLogic Workshop supports a number of project types, including Web projects, Web services projects, Control projects, EJB projects, Java projects, Schema projects, portal projects, and integration projects. You may also create custom project templates to meet the needs of your organization.

File Types
BEA WebLogic Workshop 8.1 supports a number of file types, including EJB, JCS (Java Control Source), JCX (Java Control Extensions), JSP, JWS (Java Web Service), JPD (Java Process Definition), JPF (Java Page Flow), WSDL, DTF (Data Transformation Format), and a number of portal file types. The WebLogic Workshop IDE adapts itself in several ways to the type of file being edited.

Libraries and Modules
In addition to projects, each BEA WebLogic Workshop application also contains two folders named Libraries and Modules. These folders can contain compiled Java code that you want to be available to the components of the application. The products of the various project types are automatically placed in the Libraries or Modules folder as appropriate. For example, the JAR file containing the XMLBeans Java classes derived from the XML Schemas in a Schema project is automatically placed in the Libraries folder. However, you may also copy additional JAR files directly into the Libraries or Modules folders to make them available to the rest of your application.

Testing and Debugging
You can use the BEA WebLogic Workshop integrated debugger to debug your application. The debugger allows you to set break points, step through your code line-by-line, view local variables, set watches on variables, and view the call stack and exception information. If you're developing against a remote server, you can also debug against that remote server. Break points and other debugging information will be stored on the local machine.

In order to debug an application, you must have a way to exercise the application as a real client would. WebLogic Workshop includes a test browser in which you may test Web services and Web applications. When you run a Web service, the test browser automatically loads Test View, a tool for exercising Web services.

HTML/JSP Editor
In the Workshop JSP/HTML editor you can create a Web project or import an existing Web application and create JSP files in that project. Web projects are typically used to expose enterprise application logic via a user interface. The user interface is constructed from Java Server Pages (JSPs), which are Web pages that can interact with server resources to produce dynamic content. BEA WebLogic Workshop defines Java Page Flows that define and contain the logic required to connect multiple JSPs. Web services are typically used to expose enterprise application logic to applications (as opposed to users). Individual Web service interfaces are published via Web Services Description Language (WSDL) files.

Each Web project or Web service project ultimately produces a J2EE Web Application Archive (WAR) file. Note that the name of a project becomes part of the public URL of each resource located within that project. You should choose your project names with that in mind.

BEA WebLogic Workshop offers the following features that all Web developers need in their IDE.

Editing Scriptlets
When you write Java code in a scriptlet, the editor shows all the public members and methods in the class. Any syntax errors are indicated using a red squiggle as you edit the file. The scriptlets also inherit the IDE settings for Java code, displayed using appropriate syntax coloring. Any errors are displayed as a little red or green line on the scroll bar and you can go to the specific error line by clicking on the scroll bar line.

Editing HTML
A palette window displays the HTML controls like Table, Image, and Hyperlink that can be dragged and dropped on the design view. The document structure window shows the layout of the document that makes it easy to debug and navigate to a certain section in the page. In the source view, WebLogic Workshop offers code completion for HTML tags. This works not only for the property names of the tags but also for property values (see Figure 1).

    

Using Tag Libraries
Any tag library configured in the web.xml is automatically recognized by the IDE and organizes all the tags in the palette window. This gives you the ability to drag and drop any tag into the design view or source view. WebLogic Workshop does a perfect job by placing the tag with any required properties. When you select a tag, the properties can also be edited conveniently using the property window. Figure 2 shows the Property Editor for the struts bean:write tag.

 

NetUI Tag Library
NetUI is a powerful BEA tag library that covers HTML, data binding, and templates. NetUI tags wrap struts tags, so they offer features like form beans, forwards, global forwards, etc. These tags are used extensively in page flow files.

Syntax Coloring
BEA WebLogic Workshop 8.1 comes with a fully customizable editor. You can customize almost anything, including the comments, annotations, keywords, and scriptlets.

Document Structure
The document structure panel displays a tree view of the document for easy navigation. Document structure is also useful when editing XML files, for example an ant build.xml or Struts struts-config.xml file. It displays the tags with the names specified in a name parameter. Figure 3 shows the document structure panel for the struts-config.xml file in the Jakarta struts example.

 

Testing and Debugging
Any WebLogic Workshop-enabled Web application can be debugged using the IDE by setting break points. You can run and test any JSP from the editor using the test form feature.

External Tools
WebLogic Workshop's external tools are a powerful feature to extend the IDE to suit your needs. Workshop provides substitution strings to customize the development environment. In a typical development environment, you develop the sources in a work area and copy them to the deployment area for unit testing. One of the challenges I faced before was manually copying the JSPs to the appropriate directory for testing. With WebLogic Workshop I can create an external tool task that can copy any file or a directory that I point at to the deployment directory through the substitution strings that give you access to the current file, directory, etc.

Following are some of the substitution strings available in WebLogic Workshop

  • ${file.path}: Full path of current file
  • ${file.name}: File name of current file
  • ${file.dir}: Directory of current file
  • ${project.dir}: Root of current project
  • ${application.dir}: Root of the open application

    To create a tool, go to Tools->IDE Properties->Tools and click "New Tool". Enter the tool name, command, and directory from which the command should be executed. The command may include the substitution strings listed above. For example your Copy JSP command could be:

    xcopy /s ${file.path} <Deployment Directory>webappjsp

    You can also specify any script or batch file to execute. When I change any JSP, I run this external tool to copy just this JSP to the deployment directory.

    If you want to see the output of the command in the IDE, check the "Capture Output" check box. If you want to see the output in a separate command window, check the "Use interactive shell" option.

    Using Ant with WebLogic Workshop
    BEA WebLogic Workshop projects can be built with the IDE build or using a customized ant build. You can export the IDE build to an ant build file by going to Tools ->Project Properties->Project->Build and clicking "Export to Ant file". You can also use this file to begin and customize your build process.

    To use your own ant build process, go to Tools->Project Properties->Project->Build and select "Use Ant build". Click the "Browse" button in "Ant Settings" and choose the Ant build XML file. Then select the build target in the drop-down box. It lists all the available tasks in the build XML file.

    Conclusion
    BEA WebLogic Workshop 8.1 is a great IDE for developing J2EE applications and improves productivity by a great magnitude.

    This article described the basics of the IDE and showed the features of the JSP/HTML editor. We also looked at how to use ant to build your application and how to create external tools to speed up development and testing. If you haven't used BEA WebLogic Workshop, I encourage you to look at it for help in developing your J2EE applications.

  • More Stories By Anbarasu Krishnaswamy

    Anbarasu Krishnaswamy has over 15 years of IT industry experience, nine of which were with BEA. In his current role as the Enterprise Architect Lead, he leads the enterprise architecture and SOA practices for the central region professional services at BEA. As a SOA practitioner, he has helped several customers with SOA transformation and implementation. His experience also includes design and development of Java/J2EE applications, client/server computing, Web development, and enterprise application integration (EAI). Anbarasu holds a MBA from NIU and an MS in computer science and engineering.

    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
    In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
    "There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
    Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
    Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
    "Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
    "IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
    SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
    It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
    WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
    A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
    SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
    Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
    To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
    An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...
    When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things’). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing? IoT is not about the devices, it’s about the data consumed and generated. The devices are tools, mechanisms, conduits. In his session at Internet of Things at Cloud Expo | DXWor...