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.


    IoT & Smart Cities Stories
    The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
    DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
    Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
    All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
    CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
    Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
    Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
    The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
    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...
    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, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...